如何确定我的电缆调制解调器和ISP之间的MTU?

时间:2011-08-15 19:48:54

标签: networking wifi ethernet mtu

我想了解MTU的“大局”。具体而言,MTU的许多讨论集中在单跳(例如笔记本电脑到路由器),因此自然的问题是:如何确定电缆调制解调器和ISP之间的MTU,或者更一般地,确定路由的任何给定跳跃。

现在,我可以在Mac OS X上使用ifconfig轻松查看笔记本电脑与其:wi-fi路由器之间的MTU:

en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=2b<RXCSUM,TXCSUM,VLAN_HWTAGGING,TSO4>
ether 58:b0:35:f0:14:75 
media: autoselect (none)
status: inactive    
en1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether 58:b0:35:72:64:fa 
inet6 fe80::5ab0:35ff:fe72:64fa%en1 prefixlen 64 scopeid 0x5 
inet 192.168.1.100 netmask 0xffffff00 broadcast 192.168.1.255
media: autoselect
status: active

1500是wi-fi帧限制的规范值b / c(我猜测它是为了匹配以太网帧;如果这是错误的话请纠正我)。

所以,问题是:如何确定路线中任意跳跃的MTU?

答案摘要:

根据以下答案,最好的选择是“tcpdump”,“traceroute --mtu”或“tracepath”

1 个答案:

答案 0 :(得分:2)

您正在寻找的是Path MTU Discovery。通过观察tcpdump(1)选项值,您可以在TCP three way handshake期间看到MSStraceroute(8)一起使用(您将需要适当级别的转储详细程度,而-vv执行此操作)。

原始tracepath(8)应该显示路径MTU更改,但我从来没有运气。 Linux {{3}}可以立即为您提供跳跃MTU值。