第4章 TCP IP協(xié)議體系結(jié)構(gòu)_第1頁
第4章 TCP IP協(xié)議體系結(jié)構(gòu)_第2頁
第4章 TCP IP協(xié)議體系結(jié)構(gòu)_第3頁
第4章 TCP IP協(xié)議體系結(jié)構(gòu)_第4頁
第4章 TCP IP協(xié)議體系結(jié)構(gòu)_第5頁
已閱讀5頁,還剩66頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第四章 TCP/IP協(xié)議(xiy)體系結(jié)構(gòu) 通過本章的學(xué)習(xí),要求掌握(zhngw)TCP/IP協(xié)議體系結(jié)構(gòu)和每層的協(xié)議。重點(diǎn)掌握TCP協(xié)議和IP協(xié)議的數(shù)據(jù)單元格式,明確TCP/IP的傳輸過程。 內(nèi)容提要: TCP/IP概述 網(wǎng)絡(luò)接口層 網(wǎng)絡(luò)互聯(lián)層 傳輸層 應(yīng)用層 課堂討論題和課后練習(xí)2022/7/19共七十一頁 一、TCP/IP概述(TCP/IP summary) Internet的中文(zhngwn)名字是“國(guó)際互聯(lián)網(wǎng)/因特網(wǎng)/網(wǎng)際網(wǎng)” Intranet是企業(yè)內(nèi)部互聯(lián)網(wǎng)。 TCP/IP協(xié)議能使互連網(wǎng)中的各種計(jì)算機(jī)協(xié)同工作。TCP/IP(Transmission Control Protoco

2、l/Internet Protocol傳輸控制協(xié)議/網(wǎng)際協(xié)議)由它的兩個(gè)主要協(xié)議即TCP協(xié)議和IP協(xié)議而得名。TCP/IP是Internet上所有網(wǎng)絡(luò)和主機(jī)之間交流所使用的共同語言,是Internet上使用的一組完整的標(biāo)準(zhǔn)網(wǎng)絡(luò)協(xié)議。TCP是傳輸控制協(xié)議,保證了傳輸信息的正確性。IP是網(wǎng)際互連協(xié)議,負(fù)責(zé)信息的實(shí)際傳送。 TCP/IP是一個(gè)協(xié)議集。2022/7/19共七十一頁1.OSI與TCP/IP體系結(jié)構(gòu)的比較 (1)OSI參考模型(1983年) 允許任意兩個(gè)具有不同基本體系結(jié)構(gòu)的系統(tǒng)進(jìn)行通信(tng xn)的一套協(xié)議集,稱為一個(gè)開放系統(tǒng)。OSI參考模型采用了七層協(xié)議的體系結(jié)構(gòu),如圖4.1,4.

3、2,4.3所示。Application LayerPhysical LayerData Link LayerNetwork LayerTransport LayerSession LayerPresentation Layer圖4.1 OSI參考模型的分層結(jié)構(gòu)高層低層用戶功能網(wǎng)絡(luò)功能2022/7/19共七十一頁 面向信息處理用戶功能面向通信網(wǎng)絡(luò)功能應(yīng)用層傳輸層網(wǎng)絡(luò)層 數(shù)據(jù)鏈路層物理層圖4.2 傳輸層在網(wǎng)絡(luò)體系結(jié)構(gòu)中的地位(dwi)2022/7/19共七十一頁從上一章的討論可知,網(wǎng)絡(luò)的下三層各自的任務(wù)分別為: 物理層:在物理鏈路上實(shí)現(xiàn)透明的比特流傳輸; 數(shù)據(jù)鏈路層:在相鄰結(jié)點(diǎn)間的鏈路(可能有錯(cuò)的

4、物理鏈路)上實(shí)現(xiàn)可靠的幀傳輸(MAC地址); 網(wǎng)絡(luò)層:路由選擇、網(wǎng)絡(luò)互連,實(shí)現(xiàn)可靠的主機(jī)到主機(jī)(端到端)的分組傳輸(IP地址);為主機(jī)之間提供邏輯通信。 傳輸層是為主機(jī)中的應(yīng)用進(jìn)程之間(端到端)提供邏輯通信的,實(shí)現(xiàn)可靠的用戶報(bào)文傳輸。 應(yīng)用層是規(guī)定(gudng)應(yīng)用進(jìn)程在通信時(shí)所遵循的規(guī)則2022/7/19共七十一頁 從通信和信息處理的角度看,傳輸層屬于面向通信部分的最高層。但從網(wǎng)絡(luò)功能或用戶功能來劃分,則傳輸層又屬于用戶功能中的最低層。 傳輸層是整個(gè)網(wǎng)絡(luò)體系結(jié)構(gòu)中非常關(guān)鍵的一層。 在通信子網(wǎng)中沒有傳輸層。傳輸層只存在(cnzi)于通信子網(wǎng)以外的主機(jī)中,如圖4.3所示。 傳輸層要實(shí)現(xiàn)進(jìn)程-進(jìn)程

5、(端到端)之間的可靠傳輸(端口地址)。 傳輸層是為應(yīng)用進(jìn)程之間提供邏輯通信的。2022/7/19共七十一頁 LAN1LAN2傳輸層網(wǎng)絡(luò)層數(shù)據(jù)鏈路層物理層APA主機(jī)A主機(jī)B傳輸層網(wǎng)絡(luò)層數(shù)據(jù)鏈路層物理層APB傳輸層提供應(yīng)用進(jìn)程間的邏輯通信圖4.3 傳輸層為應(yīng)用進(jìn)程提供邏輯(lu j)通信服務(wù)2022/7/19共七十一頁 (2)TCP/IP參考模型(1974年) TCP/IP體系結(jié)構(gòu)共有(n yu)四個(gè)層次,如圖4.4所示。 使用(shyng)已有的物理網(wǎng)絡(luò)應(yīng)用層傳輸層網(wǎng)絡(luò)互連層網(wǎng)絡(luò)接口層圖4.4 TCP/IP參考模型的分層結(jié)構(gòu)2022/7/19共七十一頁網(wǎng)絡(luò)接口層 :它包括了使用TCP/IP與物理

6、網(wǎng)絡(luò)進(jìn)行通信的協(xié)議,對(duì)高層屏蔽了底層物理網(wǎng)絡(luò)的細(xì)節(jié),對(duì)應(yīng)著OSI的物理層和數(shù)據(jù)鏈路層。網(wǎng)絡(luò)互連層:主要(zhyo)協(xié)議是網(wǎng)際互連協(xié)議IP。其功能是處理來自傳輸層的分組,將分組形成IP數(shù)據(jù)報(bào),并為該數(shù)據(jù)報(bào)進(jìn)行路由選擇,最終將數(shù)據(jù)報(bào)從源主機(jī)發(fā)送到目的主機(jī)。傳輸層:主要協(xié)議是TCP(面向連接的服務(wù))協(xié)議和UDP(無連接的服務(wù))協(xié)議。它主要負(fù)責(zé)進(jìn)程到進(jìn)程之間的端對(duì)端通信。應(yīng)用層:提供的服務(wù)不同對(duì)應(yīng)的協(xié)議不同,主要有HTTP,FTP,Telnet,SMTP,DNS等協(xié)議。它主要為用戶提供不同的網(wǎng)絡(luò)服務(wù)。 2022/7/19共七十一頁TCP/IP體系結(jié)構(gòu)中各層采用的主要(zhyo)協(xié)議如圖4.5所示: I

