【问题标题】:How is the Protocol Attribute set for IP Fragments?IP 分片的协议属性如何设置?
【发布时间】:2009-07-13 17:27:11
【问题描述】:

我正在测试网络设备驱动程序处理损坏数据包的能力。我要测试的具体情况是,由于路径中的 MTU 较小,大型 TCP 数据包沿路径被分段。

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

【问题讨论】:

    标签: tcp network-protocols


    【解决方案1】:

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

    来自RFC 791 - Internet Protocol

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

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

    【讨论】:

      【解决方案2】:

      IP Fragmentation 是第 3 层活动,虽然数据包将被标记为 TCP,但中间的片段将不能被 TCP 使用。 TCP 层必须等待实际 IP 数据包(未分段)的重新组合,然后才能对其进行处理。

      维基百科IP Fragmentation参考。


      Path MTU-Discovery 通常会更新源 MTU 并且 TCP 数据包(实际上是分段)将被发送,其大小受到限制,不会在途中造成碎片

      【讨论】:

        猜你喜欢
        • 2012-02-05
        • 2023-04-06
        • 2016-10-25
        • 1970-01-01
        • 2017-12-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-12-10
        相关资源
        最近更新 更多