◆ Path MTU Discovery
MTUとは一回のデータ転送で送信可能なIPデータグラムの最大値のことです。この値は固定で
設定する方法と、Path MTU Discoveryによる自動検出により設定される方法の2つがあります。
Path MTU Discovery(PMTUD)は、経路上にあるリンクの最小MTU値を検出して、送信元へ
ICMP(type 3 code 4)でその最小MTU値の情報を送信して、MTUサイズを自動修正させます。
◆ Path MTU Discovery(RFC1191)の動作
ルータは、DFビットがセットされた着信パケットが大きすぎた場合は、そのパケットを破棄して
ICMP(Type 3 Code 4)を送信元ホストへ送信します。そのICMPを受信したホストはMTU値を
自動調整して再度パケットの転送をして、正常に通信することができるようになります。
なお、ルータは着信パケットが大きすぎてもDFビットが設定されていない場合はフラグメントして
パケットを送信することができます。ただしその場合、その処理のためにスループットが落ちます。
◆ Path MTU Discoveryブラックホール(RFC2923)の動作
経路上に異なるMTU値が存在していても、冒頭の解説通りPath MTU Discovery により通信する
ことができるようになりますが、適正なMTU値を伝達するためのICMP(type3 code4)パケット
を送信元に送信しない設定や、途中の経路でICMPがフィルタリングされている場合には、以下の
ような問題が発生します。以下のような状態を、Path MTU Discovery Black Holeといいます。
このPMTUDブラックホールの問題は、いくつかの解決方法があるので次回はそれを紹介します。
|