【发布时间】:2009-07-13 17:27:11
【问题描述】:
我正在测试网络设备驱动程序处理损坏数据包的能力。我要测试的具体情况是,由于路径中的 MTU 较小,大型 TCP 数据包沿路径被分段。
我对大 TCP 数据包的 IP Fragmentation 最感兴趣的是,IP Fragment 数据包的协议属性是为每个数据包设置为 TCP,还是只是第一个片段?
【问题讨论】:
标签: tcp network-protocols
我正在测试网络设备驱动程序处理损坏数据包的能力。我要测试的具体情况是,由于路径中的 MTU 较小,大型 TCP 数据包沿路径被分段。
我对大 TCP 数据包的 IP Fragmentation 最感兴趣的是,IP Fragment 数据包的协议属性是为每个数据包设置为 TCP,还是只是第一个片段?
【问题讨论】:
标签: tcp network-protocols
每个片段的协议字段将设置为 TCP (6)。
为了分割一个长的互联网数据报, 一个互联网协议模块(用于 例如,在网关中),创建两个 新的互联网数据报并复制 互联网标头字段的内容 从长数据报到新的 互联网标题。 ...这个程序 可以推广到 n 路拆分, 而不是双向拆分 描述。
协议是标头的一部分,因此将被复制到每个片段中。
【讨论】:
IP Fragmentation 是第 3 层活动,虽然数据包将被标记为 TCP,但中间的片段将不能被 TCP 使用。 TCP 层必须等待实际 IP 数据包(未分段)的重新组合,然后才能对其进行处理。
维基百科IP Fragmentation参考。
Path MTU-Discovery 通常会更新源 MTU 并且 TCP 数据包(实际上是分段)将被发送,其大小受到限制,不会在途中造成碎片
【讨论】: