■ ルーティングループ
再配布の話を続けよう。
何かしらの理由により、複数のルーティングプロトコルを使う必要があるわけだ。
システムの移行中とか、ルータが新しいIGPに対応してないとかですね。
うむ。そのような場合だな。
で、再配布を行うわけだが、再配布には実は致命的な問題点が発生する。
致命的?
なんかすごそうですね。
まず1つ。IGPのコンバージェンス速度の違いがある。
例えば、RIPのネットワークとOSPFのネットワーク、コンバージェンスはどちらが早い?
そりゃOSPFですよ。
そうだ。そうなると、かなり極端だが、このようなことが発生することにならないか?
[FigureRT32-01:IGPコンバージェンス速度の違い]
ふ〜ん。つまり、再配布も含めた全体のコンバージェンスが出来てないってことですかね。
そうだな。部分部分でコンバージェンスの速度が違うと、単一のルーティングプロトコルでは考えられなかった事も起きうる、ということだ。
ふむふむ。
で、さらに?
さらに? 何故さらにあると思うのだね?
だって博士、さっき「まず1つ」って言ってたじゃないですか。
あぁ、そういえば、そう言ったな。
うむ、そしてもう1つ。ルーティングループが発生する可能性がある。
るーてぃんぐるーぷ!!
うむ、さすがのネット君もルーティングループの恐怖をわかっているようだな。
ルーティングプロトコルって、何かと言うと「ルーティングループ」ですからね。
今までに何回聞いたんだろう?
それは確かにそういう傾向があるかもしれん。
さて、再配布におけるルーティングループとは、こうだ。
[FigureRT32-02:再配布によるルーティングループ]
お〜。これ以上ないってくらいループしてますねぇ。
■ ルーティングループの防止
ネット君、何が問題になっているかわかるか?
ええっと。
管理距離とシードメトリックですか?
確かにその通り。
じゃ、それを変えてしまえば、再配布によるルーティングループは防げるわけですね?
そう簡単な問題ではない。
確かに、このルーティングループは管理距離とシードメトリックを変更すれば収まるかもしれん。
[FigureRT32-03:ループの防止:管理距離の変更]
[FigureRT32-04:ループの防止:シードメトリックの変更]
だが、シードメトリックや管理距離は、再配布全体に影響を及ぼすことが多いので、そう軽く変更するのは危険だ。他の場所でルーティングループを引き起こす可能性がある。
う〜ん。
じゃあ、どうすればいいんですか?
再配布を行わない。これにつきる。
……。博士?
何かね?
もしかして、僕を莫迦にしてますか?
それは至極当然のことだ。だが、今回は別に莫迦にして言ったわけではない。
つまり、なるべく再配布はしない方が望ましいということだ。
いやまぁ、確かにそうですけど。
しなければならない場合、管理距離やシードメトリックを慎重に決定したりだな。
再配布の方向を片方だけにすることでもループは防げる。
片方向だけ?
例えば、先ほどの例でいえば、RIP→OSPFだけにするとかだな。
[FigureRT32-05:ループの防止:片方向再配布]
へぇ。でも、これっていいんですか?
まぁ、環境によるな。どうしても両方向の再配布をしなければならない場合もある。
その場合は、スタティックルートやデフォルトルートを上手く使うことにより、防げることもある。
ははぁ。
さらに、先で説明するが、ルートフィルタリングを使って防ぐことも可能だな。
[FigureRT32-06:ループの防止:ルートフィルタリング]
なるほど、RIP-ASの情報をさらにRIP-ASに再配布しないように止めてしまうんですね。
そういうことだ。
くどいようだが、再配布は慎重にってことだ。
なるほどです。
■ スタティックルート再配送
さて、今まで再配送という言葉は、あるルーティングプロトコルを他のルーティングプロトコルで送る、という形の説明だったな。
でしたね。
他にも再配送があるんですか?
まぁ、簡単に説明するために、あるルーティングプロトコルを他のルーティングプロトコルで送ることを再配送といったが、実際はソースが異なる情報を配布する、という意味なのだよ。
ソースが異なる?
うむ。つまり、RIP、OSPFのようなIGPで入手した情報を再配布するように、スタティックルートをルーティングプロトコルで再配送することもできる、ということだ。
あ〜なるほど。そのルートを何によって手に入れたかってのがソースってことですね。
で、それはルーティングプロトコル以外でもよい、と。
うむ。そのルータが持つスタティックルートを再配布したい場合は、こうだ。
- Router(config-router)#redistribute static [metric metric-value] [metric-type metric-type] [route-map map-tag] [subnets]
基本的に前回出てきたredistributeコマンドで、static、とやればよい。
もちろん、シードメトリックやメトリックタイプも設定する必要がある。
前回のredistributeコマンドで、protocolの所をstaticにするんですね。
■ デフォルトルート
さて問題は、特別なスタティックルートであるデフォルトルートだ。
なんともややこしいが、デフォルトルートのコマンドは2種類ある。まず。
- Router(config)#ip route 0.0.0.0 0.0.0.0 Next-Hop
スタティックルートを設定するコマンドで、0.0.0.0を指定するやつですよね。
うむ。そしてもう1つ。
- Router(config)#ip default-network network-address
あいぴーでふぉるとねっとわーく。
どう違うんですか、これ?
まぁ、基本的にスタティックにルータにデフォルトルートを設定する場合は、「ip route 0.0.0.0 0.0.0.0」を使うのだが。
ip default-networkはデフォルトルートをアドバタイズする時に使用する。
へへぇ。
ip default-networkコマンドで指定されたネットワークへのパスをラストリゾートゲートウェイとみなすようになる。
しかし、困ったことにルーティングプロトコルによって扱いが違う。
どのように違うのですか?
うむ。まずIGRP。
IGRPでは0.0.0.0のルートをアドバタイズしない。よって、ip default-networkコマンドでデフォルトルートを通達しなければならない。
ふむ。
その拡張、EIGRPも同様だ。
ただし、EIGRPの場合、0.0.0.0というスタティックルートを再配送する、という設定により0.0.0.0のルートを通達することができる。
ふむふむ。
次、OSPF。OSPFはASBRでのみデフォルトルートの配送が可能だ。
その場合、以下のコマンドが必要になる。
- Router(config-router)#default-information originate
ただし、スタブエリア内へのデフォルトルートの配送は、ABRが自動的に集約LSAでデフォルトルートを通達する。
うぅぅぅ。
最後、RIP。
RIPは0.0.0.0でも、ip default-networkでもデフォルトルートを通達できる。
正確に言えば、0.0.0.0を作成するというのが正しいかな。
ううぅぅぅぅぅ。
どうした、ネット君。
博士、まとめてください。
我侭な奴だな。
まぁ、確かにややこしいからまとめてやろう。
Protocol | ip route 0.0.0.0 | ip default-network | 詳細 | |
---|---|---|---|---|
IGRP | 配送しない | 配送する | ||
EIGRP | 配送しない | 配送する | 0.0.0.0を通達したかったらスタティック再配送の設定が必要 | |
OSPF | ASBR | 配送する | default-information originateが必要 | |
ABR | スタブエリアに対して集約LSAでデフォルトルートを配送 | |||
RIP | 配送する | 配送する |
[TableRT32-01:デフォルトルートの再配布]
うぅぅぅぅ。
人にまとめさせておいて、それはなんだ。
わかったような、わからないような。
かなりややこしいからな。これはじっくり試しながらやっていくのがいいだろう。
う〜ん。
さて、今回はこれぐらいにしておこう。
はい。
次回も再配送がらみの話だ。
では、また次回に。
了解です。
30分間ネットワーキングでした〜♪
- ルートフィルタリング
-
[Route Filtering]
ルーティングアップデートに対し、フィルタリングを行う。
詳しくは後述。
- ルーティングループ
- この再配送で起こるルーティングループは、ディスタンスベクタでおこるルーティングループと区別して、ルートフィードバック[Route Feedback]とも呼ばれます。
- ラストリゾートゲートウェイ
-
[Last Resort Gateway]
「最後の手段」のゲートウェイ。
- ハイパーネット君の今日のポイント
-
- 再配送ではコンバージェンスの違いにより不都合が起きる可能性がある。
- 再配送ではルーティングループが発生する可能性がある。
- シードメトリックと管理距離の設定を慎重に。
- スタティックルートやルートフィルタリングでループを防止。
- 再配送はなるべくしないほうがよい。
- デフォルトルートの設定はルーティングプロトコルによって異なる。