MTU・MSS計算機 — PPPoE・フレッツ・MAP-E・IPsec・WireGuardのオーバーヘッド
PPPoE・MAP-E/DS-Lite・GRE・WireGuard・VXLAN・IPsec(ESPのパディング計算込み)を積み上げて実効MTUとTCP MSSを算出。Cisco・YAMAHA RTX・Linuxの設定例と、確認用のDFビット付きpingも出力します。
🔒 すべてあなたのブラウザ内で動作します。入出力データはサーバに送信・保存されないため安全です。
内訳
設定例
DFビット付きpingで確認
ペイロード = MTU − 28(IPv4 20 + ICMP 8)。この値で通り、+1で通らなければ経路MTUが確定します。
MSS = MTU − 40(IPv4:IP 20 + TCP 20)、IPv6はMTU − 60。MTUが小さくなる機器でMSSをクランプすると、TCPが断片化の必要なセグメントを送らなくなります。
このツールについて
このMTU・MSS計算機は、回線がカプセル化されたときに実際に通せるパケットの大きさを求めます。回線のMTUを起点に、通信が実際に通るレイヤー(PPPoE、MAP-E/DS-Lite用のIPv4 over IPv6、GRE、WireGuard、VXLAN、NAT-T付きIPsec)を選ぶと、実効MTU、IPv4/IPv6それぞれのTCP MSS、レイヤーごとの内訳、Cisco IOS・YAMAHA RTX・Linuxの設定例、そして実機で確かめるためのDFビット付きpingコマンドを表示します。IPsecは概算ではなく、ESPのパディングを実際に計算しています。処理はすべてブラウザ内で完結します。
よくある質問
フレッツのMTUはなぜ1492ではなく1454なのですか?
PPPoE自体のオーバーヘッドは8バイトなので、イーサネット上の理論値は1492です。それでもNTT東西はフレッツ光の推奨値として1454を公表しており、その差は網内での追加オーバーヘッドへの余裕と説明されることが一般的です。実務では1454が安全な選択で、数バイトの効率と引き換えに、どの経路でも断片化や通信の詰まりを避けられます。フレッツのプリセットを選ぶと1454から計算を始めます。
MSSクランプとは何で、なぜ必要なのですか?
TCPは接続開始時に、それぞれの端末自身のインターフェースを基準に最大セグメントサイズを決めますが、端末は経路の先にあるトンネルのことを知りません。本来は経路MTU探索がICMPの「断片化が必要」メッセージで補正しますが、ICMPを遮断しているネットワークは多く、その結果「小さいページは開くのに、大きなダウンロードや一部のHTTPSサイトだけ止まる」という典型的な症状が出ます。MSSクランプは、MTUが小さくなるルーターで通過するSYNパケットのMSSを書き換え、大きすぎるセグメントがそもそも送られないようにします。
IPv6では何が違いますか?
違いは3つあります。ヘッダーが20バイト大きいため、MSSはMTU − 40ではなくMTU − 60になります。ルーターは途中でIPv6を断片化しないため経路MTU探索は必須で、ICMPv6の「Packet Too Big」を遮断すると通信が確実に壊れます。そしてIPv6のリンクは最低1280バイトを運べなければならず、Ciscoの設定例でIPv6のMTUを1280未満にしないのはこのためです。国内のMAP-EやDS-LiteはIPv4をIPv6の中に入れて運ぶ方式で、おなじみの1460はここから来ています。
IPsecのオーバーヘッドはなぜ一定ではないのですか?
ESPは、ペイロードと2バイトのトレーラーの合計が暗号ブロックの整数倍になるようパディングするからです。AES-CBCではブロックが16バイトなので、パケットサイズによってパディングは0〜15バイト変わり、さらに16バイトのIVと認証タグが加わります。AES-GCMは4バイト境界に揃えるだけでIVも8バイトなので、無駄が少なくなります。資料によって数値がまちまちなのはこのためで、本ツールは実際に収まる最大の内側パケットを計算します。NAT-Tを使う場合は、ESPの外側にさらに8バイトのUDPヘッダーが加わります。
入力内容はサーバーに送信されますか?
いいえ。計算も設定例の生成もブラウザ内のJavaScriptで行うため、ネットワーク設計に関する情報が端末の外に出ることはなく、ページ読み込み後はオフラインでも動作します。pingコマンドはご自身で実行するためのもので、このページから探査パケットを送ることはありません。