TCP/IP層描述 | 主要協(xié)議 | 主要功能 |
應(yīng)用層 | HTTP、Telnet、FTP和E-mail等 | 負(fù)責(zé)把數(shù)據(jù)傳輸?shù)絺鬏攲踊蚪邮諒膫鬏攲臃祷氐臄?shù)據(jù) |
傳輸層 | TCP和UPD | 主要為兩臺(tái)主機(jī)上的應(yīng)用程序提供端到端的通信,TCP為兩臺(tái)主機(jī)提供可靠的數(shù)據(jù)通信。它所做的工作包括把應(yīng)用程序交給它的數(shù)據(jù)分成合適的小塊交給下面的網(wǎng)絡(luò)層,確認(rèn)接收到的分組,設(shè)置發(fā)送最后確認(rèn)分組的超時(shí)時(shí)鐘等。UPD則為應(yīng)用層提供一種非常簡(jiǎn)單的服務(wù)。它只是把稱作數(shù)據(jù)報(bào)的分組從一臺(tái)主機(jī)發(fā)送到另一臺(tái)主機(jī),但并不保證該數(shù)據(jù)能到達(dá)另一端。 |
網(wǎng)絡(luò)層 | ICMP、IP和IGMP | 有時(shí)稱作互聯(lián)網(wǎng)層,主要為數(shù)據(jù)包選擇路由,其中IP是TCP/IP協(xié)議族中最為核心的協(xié)議。所有的TCP、UPD、ICMP及IGMP數(shù)據(jù)協(xié)議都以IP數(shù)據(jù)包格式傳輸。 |
鏈路層 | ARP、RARP和設(shè)備驅(qū)動(dòng)程序及接口卡 | 發(fā)送時(shí)將IP包作為幀發(fā)送;接收時(shí)把接收到的位組裝成幀;提供鏈路管理、錯(cuò)誤檢測(cè)等。 |
表1
分層的概念說起來非常簡(jiǎn)單,但在實(shí)際的應(yīng)用中非常的重要,在進(jìn)行網(wǎng)絡(luò)設(shè)置和排除故障時(shí)對(duì)網(wǎng)絡(luò)層次理解得很透,將對(duì)工作有很大的幫助。例如:設(shè)置路由是網(wǎng)絡(luò)層IP協(xié)議的事,要查找MAC地址是鏈路層ARP的事,常用的Ping命令由ICMP協(xié)議來做的。
圖5顯示了各層協(xié)議的關(guān)系,理解它們之間的關(guān)系對(duì)下面的協(xié)議分析非常重要。
2)數(shù)據(jù)發(fā)送時(shí)是自上而下,層層加碼;數(shù)據(jù)接收時(shí)是自下而上,層層解碼。
當(dāng)應(yīng)用程序用TCP傳送數(shù)據(jù)時(shí),數(shù)據(jù)被送入?yún)f(xié)議棧中,然后逐個(gè)通過每一層直到被當(dāng)作一串比特流送入網(wǎng)絡(luò)。其中每一層對(duì)收到的數(shù)據(jù)都要增加一些首部信息(有時(shí)還要增加尾部信息),該過程如圖6所示。TCP傳給IP的數(shù)據(jù)單元稱作TCP報(bào)文段或簡(jiǎn)稱為TCP段。I P傳給網(wǎng)絡(luò)接口層的數(shù)據(jù)單元稱作IP數(shù)據(jù)報(bào)。 通過以太網(wǎng)傳輸?shù)谋忍亓鞣Q作幀(Frame)。
數(shù)據(jù)發(fā)送時(shí)是按照?qǐng)D6自上而下,層層加碼;數(shù)據(jù)接收時(shí)是自下而上,層層解碼。
3)邏輯上通訊是在同級(jí)完成的
垂直方向的結(jié)構(gòu)層次是當(dāng)今普遍認(rèn)可的數(shù)據(jù)處理的功能流程。每一層都有與其相鄰層的接口。為了通信,兩個(gè)系統(tǒng)必須在各層之間傳遞數(shù)據(jù)、指令、地址等信息,通信的邏輯流程與真正的數(shù)據(jù)流的不同。雖然通信流程垂直通過各層次,但每一層都在邏輯上能夠直接與遠(yuǎn)程計(jì)算機(jī)系統(tǒng)的相應(yīng)層直接通信。
從圖7可以看出,通訊實(shí)際上是按垂直方向進(jìn)行的,但在邏輯上通信是在同級(jí)進(jìn)行的。
圖7
2、過程描述
為了更好的分析協(xié)議,我們先描述一下上述例子數(shù)據(jù)的傳輸步驟。如圖8所示:
1)FTP客戶端請(qǐng)求TCP用服務(wù)器的IP地址建立連接。
2)TCP發(fā)送一個(gè)連接請(qǐng)求分段到遠(yuǎn)端的主機(jī),即用上述IP地址發(fā)送一份IP數(shù)據(jù)報(bào)。
3) 如果目的主機(jī)在本地網(wǎng)絡(luò)上,那么IP數(shù)據(jù)報(bào)可以直接送到目的主機(jī)上。如果目的主機(jī)在一個(gè)遠(yuǎn)程網(wǎng)絡(luò)上,那么就通過IP選路函數(shù)來確定位于本地網(wǎng)絡(luò)上的下一站路由器地址,并讓它轉(zhuǎn)發(fā)IP數(shù)據(jù)報(bào)。在這兩種情況下,IP數(shù)據(jù)報(bào)都是被送到位于本地網(wǎng)絡(luò)上的一臺(tái)主機(jī)或路由器。
4) 本例是一個(gè)以太網(wǎng),那么發(fā)送端主機(jī)必須把32位的IP地址變換成48位的以太網(wǎng)地址,該地址也稱為MAC地址,它是出廠時(shí)寫到網(wǎng)卡上的世界唯一的硬件地址。把IP地址翻譯到對(duì)應(yīng)的MAC地址是由ARP協(xié)議完成的。
5) 如圖的虛線所示,ARP發(fā)送一份稱作ARP請(qǐng)求的以太網(wǎng)數(shù)據(jù)幀給以太網(wǎng)上的每個(gè)主機(jī),這個(gè)過程稱作廣播。ARP請(qǐng)求數(shù)據(jù)幀中包含目的主機(jī)的IP地址,其意思是“如果你是這個(gè)IP地址的擁有者,請(qǐng)回答你的硬件地址。”
6) 目的主機(jī)的ARP層收到這份廣播后,識(shí)別出這是發(fā)送端在尋問它的IP地址,于是發(fā)送一個(gè)ARP應(yīng)答。這個(gè)ARP應(yīng)答包含I P地址及對(duì)應(yīng)的硬件地址。
7) 收到ARP應(yīng)答后,使ARP進(jìn)行請(qǐng)求—應(yīng)答交換的IP數(shù)據(jù)包現(xiàn)在就可以傳送了。
8) 發(fā)送IP數(shù)據(jù)報(bào)到目的主機(jī)。