Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

ルーティングループ(ルーティングループ)とは | 意味や読み方など丁寧でわかりやすい用語解説

ルーティングループ(ルーティングループ)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。

作成日: 更新日:

読み方

日本語表記

ルーティングループ (ルーティングループ)

英語表記

routing loop (ルーティングループ)

用語解説

ネットワークにおいて、データパケットが目的の宛先に到達することなく、複数のルータ間を無限または非常に長い時間循環し続ける現象をルーティングループと呼ぶ。これは、ネットワークの経路情報(ルーティングテーブル)に誤りや不整合が生じることで発生し、ネットワーク全体のパフォーマンスを著しく低下させる深刻な問題である。データパケットは、ルーティングテーブルに従って最適な経路を選択し、次のルータへと転送されるが、この情報が正しくない場合、パケットは本来の経路から逸れ、同じ場所を何度も巡回してしまうのだ。

ルーティングループが発生する主な原因は、ネットワーク内のルーティング情報の不整合や収束の遅れにある。ルーティングプロトコルは、ルータ間で経路情報を交換し、自身のルーティングテーブルを更新することで、常に最適な経路を学習しようと試みる。しかし、ネットワークの構成変更、ルータの故障、リンクの断絶といった障害が発生した際、すべてのルータが同時に正しい情報を共有できるとは限らない。特に、距離ベクトル型ルーティングプロトコルを使用している環境では、古い経路情報がネットワーク中に伝播し続ける「悪魔の数え上げ(Counting to Infinity)」と呼ばれる現象が起こりやすく、これがルーティングループの直接的な原因となることがある。例えば、ある宛先への経路がダウンした場合、その情報を隣接ルータが即座に認識できないと、隣接ルータは「自分は宛先へ到達できないが、他のルータ(以前の経路を提供していたルータ)は到達できるだろう」と誤って判断し、元のルータにパケットを戻してしまうといった状況が考えられる。このような誤った経路情報が複数のルータ間で交換され続けると、パケットは永遠に特定のルータ間を循環することになる。この際に、経路の「メトリック」(経路のコストや距離を示す値)が適切に更新されないことが、誤った判断を助長する。

ルーティングループがもたらす影響は多岐にわたる。まず、ループに陥ったパケットは目的の宛先に到達しないため、通信が失敗する。これにより、ユーザーはサービスを利用できなくなり、ビジネス上の機会損失や顧客満足度の低下に直結する。次に、ループするパケットはネットワーク帯域を無駄に消費し続ける。本来の通信のための帯域が圧迫され、ネットワーク全体の通信速度が低下したり、他の正常な通信まで遅延したりする可能性がある。さらに、ループするパケットを処理し続けることで、関与するルータのCPU使用率が異常に高騰し、メモリも消費され続ける。これによりルータの処理能力が限界に達し、最悪の場合、ルータ自体が機能停止に陥り、広範囲なネットワーク障害を引き起こす恐れもある。パケットには通常、Time To Live(TTL)というフィールドがあり、パケットが通過するルータごとに値が減少し、ゼロになると破棄される仕組みがある。これはパケットが無限にループするのを防ぐためのものだが、TTLがゼロになるまでに多くの帯域やルータリソースを消費するため、根本的な解決策ではない。

ルーティングループを防ぐための対策は、ルーティングプロトコルの設計自体に組み込まれているか、運用上の工夫によって実施される。主要な防止策には以下のものがある。

一つ目は「スプリットホライズン」である。これは、あるインターフェースから学習した経路情報を、その同じインターフェースから広告しないというルールである。これにより、パケットが来た経路をそのまま戻してしまう「ショートカット」ループを防ぐことができる。

二つ目は「ポイズンリバース」である。経路がダウンした場合、その経路のメトリック(コスト)を「無限大」として広告し、ネットワーク全体にその経路が無効であることを強制的に知らせる手法である。これにより、他のルータが古い経路情報を信用してループを形成するのを防ぐ。

三つ目は「ホールドダウンタイマー」である。経路が無効になった情報を受け取った後、一定期間は同じ宛先への新たな経路情報を受け入れず、ネットワークが安定するのを待つ仕組みである。この期間中に誤った経路情報が伝播するのを防ぐ。

四つ目は「トリガードアップデート」である。経路に変更があった場合、定期的なアップデートを待つことなく、即座に隣接ルータにその変更を通知する機能である。これにより、経路情報の収束を早め、ループ発生のリスクを低減する。

五つ目は「最大ホップ数(Maximum Hop Count)」の設定である。ルーティングプロトコルが許容する最大ホップ数を設定し、もし経路のホップ数がこの値を超えた場合、その経路を無効と見なしてルーティングテーブルから削除する。これにより、パケットが無限にループするのを防ぐ。

六つ目は「経路集約(Route Summarization)」である。複数のサブネットへの経路を一つの大きな集約経路として広告することで、ルーティングテーブルのエントリ数を減らし、ルータの負荷を軽減するとともに、経路変更時の伝播範囲を限定し、ループ発生の可能性を低くする。

これらの対策は、ルーティングプロトコルやネットワーク設計によって単独で、あるいは組み合わせて利用される。システムエンジニアとしては、ルーティングプロトコルの動作原理を理解し、これらの防止策がどのように機能するかを知ることが、ルーティングループを未然に防ぎ、安定したネットワークを構築・運用するために不可欠となる。ネットワークの複雑化が進む現代において、ルーティングループは常に発生しうる潜在的な脅威であり、そのメカニズムと対策を深く理解することが求められるのだ。

関連コンテンツ

関連IT用語