2013-04-10 47 views
1

我正在處理IP數據包可能包含UDPTCP有效載荷。哪個標題字段表示數據包是唯一的?

如果我們只考慮IP級和傳輸級,這可能是一個組有代表性的領域一包的?也就是說,哪些頭域被認爲是一個整體,會使這個數據包具有唯一性? (當然沒有重複)

如果我們沒有考慮IP和TCP或UDP chksum字段,其​​他字段的子集是否足夠?

回答

1

IP和UDP沒有「唯一性」的概念。 TCP確實,隱含在序號字段中。當數據包在傳輸過程中被複制或丟棄時,沒有足夠的字段可以清楚說明。

更新基於評論:

如果你正在寫在發送和接收的代碼,你可以包括唯一地識別數據包的IP選項。我推薦使用SATNET StreamId選項(#8,參見RFC 791,第3.1節) - 它可以讓你使用16位,並且已經存在了30多年。

如果你沒有編寫發送代碼,我不認爲你可以這樣做 - 在IP,ICMP或UDP中沒有任何字段用於比較。

+0

是的,當然。我的措辭有點差。我最終的意思是:如果我忽略所有校驗和(IP和傳輸層),部分取決於各自的有效載荷,請確定所有其他頭字段(或它們的子集)來標識數據包?試想一下,我無法看到傳輸層有效載荷。另外,爲了使它更簡單,讓我們假裝重複不存在。 – 2013-04-10 21:29:26

+0

我注意到TCP序列號偶爾被中間框覆蓋,所以我不想考慮它。我想這樣做有點不可能實現我的目標... – 2013-04-10 21:30:44

+0

你還沒有真正描述你的目標。你問了一個問題,答案是「你不能這樣做」。當你說「識別數據包」時,你的意思是什麼? – 2013-04-10 21:36:09

1

您可以使用IP報頭的可選字段追加數據的唯一性(如果你發送),但你需要修改國際人道法大於5

相關問題