2009-07-13 31 views
0

我測試的網絡設備驅動程序,以應付損壞的數據包的能力。我想測試的具體情況是,當一個大的TCP數據包沿路徑分段時,因爲較小的MTU。協議屬性如何爲IP碎片設置?

什麼最感興趣,我對大TCP數據包,爲TCP爲每個數據包,或者只是第一個片段IP分段包的協議屬性的IP分片?

回答

1

協議字段將爲每個片段被設置爲TCP(6)。

RFC 791 - Internet Protocol

要片段長互聯網數據報, 互聯網協議模塊(爲 例如,在網關),創建兩個 新的互聯網數據報和複製互聯網首標字段的 內容 從長數據報的兩個新 互聯網頭。 ...這個程序 可以被推廣用於n路分割, 而不是所描述的雙向分割 。

協議是標題的一部分,因此會被複制到每個片段中。

1

IP碎片化是一個三層活動,而數據包將被標記爲TCP,中間碎片將不會被TCP使用。 TCP層必須等待實際IP數據包重新組裝(未分段),然後才能處理它。

維基百科IP Fragmentation參考。


Path MTU-Discovery通常會更新源MTU和TCP包(實際上段)將限於大小來發送不會引起在途中破碎