7、CMPRARPARPSMTPTelnetDNSSNMP其它TCPUDPFTP以太網(wǎng)、令牌環(huán)、X.25、幀中繼、FDDI 、ATM IP網(wǎng)絡(luò)接口層網(wǎng)際層傳輸層應(yīng)用層 圖4.5 TCP/IP協(xié)議(xiy)體系結(jié)構(gòu)2022/7/19共七十一頁HTTPTCP網(wǎng)絡(luò)接口1IPUDPSMTPDNSRTP網(wǎng)絡(luò)接口2應(yīng)用層運(yùn)輸層網(wǎng)際層網(wǎng)絡(luò)接口層圖4.6 沙漏(sh lu)(計(jì)時(shí)器)形狀的TCP/IP協(xié)議族 可以從圖4.6看出:TCP/IP可以為各式各樣的應(yīng)用提供(tgng)服務(wù)也可以連接到各式各樣的網(wǎng)絡(luò)上。2022/7/19共七十一頁4.基于(jy)TCP/IP協(xié)議的客戶/服務(wù)器模式通信 客戶(Client)和

8、服務(wù)器(Server)都是指通信中所涉及的兩個(gè)應(yīng)用進(jìn)程。 客戶/服務(wù)器模式所描述的是進(jìn)程之間服務(wù)和被服務(wù)的關(guān)系。當(dāng)A進(jìn)程需要B進(jìn)程的服務(wù)時(shí)就主動(dòng)呼叫B進(jìn)程,這時(shí)A是客戶而B是服務(wù)器;若B進(jìn)程需要A進(jìn)程的服務(wù),B就是客戶而A就是服務(wù)器。 客戶與服務(wù)器的通信關(guān)系一旦(ydn)建立,通信就可是雙向的,客戶和服務(wù)器都可發(fā)送和接收信息。圖4.7給出了基于TCP/IP協(xié)議的客戶/服務(wù)器模式通信情況。圖4.8給出了服務(wù)器進(jìn)程被多個(gè)客戶進(jìn)程訪問的情況2022/7/19共七十一頁 圖4.7 客戶進(jìn)程和服務(wù)器進(jìn)程使用TCP/IP協(xié)議進(jìn)行(jnxng)通信應(yīng)用層傳輸層網(wǎng)絡(luò)層數(shù)據(jù)鏈路層物理層客戶應(yīng)用層傳輸層網(wǎng)絡(luò)層數(shù)據(jù)

9、鏈路層物理層服務(wù)器主機(jī)A主機(jī)B發(fā)起連接建立請(qǐng)求接受連接建立請(qǐng)求Internet2022/7/19共七十一頁 應(yīng)用層傳輸層網(wǎng)絡(luò)層數(shù)據(jù)鏈路層物理層應(yīng)用層傳輸層網(wǎng)絡(luò)層數(shù)據(jù)鏈路層物理層應(yīng)用層傳輸層網(wǎng)絡(luò)層數(shù)據(jù)鏈路層物理層客戶1客戶2服務(wù)器1服務(wù)器2計(jì)算機(jī)1 計(jì)算機(jī)2 計(jì)算機(jī)3Internet圖4.8 一臺(tái)計(jì)算機(jī)中的多個(gè)(du )服務(wù)器可被多個(gè)(du )客戶訪問2022/7/19共七十一頁通信過程:發(fā)客戶端的應(yīng)用程序收到用戶請(qǐng)求后,將用戶發(fā)出的信息(xnx)代碼按應(yīng)用層協(xié)議轉(zhuǎn)化為標(biāo)準(zhǔn)的報(bào)文交給傳輸層;傳輸層通過TCP協(xié)議將應(yīng)用程序信息分解打包(分組),TCP程序?qū)⑦@些帶有傳輸層目的地址的包轉(zhuǎn)交給網(wǎng)絡(luò)互連層

10、;網(wǎng)絡(luò)互連層的IP程序通過IP協(xié)議組成IP數(shù)據(jù)報(bào)將信息轉(zhuǎn)交給網(wǎng)絡(luò)接口層;網(wǎng)絡(luò)接口層將IP數(shù)據(jù)報(bào)封裝成具體網(wǎng)絡(luò)的幀,通過物理網(wǎng)絡(luò)發(fā)到另一臺(tái)計(jì)算機(jī)。收對(duì)方IP程序收到所傳輸?shù)臄?shù)據(jù)報(bào)后,將數(shù)據(jù)報(bào)傳輸?shù)絺鬏攲?,傳輸層的TCP程序?qū)⑦@些數(shù)據(jù)報(bào)按特定的順序還原為TCP格式的信息。TCP協(xié)議用于控制信息包的接收和發(fā)送,發(fā)生錯(cuò)誤時(shí),TCP就發(fā)出一個(gè)重發(fā)信息給發(fā)送方,服務(wù)器的傳輸層將所收到的正確信息傳輸?shù)剿母邔?,供?yīng)用程序處理。2022/7/19共七十一頁 二、網(wǎng)絡(luò)接口層 TCP/IP的網(wǎng)絡(luò)接口層與OSI/RM的物理層、數(shù)據(jù)鏈路層相對(duì)應(yīng),它對(duì)應(yīng)與網(wǎng)絡(luò)的基本(jbn)硬件,該層使用的協(xié)議是各通信子網(wǎng)的協(xié)議,如以

11、太網(wǎng)協(xié)議,幀中繼協(xié)議,令牌環(huán)網(wǎng)協(xié)議等。 功能:負(fù)責(zé)網(wǎng)絡(luò)層與硬件設(shè)備之間的聯(lián)系,定義了Internet與各種物理網(wǎng)絡(luò)之間的網(wǎng)絡(luò)接口,對(duì)高層屏蔽了底層物理網(wǎng)絡(luò)的細(xì)節(jié),指出主機(jī)必須使用某種協(xié)議與網(wǎng)絡(luò)互連。2022/7/19共七十一頁 三、網(wǎng)絡(luò)互連層功能:使源主機(jī)把分組通過任何網(wǎng)絡(luò)獨(dú)立(dl)地傳向目的地。分組到達(dá)的順序和發(fā)送順序可能不同。IP協(xié)議的主要功能:(1)接收來自傳輸層的請(qǐng)求,把傳輸層送來的信息組裝成IP數(shù)據(jù)報(bào),并把IP數(shù)據(jù)報(bào)傳遞給網(wǎng)絡(luò)接口層。(2)提供不可靠無連接數(shù)據(jù)報(bào)傳送。(3)處理互連的路徑、流量控制與擁塞控制。(4)三個(gè)與IP配套使用的協(xié)議,即: 地址解析協(xié)議ARP(Address

12、Resolution Protocol); IP MAC 逆向地址解析協(xié)議RARP(Reverse Address Resolution Protocol); MAC IP Internet控制報(bào)文協(xié)議ICMP(Internet Control Message Protocol)。2022/7/19共七十一頁 IP和其它三個(gè)協(xié)議的層次(cngc)關(guān)系如圖4.9所示 ICMPRARPARPSMTPTELNETDNSSNMPTFTPTCPUDPFTP以太網(wǎng)、令牌環(huán)、X.25、幀中繼、FDDI 、ATM IP網(wǎng)絡(luò)接口層網(wǎng)際層傳輸層應(yīng)用層IP協(xié)議經(jīng)常要使用ARP和RARP(由9個(gè)字段組成,固定24字節(jié)

13、。其中(qzhng)包括兩個(gè)IP地址,兩個(gè)硬件地址,直接封裝在數(shù)據(jù)鏈路幀中),這兩個(gè)協(xié)議畫在下面。此外,由于ICMP要使用IP協(xié)議,作為IP的數(shù)據(jù)部分,畫在上面。圖4.9 IP與ARP、RARP及ICMP的關(guān)系2022/7/19共七十一頁1、IP數(shù)據(jù)(shj)報(bào)的格式 IP數(shù)據(jù)報(bào)的格式說明了IP協(xié)議具有哪些功能。在TCP/IP的標(biāo)準(zhǔn)中,各種數(shù)據(jù)格式常常以32bit(即4字節(jié))為單位來描述。IP數(shù)據(jù)報(bào)的格式如圖4.10所示。IP數(shù)據(jù)報(bào)無序號(hào)。 一個(gè)IP數(shù)據(jù)報(bào)由首部(報(bào)頭(botu))和數(shù)據(jù)兩部分組成。首部的前一部分長(zhǎng)度是固定的20個(gè)字節(jié),后一部分的長(zhǎng)度則是可變長(zhǎng)度。2022/7/19共七十一頁

