碎片(DF位)对rtt和ttl的影响

influence of fragmentation (DF bit) on rtt and ttl

我在 linux 上用 ping 做了一些测试,我有点好奇 DF 位和碎片是如何工作的。我一直在发送一些带有命令 -M do 的包和一些带有 -M dont 的包,我意识到即使发送小于 MTU 的包,禁用 DF 位时的 rtt 小于启用 DF 位时的 rtt。碎片真的对 rtt 有影响吗?为什么?

DF 位对 RTT 或 TTL 没有(实际)影响。

发送数据包时,TTL 表示您的数据包应该存活多少路由器跳数。在接收时,它指示路由经过了多少跳(假设您知道或猜测起始值)。

RTT 是数据包到达目的地并再次返回所需的时间。当使用未分段的 ICMP 回显请求 (ping) 时,应答时间 可能 提供 RTT 的估计 - 然而,由于 ICMP 通常以低优先级运行 ping 时间也可能比 RTT 大得多。

对于较大的 ping 数据包,尤其是碎片化的 ping 数据包,带宽开始增加。ping 不仅测量 发送第一个 片段和 [=23] 之间的时间=]收到最后一个响应片段,但您还需要考虑双向所有片段的传输时间。对于薄链接,这对 ping.

增加了可忽略不计的延迟

现在,设置 DF 位只会阻止您发送碎片化的回显请求。