【えむてぃーゆー】

MTU(最大転送単位) とは?

最終更新:
💡 リンクで送れる、パケットのサイズ上限

ネットワークのリンクで送れるパケットの最大サイズ。IPではIPヘッダーとデータを含む。経路全体では、通過するリンクのMTUの最小値が上限になる。超えたパケットの扱いはIPv4・IPv6や分割禁止の指定によって異なる。

📌 このページのポイント
上限を超えたパケットの扱いは、条件による 📦 IPv4パケット 2000バイト 📡 ルーター 次のMTU:1500 DF=0:分割できる 1500バイト 520バイト DF=1:分割禁止 ✕ 破棄 ICMPで送信元へ通知 IPv6のルーターは分割しない 大きすぎれば破棄し、ICMPv6で通知
IPv4で2000バイトのIPパケットをMTU1500のリンクへ転送する模式例。各IPヘッダー20バイト、オプションなしとする。分割後にもヘッダーが付くため合計は2020バイト。箱の幅は縮尺ではない。矢印は転送と条件による分岐。IPv6ではルーターで分割せず、必要な分割は送信元が行う。
ひよこ ひよこ
MTUって、送れるファイルの大きさなの?
ペンギン先生 ペンギン先生
ファイル全体ではなく、リンクで送れるパケットのサイズ上限だよ。IPパケットならIPヘッダーとデータを含める。大きなファイルも、小さなパケットに分けて送れるんだ。
ひよこ ひよこ
上限を超えたパケットは、必ず分割する?
ペンギン先生 ペンギン先生
IPv4では分割できる場合もあるけれど、DFという分割禁止ビットが立っていると、ルーターは破棄してICMPで通知するよ。「超えたら必ず分割」とは言えないんだ。
ひよこ ひよこ
IPv6ではどうなるの?
ペンギン先生 ペンギン先生
途中のルーターは分割しないよ。大きすぎるパケットは破棄し、ICMPv6のPacket Too Bigで通知する。必要な分割は送信元が行う仕組みなんだ。
ひよこ ひよこ
1500バイトなら、データだけで1500バイト送れる?
ペンギン先生 ペンギン先生
イーサネットの標準的なIP MTUでは、IPヘッダーも合わせて1500バイトだよ。TCPなどのヘッダーもあるので、アプリが使えるデータ部分はそれより小さくなる。イーサネットのヘッダーまで含めたフレーム全体の長さとは区別するんだ。
ひよこ ひよこ
VPNを使うと、何が変わるの?
ペンギン先生 ペンギン先生
カプセル化でヘッダーが追加されるため、その分を含めて外側の経路に収める必要があるよ。具体的なサイズは方式と構成による。経路上のMTUの最小値をパスMTUと呼び、送信サイズを考える手がかりにするんだ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「MTU」って出てきたら「リンクで送れるパケットの最大サイズ」と思えばだいたいOK!
📖 おまけ:英語の意味
「Maximum Transmission Unit」 = 最大転送単位
💬 Transmission(送信)のUnit(単位)で、1回に送れる最大量を表しているんだよ

参考資料

← 用語集にもどる