◆ ODR(On-demand Routing)とは
ODRは、それ自身がルーティングのプロトコルではなく、ルーティングのオーバーヘッドを減らすメカニズム
のことです。ODRはCDPを利用することで5byteのIPプレフィックスを送信することができます。5byteのIP
プレフィックスは、4byteのIPアドレスと1byteのサブネットマスク情報によって構成されます。一般的には
ODR はハブ & スポークトポロジー構成で、スポークルータがスタブルータとして動作している構成での使用
に適しています。ただし今日の日本のエンタープライズネットワークでODRが使用される事は先ずありません。
ODRを使用するためには、そのネットワークのルータでCDPを有効(Default=有効)にする必要があります。
次にCDPを送受信するインターフェース上でCDPを有効にする必要があります。ポイントツーマルチポイント
インターフェースではデフォルトで無効になる為、そのI/Fで使用する場合は手動で有効にする必要があります。
グローバル上でCDPを有効にするためにはcdp run 、I/F上でCDPを有効にするにはcdp enableと設定します。
Cisco(config)# cdp run
Cisco(config-if)# cdp enable
|
次に、どちらかのルータでODRを有効にする必要があります。ハブ&スポークトポロジーの構成においては
ハブ側のルータでODRを有効にします。スポークルータではCDPさえ有効なら何も設定する必要はないです。
ODRを有効にするインターフェースを指定するというIGP的な考え方は不要であり以下の一行だけでOKです。
Cisco(config)# router odr |
下図では、ハブルータに「router odr」を設定すると、スポークルータはCDPを利用して自動的に自分の持つ
ルート情報、つまり、5byteのIPプレフィックス 「10.1.1.0/24」 をハブルータにアドバタイズしています。
同時にハブルータからはスポークルータに対して 「0.0.0.0/0」 デフォルトルートをアドバタイズしています。

以下は、HUBルータとSpokeAルータの設定とsh ip routeです。ODRの経路情報は小文字の [ o ] として表示。
CDPアップデートはマルチキャストで送信される為、FRでODRを使用する場合、broadcastオプションが必要。
HUB(config)# router odr
HUB# show ip route
10.0.0.0/24 is subnetted, 1 subnets
o 10.1.1.0 [160/1] via 1.1.1.2, 00:00:17, Serial0/0
|
SpokeA# show ip route
o* 0.0.0.0/0 [160/1] via 1.1.1.1, 00:00:17, Serial 0/0
|
◆ ODR 使用上の注意
ODRを使用する上で注意すべき点として、point-to-multipointのI/FではCDPがデフォルトで無効になるので
CDPを明示的に有効にする必要がある事、スポークルータ側には [ router odr ] の設定をしてはいけないこと、
スポークルータにダイナミックルーティングプロトコルの設定をしてはいけないことなどが主にあげられます。
ODRとIGPのredistributionで注意すべき点として、ODRネットワークに他のIGP経路を再配布できませんが、
ODRの経路情報を他のIGPのネットワークに再配布することは可能であることを理解している必要があります。
以下は、ODRの経路情報をOSPFへredistributionしている設定例です。設定方法はIGPの設定方法と同じです。
Cisco(config)# router odr
Cisco(config)# router ospf 1
Cisco(config-router)# redistribute odr subnets
|
◆ ODR コンバージェンスの調整
ODRのコンバージェンスを変更するためにはtimer basicコマンドを使用します。timer basicのパラメータの
各タイマー値は、CDPのアップデートである60秒に基づいている(ODRの経路情報はCDPでやりとり)ため
timer basicの各タイマー値を変更する場合には、整合性を合わせるため cdp timer の調整も必要になります。
Cisco(config)# cdp timer seconds
Cisco(config)# router odr
Cisco(config-router)# timers basic update invalid holddown Flush [ sleeptime ]
|