如何为IP片段设置协议属性?

时间:2009-07-13 09:12:30

标签: tcp network-protocols

我正在测试网络设备驱动程序处理损坏数据包的能力。我想要测试的具体情况是当一个大的TCP数据包沿路径分段时,因为MTU的路径较小。

对于大型TCP数据包的IP分片,我最感兴趣的是,每个数据包的IP Fragment数据包的协议属性是TCP,还是只是第一个片段?

2 个答案:

答案 0 :(得分:1)

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

来自RFC 791 - Internet Protocol

  

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

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

答案 1 :(得分:1)

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

维基百科IP Fragmentation参考。


Path MTU-Discovery通常会更新源MTU,TCP包(实际上是段)将被发送,其大小限制为不会导致碎片