14、數(shù)據(jù)部分可選字段(長(zhǎng)度可變:1 - 40字節(jié))填充“0”長(zhǎng)度可變20個(gè)字節(jié)固定長(zhǎng)度目的站IP地址源站IP地址壽命 協(xié)議 首部校驗(yàn)和 標(biāo)識(shí) 標(biāo)志 分段偏移版本 首部長(zhǎng)度 服務(wù)類型 IP數(shù)據(jù)報(bào)總長(zhǎng)度比特 0 4 8 16 19 24 31優(yōu)先級(jí) D T R C 未用0 1 2 3 4 5 6 7D:更低延遲 T:更高的吞吐量R:更高的可靠性 C:提供費(fèi)用更低的路由圖4.10 IP數(shù)據(jù)(shj)報(bào)的格式2022/7/19共七十一頁 版本(bnbn) 占4bit,指IP協(xié)議的版本。通信雙方使用的IP協(xié)議的版本必須一致。目前使用的IP協(xié)議版本為4(IPv4)。 首部長(zhǎng)度 占4bit,取值范圍5(4字節(jié)5

15、=20字節(jié),固定首部長(zhǎng)度)-15(4字節(jié)15=60字節(jié),最大首部長(zhǎng)度)。當(dāng)IP分組的首部長(zhǎng)度不是4字節(jié)的整數(shù)倍時(shí),必須利用最后一個(gè)填充字段加以填充(以全“0”填充)。 服務(wù)類型 占8bit,用來獲得更好的服務(wù)。與服務(wù)質(zhì)量Qos有關(guān)。 服務(wù)類型字段的前三個(gè)比特(02)表示優(yōu)先級(jí),它可使數(shù)據(jù)報(bào)具有8個(gè)優(yōu)先級(jí)中的一個(gè)。2022/7/19共七十一頁 第3個(gè)比特是D比特,表示要求有更低的時(shí)延。 第4個(gè)比特是T比特,表示要求有更高的吞吐量。 第5個(gè)比特是R比特,表示要求有更高的可靠性,即在數(shù)據(jù)報(bào)傳送的過程中,被結(jié)點(diǎn)交換機(jī)丟棄的概率要更小些。 第6個(gè)比特是C比特,是新增加(zngji)的,表示要求選擇費(fèi)用更

16、低廉的路由。最后一個(gè)比特目前尚未使用。 IP數(shù)據(jù)報(bào)總長(zhǎng)度 占16bit, “總長(zhǎng)度”指首部和數(shù)據(jù)之和的長(zhǎng)度,單位為字節(jié)。IP數(shù)據(jù)報(bào)的最大長(zhǎng)度為65535字節(jié)(21665536)。 當(dāng)很長(zhǎng)的數(shù)據(jù)報(bào)文要分段進(jìn)行傳送時(shí),“總長(zhǎng)度”不是指未分段前的報(bào)文長(zhǎng)度,而是指分段后每段的IP分組首部的長(zhǎng)度與數(shù)據(jù)長(zhǎng)度的總和。2022/7/19共七十一頁 標(biāo)識(shí) 占16bit,該字段為了使分段后的各數(shù)據(jù)報(bào)段最后能準(zhǔn)確地重裝成為(chngwi)原來的數(shù)據(jù)報(bào)文而設(shè)置的標(biāo)識(shí)。這里的“標(biāo)識(shí)”并沒有順序號(hào)的意思,因?yàn)镮P是無連接服務(wù),數(shù)據(jù)報(bào)不存在按序接收的問題。同一個(gè)報(bào)文的所有分段具有相同的標(biāo)識(shí)。 標(biāo)志(flag) 占3bit,

17、目前只有前兩個(gè)比特有意義。 標(biāo)志字段中的一位記為MF(More Fragment)。MF=1表示后面還有分段的數(shù)據(jù)報(bào)。MF=0表示是若干數(shù)據(jù)報(bào)段中的最后一個(gè)。 標(biāo)志字段的另一位記為DF(Dont Fragment)。只有當(dāng)DF=0時(shí)才允許分段,DF=1不允許分段。2022/7/19共七十一頁 分段偏移 占13bit,分段偏移指出:較長(zhǎng)的數(shù)據(jù)報(bào)文在分段以后,某個(gè)分段在原報(bào)文中的相對(duì)位置。分段偏移以8個(gè)字節(jié)為偏移單位。 (0,1400/8=175,2800/8=350) 壽命 占8bit,記為TTL(Time To Live),其單位為秒。壽命的建議值是32秒。壽命又稱為生存時(shí)間。實(shí)際使用不是計(jì)時(shí)

18、,而是用來標(biāo)記IP數(shù)據(jù)報(bào)經(jīng)過的路由器個(gè)數(shù),每經(jīng)過一個(gè)路由器稱為一跳(hop),IP數(shù)據(jù)報(bào)經(jīng)過一個(gè)路由器該域的值減1,直到(zhdo)為0還未到達(dá)目的站點(diǎn)時(shí)丟棄該IP數(shù)據(jù)報(bào)。 協(xié)議 占8bit,協(xié)議字段指出此IP數(shù)據(jù)報(bào)攜帶的傳輸層數(shù)據(jù)是使用何種協(xié)議,以便目的主機(jī)的IP層知道應(yīng)將此IP數(shù)據(jù)報(bào)上交給哪個(gè)進(jìn)程。如:ICMP(1),UDP(17),TCP(6)。 2022/7/19共七十一頁 首部檢驗(yàn)和 占16bit,此字段只檢驗(yàn)IP數(shù)據(jù)報(bào)的首部,不包括數(shù)據(jù)部分。將數(shù)據(jù)部分一起檢驗(yàn),計(jì)算的工作量就太大了。 為了簡(jiǎn)化運(yùn)算,IP首部的檢驗(yàn)和不采用CRC檢驗(yàn)碼。 IP首部檢驗(yàn)和的計(jì)算方法是:將IP數(shù)據(jù)報(bào)首部看

