どーも!marusukeです!
tracepathコマンドを実行したときに表示されるpmtu
:Path MTUについてです!
Path MTUとは?
Path MTU (PMTU) とは、送信元から宛先までのネットワーク経路上で、通過するすべてのネットワークデバイスが許容する最大のパケットサイズ(MTU: Maximum Transmission Unit)のことです
ネットワーク上では、パケットのサイズが大きすぎると途中のルーターやデバイスで処理できない場合があります。そのため、送信元が経路上の最小MTUを考慮してパケットサイズを調整する必要があります
例:tracepathとPath MTU
tracepath
コマンドを実行した例です
出力には経路上のMTU情報が含まれており、次のように表示されます
tracepath example.com
1?: [LOCALHOST] pmtu 1500
1: router.local 0.234ms
2: 192.168.1.1 1.432ms
3: 10.0.0.1 4.678ms
4: 203.0.113.1 12.345ms
5: example.com 15.678ms reached
Resume: pmtu 1400 hops 5 back 4
この例では、pmtu 1500
で経路上の最大パケットサイズが1500バイトに設定されており、最後にpmtu 1400
が表示されています。これは、経路上のあるデバイスが1400バイトまでしか許容しないことを意味します
Path MTUが重要な理由
- 断片化の防止
大きすぎるパケットは、途中のルーターで分割(フラグメント化)される場合があります。パケットの分割が発生すると、通信の効率が低下したり、パケットロスが発生する可能性があります。Path MTUを利用することで、断片化を回避できます - 通信効率の向上
最適なパケットサイズを選択することで、通信の効率を高めることができます。パケットが大きすぎる場合はフラグメント化が起こり、小さすぎる場合はヘッダー部分のオーバーヘッドが増加します - ネットワークの安定性
正確なPath MTUを利用することで、途中経路での通信トラブルを減らし、より安定した通信が可能になります
Path MTU Discovery (PMTUD)
Path MTU Discovery(Path MTUを発見する仕組み)は、送信元が宛先までの経路上で使用できる最小MTUを自動的に検出するメカニズムです。この仕組みでは、送信元が特定のパケットサイズを試行し、経路上のデバイスがそのサイズを許容するかを確認します
- IPv4では、Don’t Fragment (DF) フラグを利用して断片化を防ぎつつ、許容されない場合にはICMPエラーメッセージ(
Destination Unreachable: Fragmentation Needed
)を受け取ることでMTUを調整します - IPv6では送信元が適切なパケットサイズで送信する必要があるため、送信元は常にPath MTUを意識する必要があります
以上です!
ここまで読んでいただきありがとうございました!
コメント