MTU・MSS計算ツール

MTUから残るMSSを、IPv6・トンネル・TCPオプションを含めて計算します。

MTU・MSS計算ツールは完全にブラウザ内で動作します。計算のみを行い、パケットは送信されず、入力内容も端末から出ません。

CIDRサブネット計算ツールを開く

MTU・MSS計算 について

MSSはリンクのMTUからヘッダー分を引いた残りです。IPv4なら20バイト、IPv6なら40バイト、TCPでさらに20バイト、タイムスタンプが有効ならもう12バイト、そしてトンネルが被せる分が加わります。値を誤ると、失敗の仕方がきれいではありません。分割が必要なパケットは、それを知らせるICMPが遮断されていると消え、接続は開けないのではなく転送の途中で固まります。このツールは代表的なカプセル化の計算を行い、pingの結果を実測の経路MTUに変換します。

機能

MTU・MSS計算 の使い方

  1. リンクのMTUを入力します。Ethernetは1500、PPPoE配下は1492です
  2. IPバージョンと経由するトンネルを選びます
  3. クランプすべきMSSとヘッダー内訳を読み取ります
  4. 不明なときはpingモードで実際の経路MTUを測ります

入力

MTU 1500 · IPv4 · WireGuard tunnel (60 bytes)

出力

Effective MTU 1440 · MSS 1400
Clamp MSS to 1400 on the tunnel interface

カプセル化の層はそのままペイロードから差し引かれます。トンネルでMSSクランプが必要なのはこのためです。

よくあるエラーとトラブルシューティング

よくある質問

MTUからMSSはどう計算しますか。
IPヘッダーとTCPヘッダーを引きます。1500 − 20 − 20でEthernet IPv4の定番である1460になります。トンネル分はその前に差し引きます。
MTUが1500ではなく1492なのはなぜですか。
多くのDSLや一部の光回線が使うPPPoEが、6バイトのPPPoEヘッダーと2バイトのPPPヘッダーを追加するためです。
WireGuardではMSSをいくつにしますか。
WireGuardはIPv4で約60バイト、IPv6で約80バイトを使うため、1500のリンクではおおよそ1400と1360が残ります。
pingで経路MTUを調べるには。
分割禁止でサイズを下げながら送ります。Linuxはping -M do -s 1472、macOSはping -D -s 1472、Windowsはping -f -l 1472です。通った最大値に28バイトを足します。

関連ツール

すべての ArrayKit ツール