19、成為16bit字的序列。先將檢驗(yàn)和字段置0。將所有的16bit字相加(反碼加法,進(jìn)位移(wiy)至最低位相加)(見書188或256頁本科教材)后,將和的二進(jìn)制反碼寫入檢驗(yàn)和字段。收到數(shù)據(jù)報(bào)后,將首部的16bit字的序列再相加一次,若首部末發(fā)生任何變化,則和必為全1。否則即認(rèn)為出差錯(cuò),并將此數(shù)據(jù)報(bào)丟棄。 地址 源站IP地址和目的站IP地址都各占4字節(jié)。 IP首部的可變部分 排錯(cuò)、測(cè)量以及安全用。2022/7/19共七十一頁IP 頭數(shù)據(jù)區(qū)(1400 字節(jié))ID = 100片頭數(shù)據(jù) 1(600)數(shù)據(jù)3 (200)片頭片頭數(shù)據(jù) 2(600)ID = 100MF = 1FO = 0Len= 620ID

20、= 100MF= 1FO = 75Len= 620ID = 100MF= 0FO = 150Len= 2204.11 IP數(shù)據(jù)(shj)報(bào)的分片2022/7/19共七十一頁2、 Internet控制報(bào)文協(xié)議ICMP 網(wǎng)際控制報(bào)文協(xié)議ICMP(Internet control message protocol )也是TCP/IP一個(gè)核心協(xié)議。 (1).為什么需要ICMP? IP協(xié)議提供的是無連接和不可靠的數(shù)據(jù)(shj)報(bào)交付,是一個(gè)盡最大努力的服務(wù),沒有完全的差錯(cuò)控制機(jī)制,只有簡(jiǎn)單的首部檢驗(yàn),出錯(cuò)的IP數(shù)據(jù)報(bào)被丟棄。 控制報(bào)文協(xié)議ICMP就是為彌補(bǔ)IP的不足而設(shè)計(jì)的,它是配合IP協(xié)議使用的,可以

21、看作是IP的一個(gè)組成部分。 ICMP允許主機(jī)或路由器報(bào)告IP數(shù)據(jù)報(bào)在傳送過程中的差錯(cuò)和提供網(wǎng)絡(luò)本身異常情況的報(bào)告,差錯(cuò)糾正由高層協(xié)議完成。 2022/7/19共七十一頁(2).ICMP報(bào)文格式 ICMP是IP層的協(xié)議。 ICMP報(bào)文不是直接傳送(chun sn)到數(shù)據(jù)鏈路層封裝成MAC幀(與RAP和RARP不同),而是先要封裝成IP數(shù)據(jù)報(bào)再傳送到數(shù)據(jù)鏈路層封裝成MAC幀。 ICMP報(bào)文與IP包的關(guān)系以及報(bào)文格式如圖4.12所示。 ICMP報(bào)文的關(guān)鍵是類型字段,占一個(gè)字節(jié)。表1給出了類型字段的某些值與ICMP報(bào)文類型的基本關(guān)系。2022/7/19共七十一頁圖4.12 ICMP報(bào)文的格式IP數(shù)據(jù)報(bào)

22、 IP首部 IP數(shù)據(jù)部分 ICMP報(bào)文長(zhǎng)度可變部分取決于ICMP的類型 類型 代碼 檢驗(yàn)和 0 8 16 312022/7/19共七十一頁表3 類型字段的值與ICMP報(bào)文類型的關(guān)系 類型 ICMP報(bào)文 ICMP報(bào)文的作用 0 回送應(yīng)答 給源主機(jī)發(fā)送回答 3 目的站不可達(dá) 網(wǎng)絡(luò)/主機(jī)/協(xié)議/端口等不可達(dá) 4 源站抑制 使源站暫停發(fā)送IP數(shù)據(jù)報(bào) 5 改變路由 指出IP數(shù)據(jù)報(bào)應(yīng)經(jīng)過下一個(gè)路由器的IP地址 8 回送請(qǐng)求 向一個(gè)特定的目的主機(jī)發(fā)出的詢問 11 IP分組時(shí)間超時(shí) 被分配(fnpi)的發(fā)送時(shí)間過期而被丟棄 12 IP分組參數(shù)問題 IP分組的首部字段中有錯(cuò)誤或非法值 13 時(shí)間戳請(qǐng)求 請(qǐng)某個(gè)主

23、機(jī)或路由器回答當(dāng)前的日期和時(shí)間 14 時(shí)間戳回答 可用來進(jìn)行時(shí)鐘同步和測(cè)量時(shí)間 17 地址掩碼請(qǐng)求 可使主機(jī)向子網(wǎng)掩碼服務(wù)器請(qǐng)求 18 地址掩碼回答 得到某個(gè)接口的子網(wǎng)掩碼 ICMP報(bào)文的類型很多,但可分為兩種類型,即ICMP差錯(cuò)報(bào)文(3,4,5,11,12)和ICMP詢問報(bào)文。用代碼字段進(jìn)一步區(qū)分某種類型中的不同情況。校驗(yàn)和檢驗(yàn)整個(gè)ICMP報(bào)文。2022/7/19共七十一頁(3)ICMP應(yīng)用(yngyng)舉例 ICMP Echo請(qǐng)求報(bào)文 類型字段值取8。 ICMP Echo請(qǐng)求報(bào)文是由主機(jī)或路由器向一個(gè)特定的目的主機(jī)發(fā)出的詢問。收到此報(bào)文的機(jī)器必須給源主機(jī)或路由器發(fā)送ICMP Echo回答

24、報(bào)文。 這種詢問報(bào)文常用來測(cè)試目的站是否可達(dá)以及了解其有關(guān)狀態(tài)。 在因特網(wǎng)的應(yīng)用層有一個(gè)十分有用的服務(wù),稱為Ping(Packet Internet Groper),用來測(cè)試兩個(gè)主機(jī)之間的連通性。Ping使用了ICMP Echo請(qǐng)求報(bào)文。 Ping 002022/7/19共七十一頁3、ARP協(xié)議和RARP協(xié)議(1)IP地址與硬件地址 在IP層抽象的互連網(wǎng)上,看到的只是IP數(shù)據(jù)報(bào)。在IP數(shù)據(jù)報(bào)的首部中寫明源IP地址和目的(md)IP地址。中間經(jīng)過的路由器的IP地址不出現(xiàn)在IP數(shù)據(jù)報(bào)的首部中。IP地址是端到端的。 雖然在IP數(shù)據(jù)報(bào)的首部有源站的IP地址,但路由器只根據(jù)目的站的IP地址進(jìn)行路由選擇。

25、 在具體的物理網(wǎng)絡(luò)的數(shù)據(jù)鏈路層,看到的只是MAC幀(在X.25網(wǎng)的鏈路層則是HDLC幀)。IP數(shù)據(jù)報(bào)被封裝在MAC幀里面。MAC幀在不同的網(wǎng)絡(luò)上傳送時(shí),其MAC幀的首部(目的地址會(huì)發(fā)生變化)是不同的。MAC地址是節(jié)點(diǎn)到節(jié)點(diǎn)的。 圖4.13給出了這兩種地址的區(qū)別。 圖4.14進(jìn)一步說明了在互聯(lián)網(wǎng)環(huán)境下這兩種地址使用上的區(qū)別。2022/7/19共七十一頁 首部 首部 首部 應(yīng)用層數(shù)據(jù) TCP或其他高層協(xié)議報(bào)文IP地址硬件地址IP數(shù)據(jù)報(bào)網(wǎng)絡(luò)層使用IP地址鏈路層使用硬件地址MAC幀圖4.13 IP地址與硬件(yn jin)地址的區(qū)別2022/7/19共七十一頁主機(jī)H1主機(jī)H2HA1局域網(wǎng)硬件地址HA3

