ホップ(Hop)とは
コンピュータネットワークにおいて、ホップとは、データパケットが送信元から宛先まで伝送される際に経由する、ネットワーク機器間の経路の一区間を指します。パケットは、送信元から宛先までの間に、ブリッジ、ルータ、
ゲートウェイなどの様々なネットワーク機器を通過します。この時、パケットが次のネットワーク機器に渡される度に、ホップが発生します。ネットワークの経路を理解する上で、ホップは重要な概念となります。
ホップ数(Hop Count)
ホップ数とは、データが送信元から宛先までに通過する必要がある中間ネットワーク機器の数を表します。ホップ数は、二つのホスト間の距離を測る大まかな指標として用いられます。例えば、「ホップ数がnである」とは、送信元と宛先のホストがn台のネットワーク機器によって隔てられている状態を意味します。
レイヤ3ネットワーク(IPネットワークなど)では、データパス上の各ルータがホップを構成します。ただし、ホップ数はあくまで通過する機器の数を合計したものであり、実際のホップの速度、負荷、信頼性、遅延などは考慮されていません。そのため、ホップ数だけで最適なネットワークパスを判断することは難しい場合があります。しかし、RIP(
Routing Information Protocol)など一部のルーティングプロトコルでは、ホップ数を唯一のメトリックとして使用することがあります。
ルータはパケットを受信すると、パケット内のTTL(Time to Live)値を1減算してから転送します。そして、TTL値が0になったパケットは破棄されます。これにより、ルーティングエラーが発生した場合に、パケットがネットワーク内で無限に転送され続けるのを防ぐことができます。ルータはホップ数を管理できますが、イーサネットハブやブリッジなどの他のネットワーク機器では管理できません。
ホップリミット(Hop Limit)
IPv4におけるTTLは、
IPv6ではホップリミット(Hop Limit)と呼ばれます。ホップリミットは、パケットが破棄されるまでに通過できるホップ数の上限を指定します。ルータは受信したパケットのホップリミットフィールドを減算してから転送します。ホップリミットフィールドが0以下のパケットは、ルータによって転送されません。これにより、パケットがネットワーク内で永久に転送され続けるのを防ぐことができます。
ネクストホップ(Next Hop)
ネクストホップとは、パケットが最終的な宛先へ向かう際に、次に転送される
ゲートウェイのことです。ルーティングテーブルには、通常、宛先
IPアドレスと、そこへ到達するためのネクストホップの
IPアドレスが記述されています。各
ゲートウェイは、目的地への完全な経路ではなく、経路上の次の1つの
ゲートウェイのみを知っています。これにより、ルーティングテーブルのサイズを縮小することができます。
ホップ数の診断
pingコマンドやtracerouteコマンドを使用することで、あるホストから別のホストへ到達するために必要なホップ数を確認することができます。ホップ数は、ネットワーク内の障害を発見したり、ルーティングが正しいかどうかを確認するために役立ちます。pingなどのネットワークユーティリティを使うことで、特定の宛先へのホップ数を把握できます。pingは、ホップ数用に予約されたフィールドを含むパケットを生成します。
関連事項
参考文献
- - Comer, Douglas E. "Internetworking with TCP/IP, fifth edition." Pearson Prentice Hall, 2006. ISBN 0-13-187671-6