web-dev-qa-db-ja.com

pingおよびtracerouteのパケットサイズ

Tracerouteパケットのデータ長が64バイトであるのに、pingパケットのデータ長が32であるのはなぜですか?その理由はありますか?または、この違いに利点はありますか?

8
Baran

現実はもう少し複雑です。

  1. Pingとtracerouteの両方に、パケットサイズを変更するオプションがあります。

    • pingのオプションは、ペイロードサイズを変更します。ランニング ping -s 1 www.google.comは、合計29バイトのパケット(20バイトのIPヘッダー+ 8バイトのICMPヘッダー+ 1バイトのデータ)でgoogleにpingします。

    • traceroteのオプションは、totalサイズを変更します。例:ランニング traceroute www.google.com 80は、合計サイズが80バイトのUDPパケットを送信します(20バイトのIPヘッダー+8バイトのUDP + 52バイトのデータ)。

  2. Pingとtracerouteのバージョンが異なると、デフォルトも異なります。ただし、それらはすべて100バイト未満の範囲であり、正確なバイト数は重要ではありません。 pingのデフォルトが32の場合、パケットの合計サイズは60バイトであり、tracerouteのサイズと大差ありません。

  3. パケットの合計サイズは、IPv4またはIPv6を使用しているかどうか、IPオプションセットなどによって異なる場合があります。

  4. Pingとtracerouteの両方のパケットサイズを増やす最も一般的な理由は、MTUの問題をデバッグすることです。それ以外の場合は、デフォルトで問題なく動作します。

8
haimg