26、R1HA4局域網(wǎng)HA5HA6R2局域網(wǎng)HA2網(wǎng)絡(luò)配置主機(jī)H1主機(jī)H2IP1IP2HA1HA2R1R2從IP1到IP2從IP1到IP2從IP1到IP2IP3IP4IP5IP6HA3HA4HA5HA6從HA1到HA3的MAC幀從HA4到HA5的MAC幀從HA6到HA2的MAC幀IP1IP2IP數(shù)據(jù)報(bào)圖4.14 IP地址和硬件(yn jin)地址在不同層次起作用2022/7/19共七十一頁(2) IP地址與MAC地址轉(zhuǎn)換 在學(xué)習(xí)IP地址時(shí),很重要的一點(diǎn)就是要分清一個(gè)主機(jī)的IP地址與MAC地址的區(qū)別。 假定主機(jī)通過局域網(wǎng)進(jìn)行網(wǎng)絡(luò)互連。IP地址放在IP數(shù)據(jù)報(bào)的首部,而MAC地址則放在MAC幀的首部。在網(wǎng)

27、絡(luò)層使用的是IP地址,而在數(shù)據(jù)鏈路層使用的是MAC地址。 知道IP地址或MAC地址,又是如何(rh)在IP地址和物理地址之間建立起一個(gè)轉(zhuǎn)換關(guān)系的呢?這一任務(wù)又是由誰來完成的呢? 在IP層專門設(shè)計(jì)了兩個(gè)輔助協(xié)議來完成這兩項(xiàng)任務(wù),它們就是ARP協(xié)議和RARP協(xié)議。2022/7/19共七十一頁(3) IP地址轉(zhuǎn)換成物理地址ARP協(xié)議 從IP地址到物理地址的轉(zhuǎn)換是由地址解析協(xié)議ARP來完成。 1)實(shí)現(xiàn)原理 由于IP地址為32位,而局域網(wǎng)的物理地址是48位,它們之間不存在數(shù)學(xué)上的換算關(guān)系(gun x)。此外,在一個(gè)網(wǎng)絡(luò)上可能經(jīng)常會(huì)有新的計(jì)算機(jī)加入進(jìn)來,或撤走一些計(jì)算機(jī),當(dāng)然更換計(jì)算機(jī)的網(wǎng)卡也會(huì)使其物理地

28、址改變??梢娫谟?jì)算機(jī)中應(yīng)保存一個(gè)從IP地址到物理地址的轉(zhuǎn)換表,并且能夠經(jīng)常動(dòng)態(tài)更新。地址解析協(xié)議ARP很好地解決了這些問題。 實(shí)際中,每一個(gè)主機(jī)都有一個(gè)ARP高速緩存(ARP cache),里面存有IP地址到物理地址的映射表,這些都是該主機(jī)目前知道的一些地址。 當(dāng)某主機(jī)A欲向本局域網(wǎng)上的某主機(jī)B發(fā)送一個(gè)IP數(shù)據(jù)報(bào)時(shí),就先在其ARP高速緩存中查看有無主機(jī)B的IP地址。如有,就可查出其對(duì)應(yīng)的物理地址,然后將此物理地址寫入MAC幀,再通過局域網(wǎng)發(fā)往此物理地址對(duì)應(yīng)的站點(diǎn)B。2022/7/19共七十一頁 2)ARP映射表的形成 當(dāng)出現(xiàn)上述情況時(shí),主機(jī)A就自動(dòng)運(yùn)行ARP,按以下步驟找出主機(jī)B的物理地址:

29、ARP進(jìn)程在本局域網(wǎng)上廣播一個(gè)ARP請(qǐng)求分組,該分組中有已知的主機(jī)B的IP地址; 在本局域網(wǎng)上的所有主機(jī)上運(yùn)行的ARP進(jìn)程都將收到此ARP請(qǐng)求分組; 主機(jī)B在ARP請(qǐng)求分組中見到自己的IP地址,就向主機(jī)A發(fā)送一個(gè)ARP響應(yīng)(xingyng)分組,并在上面寫入自己的物理地址; 主機(jī)A收到主機(jī)B的ARP響應(yīng)分組后,就在其ARP高速緩存中寫入主機(jī)B的IP地址到物理地址的映射。2022/7/19共七十一頁具體實(shí)現(xiàn)中的一種做法:在很多情況下,當(dāng)主機(jī)A向主機(jī)B發(fā)送數(shù)據(jù)報(bào)時(shí),很可能以后不久主機(jī)B還要向主機(jī)A發(fā)送數(shù)據(jù)報(bào),因而主機(jī)B也可能要向主機(jī)A發(fā)送ARP請(qǐng)求分組。為了減少網(wǎng)絡(luò)上的通信量,通常主機(jī)A在發(fā)送其A

30、RP請(qǐng)求分組時(shí),會(huì)將自己的IP地址到物理地址的映射寫入ARP請(qǐng)求分組。當(dāng)主機(jī)B收到主機(jī)A的ARP請(qǐng)求分組時(shí),主機(jī)B就將主機(jī)A的這一地址映射寫入主機(jī)B自己的ARP高速緩存中。這樣主機(jī)B以后向主機(jī)A發(fā)送數(shù)據(jù)報(bào)時(shí)就更方便了。 圖4.16和圖4.17分別說明了映射表的形成(xngchng)原理2022/7/19共七十一頁ABXYZARP響應(yīng)00-00-C0-15-AD-18主機(jī)B向A發(fā)送ARP響應(yīng)分組:我是,硬件地址是08-00-2B-00-EE-0A。08-00-2B-00-EE-0AABXYZARP請(qǐng)求00-00-C0-15-AD-18我是,硬件地址是00-00-C0-15-AD-18。我想知道主

31、機(jī)的硬件地址。08-00-2B-00-EE-0A圖4.16 映射表的形成原理(yunl)之一 局域網(wǎng)環(huán)境下2022/7/19共七十一頁HA1=00-00-C0-15-AD-18HA2=08-00-2B-00-EE-0AHA3=02-60-8C-01-02-03 IP1=IP2=IP3=主機(jī)H1主機(jī)H2IP1IP2HA1HA2R1R2IP3IP4IP5IP6HA3HA4HA5HA6ARP請(qǐng)求主機(jī)A發(fā)送ARP請(qǐng)求分組:我是,硬件地址是00-00-C0-15-AD-18。我想知道主機(jī)的硬件地址。ARP響應(yīng)路由器R1向主機(jī)H1發(fā)送ARP響應(yīng)分組:我是,硬件地址是02-60-8C-01-02-03 。圖

32、4.17 映射表的形成(xngchng)原理之二 互聯(lián)網(wǎng)環(huán)境下2022/7/19共七十一頁(4)物理地址轉(zhuǎn)換成IP地址RARP協(xié)議 從物理地址到IP地址的轉(zhuǎn)換由反向地址解析協(xié)議RARP來完成。 RARP使只知道自己物理地址的主機(jī)能夠知道其IP地址。這種主機(jī)往往是無盤工作站。無盤工作站通過運(yùn)行ROM中的RARP來獲得其IP地址。 RARP的工作(gngzu)過程如下: 為了使RARP協(xié)議能正常工作,在局域網(wǎng)上至少有一個(gè)主機(jī)要充當(dāng)RARP服務(wù)器。通常,無盤工作站先向局域網(wǎng)發(fā)出RARP請(qǐng)求分組(在格式上與ARP請(qǐng)求分組相似),并在此分組中給出自己的物理地址。2022/7/19共七十一頁 RARP服務(wù)

