用語辞典・速度・品質

ホップ

ホップとは

ホップは、送信元から宛先までの経路で通過するルーターなどの一段階です。英語のhop(ホップ)には「跳ぶ」という意味があり、IPパケットが次の経路制御装置へ転送されるたびに一段進んだと数えます。

通常はルーターを一台通る区切りを指します。ケーブル一本の長さ、無線の中継回数、Webページ内のリンク移動を数える言葉ではありません。

ホップ数は経路の段数です。物理距離、応答時間、帯域幅、通信品質を直接表す点数ではありません。

端末から複数のルーターを経て宛先へ届くまでを、転送の境界ごとに数える一段ごとに寿命を減らし、転送ループが永遠に続くのを防ぐ
左の端末から複数のルーターを一段ずつ通り右のサーバーへ届く経路と、各段階で小さくなる寿命を示したホップのピクトグラム図解
図1一つのルーターに複数の物理回線や内部処理があっても、IPから見た転送境界として一段に見える場合があります。

tracerouteは、寿命を一段ずつ伸ばして経路の手掛かりを集める

短い寿命のパケットを送り、どの中継点で尽きたかを応答から知る表示されるのは経路そのものの完全な地図ではなく、届いた応答の列
  1. 上限1
    最初のルーターで寿命が尽きる

    転送せず、ICMP Time Exceededを送信元へ返すことがある

  2. 上限2
    二番目のルーターまで進む

    一段目で値が減り、二段目で尽きて別の応答が返る

  3. 上限3
    さらに次の中継点を探す

    同じ上限で複数回送り、応答時間や経路分散の手掛かりを得る

  4. 宛先
    目的の機器から応答を受ける

    方式に応じてICMP、UDP到達不能、TCP応答などを終点の印にする

図2途中が「*」でも、その先へ通信できる場合があります。そのルーターが診断用応答を返さない、または戻りの応答だけが失われた可能性があります。

IPv4はTTL、IPv6はHop Limitを一段ごとに減らす

IPv4ヘッダーにはTTL(Time To Live/タイム・トゥ・リブ)があります。歴史的には秒の概念を持ちますが、現在のルーターは転送時に少なくとも1減らし、0になるパケットを破棄します。IPv6では役割を明確にしたHop Limit(ホップ・リミット)を使います。

この仕組みは、誤った経路設定でパケットがループしても永遠に回り続けないようにします。破棄したルーターは通常、ICMPまたはICMPv6のTime Exceededを送信元へ返しますが、必ず返るとは限りません。

tracerouteの一行は、往復した診断通信の結果である

各行に表示される時間は、そのルーターまでの片道時間ではなく、試験通信を送りICMPなどの応答が戻るまでの往復時間です。応答パケットの帰路は、調べている往路と異なることがあります。

中継ルーターは実データの転送を優先し、診断用応答を低い優先度にする場合があります。ある行だけ遅くても、その後の行が通常なら、その中継点で実データが同じだけ遅延したとは断定できません。

見えないホップと、IP上のホップに数えない装置がある

同じIPネットワーク内でフレームを転送するスイッチは、通常TTLやHop Limitを減らさないためtracerouteの一段として見えません。MPLSトンネル、VPN、事業者内の転送も、設定によって内部の段数が隠れることがあります。

反対に、仮想ルーターやトンネル終端が一つの筐体内にあっても、IP上では複数段に見えることがあります。表示行数を物理装置数へそのまま置き換えません。

同じ宛先でも、試行ごとに別の経路を通ることがある

ルーターはECMPなどで複数の同コスト経路へ通信を分散できます。送信元・宛先のIPアドレス、ポート、プロトコルなどからフローを分類するため、tracerouteの試験通信条件が変わると中継点も変わり得ます。

経路制御の変更、障害回避、Anycast、モバイル網の出口変更でも道は変わります。一回の結果はその時点・その試験通信条件の観測であり、固定された設計図ではありません。

ホップ数の少なさだけで品質を判断しない

3ホップでも衛星回線や混雑した細い回線を含めば遅くなります。20ホップでも近距離の高速な事業者網なら短いRTTになる場合があります。各区間の物理距離、媒体、容量、待ち行列が体感を決めます。

宛先IP、IPv4・IPv6、試験通信方式、日時、複数回の結果を保存し、最後まで届くか、変化がどこから継続するかを見ると有用です。途中の一行だけを故障箇所と決めつけません。

転送動作の確認資料:RFC 1812「Requirements for IP Version 4 Routers」RFC 8200「Internet Protocol, Version 6」RFC 4443「ICMPv6」

関連用語