IP的分片與組裝

2021-07-15 11:00:38 字數 1173 閱讀 5388

ip的三位標誌:

標誌位共有三位。

(1)最高位必須為0,該位必須複製到所有分組中。

(2)不分片位(no not fragment,df位)。為0,表示可以分片;為1,表示接受主機對分組不能分片。如果長度超過mtu(最大傳輸單元)而又不可以分片的話,那麼只能丟棄該組,並且用icmp差錯報文向源主機報告。

(3)分片位(more fragment,mf位)。該位表示是否是最後乙個分片,mf=1表示接收的分組不是最後一片,否則表示是最後一片。

ip如何分片:

(1)檢查df標誌位,檢查是否允許分片。如果設定了該位,則資料報將被丟棄,並將乙個icmp錯誤返回給源主機。

(2)基於mtu,確定片長度,將資料長度分為若干部分。(除了最後的資料部分,所有新建的資料選項的長度必須是8個位元組的整數倍。)

(3)每個資料部分被放入乙個ip資料報,這些數的資料報的報頭略微修改了原來的報文頭。

(4)除了最後的資料報分片外,每個分片都設定了多個分片標誌位。

(5)每個分片的偏移量字段設定為這個資料部分在原來的資料報所佔的位置,這個位置相當於原來未分片的資料報的開頭處。

(6)如果在原來的資料報中包括了選項,則選項型別位元組的高位位元組決定了這個資訊是被複製到所有的分片資料段,還是只複製到了第乙個資料報。

(7)設定新資料報的報文頭字段及總長度字段。

(8)重新計算報文頭部校驗和。

ip的組裝:

為了高效第組裝分片,用於儲存分片的資料結構必須做到:

(1)快速定位屬於某一資料報的一組分組。

(2)在屬於某一資料報的一組分片中快速插入新的分片。

(3)有效地判斷乙個資料報的所有分片是否已經全部接收。

(4)具有組裝超時機制,如果在重組完成之前定時器溢位,則刪除該資料報的所有內容。

nat(network address tranlation)

網路位址轉換,它是乙個ietf(intenet engineering task force ,internet工程任務組)標準,允許乙個整體機構以公用ip位址出現在internet上,顧名思義,它是一種把內部私有網路位址翻譯成合法網路ip位址的技術。因此,我們認為,nat在一定程度上,能夠有效地第解決公網位址不足的問題。

**伺服器(proxy serve):

是個人網路和internet服務商之間的中間**機構,它負責**合法的網路資訊,對**進行控制和登記。

分片和組裝

網際網路協議 ip 是整個網際網路架構的基礎,可以支援不同的物理層網路,即ip層獨立於鏈路層傳輸技術。不同的鏈路層不僅在傳輸速度上有差異,還在幀結構和大小上有所不同,不同mtu引數描述了資料幀的大小。為了實現ip資料報能夠使用不同的鏈路層技術,需要將ip資料報變成適合鏈路層的資料格式,ip報文的分片...

IP分片與TCP分片的考慮

剛剛終於想明白了關於tcp分片後,為什麼抓包是從來沒看到過ip分片,而在pingicmp報文的時候,很容易就出現ip分片。之前考慮問題只考慮了一方面 作為接收方,tcp的mss欄位和ip的mtu欄位,在tcp連線的前兩次握手時,溝通好了,以小的值為最大傳輸位元組。一般情況下mtu 40 mss。具體...

IP分片與重組

物理網路層一般要限制每次傳送的資料幀的最大長度,當ip層接收到乙份要傳送的ip資料報時,它要判斷向本地哪個介面傳送資料,並查詢該介面獲得其mtu。ip把mtu與資料報長度進行比較,如果資料報大於mtu則進行分片。分片可以發生在原始傳送端主機上,也可以發生在中間路由器上。mtu指定了網路中可傳輸資料報...