ホップ(ネットワーク)とは
ホップは、ネットワーク・パケットが中間機器を通過するたびの1段階を指します。ホップの数え方、制御方法、診断やルーティングでの使い道を解説します。
概要
パケット交換型のコンピュータネットワークでは、データは送信元ホストから宛先ホストへ、1区間ずつ転送されていきます。パケットが中間のネットワーク機器、通常はルーターやゲートウェイによって1回転送されるたびに、それをホップと呼びます。ホップ数は、パケットが経路上で経験したこの転送手順の回数を表します。
画像ギャラリー
1 画像ホップの測定と制御
ネットワーク層では、インターネット・プロトコルがパケットの到達範囲を制限する小さな制御フィールドを持っています。IPv4 では Time To Live(TTL)フィールド、IPv6 では Hop Limit フィールドがこれに当たります。ルーターはパケットを転送するたびにこの値を少なくとも 1 減らします。値が最終宛先に届く前に 0 になると、パケットは無限に巡回するのを防ぐため破棄されます。破棄したルーターは、送信元に ICMP の「Time Exceeded」メッセージを返すことがよくあります。
技術的な違いとよくある誤解
経路上のすべての機器が、必ずしもホップとして数えられるわけではありません。ホップは通常ネットワーク層で数えるため、データリンク層で転送するレイヤー 2 スイッチやハブは TTL を減算せず、ルーターのような意味での別個のホップとは見なされません。TTL/Hop Limit の制御は、物理的な距離や伝搬遅延とは独立しています。ホップ数が少なくても遅延が大きい経路はありえますし、低遅延のホップが多数続く経路でも、ホップ数が多いわりに速く見えることがあります。
歴史と理由
ホップ数の仕組みは、設定ミスのある経路や一時的なループによってパケットが際限なく回り続ける事態を避けるため、パケットネットワークの初期に導入されました。IPv4 の TTL という名称は時間の測定を連想させますが、実際には長く、単純なホップカウンタとして使われてきました。ルーティング・プロトコルやアルゴリズムも、経路の長さを評価してルートを選ぶためにホップ数や関連する指標を用います。たとえば、単純な距離ベクトル型プロトコルでは、ホップ数が経路選択の主な基準になります。
用途と実例
- ネットワーク診断: traceroute(tracert とも呼ばれます)のようなツールは、TTL/Hop Limit の値を段階的に増やしたパケットを送り、中間応答を記録することで、2つのホスト間のホップ列を明らかにします。
- トラブルシューティング: どのホップでパケットが落ちるか、あるいは大きな遅延が発生するかを観察すると、経路上の障害箇所や混雑点を切り分けやすくなります。
- ルーティング方針: いくつかのルーティングシステムは、経路長を抑えたり、単純なループ回避規則を実装したりするために最大ホップ数を設けます。
- セキュリティと分析: TTL 値のばらつきから、トポロジーや OS の一部を推測できる場合がありますが、その推測には注意が必要です。
注目点と実務上の注意
測定結果を解釈するときは、ホップ数が経路品質の一側面にすぎないことを忘れないでください。遅延、ジッター、利用可能帯域、パケット損失は別個の特性であり、これらが組み合わさってアプリケーションの性能を左右します。診断では、ホップ数ベースのツールに加えて、ping、TCP/UDP プローブなどの能動的テストや受動的な観測を組み合わせると、全体像を把握しやすくなります。ネットワーク機器を設定する際は、妥当な既定のホップ制限を確保し、継続的な time-exceeded 応答がないか監視してください。これはしばしばルーティングループや設定ミスを示します。
パケット転送の挙動やルーティングの基礎については、ルーターおよび一般的なコンピュータネットワークの項目も参照してください。
関連項目
著者
AlegsaOnline.com ホップ(ネットワーク)とは Leandro Alegsa
URL: https://ja.alegsaonline.com/art/45062