日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

IP首部拆解( 二 )


總長(zhǎng)度字段是I P首部中必要的內(nèi)容,因?yàn)橐恍?shù)據(jù)鏈路(如以太網(wǎng))需要填充一些數(shù)據(jù)以達(dá)到最小長(zhǎng)度 。盡管以太網(wǎng)的最小幀長(zhǎng)為4 6字節(jié),但是I P數(shù)據(jù)可能會(huì)更短 。假如沒(méi)有總長(zhǎng)度字段,那么I P層就不知道4 6字節(jié)中有多少是I P數(shù)據(jù)報(bào)的內(nèi)容 。
標(biāo)識(shí)字段唯一地標(biāo)識(shí)主機(jī)發(fā)送的每一份數(shù)據(jù)報(bào) 。通常每發(fā)送一份報(bào)文它的值就會(huì)加1
RFC791 [Postel 1981a]認(rèn)為標(biāo)識(shí)字段應(yīng)該由讓IP發(fā)送數(shù)據(jù)報(bào)的上層來(lái)選擇 。假設(shè)有兩個(gè)連續(xù)的I P數(shù)據(jù)報(bào),其中一個(gè)是由T C P生成的,而另一個(gè)是由U D P生成的,那么它們可能具有相同的標(biāo)識(shí)字段 。盡管這也可以照常工作(由重組算法來(lái)處理),但是在大多數(shù)從伯克利派生出來(lái)的系統(tǒng)中,每發(fā)送一個(gè)I P數(shù)據(jù)報(bào),I P層都要把一個(gè)內(nèi)核變量的值加1,不管交給IP的數(shù)據(jù)來(lái)自哪一層 。內(nèi)核變量的初始值根據(jù)系統(tǒng)引導(dǎo)時(shí)的時(shí)間來(lái)設(shè)置 。
T T L(t i m e - t o - l i v e)生存時(shí)間字段設(shè)置了數(shù)據(jù)報(bào)可以經(jīng)過(guò)的最多路由器數(shù) 。它指定了數(shù)據(jù)報(bào)的生存時(shí)間 。T T L的初始值由源主機(jī)設(shè)置(通常為3 2或6 4),一旦經(jīng)過(guò)一個(gè)處理它的路由器,它的值就減去1 。當(dāng)該字段的值為0時(shí),數(shù)據(jù)報(bào)就被丟棄,并發(fā)送I C M P報(bào)文通知源主機(jī) 。第8 章我們討論Tr a c e r o u t e 程序時(shí)將再回來(lái)討論該字段 。
首部檢驗(yàn)和字段是根據(jù)I P首部計(jì)算的檢驗(yàn)和碼 。它不對(duì)首部后面的數(shù)據(jù)進(jìn)行計(jì)算 。I C M P、I G M P、U D P和T C P在它們各自的首部中均含有同時(shí)覆蓋首部和數(shù)據(jù)檢驗(yàn)和碼 。
為了計(jì)算一份數(shù)據(jù)報(bào)的I P檢驗(yàn)和,首先把檢驗(yàn)和字段置為0 。然后,對(duì)首部中每個(gè)16 bit 進(jìn)行二進(jìn)制反碼求和(整個(gè)首部看成是由一串16 bit的字組成),結(jié)果存在檢驗(yàn)和字段中 。當(dāng)收到一份I P數(shù)據(jù)報(bào)后,同樣對(duì)首部中每個(gè)16 bit 進(jìn)行二進(jìn)制反碼的求和 。由于接收方在計(jì)算過(guò)程中包含了發(fā)送方存在首部中的檢驗(yàn)和,因此,假如首部在傳輸過(guò)程中沒(méi)有發(fā)生任何差錯(cuò),那么接收方計(jì)算的結(jié)果應(yīng)該為全1 。假如結(jié)果不是全1(即檢驗(yàn)和錯(cuò)誤),那么I P就丟棄收到的數(shù)據(jù)報(bào) 。但是不生成差錯(cuò)報(bào)文,由上層去發(fā)現(xiàn)丟失的數(shù)據(jù)報(bào)并進(jìn)行重傳 。
I C M P、I G M P、U D P和T C P都采用相同的檢驗(yàn)和算法,盡管T C P和U D P除了本身的首部和數(shù)據(jù)外,在I P首部中還包含不同的字段 。在RFC1071[Braden, Borman and Patridge 1988]中有關(guān)于如何計(jì)算I n t e r n e t檢驗(yàn)和的實(shí)現(xiàn)技術(shù) 。由于路由器經(jīng)常只修改T TL字段(減1),因此當(dāng)路由器轉(zhuǎn)發(fā)一份報(bào)文時(shí)可以增加它的檢驗(yàn)和,而不需要對(duì)I P 整個(gè)首部進(jìn)行重新計(jì)算 。R F C 1141Mallory and Kullberg 1990]為此給出了一個(gè)很有效的方法 。
但是,標(biāo)準(zhǔn)的BSD實(shí)現(xiàn)在轉(zhuǎn)發(fā)數(shù)據(jù)報(bào)時(shí)并不是采用這種增加的辦法 。每一份I P數(shù)據(jù)報(bào)都包含源I P地址和目的I P地址 。我們?cè)? . 4節(jié)中說(shuō)過(guò),它們都是32 bit 的值 。最后一個(gè)字段是任選項(xiàng),是數(shù)據(jù)報(bào)中的一個(gè)可變長(zhǎng)的可選信息 。目前,這些任選項(xiàng)定義如下:
安全和處理限制(用于軍事領(lǐng)域)
記錄路徑(讓每個(gè)路由器都記下它的I P地址,)
時(shí)間戳(讓每個(gè)路由器都記下它的I P地址和時(shí)間,)
寬松的源站選路(為數(shù)據(jù)報(bào)指定一系列必須經(jīng)過(guò)的I P地址,)
嚴(yán)格的源站選路(與寬松的源站選路類似,但是要求只能經(jīng)過(guò)指定的這些地址,不能經(jīng)過(guò)其他的地址) 。這些選項(xiàng)很少被使用,并非所有的主機(jī)和路由器都支持這些選項(xiàng) 。選項(xiàng)字段一直都是以32 bit作為界限,在必要的時(shí)候插入值為0的填充字節(jié) 。這樣就保證I P首部始終是32 bit 的整數(shù)倍(這是首部長(zhǎng)度字段所要求的) 。

推薦閱讀