我正在处理可能包含 UDP 或 TCP 有效负载的 IP 数据包。
如果我们只考虑IP级和传输级标头,那么一个数据包的代表字段可能是什么?也就是说,哪个标题字段被视为一个整体,会使该数据包唯一? (当然没有重复)
如果我们不考虑IP和TCP或UDP chksum
字段,其他字段的子集是否足够?
答案 0 :(得分:1)
IP和UDP没有“唯一性”的概念。 TCP确实,序列号字段暗示。当数据包在传输过程中重复或丢弃时,没有足够的字段可以清楚说明。
根据评论进行更新:
如果您同时编写发送和接收代码,则可以包含唯一标识数据包的IP选项。我建议使用SATNET StreamId选项(#8,参见RFC 791,第3.1节) - 它可以让你使用16位,它已存在超过30年。
如果您没有编写发送代码,我认为您不能这样做 - 在IP,ICMP或UDP中没有任何字段可以进行比较。
答案 1 :(得分:1)
您可以使用IP标头的可选字段附加数据以获得唯一性(如果您要发送),但您需要将IHL修改为大于5。