2017-06-02 109 views
0

我目前會通過我的網絡的幻燈片,並想知道如果有人可以幫助我不成體系額外的字節

讓我明白的第一部分,直到「108個字節」但我不要這個概念不明白是這個「8字節= 13.5 => 13 * 8 字節= 104字節」

這些額外的字節是什麼?

其餘的都很清楚。

回答

2

您必須將數據包有效載荷分段爲八字節邊界。使用128字節的MTU,您可以擁有的最大有效載荷片段爲104個字節,比簡單地從MTU(108字節)中減去IP報頭要小。正文告訴你,從MTU中減去數據包標題大小(20字節),下一個可被8整除的較小碎片大小是104字節。

RFC 791, Internet Protocol擁有的IP碎片是如何工作的一個完整的描述:

碎片

碎片互聯網數據報是必要的,當它在一個本地網,可以將大數據包大小,必須遍歷起源 一個 本地網絡,將數據包限制爲較小的大小,以達到其目的地址 。

互聯網數據報可以標記爲「不分段」。任何互聯網 如此標記的數據報不得在任何 的情況下被互聯網分段。如果標記的互聯網數據報不能分段,不能將 傳送到其目的地,而是將其丟棄爲 。

分片,傳輸和重組通過本地網絡 這對互聯網協議模塊是不可見的被稱爲內聯網 分片並可以使用[6]。

互聯網分段和重組過程需要能夠將數據報分成幾乎任意數量的片段,然後再重新組裝。片段的接收者使用標識字段來確保不同數據報的片段不混合。片段偏移量字段告訴接收器原始數據報中片段的位置爲 。片段偏移量爲 ,長度決定了該片段所覆蓋的原始數據報的部分。 more-fragments標誌指示(通過重置)最後一個片段 。這些字段提供足夠的信息給 重組數據報。

標識字段用於區分一個 數據報的片段與另一個的片段。互聯網數據報的始發協議模塊將標識字段設置爲對於該源 - 目的地對和時間協議必須是唯一的值,該數據報將在因特網系統中活動。一個完整的數據報的協議模塊始發 設置更多的片段標誌爲 零,片段偏移量爲零。

要片段長互聯網數據報,因特網協議模塊(爲 例如,在網關),創建兩個新的互聯網數據報和副本 從長數據報網絡報頭字段的內容到 兩個新的互聯網頭部。長數據報的數據在8字節(64位)邊界上被分成兩部分(第二部分 可能不是8個八位組的整數倍,但第一部分必須是)。 在第一部分NFB中調用8個八位字節塊的數量(對於分段塊的 號碼)。數據的第一部分放在第一個新的互聯網數據報的 中,總長度字段設置爲第一個數據報的長度爲 。 more-fragments標誌被設置爲1。 數據的第二部分被放置在第二個新的互聯網 數據報中,並且總長度字段被設置爲第二數據報的長度 。 more-fragments標誌的值與長數據報中的值相同 。第二個新的互聯網數據報的片段偏移量字段被設置爲數據報長加上NFB的長字段 中的那個字段的值。

此過程可以推廣爲n路分裂,而不是所描述的雙向分裂。

向(在目的地主機例如)裝配因特網的數據報的碎片,因特網 協議模塊結合互聯網 數據報都具有用於四個字段的值相同: 識別,源,目的地和協議。組合是 通過將每個片段的數據部分放置在該片段的互聯網 頭部中的片段偏移所指示的相對位置處來完成。第一個片段的片段偏移量爲零, 最後一個片段將會將more-fragments標誌位重置爲零。

2

每在IP報頭中的所述片段偏移字段的定義:

片段偏移(13位):在分段的IP數據報的情況下,該字段包含的偏移(以8個字節爲單位計)從IP數據報開始。所以再次,這個字段用於重組分段的IP數據報。

因此,即使有效負載大小可以是任何值,偏移值只能是IP標頭上8個字節的倍數,因此有效負載大小爲8字節倍數。計算將減小IP有效負載大小。