IP報文分片
1. 最大傳輸單元(Maximum Transmission Unit,MTU)。 以太網幀中的數據長度規定最小46 字節,最大1500 字節,MTU 指數據幀中有效載荷的最大長度,不包括幀首部的長度。
2. IP幀格式, 4 位首部長度的數值是以4 字節為單位的,最小值為5,也就是說首部長度最小是4x5=20 字節,也就是不帶任何選項的IP 首部,4 位能表示的最大值是15,也就是說首部長度最大是60 字節。
標識,16位,用來唯一地標識主機發送的每一份數據報。IP軟件會在存儲器中維持一個計數器,每產生一個數據段,計數器就加1,並將此值賦給標識字段。但這個“標識”並不是序號,因為IP是無連接服務,數據報不存在按序接收的問題。如數據報超過網絡的MTU而必須分片時,這個標識字段的值就被復制到所有的數據報分片的標識字段中。目的主機根據標識字段的值將數據報分片重新組裝為一個數據報。
標誌,3位,分別是(RF, DF, MF),目前只有DF, MF有效。DF(don‘t fragment),置為0時表示可以分段,置為1是不能被分段;MF(more fragment),置為0時表示該數據段為最後一個數據段,置為1時表示後面還有被分割分段
片偏移量,13位,指出較長的分組在分片後,某段在原分組的相對位置。也就是說相對原分組數據段的起點,該片從何處開始。段偏移以8字節為偏移單位。這就是,每個分片的長度一定是8字節(64位)的整數倍
IP 數據報分片以後,只有到達目的地才進行重新組裝(這裏的重新組裝是達到目的地才組裝,而不像其他網絡協議在下一站就進行重新組裝),IP 數據報的分片和組裝都是發生在網絡層,其目的就是使分片和組裝過程對傳輸層(TCP 和 UDP)是透明的,以及防止某些可能的性能降低。已經分片的數據報有可能會再次進行分片(即可多次分片)。
當 IP 數據報被分片後,只有第一個分片裏有運輸層協議首部,其余分片都不包含運輸層協議的首部,但是每個分片都具有 IP 首部,並且每一片都成為一個分組,在選擇路由時每一組與其他分組相互獨立。由於分組之間是獨立的,所以分片傳輸的 IP 數據報不一定按照順序達到目的地,但是每個分片的 IP 首部能夠使接收端按照正確的順序組裝這些 IP 數據報分片。
IP報文分片