ルートフィルタとは
ルートフィルタリングとは
ルーティングプロトコルは、ルート情報をルータ同士で交換することによってルーティングを可能にしていますが、特定のルートを隠したい。ルート再配送時において、不要なルートを除外したいケースも時と場合によっては出てきます。
例えば、次のようなケースです。
ネットワークを隠蔽したい
ルーティングプロトコルを走らせると、各ルータが学習したルート情報は、他のルータに送信され経路情報がルータ間で共有されます。
この各ルータ同士でルート情報を教えあうことでルーティングは成り立っているのですが、場合によってこのことが裏目に出てしまうことがあります。知られたくない内部ルートを外部に知られてしまうのです。
場合によっては、特定のルートを隠したい時もあります。そんな時、特定のルートをフィルタすることで外部のルータに対して内部ネットワークを隠蔽することができます。

不要な再配送を制限したい
不適切なルーティングが行われる例については、こちらを参照して下さい。
ルート再配送時における注意事項については、「ルート再配送(シードメトリック)」で述べましたが、ルートの再配送を行うと次のような現象が発生する場合があります。
- 必ずしも最適なルートにならない
- ルーティングループが発生してしまう
そもそも、ルーティングプロトコルが違えば、メトリックも違いますし、アルゴリズムも違うわけですから、異なるルーティングプロトコル間では、完全互換はありません。強引に調整しているに過ぎません。
考え方の違うネットワーク間でルート情報がやり取りされれば、どうしても混乱が起こってしまいます。
下のネットワーク構成を見て下さい。

Router_B、Router_Cの2台は、RIPネットワーク、IGRPネットワークの境界に位置しています。
Router_B、Router_Cに再配送の設定を行うことで、RIPネットワークと、IGRPネットワークが相互に接続可能になります。
ところが、RIPネットワークの「172.16.0.0/16」ルートがRouter_Bで、IGRPネットワークへ再配送され、その結果、Router_CでIGRPの経由として学習してしまうことがあります。
Router_Cは、「172.16.0.0/16」へのルートをRIP、IGRPで学習し、2つルートを持つことになります。
どちらのルートをRouter_Cは、採用するのでしょうか?
Router_Cは、アドミニストレーティブディスタンスを比較します。
- RIP・・・120
- IGRP・・・100
Router_Cは、アドミニストレーティブディスタンスの値が低いIGRPの経路を採用してしまいます。
Router_Cにとって「172.16.0.0/16」へのルートは、Router_Aを経由すれば直ぐに到達できますし、帯域幅も128kbpsで、Router_Bを経由するより高速です。にもかかわらず、Router_Dを経由するルートを採用してしまいます。
※ルータを設定する順番やルータの電源を入れる順番によっては、このようにならない場合もあります。その場合は、Router_BやRouter_C上のインターフェイスをUP、Downさせてみて下さい。そして「clear ip route *」コマンドを使って強制的にルーティングテーブルを消してみて下さい。奇妙ですが、ルートが変わります。
または、設定を保存してから、ルータの起動する順番を変えてみて下さい。
これでは、最適なルートを選択できたとは言えません。
そのような場合、不要なルートをフィルタすることで不適切なルーティングを防ぐことができます。
続きは「ルートフィルタ(不適切なルーティング例)」で、実際にこのネットワークを構築してみます。
