Como visualizo o PMTU em cache no Linux (e em todos os outros sistemas operacionais)

10

Quando faço ping em um site remoto com o conjunto de bits DF e um tamanho de pacote muito grande para o roteador, a primeira mensagem de "fragmentação necessária" do ICMP é enviada do roteador. Depois disso, a mensagem vem do meu host local.

Netstat -rC (no Linux) permite visualizar o cache da tabela de roteamento, mas

1) Parece mostrar MTUs sob uma coluna chamada MSS (que eu esperaria ser o menor TCP MSS do link)

2) Sempre mostra o valor como 1500

Meu localhost deve estar armazenando em cache o PMTU em algum lugar para que ele possa gerar a mensagem de fragmentação necessária. Mas como eu vejo isso?

Aqui está um exemplo na minha máquina (-n no netstat inibe pesquisas reversas de 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 ~]#

EDITAR: Como por sugestão:

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

O que também parece errado, já que o MSS é apenas 40 a menos que o mtu, que é a interface mtu em vez do PMTU

    
por Neik 23.08.2013 / 12:15

2 respostas

4

Talvez

ip route get to 212.58.244.69
    
por 24.08.2013 / 02:24
0

No Windows, use o comando netsh para visualizar o "cache de destino" que contém essas informações. Por exemplo (assumindo o IPv4):

netsh interface ipv4 show destinationcache
    
por 08.10.2015 / 22:38