复习-网络编程之IP和端口号
一、 網(wǎng)絡編程中有兩個主要的問題:
1.如何準確地定位網(wǎng)絡上一臺或多臺主機;定位主機上的特定的應用(分別對應2.1);
2.找到主機后如何可推高效地進行數(shù)據(jù)傳輸(分別對應2.2);
二、網(wǎng)絡編程中的兩個要素:
1.IP和端口號;
2.提供網(wǎng)絡通信協(xié)議:TCP/IP參考模型(應用層、傳輸層、網(wǎng)絡層、物理+數(shù)據(jù)鏈路層)
三、通信要素一:IP和端口號
- IP:
1.IP:唯一的標識Internet. 上的計算機(通信實體);
2.在Java 中使用InetAddress類代表IP;
3.IP分類: IPv4(4個字節(jié)組成,4個0-255,點分十進制表示)和IPv6(16字節(jié),8個無符號整數(shù),每個整數(shù)用冒號分開:四個十六進制位表示);萬維網(wǎng)和局域網(wǎng);
4.域名:www.baidu.com; www.sina.com;
5.本地回路地址:127.0.0.1,對應:localhost;
6.如何實例化InetAddress類?
getByName(String host); getLocalHost();
InetAddress類的2個常用方法:getHostName() / getHostAddress();
7.Internet 上的主機有兩種方式表示地址:
a. 域名(hostName): www.atguigu.com
b. IP地址(hostAddress): 202. 108.35.210
①InetAddress類主要表示IP地址,InetAddress類的一個對象就代表一個具體的IP地址,有兩個子類: Inet4Address、 Inet6Address
②InetAddress類對象含有一個Internet 主機地址的域名和IP地址:www.baidu.com; 和 14.215.177.39。
域名解析:域名容易記憶,當在連接網(wǎng)將時輸入-一個主機的域名后,域名服務器(DNS)負責將域名轉(zhuǎn)化成IP地址,這樣才能和主機建立連接。
輸入網(wǎng)址www.baidu.com,
先通過本機hosts(C:\Windows\System32\drivers\etc\hosts)尋找是否有輸入域名地址:
如果沒有,通過DNS域名解析服務器解析出ip地址:14.215.177.39,再通過解析出的ip地址訪問到服務器:
- 端口號:
1.端口號標識正在計算機上運行的進程(程序) ,不同的進程有不同的端口號;被規(guī)定為一個16位的整數(shù)0~65535。
2.端口分類:
a. 公認端口: 0~1023。 被預先定義的服務通信占用(如: HTTP占用端口
80,FTP 占用端口21,Telnet占用端口23);
b. 注冊端口: 1024~49151。 分配給用戶進程或應用程序。( 如: Tomcat占
用端口8080,MySQL占用端口3306,Oracle占用端口1521等) 。
c. 動態(tài)/私有端口: 49152~65535。
3.端口號與IP地址的組合得出- 一個網(wǎng)絡套接字: Socket。
四、網(wǎng)絡通信要素二:網(wǎng)絡通信協(xié)議
TCP/IP協(xié)議簇:
1.傳輸層協(xié)議中有兩個非常重要的協(xié)議:.
a. 傳輸控制協(xié)議TCP(Transmission Control Protocol)
b. 用戶數(shù)據(jù)報協(xié)議UDP(User Datagram Protocol)。
2.TCP/IP以其兩個主要協(xié)議:傳輸控制協(xié)議(TCP)和網(wǎng)絡互聯(lián)協(xié)議(IP)而得
名,實際上是一組協(xié)議,包括多個具有不同功能且互為關聯(lián)的協(xié)議。
3.IP(Internet Protocol)協(xié)議是網(wǎng)絡層的主要協(xié)議,支持網(wǎng)間互連的數(shù)據(jù)通信。
4.TCP/IP協(xié)議模型從更實用的角度出發(fā),形成了高效的四層體系結(jié)構(gòu),即
物理鏈路層、IP層、傳輸層和應用層。
TCP和UDP
-
TCP協(xié)議:
1.使用TCP協(xié)議前,須先建立TCP連接,形成傳輸數(shù)據(jù)通道;
2.傳輸前,采用“三次握手”方式,點對點通信,是可靠的;
3.TCP協(xié)議進行通信的兩個應用進程:客戶端、服務端;
4.在連接中可進行大數(shù)據(jù)量的傳輸;
5.傳輸完畢,需釋放已建立的連接,效率低。 -
UDP協(xié)議:
1.將數(shù)據(jù)、源、目的封裝成數(shù)據(jù)包,不需要建立連接;
2.每個數(shù)據(jù)報的大小限制在64K內(nèi);
3.發(fā)送不管對方是否準備好,接收方收到也不確認,故是不可靠的;
4.可以廣播發(fā)送;
5.發(fā)送數(shù)據(jù)結(jié)束時無需釋放資源,開銷小,速度快。
tips:
1.一個IP對應著InetAddress類的一個對象;
2.實例化InetAddress類的兩種方式:
a. InetAddress.getByName(String host);
b. InetAddress.getLocalHost();//獲取本地ip
3.兩個常用方法:
a. getHostName();
b. getHostAddress();
總結(jié)
以上是生活随笔為你收集整理的复习-网络编程之IP和端口号的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 工厂方法模式(Factory Metho
- 下一篇: 关于表达式i+++i+++i++有感