TCP/IP 包含四層模型,從上層往下層分別是:應(yīng)用層、傳輸層、網(wǎng)絡(luò)層、數(shù)據(jù)鏈路層。有些資料也會說 TCP/IP 是五層模型,所謂的五層模型指的是在數(shù)據(jù)鏈路層下面還有一個物理層,而作為軟件工程師一般不需要關(guān)注物理層,所以通常我們說 TCP/IP 四層模型更多一些。

1.應(yīng)用層

應(yīng)用層的作用是負(fù)責(zé)應(yīng)用程序間的數(shù)據(jù)通訊的。不同的網(wǎng)絡(luò)應(yīng)用需要不同的應(yīng)用層協(xié)議,比如電子郵件傳輸 SMTP 協(xié)議、文件傳輸 FTP 協(xié)議、網(wǎng)絡(luò)遠(yuǎn)程訪問 Telnet 協(xié)議等等。

常見協(xié)議


(相關(guān)資料圖)

應(yīng)用層的常見協(xié)議有以下兩個:

DNS 域名解析協(xié)議(Domain Name System,域名系統(tǒng)),DNS 是將域名和 IP 做一個映射,因?yàn)樵诔绦蜷g通訊依靠的是 IP,但 IP 地址不方便記憶,而域名方便記憶,所以將二者作為一個 key-value 映射在一起,這樣知道了域名置換就能找對與之相對應(yīng)的 IP 了,這樣既能方便用戶記憶,同時又能滿足程序間的數(shù)據(jù)通訊。

HTTP 協(xié)議(HyperText Transfer Protocol,超文本傳輸協(xié)議),互聯(lián)網(wǎng)上應(yīng)用最為廣泛的一種網(wǎng)絡(luò)協(xié)議。所有的 WWW(萬維網(wǎng)) 文件都必須遵守這個標(biāo)準(zhǔn)。

2.傳輸層

傳輸層的主要作用是負(fù)責(zé)兩臺主機(jī)間的數(shù)據(jù)傳輸?shù)?。如傳輸控制協(xié)議 (TCP),能夠確保數(shù)據(jù)可靠的從源主機(jī)發(fā)送到目標(biāo)主機(jī)。

注意:應(yīng)用層和傳輸層描述的主體對象是不同的,應(yīng)用層描述的主體是“應(yīng)用程序間”,而傳輸層描述的主體是“兩臺主機(jī)間”。其中,一個主機(jī)可以包含多個應(yīng)用程序,所以二者是不同的。

常見協(xié)議

傳輸層的常見協(xié)議有以下兩個:

TCP 協(xié)議(Transmission Control Protocol,傳輸控制協(xié)議):提供了穩(wěn)定的、需要連接的、面向字節(jié)流的協(xié)議。UDP 協(xié)議(User Datagram Protocol,用戶數(shù)據(jù)協(xié)議):提供了無連接的、不穩(wěn)定的、面向數(shù)據(jù)報的協(xié)議。3.網(wǎng)絡(luò)層

網(wǎng)絡(luò)層的作用是負(fù)責(zé)網(wǎng)絡(luò)上的地址管理和路由選擇的。在數(shù)據(jù)通訊時,可以選擇很多條路徑(抵達(dá)目的地的),比如從西安到北京,可以選擇先從西安 -> 太原 -> 北京,也可以選擇從西安 -> 鄭州 -> 石家莊 -> 北京,還可以選擇從西安 -> 延安 -> 呼和浩特 -> 張家口 -> 北京,究竟選擇那一條路呢?這就是網(wǎng)絡(luò)層負(fù)責(zé)的。

4.數(shù)據(jù)鏈路層

數(shù)據(jù)鏈路層的作用是負(fù)責(zé)設(shè)備之間的數(shù)據(jù)幀的傳送和識別的。數(shù)據(jù)在傳輸時需要經(jīng)過多個設(shè)備進(jìn)行數(shù)據(jù)傳輸,而數(shù)據(jù)鏈路層就是負(fù)責(zé)相鄰設(shè)備間的數(shù)據(jù)傳輸和識別的。數(shù)據(jù)鏈路層可以完全消除網(wǎng)絡(luò)層和物理層之間的不同,將數(shù)據(jù)在鏈路層進(jìn)行有效的識別和傳輸。

5.物理層(可選)

物理層的作用是負(fù)責(zé)將數(shù)據(jù)轉(zhuǎn)換成信號,再將信號轉(zhuǎn)換為數(shù)據(jù)的。轉(zhuǎn)換方法因通訊媒體不同而不同,所以沒有特定的協(xié)議。

總結(jié)

TCP/IP 包含了五層(或四層)模型,從上層往下層分別是:

應(yīng)用層:負(fù)責(zé)應(yīng)用程序間的數(shù)據(jù)通訊。傳輸層:負(fù)責(zé)兩臺主機(jī)之間的數(shù)據(jù)傳輸。網(wǎng)絡(luò)層:負(fù)責(zé)網(wǎng)絡(luò)地址的管理和路由選擇。數(shù)據(jù)鏈路層:負(fù)責(zé)設(shè)備之間的數(shù)據(jù)幀的傳送和識別。物理層(可選):負(fù)責(zé)數(shù)據(jù)和信號間的轉(zhuǎn)換。

標(biāo)簽: