教えてもらったのに「毒」で返すんかい!?ループ防止策「ポイズンリバース」
「IT用語にポイズン(毒)を含む用語があるんですよ!」
はい、こんにちは!松井真也です。シリーズ「基礎から分かる!ルーティング大全」第17回にして最終回でございます。
前回は、RIPを使ったルーティングにおいて、ループを回避する仕組みとして、スプリット・ホライズンを紹介しました!名前が必殺技っぽいですねw。同一の経路に関する情報を、その情報を取得したネイバーに返さないことで、経路情報がループしないようにする仕組みでした!
さて、今回は、そのスプリットホライズンよりも、もっと積極的にループを回避する仕組み「ポイズン・リバース」をご紹介します!なぜかこちらも必殺技っぽい名前w。
どこらへんが「ポイズン」なのか、気になりますね!
早速見ていきましょう!
スプリットホライズンの強化版
たしかに、RIPを使ったルーティングにおいて、スプリットホライズンは、経路ループの発生を抑制します。しかし、ネットワークの構成が複雑になると、その効果が限定的になります。
そこで、スプリットホライズンの限界を超えるために考案されたのが「ポイズンリバース」です。
この方法では、一歩踏み込んで、ルータは他のルータから受け取ったルート情報を、メトリック16(つまり、到達不可能)を付けて広告します。
例を見てみますか!
ルータAさんとルータBさんは、ネットワークYにたどり着く経路を、ルーティングテーブルとして図のようにもっています。
この経路情報は、ルータCさんに教えてもらったものです。AとBは、この経路情報を再びCさんに送ってしまうとループしてしまうので、送り返しません。これがスプリットホライズンです。
ところが、さらに徹底して、Aさんは「僕を通じては、ネットワークYには到達できないよ」というメッセージをCに送ります。
経路を教えてもらったくせに、毒で返すとは!?と思いたくなりますねw。毒の中身は、「ネットワークYあて、ルータC方向、距離16」です。距離16は「到達不可能」を表しますから、Aを経由しては、ネットワークYにたどり着けないことを明示的に伝えることができるんですね!
ルーティングテーブルが大きくなるのが難点
このように「毒(ポイズン)」を付けて送り返すことで、他のルータがそのルートを利用しようとするのを防ぎます。スプリットホライズンにポイズンリバースを併用すれば、より確実にループを防げるという利点があります。これにより冗長性が高く、かつ効率的なネットワークを構築することが可能です。
が、反面、ルーティングテーブルが肥大化するというデメリットも抱えていることは知っておきましょう。
はい、本日はここまで!前回と今回で、ルーティング経路のループを防ぐ技術、スプリットホライズンとリバーズポイズンをご紹介しました!なんか、ネーミングが個人的に気に入りましてw。名付けた人たちもきっと、中二病をこじらせていたのでしょうね。親近感!
これで「基礎から分かる!ルーティング大全」シリーズはおしまいです!皆さま、いつも貴重なお時間を使ってお読みくださり誠にありがとうございます!
さて、次のシリーズは何にしようか…。
お楽しみに!