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)です。
PCはまず大きなパケット(DFビット=フラグメント禁止をセット)を送信し、経路上のルーターから「Fragmentation Needed」ICMPエラーが返ってきたら、パケットサイズを下げて再送します。
MSS(Maximum Segment Size)との違い
MTUと混同しやすい用語にMSS(Maximum Segment Size)があります。
| 用語 | 対象 | 計算 |
|---|---|---|
| MTU | IPパケット全体 | Ethernetの場合1500バイト |
| MSS | TCPペイロード部分のみ | MTU - IPヘッダ(20) - TCPヘッダ(20) = 1460バイト |
関連する規格・RFC
| 規格・RFC番号 | 内容 |
|---|---|
| RFC 791 | IPフラグメンテーションの仕様 |
| RFC 1191 | Path MTU Discovery(IPv4) |
| RFC 8201 | Path MTU Discovery(IPv6) |
| IEEE 802.3 | Ethernetフレームの最大長(1500バイト)の定義 |
関連用語
- ジャンボフレーム — MTUを9000バイトに拡張した設定
- フラグメンテーション — MTU超過時のパケット分割
- パケット・フレーム・セグメント — MTUが適用されるデータ単位
- トンネリング — VPN等でMTUが下がるメカニズム