ODR使用思科的发现协议CDP在分支(末节)路由器和中央路由器之间传输网络信息
只适用于中央-分支拓扑环境
末节路由器可能连接了几个LAN,但通常只有一条到达中央路由器的WAN连接
实例:
基本配置:
RouterA
en
conf t
int s0/0
clock rate 64000
ip add 12.1.1.1 255.255.255.0
no shut
int lo0
ip add 172.16.1.1 255.255.255.0
exit
RouterB
en
conf t
int s0/1
clock rate 64000
ip add 12.1.1.2 255.255.255.0
no shut
int s0/2
clock rate 64000
ip add 23.1.1.2 255.255.255.0
no shut
int s0/3
clock rate 64000
ip add 24.1.1.2 255.255.255.0
no shut
int s0/4
clock rate 64000
ip add 40.1.1.2 255.255.255.0
no shut
int lo0
ip add 10.2.0.1 255.255.0.0
exit
RouterC
en
conf t
int s0/0
clock rate 64000
ip add 23.1.1.1 255.255.255.0
no shut
int lo0
ip add 172.16.2.1 255.255.255.0
exit
RouterD
en
conf t
int s0/0
clock rate 64000
ip add 24.1.1.1 255.255.255.0
no shut
int lo0
ip add 172.16.3.1 255.255.255.0
exit
ISP
en
conf t
int s0/0
clock rate 64000
ip add 40.1.1.1 255.255.255.0
no shut
查看末节路由器RouterA和中央路由器RouterB的路由表
此时,由于没有配置任何路由协议,因此RouterA和RouterB只有直连路由的信息, 包括其余的路由器上也都只有直连路由信息。
在中央路由器RouterB上配置ODR,命令:
RouterB(config)#router odr
再次查看末节路由器RouterA和中央路由器RouterB的路由表:
RouterA
RouterB
发现在RouterA上新增了一条以"o"字母开头的默认路由,RouterB上新增了3条以"o"字母开头的路由条目,这里的o是ODR的简写,而非OSFP。
注:ODR在路由表中以小写字母"o"表示,管理距离为160.
当中央路由器配置了ODR以后,末节路由器通过CDP协议发送其所有直连网络的前缀信息给中央路由器。ODR携带子网掩码,所以支持允许同一个主网络中的不同子网使用不同长度的子网掩码(VLSM)。中央路由器将下放一条默认路由给分支路由器,并且将ODR报告中的末节网络加入到路由表中(例如RouterB中的3条ODR路由条目)。
中央路由器将分支路由器发送CDP信息的接口作为去往对应的非直连网络的下一跳地址(例如RouterB去往172.16.1.0/24网段的下一跳地址是RouterA的s0/0接口的IP地址)。
注:ODR不是一种路由协议,它交换的信息仅限于IP前缀和默认路由。ODR也不报告度量值,对于ODR报告的全部路由其默认度量值为1跳。每台分支路由器的路由表中只包含其直连路由条目和来自于中央路由器的ODR静态默认路由条目。
通过ODR,中央路由器可以动态地获悉有关末节网络的路由信息,而不存在动态路由协议所需的开销;无需在末节路由器上做手工配置,就可以给末节路由器提供一条默认路由。
在ODR环境中,所有没有配置IP路由协议的路由器自动被视为末节路由器。
由于ODR依赖于CDP协议在中央路由器和分支路由器之间传输网络前缀信息,所以在中央路由器和分支路由器之间的所有链路上必须启用CDP协议。
开启CDP协议命令:
Router(config)#cdp run
CDP以多播方式发送更新,每60秒发送一次。可以通过使用cdp timer命令修改更新周期
Show cdp interface 查看CDP设置