为什么 mtu cmd ping 测试结果取决于路由器上的 mtu 设置?

网络工程 mtu
2022-02-13 02:39:48

为什么 MTU 测试结果取决于我路由器上的 MTU 设置?例如:当我在路由器上将 MTU 设置为 1440 时,结果是“1440-28=1412”,第一个 MTU 给出了回放,那么我怎么知道最好的 MTU 呢?

1个回答

在路由器(接口)上手动设置 MTU 时,路由器被配置为不从该接口发送更大的数据包。较大的数据包要么被分段(如果可能)要么被丢弃。当路由器后面有进一步的封装影响数据包大小时,MTU 设置很有用。

大多数ping实现使用长度参数作为其可选的有效负载大小。由于 ping 使用 ICMP 回显请求,因此数据包大小等于 20 字节(IPv4 标头)加上 8 字节(ICMP 标头)加上有效负载大小。

您可以使用例如 (Windows) 通过 ping 测试路径的 MTU ping -f -l <payloadsize> <destination><payloadsize>+28 超过路径 MTU 时,ping 失败。-f设置Don't Fragment标志,就像-M do在许多 Linux 版本中一样(请参阅下面的 jonathanjo 评论)。