天天看點

TCP/IP協定、網絡分層模型

網絡程式設計, 用來實作網絡互連的不同計算機上運作的程式間可以進行資料互動。

網絡互連的不同計算機上、計算機上運作的程式間、進行資料互動。

網絡模型: 計算機之間以何種規則進行通信,就是網絡模型研究的問題;

TCP/IP參考模型,OSI參考模型;我們在應用層進行開發。

網絡通信的三要素:

一、IP位址:網絡中裝置的辨別,用于辨別主機;通過id位址找到目标主機。Ip位址是電腦的唯一标示,每台電腦都有唯一的辨別。

1)如何去配置IP位址呢?

控制台--->網絡連接配接--->右鍵單擊--->屬性--->Internet網絡協定--->單擊即可。

2)每一個ip位址都對應一個網址(相當于和域名綁定,域名解析器:DNS)

3)如何擷取和操作ip位址呢?

為了友善我們對ip位址的擷取和操作,java提供了一個類InetAddress供我們使用。

二、端口: 用于辨別程序的邏輯位址,一台電腦上不同程序的辨別; 哪一個應用程式接受資料?

1)有效端口0——65535,其中0——1024是系統使用或者保留的端口,對應系統程序;

三、協定: 通訊的規則 比如:TCP/UDP(都要說中文,定義通訊的規則)

兩台主機通訊,要滿足這三點:知道對方的ip以及應用程式的端口号、采用相同的傳輸協定。

1)TCP協定:通過三次握手連接配接,是可靠協定,必須建立連接配接。

2)UDP協定:無連接配接,是不可靠的協定,資料傳輸大小有限制。64K

TCP/IP協定的開發研制人員将Internet分為五個層次,以便于了解,它也稱為網際網路分層模型或網際網路分層參考模型,如下表: 

TCP/IP協定、網絡分層模型

應用層(第五層) 運作在不同主機上的程序則使用應用層協定進行通信。

傳輸層(第四層) :定義了一些資料傳輸的協定和端口号(tcp、udp協定),主要是将從下層接收的資料進行分段和傳輸,達到目的位址後再進行重組。

網際網路層(第三層) : 主要将下層接收到的資料進行IP位址的封裝與解封裝,在這一層工作的裝置是路由器,常把這一層的資料叫做資料包。

資料鍊路層(第二層) :資料通過交換機進行傳輸 。

實體層(第一層) :主要用于定義實體裝置标準,比如網線接口類型、光釺接口類型、各種傳輸媒體的傳輸速率等等,這一層的資料叫做比特。網線、光釺、交換機等。

Socket通信原理圖解:

TCP/IP協定、網絡分層模型

Socket套接字:(網絡程式設計、套接字程式設計)

網絡上具有唯一辨別的ip位址和端口号組合在一起才能構成唯一能識别的辨別符套接字。(組合在一起)

Socket原理機制:

1)通信兩端都有Socket對象(裡面包含ip位址和端口号);

2)網絡通信其實是Socket之間的通信;

3)資料在兩個Socket之間通過IO進行傳輸;

4)網絡程式設計其實是面向Socket程式設計。