我在linux上使用ping进行了一些测试,我对DF位和碎片的工作原理有点好奇。我一直在发送一些包含命令-M do的包和一些包含-M的包,我意识到即使发送小于MTU的包,rtt也比DF位禁用时要小于启用DF位时。碎片对rtt真的有一些影响吗?为什么?
DF位对RTT或TTL没有(实际)影响。
发送数据包时,TTL表示您的数据包应该存活多少个路由器跃点。接收时,它表示路线的跳数(提供您知道或猜测起始值)。
RTT是数据包到达目的地并再次返回的时间。当使用未分段的ICMP回应请求(ping
)时,应答时间可能会为RTT提供估计 - 但是,由于ICMP通常以低优先级运行,因此ping
时间也可能明显大于RTT。
对于较大的ping数据包,尤其是碎片ping数据包,带宽开始启动。不仅ping测量发送第一个片段和接收最后一个响应片段之间的时间,而且还需要考虑所有片段的传输时间。两个方向。使用细链接,这为ping
增加了可忽略不计的延迟。
现在,设置DF位只会阻止您发送碎片化的回应请求。