2013-04-10 44 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

相关问题