常见的动态路由协议可以分为“距离矢量路由协议”和“链路状态路由协议”。
其中距离矢量路由协议依据的是从源网络到目标网络所经过的路由器的个数来选择路由,典型的协议是“RIP”;
链路状态路由协议会综合考虑从源网络到目标网络的各条路径的情况来选择路由,典型的协议是“OSPF”。
本篇文章说下RIP协议,运行该协议的路由器都会向邻居路由器学习他们所观察到的路由信息,然后向外通告自己所观察到的路由信息,因为每个路由器在信息上都依赖于邻居路由器,而邻居路由器又会从它们的邻居路由器那里学习路由信息,以此类推,所以距离矢量路由选择有时又被认为是“依照传闻进行路由选择”。
运行RIP协议的路由器会每隔30s广播一次自己更新的路由表信息,会依赖自己的邻居来发送路由信息,广播地址为“255.255.255.255”。当邻居路由器收到这些更新信息后,会收集自己所需要的路由信息,其他的则被丢弃。
RIP协议以跳数来作为唯一的度量值,收到邻居路由器发来的路由条目信息,会将跳数加1后进行比较,若路由条目比自己的路由表更合适,或该路由表没有此条目,则将该路由条目保存下来。
在RIP协议中规定的最大跳数为15,16跳以上(包括16跳)则被视为目的网络不可达,因此不适合大型的网络环境,这一点,OSPF协议可以完美的解决。(关于OSPF会在以后的文章写出来)。
在RIP协议中还有一个“水平分割”的概念:从一个接口学习到的路由信息,不再从这个接口发送出去,这样可以阻止环路的产生,同时能够减少路由更新信息占用的链路带宽资源。
查看路由表时还有一个叫“管理距离”的概念,它是一种优先级度量,路由器会选择管理距离较小的路由来到达目标网段。静态路由的管理距离为1,而RIP协议的管理距离为120,因此,如果到达同一网段,同时配置了静态路由和RIP,路由器会选择静态路由指向的路径来转发数据。
RIP有两个版本:“RIP V1”和“RIP V2”,二者区别如下:
RIP v1广播发送路由更新,广播地址为255.255.255.255;RIP v2组播发送路由更新,组播地址为224.0.0.9。
RIP v1 是有类路由协议,它们在宣告路由信息时不携带网络掩码;而RIP v2是无类路由协议,它们在宣告路由信息时携带网络掩码。也就是说,在被子网划分过的网络中,最好使用v2。 RIP v1的配置过程如下: Router(config)#router rip #配置RIP协议。
Router(config-router)#network 192.168.10.0 #宣告所有与本身路由器直连的网段
Router(config-router)#network 192.168.20.0 #宣告所有与本身路由器直连的网段
至此,基于RIP v1 的动态路由就配置成功了,然后按照同样方式配置网络中的其他路由器,路由器会自己学习,经过30s后每台运行RIP v1 协议的路由器将会获取网络中所有的路由条目。
RIP v2 的配置过程如下:
Router(config)#router rip #配置RIP协议
Router(config-router)#version 2 #使用RIP v2
Router(config-router)#no auto-summary #RIP v2默认情况在主网络边界路由器上进行路由汇总,因此需要关闭路由汇总功能
Router(config-router)#network 192.168.10.0 #宣告所有与本身路由器直连的网段
Router(config-router)#network 192.168.20.0 #宣告所有与本身路由器直连的网段
按照相同方式,配置网络中的各个路由器,即可实现全网互通。