1

I'm dealing with IP packets which might contain UDP or TCP payloads.

If we only consider IP-level and transport-level headers, what could be a set of representative fields for one packet? That is, which header fields, considered as a whole, would make that packet unique? (in absence of duplicates, of course)

If we didn't consider the IP and TCP or UDP chksum fields, would a subset of the other fields be enough?

4

2 回答 2

1

IP 和 UDP 没有“唯一性”的概念。TCP 确实如此,由序列号字段暗示。当数据包在传输过程中被复制或丢弃时,没有足够的字段来明确说明。

根据评论更新:

如果您同时编写发送和接收代码,则可以包含一个唯一标识数据包的 IP 选项。我建议使用 SATNET StreamId 选项(#​​8,参见RFC 791,第 3.1 节)——它为您提供了 16 位可供使用,并且已经存在了 30 多年。

如果您不编写发送代码,我认为您不能这样做 - 只是没有任何字段可以在 IP、ICMP 或 UDP 中进行比较。

于 2013-04-10T21:20:31.063 回答
1

您可以使用 IP Header 的可选字段来附加数据以实现唯一性(如果您正在发送),但您需要将 IHL 修改为大于 5。

于 2017-02-09T17:43:07.767 回答