![協(xié)議第2章-2IP協(xié)議_第1頁](http://file4.renrendoc.com/view/31d74d71f944bb1fbb77dcdc226e16dc/31d74d71f944bb1fbb77dcdc226e16dc1.gif)
![協(xié)議第2章-2IP協(xié)議_第2頁](http://file4.renrendoc.com/view/31d74d71f944bb1fbb77dcdc226e16dc/31d74d71f944bb1fbb77dcdc226e16dc2.gif)
![協(xié)議第2章-2IP協(xié)議_第3頁](http://file4.renrendoc.com/view/31d74d71f944bb1fbb77dcdc226e16dc/31d74d71f944bb1fbb77dcdc226e16dc3.gif)
![協(xié)議第2章-2IP協(xié)議_第4頁](http://file4.renrendoc.com/view/31d74d71f944bb1fbb77dcdc226e16dc/31d74d71f944bb1fbb77dcdc226e16dc4.gif)
![協(xié)議第2章-2IP協(xié)議_第5頁](http://file4.renrendoc.com/view/31d74d71f944bb1fbb77dcdc226e16dc/31d74d71f944bb1fbb77dcdc226e16dc5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
計(jì)算機(jī)網(wǎng)絡(luò)
協(xié)議分析第二章
-2
IP協(xié)議分析本章主要內(nèi)容第一節(jié)網(wǎng)絡(luò)層概述第二節(jié)IP數(shù)據(jù)報(bào)格式第三節(jié)IP無連接數(shù)據(jù)報(bào)傳輸?shù)谒墓?jié)IP數(shù)據(jù)報(bào)選項(xiàng)第五節(jié)IP模塊的結(jié)構(gòu)第一節(jié)
網(wǎng)絡(luò)層概述
IP層概述IP層:TCP/IP協(xié)議的網(wǎng)絡(luò)層網(wǎng)絡(luò)層的協(xié)議有:ARP、RARP、ICMP、IGMP。IP協(xié)議是TCP/IP協(xié)議的核心協(xié)議提供了網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)淖罨痉?wù)實(shí)現(xiàn)網(wǎng)絡(luò)互聯(lián)的基本協(xié)議除ARP、RARP協(xié)議報(bào)文之外幾乎所有數(shù)據(jù)都要經(jīng)過IP協(xié)議進(jìn)行發(fā)送。IP層概述IP層:不可靠的無連接數(shù)據(jù)報(bào)協(xié)議IP提供盡力而為的傳輸服務(wù)(Best-effort)
點(diǎn)對(duì)點(diǎn)協(xié)議:盡管其數(shù)據(jù)報(bào)中有源、目的IP地址,但在數(shù)據(jù)傳輸時(shí),對(duì)等實(shí)體一定是相鄰設(shè)備(同一網(wǎng)絡(luò))中的對(duì)等實(shí)體。
不保證傳輸?shù)目煽啃評(píng)nreliable:不對(duì)數(shù)據(jù)進(jìn)行差錯(cuò)校驗(yàn)和跟蹤,數(shù)據(jù)報(bào)發(fā)生損壞時(shí),不向發(fā)送方通告。可靠性一般通過IP層之上的TCP協(xié)議加以保證。無連接數(shù)據(jù)報(bào)服務(wù)connectionless:各個(gè)數(shù)據(jù)報(bào)獨(dú)立傳輸,可能沿不同路徑到達(dá)目的地,順序也不一定按原次序。除ARP、RARP協(xié)議報(bào)文之外IP層概述IP層:盡力傳輸協(xié)議的效率高實(shí)現(xiàn)簡單
好處明顯:底層網(wǎng)絡(luò)質(zhì)量越來越好IP層之下可能存在不同的物理網(wǎng)絡(luò),而IP向上層卻要提供一個(gè)統(tǒng)一的數(shù)據(jù)傳輸服務(wù)。通過IP地址實(shí)現(xiàn)物理地址的統(tǒng)一;通過IP數(shù)據(jù)報(bào)實(shí)現(xiàn)物理數(shù)據(jù)幀的統(tǒng)一。即:對(duì)上層屏蔽了下層的差異第二節(jié)
IP數(shù)據(jù)報(bào)格式
IP數(shù)據(jù)報(bào)格式034781516-181931版本首部長服務(wù)類型總長(MAX:65535)標(biāo)識(shí)標(biāo)志片偏移生存時(shí)間協(xié)議首部校驗(yàn)和源IP地址目的IP地址IP選項(xiàng)(MAX:40)填充域數(shù)據(jù)IP數(shù)據(jù)報(bào)格式034781516-181931VERHLENServiceTypeTotalLength(MAX:65535)IdentificationFlagsFragmentationOffsetTimetoliveTTLProtocolHeaderChecksumSourceAddressIPDestinationAddressIPIPOptions
(MAX:40)packingDataIP數(shù)據(jù)報(bào)格式IP數(shù)據(jù)報(bào)組成,2個(gè)部分:首部+數(shù)據(jù)首部分為2個(gè)部分:
定長部分20Bytes
變長部分最大40Bytes034781516-181931版本首部長服務(wù)類型總長(MAX:65535)標(biāo)識(shí)標(biāo)志片偏移生存時(shí)間協(xié)議首部校驗(yàn)和源IP地址目的IP地址IP選項(xiàng)(MAX:40)填充域數(shù)據(jù)IP數(shù)據(jù)報(bào)格式-版本版本:4bitVER字段表示:數(shù)據(jù)報(bào)的IP協(xié)議版本號(hào),版本號(hào)規(guī)定了數(shù)據(jù)報(bào)的格式
當(dāng)前IP協(xié)議號(hào)4,即IPv4
下一代網(wǎng)絡(luò)協(xié)議為6,即IPv6IP軟件在處理數(shù)據(jù)報(bào)時(shí),必須檢查版本號(hào)字段,估計(jì)該字段的值,決定對(duì)IP數(shù)據(jù)報(bào)的處理方法。034781516-181931版本首部長服務(wù)類型總長(MAX:65535)IP數(shù)據(jù)報(bào)格式-首部長度首部長度:4bitHLEN字段指出:以32位(4字節(jié))為單位的數(shù)據(jù)報(bào)首部長度。
通過HLEN值,可以確定首部和數(shù)據(jù)的分界點(diǎn)定長部分是20字節(jié),即5個(gè)單位的長度,默認(rèn)是5。變長部分最大值是40字節(jié),即10個(gè)單位的長度。IP數(shù)據(jù)報(bào)首部有IP選項(xiàng)字段時(shí),根據(jù)HLEN值來確定選項(xiàng)的長度。4bit的字段,最大值是1111(即15),HLEN減去5個(gè)定長單位,才是選項(xiàng)的長度。034781516-181931版本首部長服務(wù)類型總長(MAX:65535)IP數(shù)據(jù)報(bào)格式-服務(wù)類型服務(wù)類型:8bitServiceType字段規(guī)定:對(duì)本數(shù)據(jù)報(bào)的處理方式。
服務(wù)類型字段(ServiceType)
區(qū)分業(yè)務(wù)字段(DifferentiateServices)
∵因特網(wǎng)應(yīng)用增多,多媒體數(shù)據(jù)傳輸、實(shí)時(shí)應(yīng)用對(duì)TCP/IP服務(wù)類型提出了更高要求
∴IETF修改了該字段。034781516-181931版本首部長服務(wù)類型總長(MAX:65535)IP數(shù)據(jù)報(bào)格式-服務(wù)類型服務(wù)類型:8bit,規(guī)定對(duì)本數(shù)據(jù)報(bào)的處理方式。
服務(wù)類型字段(ServiceType)034781516-181931版本首部長服務(wù)類型總長(MAX:65535)優(yōu)先級(jí)DTRC保留
優(yōu)先級(jí)precedence:前3bit,表示本數(shù)據(jù)報(bào)的重要程度,網(wǎng)絡(luò)有擁塞時(shí),路由設(shè)備可以根據(jù)該值決定首先丟棄哪些數(shù)據(jù)報(bào)。優(yōu)先級(jí)從0(最低優(yōu)先級(jí))到7(最高優(yōu)先級(jí))依次越來越重要該值為有區(qū)別地對(duì)待不同數(shù)據(jù)提供了可能,但目前IPv4并未使用優(yōu)先級(jí)。IP數(shù)據(jù)報(bào)格式-服務(wù)類型服務(wù)類型:8bit,規(guī)定對(duì)本數(shù)據(jù)報(bào)的處理方式。
服務(wù)類型字段(ServiceType)034781516-181931版本首部長服務(wù)類型總長(MAX:65535)優(yōu)先級(jí)DTRC保留DTRC:4bit,是服務(wù)類型TOSTypeofService,表示本數(shù)據(jù)報(bào)在傳輸過程中所希望得到的服務(wù),由用戶設(shè)置,0000表示一般服務(wù)類型的數(shù)據(jù)報(bào)(沒啥要求的)。D:最小延遲(minimize)DelayT:最大吞吐率(maximize)ThroughputR:最高可靠性(maximize)ReliabilityC:最低成本(minimize)CostIP數(shù)據(jù)報(bào)格式-服務(wù)類型服務(wù)類型各種協(xié)議服務(wù)類型的建議值034781516-181931版本首部長服務(wù)類型總長(MAX:65535)優(yōu)先級(jí)DTRC保留TOS協(xié)議D、T、R、C備注0000ICMP、BOOTP、DNS(TCP)Normal一般信息0001NNTPC低成本直接發(fā)給用戶0010IGP、SNMPR高可靠路由、網(wǎng)管0100FTP(數(shù)據(jù))、SMTP(數(shù)據(jù))T高吞吐傳輸數(shù)據(jù)量大1000Telnet、FTP(控制)、TFTP、SMTP(命令)D低延遲少量數(shù)據(jù)傳輸IP數(shù)據(jù)報(bào)格式-服務(wù)類型服務(wù)類型:8bit,規(guī)定對(duì)本數(shù)據(jù)報(bào)的處理方式。
服務(wù)類型字段(ServiceType)034781516-181931版本首部長服務(wù)類型總長(MAX:65535)優(yōu)先級(jí)DTRC保留設(shè)置數(shù)據(jù)報(bào)的服務(wù)類型的DTRC時(shí),要注意:TOS僅代表用戶的希望:不具有強(qiáng)制性,不少路由設(shè)備的TCP/IP實(shí)現(xiàn)中,不支持TOS特性,新的路由協(xié)議(如OSPF)可以根據(jù)TOS值選擇路由DTRC4個(gè)參數(shù),每次只能設(shè)置其中的1個(gè):傳輸時(shí),路由設(shè)備只能考慮一個(gè)性能指標(biāo),不能面面俱到都兼顧,多個(gè)參數(shù)的同時(shí)指定,會(huì)讓路由設(shè)備很茫然,無所適從,沒有意義。IP數(shù)據(jù)報(bào)格式-服務(wù)類型服務(wù)類型:8bitServiceType字段規(guī)定:對(duì)本數(shù)據(jù)報(bào)的處理方式。區(qū)分業(yè)務(wù)字段(DifferentiateServices)
∵因特網(wǎng)應(yīng)用增多,多媒體數(shù)據(jù)傳輸、實(shí)時(shí)應(yīng)用對(duì)TCP/IP服務(wù)類型提出了更高要求
∴IETF修改了該字段,叫做區(qū)分業(yè)務(wù)字段。034781516-181931版本首部長服務(wù)類型總長(MAX:65535)IP數(shù)據(jù)報(bào)格式-服務(wù)類型服務(wù)類型:區(qū)分業(yè)務(wù)字段仍舊8bit,最后兩bit保留,未用,前6bit成為“碼點(diǎn)”(codepoint)6bit碼點(diǎn)可提供64種不同編碼,對(duì)應(yīng)不同業(yè)務(wù)。034781516-181931版本首部長服務(wù)類型總長(MAX:65535)IP數(shù)據(jù)報(bào)格式-服務(wù)類型服務(wù)類型:區(qū)分業(yè)務(wù)字段前6bit“碼點(diǎn)”(codepoint)提供的64種編碼第一類IETF指派因特網(wǎng)XXXXX0:0,2,4,…,62第二類本地管理機(jī)構(gòu)使用XXXX11:3,7,11,15,…,63第三類臨時(shí)或試驗(yàn)使用XXXX01:1,5,9,…,61每一類的號(hào)碼并不連續(xù),沒有按照0-31,32-47,48-63分類,否則與TOS解釋不兼容。XXX000(0,8,16,…,56)會(huì)落入所有的這三個(gè)類別,而目前的指派方法,這些都屬于類別1。034781516-181931版本首部長服務(wù)類型總長(MAX:65535)IP數(shù)據(jù)報(bào)格式-數(shù)據(jù)報(bào)總長度總長度:16bitTotalLength字段指示:以字節(jié)為單位的整個(gè)IP數(shù)據(jù)報(bào)的長度
IP數(shù)據(jù)報(bào)最大長度可達(dá)216-1(65535)個(gè)字節(jié)根據(jù)數(shù)據(jù)報(bào)總長度和首部長度可以計(jì)算出數(shù)據(jù)部分的長度。數(shù)據(jù)長度=數(shù)據(jù)報(bào)總長度-首部長度*4034781516-181931版本首部長服務(wù)類型總長(MAX:65535)IP數(shù)據(jù)報(bào)格式-數(shù)據(jù)報(bào)總長度總長度:16bit數(shù)據(jù)長度=數(shù)據(jù)報(bào)總長度-首部長度*4例如:在以太網(wǎng)幀封裝數(shù)據(jù)報(bào)時(shí),要求封裝的最小數(shù)據(jù)為46個(gè)字節(jié),數(shù)據(jù)少于46字節(jié),必須在數(shù)據(jù)后面進(jìn)行填充,使其達(dá)到46字節(jié)。根據(jù)上述公式,可以計(jì)算除去填充后的實(shí)際數(shù)據(jù)長度。假設(shè)IP數(shù)據(jù)報(bào)首部HLen=5,TotalLength=44Bytes,則實(shí)際數(shù)據(jù)長度為:
44-5*4=24Bytes034781516-181931版本首部長服務(wù)類型總長(MAX:65535)IP數(shù)據(jù)報(bào)格式-數(shù)據(jù)報(bào)總長度總長度:16bit數(shù)據(jù)報(bào)總長度最大值為65535字節(jié)很少有底層物理網(wǎng)絡(luò)能封裝這樣大的數(shù)據(jù)。底層物理網(wǎng)絡(luò)能夠封裝的最大數(shù)據(jù)長度稱為該網(wǎng)絡(luò)的最大傳輸單元MTU。當(dāng)IP層要傳送的數(shù)據(jù)大于MTU時(shí),必須將數(shù)據(jù)報(bào)分片傳輸。034781516-181931版本首部長服務(wù)類型總長(MAX:65535)IP數(shù)據(jù)報(bào)格式-標(biāo)識(shí)標(biāo)識(shí):16bitIdentification字段表示:每個(gè)IP數(shù)據(jù)報(bào)本地唯一的標(biāo)識(shí)符
標(biāo)識(shí)符由信源機(jī)產(chǎn)生,賦予IP數(shù)據(jù)報(bào),每次自動(dòng)加1,然后分配給要發(fā)送的數(shù)據(jù)報(bào)。當(dāng)IP數(shù)據(jù)報(bào)被分片時(shí),每個(gè)數(shù)據(jù)分片仍然沿用該分片所屬的IP數(shù)據(jù)報(bào)的標(biāo)識(shí)符。信宿機(jī)根據(jù)該字段值和源IP地址來判定收到的分片屬于哪個(gè)IP數(shù)據(jù)報(bào),從而完成數(shù)據(jù)報(bào)的重組。034781516-181931版本首部長服務(wù)類型總長(MAX:65535)標(biāo)識(shí)標(biāo)志片偏移IP數(shù)據(jù)報(bào)格式-標(biāo)志標(biāo)志:3bitFlags字段表示:該IP數(shù)據(jù)報(bào)是否允許分片以及是否是最后一片分片。該字段低兩位有效。
D位表示是否允許該數(shù)據(jù)報(bào)分片;1:不允許;0:允許。
M為表示該片是否是分片的最后一片1:非最后一片;0:最后一片001允許分片,非最后一片;000允許分片,最后一片
034781516-181931版本首部長服務(wù)類型總長(MAX:65535)標(biāo)識(shí)標(biāo)志片偏移未用DMIP數(shù)據(jù)報(bào)格式-片偏移片偏移:13bitFragmentationOffset字段表示:本片數(shù)據(jù)在它所屬的原始數(shù)據(jù)報(bào)數(shù)據(jù)區(qū)中的偏移量。以8字節(jié)(64bit)為一個(gè)單位。偏移量為信宿機(jī)進(jìn)行各分片的重組提供順序依據(jù)。034781516-181931版本首部長服務(wù)類型總長(MAX:65535)標(biāo)識(shí)標(biāo)志片偏移IP數(shù)據(jù)報(bào)格式-生存時(shí)間生存時(shí)間:8bitTimetoliveTTL字段表示:每個(gè)數(shù)據(jù)報(bào)的生存時(shí)間。
IP數(shù)據(jù)報(bào)從源—>目的傳遞時(shí),經(jīng)過多個(gè)中間Router基于routetable轉(zhuǎn)發(fā),有時(shí)會(huì)無法正確到達(dá)目的,或進(jìn)入死循環(huán)路徑,空耗網(wǎng)絡(luò)資源。設(shè)置TTL值后,數(shù)據(jù)報(bào)每經(jīng)過1個(gè)路由器,則Routers將TTL減去一定的值,一旦TTL≤0,則將該數(shù)據(jù)報(bào)從網(wǎng)絡(luò)中刪除,同時(shí)向信源機(jī)發(fā)回差錯(cuò)報(bào)告報(bào)文。034781516-181931版本首部長服務(wù)類型總長(MAX:65535)標(biāo)識(shí)標(biāo)志片偏移生存時(shí)間協(xié)議首部校驗(yàn)和IP數(shù)據(jù)報(bào)格式-生存時(shí)間生存時(shí)間:8bitTimetoliveTTL字段表示:每個(gè)數(shù)據(jù)報(bào)的生存時(shí)間。由于因特網(wǎng)上的Routers無法進(jìn)行精確時(shí)間同步,不能準(zhǔn)確計(jì)算出需要減去的時(shí)間。目前采用了一種較為簡單的方法,即用經(jīng)過路由器的個(gè)數(shù)(跳數(shù))進(jìn)行控制,數(shù)據(jù)報(bào)每經(jīng)過一個(gè)路由器,則TTL值減1。當(dāng)TTL到0時(shí),數(shù)據(jù)報(bào)仍未到信宿,則棄之。034781516-181931版本首部長服務(wù)類型總長(MAX:65535)標(biāo)識(shí)標(biāo)志片偏移生存時(shí)間協(xié)議首部校驗(yàn)和IP數(shù)據(jù)報(bào)格式-生存時(shí)間生存時(shí)間:8bitTimetoliveTTL字段表示:每個(gè)數(shù)據(jù)報(bào)的生存時(shí)間。路由器收到數(shù)據(jù)報(bào)時(shí),先把TTL-1,若減1后,TTL=0,則路由器丟棄該數(shù)據(jù)報(bào)。源主機(jī)想限制分組的行程,比如限制在局域網(wǎng)的范圍內(nèi),則可以把TTL設(shè)置為1,則分組到達(dá)第一個(gè)路由器時(shí),該值就減為0,這個(gè)數(shù)據(jù)報(bào)就被丟棄了。034781516-181931版本首部長服務(wù)類型總長(MAX:65535)標(biāo)識(shí)標(biāo)志片偏移生存時(shí)間協(xié)議首部校驗(yàn)和IP數(shù)據(jù)報(bào)格式-協(xié)議協(xié)議標(biāo)識(shí):8bitProtocol字段表示:被IP數(shù)據(jù)報(bào)封裝的協(xié)議。信源機(jī)的IP協(xié)議根據(jù)被封裝的協(xié)議將該字段設(shè)置為相應(yīng)的值。信宿機(jī)根據(jù)該值進(jìn)行分用,并交給相應(yīng)的上層協(xié)議去處理。ICMP1;IGMP2;TCP6;EGP8;UDP17;OSPF89;034781516-181931版本首部長服務(wù)類型總長(MAX:65535)標(biāo)識(shí)標(biāo)志片偏移生存時(shí)間協(xié)議首部校驗(yàn)和IP數(shù)據(jù)報(bào)格式-首部校驗(yàn)和首部校驗(yàn)和:16bitHeaderChecksum字段:用于保證首部數(shù)據(jù)的完整性。將首部按順序分為多個(gè)16bit的數(shù)據(jù)塊首部檢驗(yàn)和字段初始值為0用1的補(bǔ)碼算法對(duì)16bit小數(shù)據(jù)塊求和然后再對(duì)求和結(jié)果求補(bǔ)碼,得到首部校驗(yàn)和。034781516-181931版本首部長服務(wù)類型總長(MAX:65535)標(biāo)識(shí)標(biāo)志片偏移生存時(shí)間協(xié)議首部校驗(yàn)和IP數(shù)據(jù)報(bào)格式-源IP地址源IP地址:32bitSourceaddress字段表示:本數(shù)據(jù)報(bào)的最初發(fā)送方的IP地址。
在IPv4中,長度為32bit
在IPv6中,長度是128bit,且數(shù)據(jù)報(bào)格式不一樣。034781516-181931版本首部長服務(wù)類型總長(MAX:65535)標(biāo)識(shí)標(biāo)志片偏移生存時(shí)間協(xié)議首部校驗(yàn)和源IP地址IP數(shù)據(jù)報(bào)格式-目的地址目的IP地址:32bitDestinationaddress字段表示:本IP數(shù)據(jù)報(bào)最終接收方的IP地址IP數(shù)據(jù)報(bào)轉(zhuǎn)發(fā)過程中,經(jīng)過若干路由器,會(huì)對(duì)物理幀進(jìn)行解封裝和再封裝,物理地址會(huì)不斷變化,但I(xiàn)P數(shù)據(jù)報(bào)中的源地址、目的地址字段始終保持不變。034781516-181931版本首部長服務(wù)類型總長(MAX:65535)標(biāo)識(shí)標(biāo)志片偏移生存時(shí)間協(xié)議首部校驗(yàn)和源IP地址目的IP地址IP數(shù)據(jù)報(bào)格式-IP選項(xiàng)IP數(shù)據(jù)報(bào)選項(xiàng):變長字段,在傳輸數(shù)據(jù)報(bào)時(shí)可選的附加功能,用于控制數(shù)據(jù)在網(wǎng)絡(luò)中的傳輸路徑、記錄數(shù)據(jù)報(bào)經(jīng)過的路由器、獲取數(shù)據(jù)報(bào)在途中經(jīng)過的路由器的時(shí)間戳。
IP選項(xiàng)長度受首部長度限制
變長部分最大40Bytes034781516-181931版本首部長服務(wù)類型總長(MAX:65535)標(biāo)識(shí)標(biāo)志片偏移生存時(shí)間協(xié)議首部校驗(yàn)和源IP地址目的IP地址IP選項(xiàng)(MAX:40)填充域IP數(shù)據(jù)報(bào)格式-數(shù)據(jù)IP數(shù)據(jù):長度可變,用于攜帶上層數(shù)據(jù)。數(shù)據(jù)長度受數(shù)據(jù)報(bào)總長度限制數(shù)據(jù)總長度≤65535-首部長度*4034781516-181931版本首部長服務(wù)類型總長(MAX:65535)標(biāo)識(shí)標(biāo)志片偏移生存時(shí)間協(xié)議首部校驗(yàn)和源IP地址目的IP地址IP選項(xiàng)(MAX:40)填充域數(shù)據(jù)IP數(shù)據(jù)報(bào)格式-questions1、某數(shù)據(jù)報(bào)前8位01000010,接收者丟棄了該分組,為什么?2、IP數(shù)據(jù)報(bào)中,HLEN=1000,則該數(shù)據(jù)報(bào)攜帶了多少字節(jié)的選項(xiàng)?3、IP數(shù)據(jù)報(bào)中,HLEN=516,而總長度字段=002816,則該數(shù)據(jù)報(bào)攜帶了多少字節(jié)的數(shù)據(jù)?4、某數(shù)據(jù)報(bào),前n位16進(jìn)制數(shù)字如下:45000028000100000102…,則該數(shù)據(jù)報(bào)在被丟棄之前還能夠傳送多少跳?該數(shù)據(jù)屬于上層的什么協(xié)議?IP數(shù)據(jù)報(bào)格式-questions1、某數(shù)據(jù)報(bào)前8位01000010,接收者丟棄了該分組,為什么?首部最小字節(jié)20字節(jié),小于20,說明數(shù)據(jù)報(bào)傳輸受損傷2、IP數(shù)據(jù)報(bào)中,HLEN=1000,則該數(shù)據(jù)報(bào)攜帶了多少字節(jié)的選項(xiàng)?8*4-203、IP數(shù)據(jù)報(bào)中,HLEN=516,而總長度字段=002816,則該數(shù)據(jù)報(bào)攜帶了多少字節(jié)的數(shù)據(jù)?40-204、某數(shù)據(jù)報(bào),前n位16進(jìn)制數(shù)字如下:45000028000100000102…,則該數(shù)據(jù)報(bào)在被丟棄之前還能夠傳送多少跳?該數(shù)據(jù)屬于上層的什么協(xié)議?01,再走一跳,02-IGMP第三節(jié)
IP無連接數(shù)據(jù)報(bào)傳輸
本節(jié)主要內(nèi)容2.3.1首部校驗(yàn)2.3.2數(shù)據(jù)分片與重組返回?zé)o連接的IP數(shù)據(jù)報(bào)傳輸IP數(shù)據(jù)報(bào)傳輸是IP層要解決的重要問題之一,是影響數(shù)據(jù)傳輸效率的重要因素。IP數(shù)據(jù)報(bào)在經(jīng)過路由器轉(zhuǎn)發(fā)時(shí),一般進(jìn)行3個(gè)方面的處理:首部校驗(yàn)路由選擇數(shù)據(jù)分片2.3.1首部校驗(yàn)原因原理方法案例IP首部校驗(yàn)-原因IP數(shù)據(jù)報(bào)在傳輸過程中,并不對(duì)其數(shù)據(jù)區(qū)進(jìn)行校驗(yàn)。∵IP協(xié)議是點(diǎn)對(duì)點(diǎn)的協(xié)議,如果在每個(gè)點(diǎn)都對(duì)數(shù)據(jù)進(jìn)行校驗(yàn),開銷會(huì)很大,且與“盡力傳輸”思想不符。IP將可靠性留給自己的高層去解決,既可以保證數(shù)據(jù)可靠性,又能得到更大的靈活性和效率。上層的端到端的校驗(yàn)相對(duì)開銷小,在通信鏈路質(zhì)量好時(shí),更小。上層協(xié)議可以根據(jù)對(duì)數(shù)據(jù)可靠性的要求,選擇是否進(jìn)行校驗(yàn),或采用不同的校驗(yàn)方法,很靈活。IP首部校驗(yàn)-原因IP數(shù)據(jù)報(bào)在傳輸過程中,要對(duì)其首部進(jìn)行校驗(yàn)?!逫P首部屬于IP層協(xié)議的內(nèi)容,不可能由上層協(xié)議處理。IP首部中的部分字段在點(diǎn)對(duì)點(diǎn)的傳遞過程中是不斷變化的,只能在每個(gè)中間點(diǎn)重新生成校驗(yàn)數(shù)據(jù),在相鄰點(diǎn)之間完成校驗(yàn)。比如由于底層網(wǎng)絡(luò)不同MTU的限制,需要分片、數(shù)據(jù)報(bào)總長度、片位移值不同,且TTL值在一直減小等原因引起首部字段值在變化IP首部校驗(yàn)-原理IP數(shù)據(jù)報(bào)在傳輸過程中,兩個(gè)層次的校驗(yàn),IP層對(duì)數(shù)據(jù)報(bào)首部進(jìn)行點(diǎn)對(duì)點(diǎn)校驗(yàn),傳輸層對(duì)數(shù)據(jù)進(jìn)行端到端校驗(yàn),如圖所示:IP首部校驗(yàn)-原理IP數(shù)據(jù)報(bào)在傳輸過程中,發(fā)送端先將IP層首部校驗(yàn)和置0(此時(shí),相當(dāng)于該字段沒有參與計(jì)算),通過計(jì)算各字段和,后求補(bǔ)運(yùn)算,得到的結(jié)果填入首部檢驗(yàn)和字段內(nèi),然后與數(shù)據(jù)報(bào)一起發(fā)出去。接收端對(duì)包括校驗(yàn)和(此時(shí),該字段要參與校驗(yàn)和計(jì)算)在內(nèi)的整個(gè)數(shù)據(jù)報(bào)重復(fù)進(jìn)行同樣的計(jì)算,若結(jié)果=0,則保留數(shù)據(jù)報(bào);若結(jié)果≠0,則丟棄數(shù)據(jù)報(bào)。∵假定在發(fā)送端將所有段相加后得到的和數(shù)是T,用反碼運(yùn)算得到-T,即校驗(yàn)和。在接收端,若首部沒有變化,則對(duì)所有段相加時(shí),實(shí)際上就是把T和-T相加,得-0(0xffff),取反碼為0(0x0000)。IP首部校驗(yàn)-方法IP數(shù)據(jù)報(bào)在傳輸過程中,其首部通過校驗(yàn)和checksum來保證其正確性。計(jì)算首部校驗(yàn)和:發(fā)送方將IP數(shù)據(jù)報(bào)的首部按順序分為多個(gè)16比特的小數(shù)據(jù)塊首部校驗(yàn)和字段的初始值被設(shè)置為0用1的補(bǔ)碼算法對(duì)16比特小數(shù)據(jù)塊進(jìn)行求和最后再對(duì)結(jié)果求補(bǔ)[1的補(bǔ)碼],其英文為1‘scomplement,其實(shí)就是指反碼[2的補(bǔ)碼],英文為2'scomplement就是通常說的補(bǔ)碼
校驗(yàn)和-反碼運(yùn)算傳統(tǒng)上講,IP、UDP、TCP使用的計(jì)算校驗(yàn)和的方法都是2進(jìn)制反碼運(yùn)算。把各數(shù)據(jù)塊的數(shù)字,按照列從低位開始計(jì)算,分別相加,得到一個(gè)和(部分和)。如果有進(jìn)位,把進(jìn)位加到下一列。加完最后一列,如果還有進(jìn)位,將該進(jìn)位與部分和再次相加,得到最后的和。將和進(jìn)行二進(jìn)制反碼(0->1;1->0)各塊數(shù)字,按列相加得到一個(gè)部分和如果有進(jìn)位,把進(jìn)位加到下一列。加完最后一列,如果還有進(jìn)位,將該進(jìn)位與部分和再次相加,得到最后的和。將和進(jìn)行二進(jìn)制反碼(0->1;1->0)IP首部校驗(yàn)-方法IP數(shù)據(jù)報(bào)在傳輸過程中,其首部通過校驗(yàn)和checksum來保證其正確性。校驗(yàn)和加入首部并發(fā)送:經(jīng)過計(jì)算得到首部校驗(yàn)和將計(jì)算得到的首部校驗(yàn)和填回到數(shù)據(jù)報(bào)的首部校驗(yàn)和字段封裝成幀后發(fā)給通往信宿的下一跳設(shè)備。IP首部校驗(yàn)-方法IP數(shù)據(jù)報(bào)在傳輸過程中,其首部通過校驗(yàn)和checksum來保證其正確性。接收端校驗(yàn):下一跳設(shè)備作為接收方將收到的IP數(shù)據(jù)報(bào)的首部再分為多個(gè)16比特的小數(shù)據(jù)塊,用1的補(bǔ)碼算法(反碼)對(duì)16位小數(shù)據(jù)塊進(jìn)行求和,最后再對(duì)結(jié)果求補(bǔ),若得到的結(jié)果為0,就驗(yàn)證了數(shù)據(jù)報(bào)首部的正確性。否則,丟棄該數(shù)據(jù)報(bào).IP首部校驗(yàn)-方法IP數(shù)據(jù)報(bào)在傳輸過程中,其首部通過校驗(yàn)和checksum來保證其正確性。和校驗(yàn)和求補(bǔ)碼傳輸和0000求補(bǔ)碼IP首部校驗(yàn)-案例IP數(shù)據(jù)報(bào)首部校驗(yàn)和的生成、數(shù)據(jù)報(bào)的校驗(yàn)案例。例:數(shù)據(jù)報(bào)無IP選項(xiàng),所以首部長度為5,數(shù)據(jù)總長度為128字節(jié),數(shù)據(jù)報(bào)的標(biāo)識(shí)為1,未分片,TTL值為4,封裝的是TCP協(xié)議數(shù)據(jù),源地址和目的地址分別為:6和0。計(jì)算中要注意加上進(jìn)位。生成的校驗(yàn)和為3005。IP首部校驗(yàn)-案例接收方對(duì)同一數(shù)據(jù)報(bào)首部進(jìn)行校驗(yàn):求補(bǔ)后得到的校驗(yàn)和值為0,表明IP數(shù)據(jù)報(bào)首部在傳輸過程中沒有出現(xiàn)差錯(cuò)。IP首部校驗(yàn)-字段變化若接收該數(shù)據(jù)報(bào)的設(shè)備不是信宿,則將TTL值-1然后判斷TTL是否超時(shí)若未超時(shí),則應(yīng)根據(jù)路由表尋找下一跳路由器并判斷數(shù)據(jù)報(bào)是否需要分片以及是否允許分片每次轉(zhuǎn)發(fā)數(shù)據(jù)報(bào),其TTL值都會(huì)發(fā)生變化如果發(fā)生分片,其數(shù)據(jù)報(bào)總長度、標(biāo)志、片偏移等字段也會(huì)發(fā)生變化因此,對(duì)新形成的數(shù)據(jù)報(bào)需要重新計(jì)算首部較驗(yàn)和然后向下一跳轉(zhuǎn)發(fā)2.3.2數(shù)據(jù)分片與重組分片重組案例IP數(shù)據(jù)分片IP數(shù)據(jù)報(bào)在從信源到信宿的傳輸過程中要穿過多個(gè)不同的網(wǎng)絡(luò)。由于物理網(wǎng)絡(luò)的差異性,對(duì)幀最大長度有不同的規(guī)定,各物理網(wǎng)絡(luò)最大傳輸單元MTU不同。物理網(wǎng)絡(luò)的MTU是由硬件決定的。數(shù)據(jù)報(bào)封裝成幀時(shí),數(shù)據(jù)報(bào)總長度必須小于數(shù)據(jù)發(fā)送出去時(shí)的物理網(wǎng)絡(luò)的MTU。路由設(shè)備收到數(shù)據(jù)報(bào)后,要對(duì)幀進(jìn)行拆、再封裝,格式與數(shù)據(jù)報(bào)來的網(wǎng)絡(luò)和數(shù)據(jù)報(bào)去的網(wǎng)絡(luò)的幀格式相對(duì)應(yīng)。通常,網(wǎng)絡(luò)的速度越高,MTU也就越大。超級(jí)通道hyperchannel65535—
以太網(wǎng)1500令牌環(huán)16Mbps17914—X.25576令牌環(huán)4Mbps4464—PPP296FDDI4352IP數(shù)據(jù)分片為使IP協(xié)議與物理網(wǎng)絡(luò)無關(guān),IP數(shù)據(jù)報(bào)的最大長度是65535字節(jié),如果使用具有(MTU=65535)的協(xié)議時(shí),傳輸效率更高。即:IP數(shù)據(jù)報(bào)如果恰好能封裝在一個(gè)幀內(nèi)部傳輸,效率自然高,但這很難保證。對(duì)于一般的物理網(wǎng)絡(luò),如果類似65535字節(jié)這么大的數(shù)據(jù)報(bào),則必須要對(duì)數(shù)據(jù)報(bào)進(jìn)行分割,使其能夠通過這些網(wǎng)絡(luò),這就是分片。把一個(gè)數(shù)據(jù)報(bào)封裝在具有較大MTU的物理網(wǎng)絡(luò)幀中發(fā)送時(shí),可能在穿過較小MTU的物理網(wǎng)絡(luò)時(shí),無法正常傳輸。IP數(shù)據(jù)分片解決不同網(wǎng)絡(luò)MTU不同帶來的問題,有兩種思路。即:TCP/IP協(xié)議的幀封裝,存在2種方法:將數(shù)據(jù)報(bào)以從信源到信宿路徑上的最小MTU進(jìn)行封裝(IPv6)將數(shù)據(jù)報(bào)先以信源網(wǎng)絡(luò)的MTU進(jìn)行封裝,在傳輸過程中再根據(jù)需要對(duì)數(shù)據(jù)報(bào)進(jìn)行動(dòng)態(tài)分片(IPv4)第一種方法,不能充分利用網(wǎng)絡(luò)的傳輸能力,效率不高,第二種方法,要求網(wǎng)絡(luò)支持對(duì)數(shù)據(jù)報(bào)的動(dòng)態(tài)分片。IP數(shù)據(jù)分片將數(shù)據(jù)報(bào)先以信源網(wǎng)絡(luò)的MTU進(jìn)行封裝,在傳輸過程中再根據(jù)需要對(duì)數(shù)據(jù)報(bào)進(jìn)行動(dòng)態(tài)分片IP協(xié)議在確定數(shù)據(jù)報(bào)大小時(shí),以方便為原則,選擇當(dāng)前信源機(jī)所在物理網(wǎng)絡(luò)最合適的數(shù)據(jù)報(bào)大小來傳輸數(shù)據(jù)。當(dāng)數(shù)據(jù)報(bào)要穿過MTU較小的網(wǎng)絡(luò)時(shí),進(jìn)行分片后,再傳輸。當(dāng)傳輸后在碰到更小MTU的網(wǎng)絡(luò)時(shí),繼續(xù)分片。所以,分片可能會(huì)發(fā)生很多次。IP數(shù)據(jù)分片當(dāng)數(shù)據(jù)報(bào)被分片時(shí),每個(gè)分片都會(huì)得到一個(gè)首部。分片首部的大部分內(nèi)容和原數(shù)據(jù)報(bào)相同,如IP地址、版本號(hào)、協(xié)議和數(shù)據(jù)報(bào)標(biāo)識(shí)等所不同的是標(biāo)志字段、數(shù)據(jù)報(bào)總長度和片偏移。(即這三個(gè)字段的值發(fā)生了改變)分片既可以帶也可以不帶原數(shù)據(jù)報(bào)的選項(xiàng)。不管是否分片,校驗(yàn)和的值必須重新計(jì)算。IP數(shù)據(jù)分片在IP數(shù)據(jù)報(bào)中與分片相關(guān)的字段是標(biāo)識(shí)字段、標(biāo)志字段和片偏移字段。
1)數(shù)據(jù)報(bào)標(biāo)識(shí)是分片所屬數(shù)據(jù)報(bào)的關(guān)鍵信息,是分片重組的依據(jù)。數(shù)據(jù)報(bào)被分片時(shí),該字段值被復(fù)制到所有分片中,即同一數(shù)據(jù)報(bào)的所有分片具有相同的標(biāo)識(shí),即原始數(shù)據(jù)報(bào)的標(biāo)識(shí)號(hào)。標(biāo)識(shí)號(hào)在分片重組時(shí)很重要。信宿機(jī)借此字段知道所有具有相同標(biāo)識(shí)號(hào)的分片必須組裝成一個(gè)數(shù)據(jù)報(bào)。IP數(shù)據(jù)分片
2)標(biāo)志字段由3位構(gòu)成,低兩位有效,最高位未用;D位表示是否允許該數(shù)據(jù)報(bào)分片;M位表示該片是否是分片的最后一片。D=donotfragmentM=morefragment
IP數(shù)據(jù)分片3)片偏移字段(13bit)指出本片數(shù)據(jù)在原始數(shù)據(jù)報(bào)數(shù)據(jù)區(qū)中的偏移量。由于各分片獨(dú)立傳輸,其到達(dá)信宿機(jī)的順序無法保證,需要片偏移為重組提供順序信息。片偏移值是以8字節(jié)為單位的。213=8192,所以13個(gè)bit,最大值是8191。即這個(gè)字段的值不能超過8191
8192*8字節(jié)=65536字節(jié)
IP數(shù)據(jù)報(bào)最大值是65535IP數(shù)據(jù)分片0000字節(jié)3999字節(jié)0000字節(jié)1399字節(jié)1400字節(jié)2799字節(jié)2800字節(jié)3999字節(jié)偏移=0000/8=0偏移=0000/8=0偏移=1400/8=175偏移=2800/8=350分片和重組長度=1600BMTU=820BMTU=1420B
該主機(jī)IP層重組P1P2P3P4P5I2I1I3I4I5I6H1R1R2P6H216001400200800600200
該路由器IP層分片
該路由器IP層分片數(shù)據(jù)報(bào)分片數(shù)據(jù)區(qū)報(bào)頭20B1600B數(shù)據(jù)區(qū)報(bào)頭數(shù)據(jù)1數(shù)據(jù)2數(shù)據(jù)1=1400數(shù)據(jù)2=200報(bào)頭報(bào)頭標(biāo)識(shí)片偏移標(biāo)志295710000000295710010/8=00295710001400/8=175175MTU=1420IP數(shù)據(jù)分片IP數(shù)據(jù)分片該數(shù)據(jù)報(bào)首部長20字節(jié),數(shù)據(jù)區(qū)長1600個(gè)字節(jié),進(jìn)入MTU為1420字節(jié)的物理網(wǎng)絡(luò)時(shí)進(jìn)行第一次分片。第1次分片,形成1個(gè)1400字節(jié)分片和1個(gè)200字節(jié)分片。第1片的片偏移為0(0/8),片未完標(biāo)志為1;第2片的片偏移為175(1400/8),片未完標(biāo)志為0,表示該片是數(shù)據(jù)報(bào)的最后一片。當(dāng)?shù)?個(gè)分片進(jìn)入MTU為820字節(jié)的物理網(wǎng)絡(luò)時(shí)再次分片。第2次分片,又形成了1個(gè)800字節(jié)分片和1個(gè)600字節(jié)分片。800字節(jié)分片的片偏移為0(0/8),片未完標(biāo)志為1;600字節(jié)的片偏移為100(800/8),片未完標(biāo)志也為1。IP數(shù)據(jù)分片分片必須滿足兩個(gè)條件:各片盡可能大,但必須能為幀所封裝,片中數(shù)據(jù)的大小必須為8字節(jié)的整數(shù)倍,否則IP無法表達(dá)其偏移量。
IP數(shù)據(jù)重組分片重組只能在信宿機(jī)上進(jìn)行。
重組策略是:第1個(gè)分片的分片偏移值是0;(第1個(gè)分片長度)/8,得到的結(jié)果是第2個(gè)分片的偏移值。(第1個(gè)分片長度+第2個(gè)分片長度)/8,得到的結(jié)果是第3個(gè)分片的偏移值。繼續(xù)以上過程。。。。最后的分片的標(biāo)志位M位=0,則重組結(jié)束。數(shù)據(jù)報(bào)重組數(shù)據(jù)1=800B首部數(shù)據(jù)2=600B首部數(shù)據(jù)3=200B首部2957100102957100110029571000175分片到達(dá)目的主機(jī)后重組數(shù)據(jù)1=800B數(shù)據(jù)2=600B數(shù)據(jù)3=200B數(shù)據(jù)1=800B數(shù)據(jù)2=600B數(shù)據(jù)3=200B數(shù)據(jù)(1600字節(jié))首部標(biāo)識(shí)標(biāo)志片偏移295712957129571標(biāo)志000片偏移000重組成功?。?!IP數(shù)據(jù)重組分片可以在信源機(jī)或傳輸路徑上的任何一臺(tái)路由器上進(jìn)行,而分片的重組只能在信宿機(jī)上進(jìn)行。
∵各片作為獨(dú)立數(shù)據(jù)報(bào)進(jìn)行傳輸,在網(wǎng)絡(luò)中可能沿著不同的路徑傳輸,不太可能在中間的某一個(gè)路由器上收氣同一數(shù)據(jù)報(bào)的各個(gè)分片。不在中間進(jìn)行重組,可以簡化路由器上的協(xié)議,減輕路由器的負(fù)擔(dān)。TCP/IP的作法是只在信宿機(jī)上進(jìn)行所有分片的重組,一旦數(shù)據(jù)報(bào)被分片,在到達(dá)信宿機(jī)之前只可能再次被分片,而絕不會(huì)進(jìn)行重組。IP數(shù)據(jù)重組信宿機(jī)在進(jìn)行分片的重組時(shí),采用了一組重組定時(shí)器。開始重組時(shí),啟動(dòng)定時(shí)器,如果重組定時(shí)器超時(shí)時(shí),仍然未能完成重組(由于某些分片未及時(shí)到達(dá)信宿機(jī)),信宿機(jī)的IP層將丟棄該數(shù)據(jù)報(bào),并產(chǎn)生一個(gè)超時(shí)錯(cuò)誤,報(bào)告給信源機(jī)。片重組的控制主要根據(jù)數(shù)據(jù)報(bào)首部中的標(biāo)識(shí)、標(biāo)志和片偏移字段。數(shù)據(jù)報(bào)的分片和重組操作對(duì)用戶和應(yīng)用程序的編程人員都是透明的,分片和重組操作由網(wǎng)絡(luò)操作系統(tǒng)自動(dòng)完成。IP數(shù)據(jù)報(bào)分片重組-questions1、某數(shù)據(jù)報(bào)的標(biāo)志位M=0,那么該分片是第1個(gè)分片,還是最后一個(gè)分片,或中間的分片?是否可以看出該數(shù)據(jù)報(bào)是否被分片?2、某數(shù)據(jù)報(bào)的標(biāo)志位M=1,那么該分片是第1個(gè)分片,還是最后一個(gè)分片,或中間的分片?是否可以看出該數(shù)據(jù)報(bào)是否被分片?IP數(shù)據(jù)報(bào)分片重組-questions1、某數(shù)據(jù)報(bào)的標(biāo)志位M=0,那么該分片是第1個(gè)分片,還是最后1個(gè)分片,或中間的分片?是否可以看出該數(shù)據(jù)報(bào)是否被分片?M=0,表示沒有進(jìn)行分片,這個(gè)分片也是最后1個(gè),但不能說明原來的數(shù)據(jù)報(bào)是否被分片,因?yàn)椴槐环制臄?shù)據(jù)報(bào)也被認(rèn)為是最后一個(gè)分片。2、某數(shù)據(jù)報(bào)的標(biāo)志位M=1,那么該分片是第1個(gè)分片,還是最后一個(gè)分片,或中間的分片?是否可以看出該數(shù)據(jù)報(bào)是否被分片?M=1,表示至少有1個(gè)以上的分片,這個(gè)分片可以是第1個(gè)或中間的某個(gè)(單從該位看不出到底是1,還是中間的,要結(jié)合其他信息看),但不是最后1個(gè)。IP數(shù)據(jù)報(bào)分片重組-questions3、某數(shù)據(jù)報(bào)的標(biāo)志位M=1,分片偏移值=0,那么該分片是第1個(gè)分片,還是最后一個(gè)分片,或中間的分片?4、某數(shù)據(jù)報(bào)的分片偏移值是100,第1個(gè)字節(jié)的編號(hào)是多少?是否能知道最后1個(gè)字節(jié)的編號(hào)?5、某數(shù)據(jù)報(bào)的分片偏移值是100,HLEN=5,總長度=100,那么第1個(gè)字節(jié)和最后1個(gè)字節(jié)的編號(hào)是多少?IP數(shù)據(jù)報(bào)分片重組-questions3、某數(shù)據(jù)報(bào)的標(biāo)志位M=1,分片偏移值=0,那么該分片是第1個(gè)分片,還是最后一個(gè)分片,或中間的分片?第1個(gè)4、某數(shù)據(jù)報(bào)的分片偏移值是100,第1個(gè)字節(jié)的編號(hào)是多少?是否能知道最后1個(gè)字節(jié)的編號(hào)?100*8=800,但不能確定最后1個(gè)字節(jié)的編號(hào)5、某數(shù)據(jù)報(bào)的分片偏移值是100,HLEN=5,總長度=100,那么第1個(gè)字節(jié)和最后1個(gè)字節(jié)的編號(hào)是多少?100*8=800,總長100-首部5*4=數(shù)據(jù)80字節(jié),則最后1個(gè)字節(jié)的編號(hào)是879。第四節(jié)
IP數(shù)據(jù)報(bào)選項(xiàng)
本節(jié)主要內(nèi)容2.4.1數(shù)據(jù)報(bào)選項(xiàng)格式2.4.2數(shù)據(jù)報(bào)選項(xiàng)類型返回IP數(shù)據(jù)包選項(xiàng)IP選項(xiàng)是IP數(shù)據(jù)報(bào)首部中的變長部分,用于網(wǎng)絡(luò)控制和測試目的(如源路由、記錄路由、時(shí)間戳等)。IP選項(xiàng)的最大長度不能超過40字節(jié)。IP選項(xiàng)在使用時(shí)是可選的,但在TCP/IP軟件的實(shí)現(xiàn)中卻是必須有的,也就是說所有的IP協(xié)議都具有IP選項(xiàng)的處理功能。2.4.1數(shù)據(jù)報(bào)選項(xiàng)格式格式詳解IP數(shù)據(jù)報(bào)選項(xiàng)格式IP選項(xiàng)三個(gè)部分組成:選項(xiàng)碼(OptionCode)選項(xiàng)長度選項(xiàng)數(shù)據(jù)格式如圖所示選項(xiàng)碼:8位,復(fù)制位(COPY)、選項(xiàng)類和選項(xiàng)號(hào)3個(gè)子字段。復(fù)制位占1比特,用于控制分片時(shí)是否將選項(xiàng)復(fù)制到各個(gè)分片。復(fù)制位為“1”,表示將原數(shù)據(jù)報(bào)所帶的選項(xiàng)復(fù)制到所有分片中,復(fù)制位為“0”,表示僅將選項(xiàng)復(fù)制到第一個(gè)分片中。選項(xiàng)類占2比特,定義選項(xiàng)的一般作用,區(qū)別選項(xiàng)的一般目的選項(xiàng)號(hào)占5比特,定義選項(xiàng)的具體類型,對(duì)同一類選項(xiàng)進(jìn)行進(jìn)一步的細(xì)化。IP數(shù)據(jù)報(bào)選項(xiàng)格式IP數(shù)據(jù)報(bào)選項(xiàng)格式選項(xiàng)長度為8位,用于定義選項(xiàng)的長度。長度信息除包括選項(xiàng)數(shù)據(jù)部分的長度外還包括選項(xiàng)碼和長度字段本身。有些選項(xiàng)不含長度字段。選項(xiàng)數(shù)據(jù)不定長,用于定義選項(xiàng)請(qǐng)求。選項(xiàng)是單方向發(fā)送的請(qǐng)求,不需要信宿機(jī)進(jìn)行響應(yīng)。2.4.2數(shù)據(jù)報(bào)選項(xiàng)類型類型詳解IP數(shù)據(jù)報(bào)選項(xiàng)類型兩位IP選項(xiàng)類定義了四種選項(xiàng)類型:00用于IP數(shù)據(jù)報(bào)路徑的控制和測試;10用于時(shí)間戳的測試;01類和11類未用。每一選項(xiàng)類又由選項(xiàng)號(hào)進(jìn)行細(xì)分,其中00類中常用的有5個(gè)選項(xiàng)號(hào),10類中只有1個(gè)選項(xiàng)號(hào)在用。選項(xiàng)類選項(xiàng)號(hào)長度含義0000000無選項(xiàng)結(jié)束0000001無無操作(作為填充數(shù)據(jù))0000011變長寬松源路由0000111變長記錄路徑0001001變長嚴(yán)格源路由1000100變長時(shí)間戳1.單字節(jié)選項(xiàng)表中的前面兩個(gè)選項(xiàng)為單字節(jié)選項(xiàng),負(fù)責(zé)標(biāo)識(shí)IP選項(xiàng)的結(jié)束和對(duì)IP數(shù)據(jù)報(bào)首部進(jìn)行填充。當(dāng)IP數(shù)據(jù)報(bào)首部中選用了IP選項(xiàng)時(shí),選項(xiàng)不定長,而數(shù)據(jù)報(bào)要求首部是32位的整數(shù)倍,若不是,則需要進(jìn)行填充。填充由“無操作”(NoOperation)符和選項(xiàng)結(jié)束符(EndofOption)組成。當(dāng)需要一個(gè)以上的字節(jié)對(duì)選項(xiàng)進(jìn)行填充時(shí),先用多個(gè)“無操作”符進(jìn)行填充,最后用選項(xiàng)結(jié)束符結(jié)束整個(gè)選項(xiàng)。選項(xiàng)類選項(xiàng)號(hào)長度含義0000000無選項(xiàng)結(jié)束0000001無無操作(作為填充數(shù)據(jù))2.源路由選項(xiàng)作用:通常IP數(shù)據(jù)報(bào)在傳輸時(shí),由路由器自動(dòng)為其選擇路由。但網(wǎng)絡(luò)管理人員為了使數(shù)據(jù)報(bào)繞開出錯(cuò)網(wǎng)絡(luò),或者為了對(duì)某特定網(wǎng)絡(luò)的吞吐率進(jìn)行測試,需要在信源機(jī)控制IP數(shù)據(jù)報(bào)的傳輸路徑。源路由(SourceRoute)就是為了滿足這一要求而設(shè)計(jì)的選項(xiàng)。方法:源路由指由信源機(jī)上的發(fā)送者規(guī)定本數(shù)據(jù)報(bào)穿越網(wǎng)絡(luò)的路徑。種類:源路由選項(xiàng)分為2種。嚴(yán)格源路由寬松源路由(1)嚴(yán)格源路由嚴(yán)格源路由選項(xiàng)要求信源機(jī)上的發(fā)送者指定數(shù)據(jù)報(bào)必須經(jīng)過的每一個(gè)路由器。也就是說,數(shù)據(jù)報(bào)必須嚴(yán)格按照發(fā)送方規(guī)定的路徑穿過每一個(gè)路由器。[Router應(yīng)該是一一相連,不能有其他未指定的R,且順序不能改變。如果傳輸時(shí),無法直接到達(dá)下一跳指定的R,會(huì)丟棄該報(bào),產(chǎn)生一個(gè)源路由失敗的信宿不可達(dá)報(bào)文,向信源機(jī)報(bào)告]選項(xiàng)碼137的含義是:復(fù)制位為“1”(嚴(yán)格源路由分片時(shí)選項(xiàng)要復(fù)制到各個(gè)分片),選項(xiàng)類為“00”,選項(xiàng)號(hào)為“01001”,即128+0+9=137。指針字段的含義:當(dāng)設(shè)備(信源機(jī)或路由器)發(fā)出帶該選項(xiàng)的數(shù)據(jù)報(bào)時(shí),指針指的是該設(shè)備的下下跳路由器的入口IP地址。當(dāng)一個(gè)路由器收到數(shù)據(jù)報(bào)時(shí),指針指的是該路由器的下一跳IP地址,路由器轉(zhuǎn)發(fā)數(shù)據(jù)報(bào)前要將指針值加4,這樣發(fā)出去的數(shù)據(jù)報(bào)的指針又指向了它的下下跳路由器的入口IP地址。這里要注意的是,源路由對(duì)于數(shù)據(jù)報(bào)中目的IP地址的處理和一般情況下有所不同。在源路由傳輸過程中數(shù)據(jù)報(bào)的目的IP地址會(huì)不斷變化,而且選項(xiàng)中的IP地址表也會(huì)發(fā)生變化。信源機(jī)從上層收到源路由IP地址表后,將第一個(gè)IP地址從列表中去掉(將該IP地址作為當(dāng)前數(shù)據(jù)報(bào)的目的地址),再將剩余的表項(xiàng)前移,然后將最終要去的目的地址寫入到選項(xiàng)地址表的最后。123456192.168.40778源IP:1目的IP:8151374246源路由IP地址表:151374468源IP:1目的IP:2151378268源IP:1目的IP:41513712248源IP:1目的IP:61513716246源IP:1目的IP:8(2)寬松源路由寬松源路由IP選項(xiàng)的格式與嚴(yán)格源路由相同,如圖所示。所不同的是,寬松源路由在選項(xiàng)的IP地址表中并不給出一條完備的路徑,而是只給出路徑中的某些關(guān)鍵點(diǎn),關(guān)鍵點(diǎn)之間無直接物理連接時(shí),通過路由器的自動(dòng)路由選擇功能進(jìn)行補(bǔ)充。
3.記錄路由記錄路由選項(xiàng)用于記錄IP數(shù)據(jù)報(bào)從信源機(jī)到信宿機(jī)所經(jīng)過路徑上各路由器的IP地址。記錄路由選項(xiàng)格式與源路由選項(xiàng)格式相同,如圖所示。地址區(qū)域的大小由源機(jī)預(yù)先分配(根據(jù)對(duì)所需記錄的地址數(shù)的估計(jì))并初始化。指針域指向地址區(qū)域中下一個(gè)可存放地址的位置。假如分配的地址表大小不足以記錄下全部路徑,IP軟件將放棄記錄多余地址。路由器將指針值與選項(xiàng)長度比較,如果(指針值<選項(xiàng)長度),將該路由器輸出口的IP地址填入指針?biāo)傅牡刂穮^(qū)域,然后指針值+4。路徑記錄選項(xiàng)長度碼(7
)指針第一IP地址第二IP地址……0816
溫馨提示
- 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. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 生態(tài)補(bǔ)償款禁養(yǎng)協(xié)議書(2篇)
- 環(huán)境監(jiān)測設(shè)備研發(fā)合同(2篇)
- 七年級(jí)數(shù)學(xué)下冊(cè)14.1用有序數(shù)對(duì)表示位置聽評(píng)課記錄
- 粵人版地理七年級(jí)下冊(cè)《第一節(jié) 美洲概述》聽課評(píng)課記錄5
- 湘教版數(shù)學(xué)九年級(jí)下冊(cè)1.2《二次函數(shù)的圖象與性質(zhì)》聽評(píng)課記錄1
- 華師大版歷史九年級(jí)上冊(cè)第1課《古代埃及》聽課評(píng)課記錄1
- 北師大版道德與法治九年級(jí)上冊(cè)9.1《培育社會(huì)主義核心價(jià)值觀》聽課評(píng)課記錄
- 部編人教版歷史九年級(jí)上冊(cè)第11課《古代日本》聽課評(píng)課記錄
- 八年級(jí)道德與法治下冊(cè)第一單元堅(jiān)持憲法至上第二課保障憲法實(shí)施第2框加強(qiáng)憲法監(jiān)督聽課評(píng)課記錄(新人教版)
- 五年級(jí)上冊(cè)數(shù)學(xué)聽評(píng)課記錄《5.3 分餅》(1)-北師大版
- 人教版四年級(jí)上冊(cè)數(shù)學(xué)【選擇題】專項(xiàng)練習(xí)100題附答案
- 結(jié)構(gòu)力學(xué)仿真軟件:STAAD.Pro:橋梁結(jié)構(gòu)建模與分析教程
- 1-1《送瘟神》課件-高教版中職語文職業(yè)模塊
- CB-T4528-2024《船舶行業(yè)企業(yè)應(yīng)急管理要求》
- 22G101三維彩色立體圖集
- (正式版)HG∕T 20644-2024 彈簧支吊架選用標(biāo)準(zhǔn)
- 中心醫(yī)院消防施工組織設(shè)計(jì)
- 港口自動(dòng)化與智慧港口發(fā)展方向
- 黑龍江省哈爾濱市雙城區(qū)2024年八年級(jí)下冊(cè)物理期末經(jīng)典試題含解析
- 項(xiàng)目采購管理培訓(xùn)
- 精益生產(chǎn)工作匯報(bào)(模板)
評(píng)論
0/150
提交評(píng)論