ip數據包與分片

1.ip數據包


整個ip數據包中,包含了首部和數據。其中,如果選項沒有數據,則ip首部的長度就爲20byte。

在ip首部中涉及到分片的主要有:總長度,標識,標誌,分片偏移

總長度:整個數據包的長度,包含了首部和數據。所以要得到數據的長度,就用總長度減去首部長度

標識:當數據被分片,每個分片具有相同的標識,這樣就可以識別相同組的分片

分片偏移:用於確定該分片在原未分片數據中的位置


2.ip分片

以icmp爲例(在windows終端,執行ping -l可以指定發送的數據大小)

當icmp發送的數據包大於MTU時,就會在ip層發生分片。同一個數據包的所有分片都有相同的標識(位於ip首部的32~47bit),同時,如果不是最後一個分片,會將首部的第50bit設置爲1。首部的片偏移表示,該分片在原數據包中的位置。icmp包頭位於第一個分片中,其餘分片只包含ip頭和數據。除了最後一個分片,其它分片的數據(除去ip頭)必須是8的整數倍。




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章