MTUとは
MTUは、一つのネットワーク区間で、分割せずに運べるIPパケットの最大サイズです。正式名称はMaximum Transmission Unit(マキシマム・トランスミッション・ユニット)です。
MTUは、一つのネットワーク区間で、分割せずに運べるIPパケットの最大サイズです。
MTUは回線全体に一つだけ付く値ではなく、ネットワークインターフェースやリンクごとにあります。イーサネットではIP MTUとして1500バイトが広く使われますが、トンネルや接続方式が追加のヘッダーを付けると、内側で運べるIPパケットの上限が小さくなることがあります。端から端まで運べる最大サイズは、途中で最も小さい上限に合わせる必要があります。

MTUに数えるのは、IPヘッダーとデータの合計
MTU 1500の例MTUはIPヘッダーから末尾までの合計を制限します。
MSS 1460の例IPv4ヘッダー20バイト、TCPヘッダー20バイトで追加オプションがない代表例です。
IPv4は途中で分割される場合がある
IPv4では、大きすぎるパケットをルーターが複数の断片へ分割できる場合があります。これをfragmentation(フラグメンテーション)と呼びます。宛先は断片をそろえて元のパケットへ再構成します。
しかし、分割は断片の一部が失われたときの負担を増やし、機器やフィルターとの相性問題も生じます。IPv4ヘッダーのDFフラグで分割を禁止したパケットが大きすぎる場合、ルーターは破棄し、ICMPで「分割が必要」と次ホップMTUを返します。
IPv6のルーターは、通過中のパケットを分割しない
IPv6では、転送中のルーターがパケットを分割しません。大きすぎる場合はパケットを破棄し、ICMPv6のPacket Too Big(パケット・トゥー・ビッグ)メッセージで送信元へ上限を知らせます。必要なら送信元がIPv6フラグメントヘッダーを付けて分割します。
IPv6のリンクは1280オクテット以上のMTUを提供する必要があります。経路がそれより小さい値しか運べない部分を含む場合は、リンク層の分割などによりIPv6からは1280以上として見せる必要があります。
Path MTU Discoveryは、分割せず通る大きさを探す
Path MTU Discovery(パス・エムティーユー・ディスカバリー)は、送信元が経路上で分割なしに通せる大きさを学習する仕組みです。大きすぎる通知を受けると推定値を下げ、以後のパケットサイズを調整します。
必要なICMPやICMPv6通知が途中で不適切に遮断されると、小さな通信は成功するのに大きなデータだけ止まるPath MTU black hole(パス・エムティーユー・ブラックホール)が起きる場合があります。MTUを小さくすれば常に速くなるわけではなく、余計なパケットとヘッダーが増えるため、経路と方式に合った値を使います。
仕様の確認資料:RFC 1191「Path MTU Discovery」、RFC 8200「Internet Protocol, Version 6」、RFC 8201「Path MTU Discovery for IP version 6」