二分法探测(Linux)
二分法探测(Linux)
ping -M do -s 1472 -c 2 10.0.0.5 # 1472+28=1500 刚好不分片
# 不通就减:
ping -M do -s 1400 -c 2 10.0.0.5
ping -M do -s 1372 -c 2 10.0.0.5 # 1400 = 1372+28
# 得到最大可通过载荷 P 后:路径 MTU = P + 28(IPv4)报错关键字
报错关键字
ping: local error: message too long, mtu=1400 # 本机尝试按 1400 发送被拒(路径更小)
From 10.0.0.1 icmp_seq=1 Frag needed and DF set (mtu = 1400) # 中间设备回 ICMP 需分片中间设备丢弃过大包且不回 ICMP『frag needed』时(PMTUD 黑洞),ping 表现为大包全丢、小包正常,需改用 TCP 层验证或调低 MTU。