
有線コンピュータネットワークでは、パケットが1つのネットワークセグメントから次のセグメントに渡されるときにホップが発生します。データパケットは、送信元と宛先の間を移動する際にルータを通過します。ホップ数とは、データが送信元から宛先に渡される際に通過するネットワークデバイスの数を指します(ルーティングプロトコルによっては、送信元/宛先が含まれる場合があり、つまり最初のホップはホップ0またはホップ1としてカウントされます[ 1 ])。
ストアアンドフォワードなどの遅延は各ホップで発生するため、送信元と宛先の間のホップ数が多いほど、リアルタイム性能は低下する。
有線ネットワークでは、ホップ数とは、送信元と宛先の間でデータが通過するネットワークまたはネットワークデバイスの数を指します(ルーティングプロトコルによっては、送信元/宛先が含まれる場合があり、つまり、最初のホップはホップ 0 またはホップ 1 としてカウントされます[ 1 ])。したがって、ホップ数は、2 つのホスト間の距離の概算値です。1 オリジン ホップ カウントを使用するルーティング プロトコル[ 1 ] (RIP など) の場合、ホップ数がnということは、送信元ホストと宛先ホストの間にn 個のネットワークが存在することを意味します。 [ 1 ] [ 2 ] DHCP などの他のプロトコルでは、「ホップ」という用語は、メッセージが転送された回数を指すために使用されます。[ 3 ]
インターネットプロトコル(IP)などのレイヤ3ネットワークでは、データパス上の各ルータがホップを構成します。しかし、この指標だけでは、特定のホップの速度、負荷、信頼性、遅延を考慮せず、単に総数だけを考慮するため、最適なネットワークパスを決定するのに役立ちません。それにもかかわらず、ルーティング情報プロトコル(RIP)などの一部のルーティングプロトコルは、ホップ数を唯一の指標として使用します。[ 4 ]
ルーターはパケットを受信するたびに、パケットの有効期限(TTL)をデクリメントして変更します。TTL値がゼロのパケットは破棄されます。これにより、ルーティングエラーが発生した場合にパケットがネットワーク内を延々と往復するのを防ぎます。ルーターはホップ数を管理できますが、イーサネットハブやブリッジなどの他の種類のネットワーク機器は管理できません。
IPv4ではTTL(Time to Live ) 、IPv6ではホップ制限と呼ばれるこのフィールドは、パケットが破棄されるまでに許容されるホップ数の上限を指定します。ルーターは、IPパケットを転送する際に、それぞれのTTLまたはホップ制限フィールドをデクリメントすることでパケットを変更します。結果としてフィールド値が0以下のパケットは転送されません。これにより、パケットが無限ループに陥るのを防ぎます。
ネットワーク デバイスを構成する際、ホップはネクスト ホップを指す場合があります。[ 5 ]ホップがネットワーク トラフィックを転送する場合、ネクスト ホップはローカル ホップが最終宛先への次の要素とみなすものです。ルーティング テーブルは通常、ネクスト ホップがわかっている可能性のある宛先ネットワークまたはIP アドレスのリストで構成されます。ネクストホップ ルーティングまたはネクスト ホップ転送では、ネクスト ホップ情報のみを保存することで、ルーティング テーブルのサイズが小さくなります。特定のゲートウェイは、宛先への完全なパスではなく、パス上の 1 つのステップのみを認識します。ネクスト ホップが不明な場合、ホップはネットワークの種類に応じてパケットをサイレントに破棄するか、エラーを返すことがあります。コンシューマー ネットワークのデバイスには、トラフィックがローカル ネットワークに到達するか、インターネット サービス プロバイダに転送されるだけであるため、多くの場合、ローカル ネットワークへのルートとデフォルト ゲートウェイのみが提供されます。[ 6 ]ルータは、異なるネットワーク間でトラフィックを転送できるように、複数のルートを必要とします。[ 7 ]実際には、ルートはネットマスクによるアドレス割り当てで暗黙的に設定されるか、 routeなどのツールを使用した手動割り当て、またはDHCPやルーティングプロトコルなどの構成プロトコルを使用した動的設定のいずれかで設定されます。
イーサネットをリンク層として使用するTCP/IPネットワークでは、宛先は常に IP アドレスですが、ネクスト ホップは技術的には同じアドレス ファミリである必要はありません。パケットはリンク層で転送する必要があるため、ネクスト ホップはMAC アドレスなどのリンク層アドレスに解決されるだけで十分です。たとえばLinuxでは、ネクスト ホップは IP アドレスまたはインターフェイスのいずれかである必要があります。宛先アドレスとネクスト ホップのアドレス ファミリは一致する必要はありません。そのため、IPv4 トラフィックを IPv6 ネットワークで転送したり、その逆も可能です。アドレスが指定されていない場合は、宛先はローカル リンク上に存在すると想定され、そうでない場合はネクスト ホップが使用されます。その後、IPv6の場合はNDPに、IPv4の場合はARPに、それぞれアドレスが渡され、パケットをネットワーク スタック上で転送するために必要なリンク層アドレスに解決されます。その他のシナリオでは、リンク層解決に、パケットを送信するピアを決定する必要がある仮想プライベート ネットワークなどの異なる方法が必要になる場合があります。転送に共通するのは、次のホップが現在のホップと論理的に接続されている必要があり、それによって送信元と宛先の間で途切れることのないチェーンが構築されるという点です。論理的な接続は物理的な接続を必ずしも必要とせず、パケットは仮想トンネルに渡される可能性があります。
ソースルーティングとは、パケットにデータがエンコードされ、ホップ(パケットの送信元など)が中間ホップのルーティング決定に影響を与えることができるネットワークを指します。[ 8 ]これにより、ネットワーク遅延の改善、ネットワーク混雑の軽減、その他の要件を満たすために使用される高度なテレトラフィックエンジニアリングが可能になります。
tracerouteコマンドを使用すると、あるホストから別のホストへのルーターのホップ数を測定できます。ホップ数は、ネットワークの障害箇所を特定したり、ルーティングが正しいかどうかを確認したりする際に役立ちます。
無線アドホックネットワークでは、通常、参加するすべてのノードがルーターとしても機能します。そのため、「ホップ」と「ホップ数」という用語が混同されることがよくあります。多くの場合、送信ノードが最初のホップとしてカウントされるため、「ホップ」を「通過したルーター」と「ノード間ジャンプ」の両方で解釈した場合、同じ数の「ホップ」が得られます。たとえば、RFC 6130では、「1ホップネイバー」を無線インターフェース経由で直接到達可能な他のノードと定義しています。
{{cite book}}: CS1メンテナンス: 場所の発行元が見つかりません (リンク){{cite book}}: CS1メンテナンス: 場所の発行元が見つかりません (リンク){{cite book}}: CS1メンテナンス: 場所の発行元が見つかりません (リンク)