ルーティングループの防止(ルートポイズニング、ホールドダウン)

ルーティングループが発生する原因をあらためて

さて、ルーティングループが発生する原因をもう一度考えてみると、次の図においてルータAの10.0.0.0/8というネットワークがダウンしたことをルータBが知らないために起こっていることもわかります。



※図をクリックすると拡大します

ネットワークの障害、つまり変化に対してコンバージェンスが遅いからですね。また、ネクストホップアドレスが同じだからといって、間違った情報を信じていることもルーティングループが起こる原因です。これら、ルーティングループの原因に対する対策が、ルートポイズニングとホールドダウンです。

ルートポイズニングとホールドダウンの仕組み

ルータAは直接接続された10.0.0.0/8のネットワークがダウンすると、「ネットワークがダウンしました」ということを知らせるために、メトリックが無限大のエントリをRIPアップデートに含めます。つまり、(10.0.0.0,16)という内容のエントリを送るわけです。メトリックが無限大という「ポイズン(毒)」を送信しています。

すでにルーティングテーブル上にあるエントリに対して、メトリックが無限大のアップデートを受け取ると、「ネットワークがダウンしているかもしれない」と判断して、そのエントリをホールドダウン状態に置きます。ホールドダウン状態では、間違ったアップデートがやってくる可能性があるので、ルーティングテーブルとアップデートのネクストホップアドレスが同じでも、受信したエントリをルーティングテーブルにそのまま採用しなくなります。

トリガードアップデート

ルートポイズニングによって、早く他のルータにネットワークがダウンしたことを知らせることができるのですが、定期的なアップデートのタイミングで行うとやはり時間がかかってしまいます。そこで、ネットワークに何らかの変化が起こったときに、定期的なアップデート間隔を待たずに、即座にアップデートを送信する「トリガードアップデート」によって、コンバージェンスを早くしてネットワークの安定を図ることができます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA