2009-07-13 29 views
0

我测试的网络设备驱动程序,以应付损坏的数据包的能力。我想测试的具体情况是,当一个大的TCP数据包沿路径分段时,因为较小的MTU。协议属性如何为IP碎片设置?

什么最感兴趣,我对大TCP数据包,为TCP为每个数据包,或者只是第一个片段IP分段包的协议属性的IP分片?

回答

1

协议字段将为每个片段被设置为TCP(6)。

RFC 791 - Internet Protocol

要片段长互联网数据报, 互联网协议模块(为 例如,在网关),创建两个 新的互联网数据报和复制互联网首标字段的 内容 从长数据报的两个新 互联网头。 ...这个程序 可以被推广用于n路分割, 而不是所描述的双向分割 。

协议是标题的一部分,因此会被复制到每个片段中。

1

IP碎片化是一个三层活动,而数据包将被标记为TCP,中间碎片将不会被TCP使用。 TCP层必须等待实际IP数据包重新组装(未分段),然后才能处理它。

维基百科IP Fragmentation参考。


Path MTU-Discovery通常会更新源MTU和TCP包(实际上段)将限于大小来发送不会引起在途中破碎