ネットワークを整える
中級MTU・MSSを整える。
= 一度に流せるデータの大きさの上限
ネットワークのどこの話? インターネットや VPN の経路で、1 回に運べるデータの大きさの話です。IP と TCP の境目にあたります。
① 重ねるほど使える大きさが縮む
回線の MTU と、重ねる包み紙を選ぶと、残る MTU と MSS を出します。MSS は TCP が 1 回に運べる中身の大きさです(MTU − IP ヘッダ − TCP ヘッダ)。
使える MTU
—
MSS(IPv4 の TCP)
—
MSS(IPv6 の TCP)
—
- PPPoE:PPPoE のヘッダ 6B + PPP 2B。家庭向けの回線で使われる
- GRE:外側の IPv4 ヘッダ 20B + GRE ヘッダ 4B
- IPsec(ESP・トンネルモード):暗号・認証の方式で 50〜73B ほどに変わる。ここでは目安として 60B
- VXLAN:外側の Ethernet 14B + IP 20B + UDP 8B + VXLAN 8B
- IPv4 と TCP のヘッダは各 20 バイト(IPv6 のヘッダは 40 バイト)として引いています。TCP オプション(タイムスタンプなど)があるとさらに減ります。
② 大きすぎるデータは何個に分かれる?
IPv4 は、MTU を超えるパケットを小分け(フラグメント)にして送れます。小分けの位置は「8 バイト単位」の番号(オフセット)で表します。
| # | オフセット(8B単位) | データ部 | 全長 | MF ビット |
|---|
MF(More Fragments)は「まだ続きがある」の印で、最後の 1 個だけ 0 です。データ部は最後以外 8 の倍数にそろえます。分割された荷物は、受け取り側が全部そろうまで組み立てられないため、1 個でも失われると全部やり直しになります。
③ 「VPN だけ一部のサイトが開かない」を再現する
DF ビット(分割禁止の印)つきの ping を、大きさを変えて試すと、経路の MTU が分かります。
定番の原因
TCP の通信は DF ビットを立てて送ります。途中に MTU の小さい区間(VPN など)があると、そこを通れない大きなパケットは捨てられ、ルーターが「大きすぎる」と ICMP(Type 3・Code 4)で送り主へ知らせます。送り主はこれを受けて小さく送り直します(これが PMTUD・経路 MTU 探索)。ところが、ファイアウォールが ICMP をすべて止めていると、この知らせが届かず、大きなパケットだけが永遠に消えます。小さい通信(接続の開始)は通り、大きいデータが必要な画面だけ開かない、という症状になります。
手順:大きい値(1472 など)から始め、「分割が必要」と返ってきたら小さくしていき、通る最大値を探します。その値に 28(IP ヘッダ 20 + ICMP ヘッダ 8)を足したものが経路の MTU です。直し方:ICMP の Type 3 を通す、または VPN 装置で MSS を小さく書き換える(Cisco IOS のインターフェースでは ip tcp adjust-mss 1360 など)。
📘 CCNA との関係
MTU・MSS・PMTUD そのものは CCNA 200-301 の出題範囲の中心ではありません。ただし MTU の既定値 1500、IPv4 のフラグメント、ICMP のしくみ(ping・traceroute)、ヘッダ構造(TCP・IP)の理解に直結します。VPN は IPsec VPN、VXLAN は VXLAN のページも参照。
たとえると
宅配便の「箱の大きさの上限」です。普段は 1500 バイトの箱まで送れます。ところが VPN を使うと、荷物を別の箱で包み直すため、包み紙(ヘッダ)のぶん中身に入れられる量が減ります。上限を超えた荷物は、途中で小分けにされるか、「大きすぎます」と突き返されます。突き返しの連絡(ICMP)が途中で止められていると、送り主は理由が分からないまま、荷物が消えたように見えます。
CCNA の範囲外寄りですが、「VPN にすると一部のサイトだけ開かない」という実務で頻出する不具合の原因です。
このツールは、ネットワーク全体図のここ
- 自分の端末
- 家・会社の中
- 出入口
- 建物の外
- 相手のサーバー
- データセンター
- 見る・動かす
建物の外の道(WAN・インターネット)— 道を通れる荷物の大きさの上限(MTU)の話です。
建物の外の道は、全国の道路と運送会社の中継所のような場所です。OSI では第2層(データリンク)・第3層(ネットワーク)。
このページに出てくる略語(7語)
- MTU (Maximum Transmission Unit) — 1回で運べる荷物(パケット)の大きさの上限
- MSS (Maximum Segment Size) — TCP で1回に運ぶデータ部分の大きさの上限(MTU から逆算する)
- PMTUD (Path MTU Discovery) — 道の途中でいちばん小さい MTU を、送りながら探る仕組み
- DF (Don't Fragment) — 「この荷物は分割しないで」と IP ヘッダーに付ける印
- PPPoE (Point-to-Point Protocol over Ethernet) — イーサネットの上で ISP につなぐ接続方式。MTU が少し小さくなる
- FTTH (Fiber To The Home) — 光ファイバーを家まで引き込む接続方式
- GRE (Generic Routing Encapsulation) — 荷物を別の荷物の中に入れて運ぶトンネルの方式(暗号化はしない)
このツールについて
ネットワークに一度に流せるデータの大きさの上限が MTU です。VPN などで線を重ねるほど、使える大きさは小さくなります。
MTU から MSS を出し、VPN などを重ねると使える大きさが縮むしくみを図で確認。「VPN だけ開かないサイトがある」原因の ICMP と DF ビットは ping・traceroute とあわせて。
主な機能
- MTU から MSS を計算(IPv4・IPv6)
- PPPoE・GRE・IPsec・VXLAN を重ねる積み木の図
- フラグメントの個数とオフセット(8B単位)
- DFつき ping で経路 MTU を探す手順
- ICMP遮断でPMTUDが働かない症状の再現
よくある質問
Q. MTU と MSS の違いは何ですか?
A. MTU は IP パケット全体の上限(既定 1500)、MSS は TCP が 1 回に運べる中身の上限です。MSS = MTU − IP ヘッダ 20 − TCP ヘッダ 20 で、IPv4 なら 1460 になります。
Q. VPN にすると一部のサイトだけ開かないのはなぜですか?
A. VPN の包み紙で MTU が小さくなるのに、ICMP が止められて PMTUD が働かず、大きなパケットだけが捨てられるためです。MSS を小さく書き換えるか ICMP Type 3 を通すと直ります。
Q. PPPoE の MTU はなぜ 1492 ですか?
A. PPPoE のヘッダが 8 バイトあり、1500 − 8 = 1492 になるためです。MSS は 1452 になります。
Q. DF ビットとは何ですか?
A. IPv4 ヘッダの「分割禁止」の印です。立っているパケットは小さくできない区間で捨てられ、ルーターが ICMP で知らせます。TCP は通常これを立てて送ります。
Q. IPv6 では途中で分割されないのですか?
A. されません。IPv6 では途中のルーターは分割せず、送り主が小さく送り直します。最小の MTU は 1280 バイトです。
入力値はURLの「#」以降に入るためサーバーには送信されません。リンクを開くと同じ状態を復元します。
続けて整える
この内容は、研修でも扱っています
totonoe.tech を運営する株式会社Koinobori は、法人向けの研修サービス「NOBORIBA®」も運営しています。 ここで手を動かした内容を、講師から教わる形の研修です。このページの道具は無料のまま、登録もいりません。