33、器有一個(gè)事先準(zhǔn)備好的從無盤工作站的物理地址到IP地址的映射表,當(dāng)收到RARP請(qǐng)求分組后,RARP服務(wù)器就從該映射表查出該無盤工作站的IP地址。然后寫入RARP響應(yīng)分組,發(fā)回給無盤工作站。無盤工作站即可獲得自己(zj)的IP地址。 最后必須再次指出,無論IP地址是用二進(jìn)制表示還是用十進(jìn)制表示,終究只是一種數(shù)字形式,不僅難以記憶,而且也難以理解,更不形象。為此,因特網(wǎng)又專門設(shè)計(jì)了一種字符型的主機(jī)域名命名機(jī)制,這就是所謂的域名,或俗稱網(wǎng)址。2022/7/19共七十一頁四、傳輸層 傳輸層使高層用戶看見的就好像是在兩個(gè)傳輸層實(shí)體之間有一條端到端的、可靠的、全雙工通信通路(即數(shù)字管道)。實(shí)現(xiàn)端到端的進(jìn)程與

34、進(jìn)程之間可靠的用戶報(bào)文傳輸。1.TCP/IP傳輸層協(xié)議 用戶數(shù)據(jù)報(bào)協(xié)議UDP(User Datagram Protocol) 傳輸控制協(xié)議TCP(Transfer Control Protocol) UDP和TCP都使用IP協(xié)議提供的服務(wù)。 UDP是一種無連接的傳輸服務(wù),它不保證(bozhng)數(shù)據(jù)以正確的序列被接收。UDP在傳送數(shù)據(jù)之前不需要先建立連接。遠(yuǎn)地主機(jī)的傳輸層在收到UDP數(shù)據(jù)報(bào)后,不需要給出任何應(yīng)答。2022/7/19共七十一頁 TCP是面向連接的,提供可靠的、按序傳送數(shù)據(jù)的服務(wù)。TCP提供的連接是雙向的,即全雙工的. TCP協(xié)議的主要功能: (1)確保IP數(shù)據(jù)報(bào)的成功傳遞(chu

35、nd)。 (2)對(duì)TCP程序發(fā)送的大塊數(shù)據(jù)進(jìn)行分段和重組。 (3)確保正確排序以及按順序傳遞分段的數(shù)據(jù)。 (4)通過計(jì)算校驗(yàn)和,進(jìn)行傳輸數(shù)據(jù)的完整性檢查。 UDP和TCP都使用了傳輸層與應(yīng)用層接口處的端口(port)與上層的應(yīng)用進(jìn)程進(jìn)行通信。應(yīng)用層的各種進(jìn)程是通過相應(yīng)的端口才能與傳輸實(shí)體進(jìn)行通信。也稱為端口地址。端口是一個(gè)16bit的地址,并用端口號(hào)(端口地址)進(jìn)行標(biāo)識(shí)。端口是傳輸層與高層的服務(wù)接口。 2022/7/19共七十一頁表4-12 常用的TCP/IP端口號(hào) 端口號(hào) 進(jìn)程名稱 所使用協(xié)議 描述 1 TCPMUX TCP TCP端口多路復(fù)用服務(wù) 5 RJE TCP 遠(yuǎn)程任務(wù)入口 7 EC

36、HO TCP和UDP Echo(回聲) 11 USERS TCP和UDP 當(dāng)前(dngqin)活躍用戶 13 DAYTIME TCP和UDP 日期時(shí)間 20 FTP-DATA TCP 文件傳輸-數(shù)據(jù) 21 FTP-CONTR TCP 文件傳輸-控制 23 TELNET TCP TELNET 25 SMTP TCP 簡(jiǎn)單郵件傳輸協(xié)議 35 PRINTER TCP和UDP 任何私有打印機(jī)服務(wù) 41 GRAPHICS TCP和UDP 圖形 49 LOGIN TCP 登錄主機(jī)協(xié)議 53 DNS TCP和UDP 域名服務(wù)器 69 TFTP UDP 重要的文件傳輸協(xié)議 80 HTTP TCP和UDP 因特

37、網(wǎng)HTTP 110 POP3 TCP 郵局協(xié)議3 161 SNMP UDP 簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議2022/7/19共七十一頁(1).TCP報(bào)文分段的格式 TCP報(bào)文分段的格式如圖4.18所示??梢?ky)看出,一個(gè)TCP報(bào)文分段分為首部和數(shù)據(jù)兩部分。 TCP報(bào)文分段首部的前20個(gè)字節(jié)是固定的,后面有4N字節(jié)是可有可無的選項(xiàng)及填充(N為整數(shù))。因此TCP首部的最小固定長(zhǎng)度是20字節(jié)。 最大首部長(zhǎng)度為60字節(jié)。2022/7/19共七十一頁固定20字節(jié) 數(shù)據(jù)部分選項(xiàng)(可選)和填充 檢驗(yàn)和 緊急指針首部長(zhǎng)度 保留 標(biāo)志 窗口確認(rèn)號(hào)(Acknowledgement number)序號(hào)(Sequence nu

38、mber)源端口號(hào) 目的端口號(hào)0 15 16 31TCP首部首部長(zhǎng)度(在有的教材中為“數(shù)據(jù)偏移(Data Offset)”,來自Stalings的教材,大部分教科書稱為Header Length)。 紅色字段與UDP相同。 注意確認(rèn)號(hào)Ack與確認(rèn)比特ACK的區(qū)別。 圖4.18 TCP報(bào)文段的格式(g shi)2022/7/19共七十一頁 源端口和目的端口 各占2個(gè)字節(jié)。 前面已講過,端口是傳輸層與高層的服務(wù)接口。16bit的端口號(hào)加上32bit的IP地址,構(gòu)成了相當(dāng)于傳輸層服務(wù)訪問點(diǎn)TSAP的地址(Socket套接字)。 這些端口可用來將若干高層協(xié)議向下復(fù)用。 序號(hào)Seq 占4字節(jié)。在TCP傳

39、送的數(shù)據(jù)流(字節(jié)流)中,每一個(gè)字節(jié)都有一個(gè)序號(hào),以保證數(shù)據(jù)傳輸?shù)目煽啃?。序?hào)是報(bào)文段所發(fā)送的數(shù)據(jù)部分第一個(gè)字節(jié)的序號(hào)。例如,在一個(gè)報(bào)文段中,序號(hào)為300,而報(bào)文中的數(shù)據(jù)共100字節(jié),在下一個(gè)報(bào)文段中,序號(hào)是多少? 在建立連接時(shí),由雙方隨機(jī)產(chǎn)生一個(gè)初始(ch sh)序號(hào)(ISN)。若ISN是2367,第一個(gè)報(bào)文段的數(shù)據(jù)長(zhǎng)度為n字節(jié),則序號(hào)應(yīng)為2369(2367和2368用于雙方連接建立的三次握手用,x,x+1;y,y+1)。目的進(jìn)程在知道報(bào)文段的數(shù)據(jù)長(zhǎng)度后就可確定最后一個(gè)字節(jié)的序號(hào)。 2022/7/19共七十一頁 確認(rèn)號(hào)Ack 占4字節(jié),是期望從對(duì)方接收的報(bào)文段的序號(hào)。如果成功地收到了對(duì)方發(fā)送來

