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