哪些报头字段表示数据包是唯一的



我正在处理IP数据包,可能包含UDPTCP有效负载。

如果我们只考虑ip级和传输级报头,那么一个数据包的代表性字段的集合可能是什么?也就是说,作为一个整体,哪些报头字段将使该数据包唯一?(当然,在没有重复的情况下)

如果我们不考虑IP和TCP或UDP chksum字段,其他字段的子集是否足够?

IP和UDP没有"唯一性"的概念。TCP可以,这是由序列号字段暗示的。当一个数据包在传输过程中被复制或丢弃时,没有足够的字段来明确。

基于注释更新:

如果你正在编写发送和接收代码,你可以包含一个唯一标识数据包的IP选项。我建议使用SATNET StreamId选项(#8,参见RFC 791, section 3.1) -它为您提供16位的工作,它已经存在了30多年。

如果你不写发送代码,我不认为你可以这样做——在IP、ICMP或UDP中没有任何字段可以作为比较的基础。

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

最新更新