ネットワークの基本

MTU えむてぃーゆー

MTUMaximum Transmission UnitフラグメンテーションPath MTU Discoveryジャンボフレーム
MTUについて教えて

簡単に言うとこんな感じ!

ネットワークで一度に送れるデータの最大サイズのことだよ。引越しトラックの「最大積載量」みたいなもので、これを超えるデータは分割して送るんだ。MTUが合わないと通信トラブルの原因になることもあるよ!


MTUとは

MTU(Maximum Transmission Unit:最大転送単位)は、ネットワークインターフェースが一度に送受信できる最大パケットサイズ(バイト数)です。Ethernetでは一般的に1500バイトがMTUとして設定されています。

MTUより大きなデータを送る場合、IPが自動的に複数のパケットに分割(フラグメンテーションして送信し、受信側で再組み立てします。ただし分割・再組み立ては処理オーバーヘッドが発生するため、できるだけ分割しないほうが効率的です。

MTUが正しく設定されていない場合や、経路上のMTUより大きなパケットが流れると、通信が途中で止まる・速度が極端に遅くなるなどのトラブルが発生します。VPNトンネリング環境ではヘッダが付加されるため実効MTUが下がり、この問題が特に起きやすくなります。


代表的なMTU値

ネットワーク種別MTU
Ethernet(標準)1500バイト
Wi-Fi(IEEE 802.11)2304バイト(実際は1500で運用が多い)
ジャンボフレーム9000バイト(設定次第)
PPPoE(光回線等)1492バイト(8バイトのPPPoEヘッダ分減)
VPN(IPsec等)1400〜1450バイト程度(ヘッダオーバーヘッド分減)
ループバック65536バイト

歴史と背景

  • 1980年:EthernetのMTUが1500バイトに設定(IEEE 802.3)
  • 1990年代:MTUミスマッチによるVPN通信トラブルが増加
  • 1996年:Path MTU Discovery(PMTUD)がRFC 1191で標準化
  • 1998年:ジャンボフレーム(9000バイト)がギガビット環境向けに登場
  • 現在:クラウド・コンテナ環境でのMTU管理がシステム設計の重要要素に

Path MTU Discovery(PMTUD)

経路上の最小MTUを自動検出する仕組みがPath MTU Discovery(PMTUD)です。

Path MTU Discovery の仕組み PC ルーター MTU=1500 ルーター MTU=1400 ①1500バイト送信 ②ICMP「大きすぎる」通知 ③1400バイトに調整して再送 → 成功

PCはまず大きなパケット(DFビット=フラグメント禁止をセット)を送信し、経路上のルーターから「Fragmentation Needed」ICMPエラーが返ってきたら、パケットサイズを下げて再送します。


MSS(Maximum Segment Size)との違い

MTUと混同しやすい用語にMSS(Maximum Segment Size)があります。

用語対象計算
MTUIPパケット全体Ethernetの場合1500バイト
MSSTCPペイロード部分のみMTU - IPヘッダ(20) - TCPヘッダ(20) = 1460バイト

関連する規格・RFC

規格・RFC番号内容
RFC 791IPフラグメンテーションの仕様
RFC 1191Path MTU Discovery(IPv4)
RFC 8201Path MTU Discovery(IPv6)
IEEE 802.3Ethernetフレームの最大長(1500バイト)の定義

関連用語