DF 비트가 설정되어 있고 라우터에 비해 너무 큰 패킷 크기로 원격 사이트를 ping하면 라우터에서 첫 번째 ICMP "조각 필요"메시지가 전송됩니다. 그 후 메시지는 내 로컬 호스트에서 온다.
Netstat -rC (Linux)에서는 라우팅 테이블 캐시를 볼 수 있지만
1) MSS라는 열 아래에 MTU를 표시하는 것 같습니다 (링크의 TCP MSS가 더 낮을 것으로 예상됩니다)
2) 항상 값을 1500으로 표시
로컬 호스트가 PMTU를 캐싱해야 조각화가 필요한 메시지를 생성 할 수 있습니다. 하지만 어떻게 알 수 있습니까?
다음은 내 컴퓨터의 예입니다 (netstat의 -n은 역방향 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 ~]#
편집 : 제안에 따라 :
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보다 작기 때문에 잘못된 것으로 보입니다 .PMTU가 아닌 인터페이스 mtu입니다.
netstat -rCn
아무것도 반환하지 않지만watch ip route get to $HOST
캐시 TTL을 포함하여 현재 상태를 보여줍니다.ip route show cached
아마 출력도 보여 주지만 그렇지 않습니다.