PMTUD(ぴーえむてぃーゆーでぃー)
最終更新:2026/4/28
PMTUDは、Path Maximum Transmission Unit Discoveryの略で、ネットワーク上の最小MTUを探索するためのプロトコルである。
ポイント
PMTUDは、IPパケットのフラグメンテーションを避けるために、送信側が経路上のMTUを動的に調整する仕組みを提供する。ICMPメッセージを利用する。
PMTUDの概要
PMTUD (Path Maximum Transmission Unit Discovery) は、IPネットワークにおいて、送信元ホストが宛先ホストまでの経路上の最小のMTU (Maximum Transmission Unit) を発見するためのプロトコルです。MTUは、ネットワーク上で送受信できるパケットの最大サイズを指します。
PMTUDの必要性
IPパケットがネットワーク上で転送される際、各ルータはパケットのサイズを確認します。パケットのサイズがルータのMTUよりも大きい場合、パケットはフラグメンテーション(分割)されます。フラグメンテーションは、ネットワークのパフォーマンスを低下させる可能性があるため、可能な限り避けることが望ましいです。
PMTUDを使用することで、送信元ホストは、宛先ホストまでの経路上の最小MTUを事前に把握し、そのMTU以下のサイズのパケットを送信することができます。これにより、フラグメンテーションを回避し、ネットワークのパフォーマンスを向上させることができます。
PMTUDの動作原理
PMTUDは、ICMP (Internet Control Message Protocol) メッセージを利用して動作します。送信元ホストは、まず、あるサイズのパケットを宛先ホストに送信します。このパケットには、DF (Don’t Fragment) フラグが設定されており、フラグメンテーションを禁止しています。
もし、パケットが経路上のルータのMTUよりも大きい場合、ルータはICMPメッセージ(Type 3, Code 4)を送信元ホストに返信します。このICMPメッセージには、ルータのMTU値が含まれています。送信元ホストは、このICMPメッセージを受信すると、パケットのサイズを小さくして再送信します。このプロセスを繰り返すことで、送信元ホストは、宛先ホストまでの経路上の最小MTUを特定することができます。
PMTUDの問題点
PMTUDは、ICMPメッセージに依存しているため、ICMPメッセージがブロックされている環境では正常に動作しません。また、一部のファイアウォールやルータは、ICMPメッセージをフィルタリングすることがあり、PMTUDの動作を妨げる可能性があります。
PMTUDの代替手段
PMTUDが利用できない環境では、パスMTUオプションを使用することができます。パスMTUオプションは、IPヘッダにMTU値を明示的に記述するものであり、ICMPメッセージに依存しません。