如何查看Linux下的cachingPMTU(以及所有其他操作系统)

当我使用设置了DF位的远程站点进行ping操作并且对于我的路由器来说太大的数据包大小时,从路由器发送第一个ICMP“需要分段”消息。 之后,消息来自我的本地主机。

Netstat -rC(在Linux上)允许我查看路由表caching,但是

1)似乎在一个名为MSS的列下显示MTU(我希望它是链路的较低的TCP MSS)

2)始终显示值为1500

我的本地主机必须将PMTUcaching到某个位置,以便生成所需的分段信息。 但是我怎么看?

这是我的机器上的一个例子(-n在netstat禁止反向DNS查找):

[root@vbcentos ~]# ping -c 4 -M do -s 1431 212.58.244.69 PING 212.58.244.69 (212.58.244.69) 1431(1459) bytes of data. From 217.155.134.6 icmp_seq=1 Frag needed and DF set (mtu = 1458) From 217.155.134.4 icmp_seq=2 Frag needed and DF set (mtu = 1458) From 217.155.134.4 icmp_seq=2 Frag needed and DF set (mtu = 1458) From 217.155.134.4 icmp_seq=2 Frag needed and DF set (mtu = 1458) --- 212.58.244.69 ping statistics --- 1 packets transmitted, 0 received, +4 errors, 100% packet loss, time 1002ms [root@vbcentos ~]# netstat -rCn Kernel IP routing cache Source Destination Gateway Flags MSS Window irtt Iface 217.155.134.3 217.155.134.4 217.155.134.4 il 0 0 0 lo 217.155.134.4 212.58.244.69 217.155.134.6 1500 0 0 eth0 217.155.134.4 217.155.134.4 217.155.134.4 l 16436 0 0 lo 217.155.134.3 217.155.134.255 217.155.134.255 ibl 0 0 0 lo 217.155.134.4 212.58.244.69 217.155.134.6 1500 0 0 eth0 217.155.134.6 217.155.134.4 217.155.134.4 il 0 0 0 lo 212.58.244.69 217.155.134.4 217.155.134.4 l 0 0 0 lo [root@vbcentos ~]# 

编辑:按照build议:

 ip route get to 212.58.244.69 

 212.58.244.69 via 217.155.134.6 dev eth1 src 217.155.134.4 cache mtu 1500 advmss 1460 hoplimit 64 

这也似乎是错误的,因为MSS只比mtu小40,这是接口MTU,而不是PMTU

也许

 ip route get to 212.58.244.69 

在Windows下,使用netsh命令查看保存此信息的“目标caching”。 例如(假设IPv4):

 netsh interface ipv4 show destinationcache