我正在测试网络设备驱动程序处理损坏数据包的能力。我想要测试的具体情况是当一个大的TCP数据包沿路径分段时,因为MTU的路径较小。
对于大型TCP数据包的IP分片,我最感兴趣的是,每个数据包的IP Fragment数据包的协议属性是TCP,还是只是第一个片段?
答案 0 :(得分:1)
每个片段的协议字段将设置为TCP(6)。
片段化长互联网数据报, 互联网协议模块(用于 例如,在网关中),创建两个 新的互联网数据报和复制 互联网标题字段的内容 从长数据报到新的 互联网标题。 ......这个程序 可以推广为n路分裂, 而不是双向分裂 描述
协议是标题的一部分,因此将被复制到每个片段中。
答案 1 :(得分:1)
IP分段是第3层活动,而数据包将标记为TCP,TCP不会使用中间片段。 TCP层必须等待重新组装实际IP数据包(未分段)才能处理它。
维基百科IP Fragmentation参考。
Path MTU-Discovery通常会更新源MTU,TCP包(实际上是段)将被发送,其大小限制为不会导致碎片