PMTUD 【Path MTU Discovery】 経路MTU探索 / パスMTU探索
概要
PMTUD(Path MTU Discovery)とは、IPネットワーク上で特定の相手までの経路上の最小のMTUを調べること。IPデータグラムを分割せず効率的に伝送するため、データ伝送の開始前に実施される。MTU(Maximum Transmission Unit)は機器が一度に送信できる最大のデータ量で、これを超えるデータを送りたい場合は複数のフレームやパケットに分割(断片化、フラグメンテーション)してそれぞれ別に送信される。
インターネットのように通信機器がバケツリレー式に転送を繰り返すネットワークでは、伝送経路上で様々な機器がパケットの転送に携わるため、送信側が大きなMTUを設定してパケットを送出すると、途中で断片化が繰り返されて伝送効率や通信の成功率が低下してしまう。
PMTUDでは経路上の様々な通信回線・中継機器のMTUのうち最小のものを調べる。この値を「経路MTU」(PMTU:Path MTU、パスMTU)と呼び、その値より小さいサイズのパケットなら、経路上のどの回線でも分割されないため、効率的にデータ転送を行うことができる。
具体的には、送信側でMTU候補ちょうどの大きさのIPデータグラムを用意し、分割を禁止(DFビットを1)に設定して送信を試みる。経路途上でそれより小さなMTUの機器に遭遇すると、分割が禁止されているためデータグラムは破棄され、伝送に失敗したことを送信元にICMPメッセージで通知してくる。
ICMPメッセージには通過できなかった機器のMTU値が記載されているため、これを新たなMTUの上限とする。このプロセスを何度も繰り返し、相手方までエラーを起こさずデータグラムが届くようになれば、経路上のMTUの最小値が分かり、これを経路MTUとして採用する。
(2023.7.16更新)