40、的序號(hào)x,而數(shù)據(jù)(shj)長(zhǎng)度為300字節(jié),則確認(rèn)號(hào)為x+300。 例如:A正確收到了B發(fā)送過來的一個(gè)報(bào)文段,序號(hào)501,數(shù)據(jù)300字節(jié),則A在發(fā)送給B的響應(yīng)報(bào)文段中,設(shè)置確認(rèn)號(hào)801。 首部長(zhǎng)度 占4bit,取值為5(45=20字節(jié),固定報(bào)文段長(zhǎng)度)-15(415=60字節(jié),最大報(bào)文段長(zhǎng)度)。無TCP報(bào)文長(zhǎng)度。 2022/7/19共七十一頁 保留字段為6bit,目前(mqin)沒有使用。 標(biāo)志字段是報(bào)文段性質(zhì)的控制比特,意義如下: 緊急比特URG(URGent) 當(dāng)URG=1時(shí),表明此報(bào)文段應(yīng)盡快傳送(高優(yōu)先級(jí)數(shù)據(jù)),不要按原來的排隊(duì)順序來傳送。例如,已經(jīng)發(fā)送了很長(zhǎng)的一個(gè)程序要在遠(yuǎn)地的主機(jī)上

41、運(yùn)行。但后來發(fā)現(xiàn)程序有些問題,要取消該程序的運(yùn)行。因此從鍵盤發(fā)出中斷信號(hào)(Control+C)。這就屬于緊急數(shù)據(jù),緊急數(shù)據(jù)插入到報(bào)文段的數(shù)據(jù)部分的最前面,其余為普通數(shù)據(jù)。 URG要與 “緊急指針”(Urgent Pointer)字段配合使用。緊急指針指出在本報(bào)文段中的緊急數(shù)據(jù)的最后一個(gè)字節(jié)的序號(hào)。 緊急指針使接收方可以知道緊急數(shù)據(jù)共有多長(zhǎng)(序號(hào)緊急指針緊急數(shù)據(jù)長(zhǎng)度)。 URG=0,“緊急指針”字段無效。 2022/7/19共七十一頁 確認(rèn)比特ACK 只有當(dāng)ACK=1時(shí)確認(rèn)號(hào)Ack字段才有意義。當(dāng)ACK=0時(shí),確認(rèn)號(hào)Ack沒有意義。 急迫/推送比特PSH(PuSH) 當(dāng)PSH=1時(shí),表明請(qǐng)求遠(yuǎn)地

42、TCP將本報(bào)文段立即傳送給其應(yīng)用層,而不要等到整個(gè)緩沖區(qū)都填滿了后再向上交付(jiof)(將數(shù)據(jù)向前推)。一般不使用。 復(fù)位/重建比特RST(Reset) 當(dāng)RST=1時(shí),表明出現(xiàn)嚴(yán)重差錯(cuò)(如由于主機(jī)崩潰或其它原因),必須釋放連接,然后再重建傳輸連接。擁塞控制。 重建比特還用來拒絕一個(gè)非法的報(bào)文段或打開一個(gè)連接。 2022/7/19共七十一頁 同步比特SYN 在建立連接時(shí)使用。當(dāng)SYN=1和ACK=0 (確認(rèn)號(hào)Ack無意義)時(shí),表明這是一個(gè)連接請(qǐng)求報(bào)文段。對(duì)方若同意建立連接,則應(yīng)在發(fā)回的報(bào)文段中使SYN=1和 ACK=1 (確認(rèn)號(hào)Ack有意義) 。因此,同步比特SYN置為1,就表示這是一個(gè)連接

43、請(qǐng)求報(bào)文或同意連接報(bào)文,而ACK比特的值用來區(qū)分是哪一種(y zhn)報(bào)文。 終止比特FIN(FINal) 用來釋放一個(gè)連接。當(dāng)FIN=1時(shí),表明欲發(fā)送的字節(jié)中已經(jīng)發(fā)完,并要求釋放傳輸連接。2022/7/19共七十一頁 窗口 占2字節(jié)。窗口字段實(shí)際上是報(bào)文段發(fā)送方的接收窗口,單位為字節(jié)。通過此窗口告訴對(duì)方,“在未收到我的確認(rèn)時(shí),你能發(fā)送的數(shù)據(jù)的字節(jié)數(shù)至多是此窗口的大小?!贝翱谄鸬搅髁靠刂谱饔?。 檢驗(yàn)和 占2字節(jié)。檢驗(yàn)和字段檢驗(yàn)的范圍包括首部和數(shù)據(jù)這兩部分。算法是將所有數(shù)據(jù)按16位長(zhǎng)的字節(jié)加起來,再取和的反碼。同用戶數(shù)據(jù)報(bào)UDP一樣,在計(jì)算檢驗(yàn)和時(shí),要在TCP報(bào)文分段的前面加上一個(gè)12字節(jié)的偽首

44、部。偽首部的格式與UDP數(shù)據(jù)報(bào)的偽首部一樣。但應(yīng)將偽首部的第4個(gè)字段中的17改為6(TCP協(xié)議號(hào)是6),將第5個(gè)字段中的UDP長(zhǎng)度改為TCP長(zhǎng)度。若使用IPv6,則相應(yīng)(xingyng)的偽首部也要改變。2022/7/19共七十一頁 選項(xiàng) 長(zhǎng)度可變。TCP只規(guī)定了一種選項(xiàng),即最大報(bào)文分段MSS(Maximum Segment Size)。MSS告訴對(duì)方的TCP:“我的緩沖區(qū)所能接收的報(bào)文分段的最大長(zhǎng)度是MSS ” 。 當(dāng)MSS長(zhǎng)度太短時(shí),網(wǎng)絡(luò)的利用率就降低。設(shè)想在極端的情況下,當(dāng)TCP報(bào)文分段只有一個(gè)(y )字節(jié)的數(shù)據(jù)時(shí),在IP層傳輸?shù)臄?shù)據(jù)報(bào)的開銷至少有40個(gè)字節(jié)(包括TCP報(bào)文分段的首部和I

45、P數(shù)據(jù)報(bào)的首部)。這樣,對(duì)網(wǎng)絡(luò)的利用率就不會(huì)超過1/41。到了數(shù)據(jù)鏈路層還要加上一些開銷。 若TCP報(bào)文分段太長(zhǎng),在IP層傳輸時(shí)就可能要分解成多個(gè)IP數(shù)據(jù)報(bào)。在目的站要將收到的各個(gè)IP數(shù)據(jù)報(bào)裝配成原來的TCP報(bào)文分段。當(dāng)傳輸出錯(cuò)時(shí)還要進(jìn)行重傳。這些也都會(huì)使開銷增大。2022/7/19共七十一頁 一般認(rèn)為,MSS應(yīng)盡可能大些,只要在網(wǎng)絡(luò)層傳輸時(shí)不需要再分段就行。在連接建立的過程中,雙方都將自己能夠支持的最大報(bào)文長(zhǎng)度MSS寫入這一字段。在以后的數(shù)據(jù)傳送階段,MSS取雙方提出的較小的那個(gè)數(shù)值。若主機(jī)未填寫這項(xiàng),則MSS的默認(rèn)值是536字節(jié)長(zhǎng)的凈負(fù)荷(TCP報(bào)文段的數(shù)據(jù)部分)。因此,所有(suyu)在

