实验环境:
环境的搭建就不说了。环境搭建起来以后,启用 RIP协议互相学习 loopback0的路由。
R1#configure terminal
R1(config)#router rip
R1(config-router)#network 0.0.0.0 /宣告所有在 R1上的接口路由
R2#configure terminal
R2(config)#router rip
R2(config-router)#vesion 2
R2(config-router)#network 0.0.0.0 /宣告所有在 R2上的接口路由
这个时候在 R1和 R2上打开调试功能:
R1#debug ip rip
可以看到,默认下启用 RIP采用的是 version 1。第一版的 RIP会使用 255.255.255.255
广播来发出 v1的路由更新。采用默认的 RIPv1是不影响 v2的路由接收。
可以通过一句命令查看:
R1#show ip protocol
采用默认 RIPv1的时候,RIPv1会发出 v1版本的路由更新;但是可以同时接收 v1和 v2的路
由更新(启用 version 1后发送与接收都只有 version 1路由)。
再看看 R2上:
R2#debug ip rip
R2上会通过 224.0.0.9的组播地址发送 v2的路由,不再是广播了,组播更新要比广播更新更
准确,只把路由更新发送到需要的地方,节省带宽。
并且我们看到 R2上收到 R1从 1.1.1.1发过来的 v1路由时会执行操作 ignored,忽略此更
新。因为 RIPv2不接收 v1的路由更新。
而倒数第三行被忽略的原因是,20.20.20.20口是 R2的 loopback口,为自身的地址之一,
已经拥有直连路由。
R2#show ip protocol
采用 RIPv2的时候,路由器只会发送和接收 v2的路由更新。
如果在不修改版本的情况下想实现路由协议的互联,我们可以在 R2上配置,使得 R2与 R1相
连的接口能够接收 v1路由更新。
R2(config)#interface s0/0
R2(config-if)#ip rip receive version 1
稍等一下,RIP收链完成就可以实现互通了。查看路由表,已经互相学习到 loopback0的路由
了。