动态路由是网络中路由器之间互相通信,传递路由信息,利用收到的路由信息更新路由表的过程。它能实时地适应网络结构的变化。如果路由更新信息表明网络发生了变化,路由选择软件会重新计算路由,并发出新的路由更新信息。这信息通过各个网络,引起各路由器重新启动其路由算法,并更新各自的路由表以动态地反映网络拓扑的变化。
如果使用动态路由协议,路由器之间就会将自己的路由信息向相邻的路由器发送,并接受相邻路由器发过来的路由信息,有选择地保存这些路由信息,生成自己的路由表。
动态路由协议概述
动态路由是基于某种路由协议来实现的。路由协议定义了路由器在与其他路由器通信时的一些规则。也就是说,路由协议规定了路由器是如何来学习路由的,是用什么标准来选择路由以及维护路由信息的等。
动态路由协议就像路由器之间用来交流信息的语言,通过它,路由之间可以共享网络连接信息和状态信息。动态路由协议不局限于路径和路由表的更新,当到达目的网络的***路径出现问题时,动态路由协议可以在剩下的可用路径中,选择一个***路径进行替代。
每一个路由协议必须具备以下几个必备步骤。
1、向其他路由器传递路由信息。
2、接受其他路由器的路由信息。
3、根据收到的路由信息计算出到每个目的网络的***路径,并生成路由表。
4、根据网络拓扑的变化及时作出反应,调整路由生产新的路由表,同时把拓扑变化以路由信息的形式向其他路由器宣告。
度量值:是路由协议选择***路径的参考值,不同路由协议使用不同的度量值,有时还是用多个度量值。度量值的解释如下:
跳数:跳数度量可以简单地记录路由器的跳数。
带宽:带宽度量会选择高带宽路径,而不是低带宽路劲。
负载:负载度量反映了占用沿途链路的流量大小。
时延:时延度量数据包经过路径所花费的时间。
可靠性:可靠性度量用来度量链路在某种情况下发生故障的可能性。
成本:成本使用来描述路由优劣的一个通用术语,最小成本(***成本)或最短(最长)仅仅指的是路由协议基于自己特定的度量对路径的一种看法。
动态路由协议分类:常见的路由协议可以分为距离矢量路由协议和链路状态协议。
距离矢量路由协议:依据从源网络到目标网络所经过的路由器个数来选择路由,使用的是跳数度量。典型的协议如RIP和IGRP。
链路状态路由协议:链路状态路由协议会综合从源网络到目标网络的各条链路的情况来选择路由,使用多个度量。典型的协议如OSPF和IS-IS。
配置动态路由协议RIP
RIP路由协议使用跳数作为唯一的度量值,在RIP中规定了跳数的***值为15,16跳视为不可达。RIP使用UDP的520号端口,路由器启动后,平均每隔30s就从每个启动的RIP协议的接口发送路由更新信息。
RIP的工作原理如下图所示:
如上图所示:路由器接受到相邻路由器发送来的路由信息,会与自己的路由表中的条目进行比较,如果路由表中已经存在这条路由信息,路由器会比较新接收到的路由信息是否优于现在的条目,如果优于现在的条目,路由器会用新的路由信息替换原有的路由条目。反之,则路由器比较这条路由信息与原有的条目是否来自同一个源,如果来自同一个源,则更新,否则就忽略这条路由信息。
RIP的配置命令如下:
Router(config)#router rip
Router(config-router)#network network-number
network-number:指此路由自己直连的网段。
列如:下图在R1和R2上配置RIP实现两台路由器之间联通。
R1配置如下:
R1(config)#int f0/0
R1(config-if)#ip add 10.0.0.1 255.0.0.0
R1(config-if)#no sh
rR1(config-if)#exit
R1(config)#int f1/0
R1(config-if)#ip add 202.106.123.1 255.255.255.0
R1(config-if)#no sh
R1(config-if)#exit
R1(config)#router rip
R1(config-router)#network 10.0.0.0
R1(config-router)#network 202.106.123.0
R2配置如下:
R2(config)#int f0/0
R2(config-if)#ip add 192.168.1.0 255.255.255.0
R2(config-if)#no sh
R2(config-if)#exit
R2(config)#int f1/0
R2(config-if)#ip add 202.106.123.2 255.255.255.0
R2(config-if)#no sh
R2(config-if)#exit
R2(config)#router rip
R2(config-router)#network 192.168.1.0
R2(config-router)#network 202.106.123.0
此时只需要在PC1和PC2上配置相应的IP地址并配置网关就可以互相ping同了。
我们可以通过show ip route或show ip protocols命令来查看路由表和路由协议信息。
RIP v1和RIP v2的区别
在RIP动态协议中,有两个版本及version 1和version 2,它们区别在于version 1可以接收version 1和version 2发送的宣告,但是version 2只能接收version 2发送的宣告。还有就是version 1是有类路由协议,它们宣告路由信息时不携带网络掩码;而version 2是无类路由协议,它们在宣告路由信息时携带网络掩码。
version 1不支持部连续的子网。
如果配置为version 2需要配置各路由器不进行路由汇总,因为version 2默认自动进行汇总。
配置version 2的语法如下:
Router(config)#router rip
Router(config-router)#version 2
Router(config-router)#no auot-summary
Router(config-router)#network network-number
auot-summary:关闭路由汇总功能。