ホップ (ネットワーク)

コンピュータネットワークにおいて、ホップ(hop)とは、送信元と送信先の間の経路の部分を指す用語である。データパケットは、送信元から送信先まで送られる間にブリッジ、ルータ、ゲートウェイといったを通過する。パケットが次のネットワーク機器に渡されるたびに、ホップが発生する。ホップ数(hop count)は、データが送信元と送信先の間で通過しなければならない中間デバイスの数を表す。

ホップごとにデータの蓄積と転送などの待ち時間が発生するため、発信元と送信先の間のホップ数が多くなると、ネットワークのリアルタイム性能が低くなる。

 ホップ数 
ホップ数(hop count)とは、データが送信元と送信先の間で通過する必要がある中間ネットワーク機器の数のことである。ホップ数は、2つのホスト間の距離の大まかな尺度である。「ホップ数が n である」とは、送信元ホストと送信先ホストとが n 台のネットワーク機器によって隔てられていることを意味する。

Internet Protocol(IP)などのレイヤ3ネットワークでは、データパス上の各ルータがホップを構成する。ただし、ホップ数は、実際のホップの速度や負荷、信頼性、遅延などを考慮に入れたのではなく、単に機器数の合計を表したものであるため、ホップ数だけで最適なネットワークパスを決定することはできない。それにもかかわらず、Routing Information Protocol(RIP)などの一部のルーティングプロトコルは、ホップ数を唯一のとして使用する, Routing Information Protocol, C. Hendrik, The Internet Society (June 1988)。

ルータはパケットを受信すると、パケット内のtime to live(TTL)を1減らしてから転送する。ルータは、受信した時点でTTL値が0になっているパケットは全て破棄する。これにより、ルーティングエラーが発生した場合にパケットがネットワーク内で際限なく転送され続けるのを防ぐ。ルータはホップ数を管理することができるが、イーサネットハブやブリッジなどの他の種類のネットワーク機器では管理できない。

 hop limit 
IPv4におけるtime to live(TTL)は、IPv6ではhop limit（ホップリミット、ホップ制限）と呼ばれ、パケットが廃棄されるまでに通過することができるホップ数の制限を指定する。ルータは受信したパケットのhop limitフィールドを減算してから転送する。ルータはhop limitフィールドが0以下のパケットを転送しない。これにより、パケットが永久にネットワーク内で転送され続けるのを防ぐ。

 next hop 
next hop（ネクストホップ）は、パケットが最終的な送信先へのパスに沿って転送される次のゲートウェイである。ルーティングテーブルには通常、最終的な送信先のIPアドレスと、そこへ到達するためのパスに沿った次のゲートウェイのIPアドレスが含まれている。与えられたゲートウェイは、目的地への完全なパスではなく、パスに沿った次の1つのゲートウェイだけである。これにより、ルーティングテーブルのサイズを縮小することができる。

診断
pingコマンドやtracerouteコマンドを使用して、あるホストから別のホストに到達するために必要なホップ数を確認できる。

ホップ数は、ネットワーク内の障害を発見したり、ルーティングが本当に正しいかどうかを発見するのに使用することができる。pingなどのネットワークユーティリティを使用して、特定の宛先へのホップ数を判断できる。pingは、ホップ数用に予約されたフィールドを含むパケットを生成する。

関連項目
Internet Control Message Protocol
ルーティング
ping
traceroute

 脚注 

参考文献
Comer, Douglas E. Internetworking with TCP/IP, fifth edition. Pearson Prentice Hall,2006. 

Category:ネットワーク技術
Category:ルーティング