2

MTU の「全体像」を理解しようとしています。具体的には、MTU に関する多くの議論は単一のホップ (ラップトップからルーターへなど) に焦点を当てているため、ケーブル モデムと ISP の間、またはより一般的にはルートの任意のホップについて MTU を決定する方法は自然な問題です。

これで、ラップトップとその間の MTU を簡単に確認できます: Mac OS X で ifconfig を使用する Wi-Fi ルーター:

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」です

4

1 に答える 1

2

あなたが探しているのはPath MTU Discoveryです。MSSオプションの値を監視することで、 TCP 3 ウェイ ハンドシェイクtcpdump(1)中の動作を確認できます (適切なレベルのダンプ詳細度が必要になりますが、それは適切です)。-vv

オリジナルtraceroute(8)は、パス MTU の変更を表示するはずですが、運がなかったのです。Linuxtracepath(8)はホップ MTU 値をすぐに提供します。

于 2011-08-16T15:04:12.497 に答える