ルーターは通常,「あて先ベースのルーティング」(Destinaiton-Based Routing:DBR)を実行します。しかし,場合によっては,プロトコルやパケットサイズといった条件に基づいて,柔軟にトラフィックのパスを指定したいというケースが出てきます。このようにパスを柔軟に変更する「ポリシーベースルーティング」(Policy-Based Routing:PBR)を実現する方法として,ルートマップを使う方法があります。
ポリシールーティングは使うべきではありません。この記事自体はCCNPの記事なので紹介せざるを得ないとはいえ、ポリシールーティングの問題ぐらいは触れてほしい。
ポリシールーティングの何が問題かというと、プロトコルやパケットサイズといった条件に基づいて,柔軟にトラフィックのパスを指定
出来てしまうことです。記事にもあるとおり、ルーティングの大原則は「宛先を見てルートを決める」ということですか、ポリシールーティングはその原則をひっくり返してしまいます。こういう事をすると、たいていトラブルが起きたときに原因追及に余計な時間を費やしてしまうことになります。例えば、
- pingは通るけどアプリケーションは通信できない。
- 電源が落ちているルータはルーティングテーブル上では経路になっていない。
- 行きは通るけど帰りはダメ
などなど。きちんとドキュメントが整備されていたとしても、単純にpingで確認が出来ないとなるといちいち経路上の各装置間で通信確認をする羽目になります。ドキュメントが無かったりするとそこまでたどり着くまでにさらに時間をかけることになりますが。
また、通信経路をややこしくするということは設計上もそれだけ留意点が増えることになります。ポリシールーティングを使うのはたいてい2点間に複数経路が存在する場合ですが、障害時に自動的に迂回するようになっているのにポリシールーティングの対象通信だけ迂回しないとか、ポリシールーティングと競合してループしてしまうというのは非常にありがちです。この場合、本来であれば影響がない通信まで落としてしまったり、何のための冗長経路なのかと余計に怒られる羽目になります。
というわけで、ポリシールーティングはどうしても必要な場合を除いて使わないようにしましょう。ポリシールーティングを使うような話になった場合、使うことで悩むより、いかにポリシールーティングを使わずにすませるかで悩むほうが有益です。