46、Internet上的主機(jī)都應(yīng)能夠接收的TCP報(bào)文分段長(zhǎng)度是536 + 20=556字節(jié)。2022/7/19共七十一頁 (2)、TCP的運(yùn)輸連接管理 運(yùn)輸連接的管理就是使運(yùn)輸連接的建立和釋放都能正常的進(jìn)行。 a.連接的建立 在連接建立過程中有三個(gè)問題必須解決好: 要使每一方能夠確知對(duì)方的存在; 要允許雙方協(xié)商一些參數(shù)(如最大報(bào)文段長(zhǎng)度、最大窗口(chungku)大小、服務(wù)質(zhì)量等); 能夠?qū)\(yùn)輸實(shí)體的資源(如緩沖區(qū)大小,連接表中的項(xiàng)目等)進(jìn)行分配。 從可靠通信的角度出發(fā), TCP采用了所謂的“三次握手”聯(lián)絡(luò)方式,如圖4.19所示。2022/7/19共七十一頁主機(jī)A主機(jī)BA發(fā)連接請(qǐng)求:SYN=1,A

47、CK=0,Seq=XB發(fā)同意連接并請(qǐng)求與A連接(全雙工):SYN=1,ACK=1, Ack=X1,Seq=YA同意連接:SYN=1,ACK=1, Ack=Y1圖4.19 用三次(sn c)握手建立TCP 連接2022/7/19共七十一頁 設(shè)客戶進(jìn)程運(yùn)行在主機(jī)A中,服務(wù)器進(jìn)程運(yùn)行在主機(jī)B中。 A先向其TCP發(fā)出主動(dòng)打開(active open)命令。主機(jī)A的TCP向主機(jī)B的TCP發(fā)出連接請(qǐng)求報(bào)文段,其首部中的同步比特SYN應(yīng)置為1,同時(shí)選擇一個(gè)序號(hào)x,表明在后面?zhèn)魉蛿?shù)據(jù)時(shí)的第一個(gè)數(shù)據(jù)字節(jié)(z ji)的序號(hào)是x。 在圖4.19中,一個(gè)從A到B的箭頭上標(biāo)有“SYN=1,ACK=0,Seq= x ”,

48、就表達(dá)了這個(gè)意思。2022/7/19共七十一頁 主機(jī)B的TCP收到連接請(qǐng)求報(bào)文段后,如同意連接,在確認(rèn)報(bào)文段中應(yīng)將SYN1,ACK=1,Ack=x+1,Seq=y。 主機(jī)A的TCP收到此報(bào)文段后,還要向B給出確認(rèn),Ack=y+1。 運(yùn)行客戶進(jìn)程的主機(jī)A的TCP通知上層應(yīng)用進(jìn)程,連接已經(jīng)建立(或打開(d ki)。 當(dāng)運(yùn)行服務(wù)器進(jìn)程的主機(jī)B的TCP收到主機(jī)A的確認(rèn)后,也通知其上層應(yīng)用進(jìn)程,連接已經(jīng)建立。 連接建立采用的這種過程叫做三次握手(three-way handshake),或三次聯(lián)絡(luò)。實(shí)際上是四次握手的合并。2022/7/19共七十一頁b.連接的釋放 在數(shù)據(jù)傳輸結(jié)束后,通信的雙方都可以發(fā)出

49、釋放連 接的請(qǐng)求,圖4.20描述(mio sh)了連接釋放的過程。圖4.20 連接釋放(shfng)的過程應(yīng)用進(jìn)程釋放連接主機(jī)A主機(jī)BFIN=1, Seq=xAck=x+1Ack=y+1通知主機(jī)應(yīng)用進(jìn)程FIN=1, Seq=y Ack=x+1應(yīng)用進(jìn)程釋放連接2022/7/19共七十一頁2、用戶數(shù)據(jù)報(bào)協(xié)議UDP 用戶數(shù)據(jù)報(bào)協(xié)議UDP只在IP數(shù)據(jù)報(bào)服務(wù)之上增加(zngji)了很少的一點(diǎn)功能,這就是端口的功能。用戶數(shù)據(jù)報(bào)UDP有兩個(gè)字段:數(shù)據(jù)字段和首部字段,如圖4.21所示。圖4.21 UDP數(shù)據(jù)(shj)報(bào)的首部和偽首部IP分組IP首部 IP數(shù)據(jù)部分UDP數(shù)據(jù)報(bào) 首部 UDP數(shù)據(jù)部分偽首部 源端口

50、號(hào) 目的端口號(hào) UDP長(zhǎng)度 校驗(yàn)和 12 2 2 2 2 源IP地址 目的IP地址 0 17 UDP長(zhǎng)度 4 4 1 1 22022/7/19共七十一頁 首部字段很簡(jiǎn)單,只有8個(gè)字節(jié),由4個(gè)字段組成(z chn),每個(gè)字段都是兩個(gè)字節(jié)。各字段意義如下: 源端口號(hào)字段 16bit,源端口號(hào) 目的端口號(hào)字段 16bit,目的端口號(hào) 長(zhǎng)度字段 16bit,UDP數(shù)據(jù)報(bào)的長(zhǎng)度 檢驗(yàn)和字段 16bit,防止UDP數(shù)據(jù)報(bào)在傳輸中出錯(cuò) UDP用戶數(shù)據(jù)報(bào)在計(jì)算校驗(yàn)和時(shí)要在UDP用戶數(shù)據(jù)報(bào)之前加12字節(jié)的“偽首部”(不是真正的首部)僅僅時(shí)為了計(jì)算校驗(yàn)和。 2022/7/19共七十一頁 UDP數(shù)據(jù)報(bào)首部中檢驗(yàn)和的

51、計(jì)算方法與IP數(shù)據(jù)報(bào)相同,也不使用CRC校驗(yàn)碼。在計(jì)算檢驗(yàn)和時(shí)在UDP數(shù)據(jù)報(bào)之前(zhqin)要增加12個(gè)字節(jié)的偽首部。所謂“偽首部”是因?yàn)檫@種偽首部并不是UDP數(shù)據(jù)報(bào)真正的首部。只是在計(jì)算檢驗(yàn)和時(shí),臨時(shí)和UDP數(shù)據(jù)報(bào)連接在一起,得到一個(gè)過渡的UDP數(shù)據(jù)報(bào)。檢驗(yàn)和就是按照這個(gè)過渡的UDP數(shù)據(jù)報(bào)來計(jì)算的。偽首部既不向下傳送,也不向上遞交。UDP數(shù)據(jù)報(bào)中無序號(hào)字段。 偽首部的第3字段是全0,第4個(gè)字段是IP首部中的協(xié)議字段的值。對(duì)于UDP,此協(xié)議字段值為17。第5字段是UDP數(shù)據(jù)報(bào)的長(zhǎng)度。2022/7/19共七十一頁UDPTCP無連接的服務(wù),在主機(jī)之間不建立會(huì)話面向連接的服務(wù),在主機(jī)之間建立會(huì)話不能確保數(shù)據(jù)或承認(rèn)數(shù)據(jù)傳遞或排序數(shù)據(jù)通過確認(rèn)和按序傳遞數(shù)據(jù)來確保數(shù)據(jù)的傳遞使用UDP的應(yīng)用程序負(fù)責(zé)提供數(shù)據(jù)所需的可靠性使用TCP的程序能確??煽康臄?shù)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論