目录
一、实验原理
在小型的网络中,我们可以使用静态路由来配置,但是它的缺点就是必须手工配置,而且当网络拓扑发生变化后需要手工更新。而相对于动态路由协议的话,因为它是一种持续工作的动态过程,所以它会占用网络带宽与路由器资源的。在比较大型的Hub-Spoke(中央-分支)网络中,采用静态路由将导致工作量大,且后期维护也不方便;而使用动态路由的话,它是占用比较多的路由器资源。那么有没有一种比较好的方法呢?有,可以使用ODR按需路由,它是使用CDP协议来在分支与中央路由器之间传输网络信息的。ODR它提供IP路由的开销在远远小于动态路由的,而且配置量也比静态路由少。ODR只适用于中央-分支拓扑网络架构,分支路由器与中央路由器会建立起邻接关系,分支路由器被称为末节路由器。
中央路由器需要获取每台分支路由器连接的网络,而分支路由器只需要配置一条指向中央路由器的默认路由就可以了。配置ODR后,末节路由器使用CDP将IP的前缀信息发送给中央路由器。ODR会通告子网掩码,所以允许同一个主网络中的不同子网使用不同的子网掩码(这个是VLSM,可变长子网掩码)。ODR并非一种路由协议,因为它交换的信息只限于IP前缀与默认路由。ODR不报告度量值。
二、实验拓扑
三、实验步骤
1.搭建如图所示的实验拓扑;
2.初始化路由器;
3.配置相应的IP地址,测试直连网络的连通性;
4.配置分支路由器指向中央路由器R1的默认路由;
5.配置中央路由器R1的按需路由;
6.查看R1的路由表,测试相关的网络连通性;
7.查看CDP的相关信息,然后关闭R2的CDP,查看R1的路由表;
8.Debug CDP的信息,然后修改CDP的timer为5秒,查看动态测试的信息;
四、实验过程
1.搭建如图所示的实验拓扑;
略。
2.初始化路由器;
略。
3.配置相应的IP地址,测试直连网络的连通性;
R1:
R2:
R3:
R4:
4.配置分支路由器指向中央路由器R1的默认路由;
R2:
R3:
R4:
5.配置中央路由器R1的按需路由;
6.查看R1的路由表,测试相关的网络连通性;
7.查看CDP的相关信息,然后关闭R2的CDP,查看R1的路由表;
查看CDP的信息:
关闭R2的CDP:
查看R1的路由表:
我们发现这里还是存在三条路由的,这是因为CDP的更新时间为60秒。我们先清除一下路由表的内容,然后在等一下,再来查看这个路由表的信息。
在默认情况下,开启了CDP的路由器都可以发送相关的路由条目给中央路由器,在关闭了CDP功能后,中央路由器就无法收到路由信息了,说明ODR是依靠CDP来传递信息的。
8.Debug CDP的信息,然后修改CDP的timer为5秒,查看动态测试的信息;
关闭Debug过程
在修改的CDP的更新时间为5秒后,我们可以看到每5秒,路由器就会发送CDP的数据报文出去。
注意:严格来说,按需路由ODR并不算是一种路由协议,因为它交换的信息仅限于IP前缀与默认路由。ODR不会通告度量值,但是中央路由器会将分支发送来的相关路由的度量值设置为1.
代码解析:
R1(config)#router odr //创建ODR路由进程
R1(config)#do clear ip route * //清除路由表的所有路由条目
R2(config)#ip route 0.0.0.0 0.0.0.0 f0/0 12.1.1.1 //这是我们之前讲过的默认路由,f0/0表示下一跳,12.1.1.1表示下一个接口IP地址
R1#debug cdp packets //进行cdp数据的调试,可以动态地查看CDP的运作过程
R1#undebug all //关闭所有的调试过程
总结
按需路由ODR它并非一种路由协议,它交换的信息仅限于IP前缀与默认路由。ODR只适用于中央-分支拓扑结构,它可以使用较低的开销就可以动态地获悉分支的路由信息,且它的配置十分简单。好了,我们在下一个章节再见,加油!