分析:因?yàn)?/font>ping的長(zhǎng)度是2000字節(jié),大于了MTU的值,所以會(huì)分片發(fā)送,如上圖。捕獲的這個(gè)數(shù)據(jù)包總長(zhǎng)度為1500字節(jié),更多分段位置1,表示還有數(shù)據(jù)分段。s,偏移量為0,需要注意的是IP頭部的總長(zhǎng)度字段值(這里是1500字節(jié))并不全是數(shù)據(jù)的凈載荷長(zhǎng)度,這里還包括了IP以及ICMP的頭部長(zhǎng)度,分別是20字節(jié)和8字節(jié)。
另外,IP協(xié)議的頭部總長(zhǎng)度并不一定就是MTU值1500字節(jié),這個(gè)值與網(wǎng)絡(luò)環(huán)境、操作系統(tǒng)等因素有關(guān)。
下圖是第一個(gè)分片包。

分析:IP字段的標(biāo)識(shí)0x787F,與第一個(gè)包相同,說明這是同一個(gè)數(shù)據(jù)包,只是被分片了。
偏移量為185,表示相對(duì)第一個(gè)包的位置,以便接收主機(jī)根據(jù)偏移量進(jìn)行數(shù)據(jù)重組。
需要注意的是此處分片包并沒有ICMP字段,接收主機(jī)會(huì)可以根據(jù)偏移重組成完整的ICMP數(shù)據(jù)包。
最后,我們來(lái)計(jì)算一下該數(shù)據(jù)包的長(zhǎng)度:第一個(gè)數(shù)據(jù)包的總長(zhǎng)度為1500字節(jié),減去IP頭部長(zhǎng)度20字節(jié),減去ICMP頭部長(zhǎng)度8字節(jié),即1500-20-8=1472字節(jié);第二個(gè)數(shù)據(jù)包的總長(zhǎng)度為548字節(jié),減去IP頭部長(zhǎng)度20字節(jié),即548-20=528字節(jié),兩個(gè)數(shù)據(jù)包的凈載荷1472+528=2000,正好是我們發(fā)送的數(shù)據(jù)長(zhǎng)度。
-------------------------------------------------------------------------------------------------
1.IP分片產(chǎn)生的原因是網(wǎng)絡(luò)層的MTU;TCP分段產(chǎn)生原因是MSS.
2.IP分片由網(wǎng)絡(luò)層完成,也在網(wǎng)絡(luò)層進(jìn)行重組;TCP分段是在傳輸層完成,并在傳輸層進(jìn)行重組. //透明性
3.對(duì)于以太網(wǎng),MSS為1460字節(jié),而MUT(默認(rèn)為1500)往往會(huì)大于MSS.
故采用TCP協(xié)議進(jìn)行數(shù)據(jù)傳輸,是不會(huì)造成IP分片的。若數(shù)據(jù)過大,只會(huì)在傳輸層進(jìn)行數(shù)據(jù)分段,到了IP層就不用分片。
-------------------------------------------------------------------------------------------------
歡迎光臨 (http://www.torrancerestoration.com/bbs/) |
Powered by Discuz! X3.1 |