动态路由协议简介

动态路由协议通过路由信息的交换生成并维护转发引擎所需的路由表。当网络拓扑结构
改变时动态路由协议可以自动更新路由表,并负责决定数据传输最佳路径。
动态路由协议相对于静态路由,主要有以下区别:

  1. 静态路由表条目是人工添加的,动态路由是根据不同的动态路由协议自动学习的
  2. 静态不占用路由器的CPU和带宽,动态要占用
  3. 静态适合小型网络,维护复杂,动态路由协议适合更复杂的大型网络,可以自动收
    敛,可以适应网络变化。

实际生产环境中,往往静态路由和动态路由会结合使用。
动态路由协议有很多种,分类依据也不同,一般会按照算法来分:
距离矢量路由协议:路由器之间交流路由表条目,可能会出现路由环路。例如:RIP
链路状态路由协议:路由器之间交流链路的链路状态信息,然后路由器再根据自己情况
独立计算路由条目,把最优路径放入到路由表。算法复杂,路由可靠性高。例如:

OSPF

按照自治系统(AS)划分:
内部网关路由协议(IGP):同一自治系统内部运行的路由协议。例如:RIP、OSPF
外部网关路由协议(EGP):不同自治系统之间运行的路由协议。例如:BGP
按照路由更新时是否携带子网掩码来划分:
有类路由协议:更新时不携带子网掩码;例如:RIP V1
无类路由协议:更新时携带子网掩码; 例如:RIP v2 、OSPF
每一种动态路由协议都有自己的工作原理,采用的度量值也不同。例如:RIP就是采用
跳数做为度量,而OSPF则是采用cost来做为度量值。在一个网络中尽量采用同一种路由协
议,如果采用多种路由协议,还需要配置路由重发布才能互通。

RIP原理

RIP是一种比较简单的内部网关协议。 RIP使用了基于距离矢量的贝尔曼-福特算法(
Bellman-Ford) 来计算到达目的网络的最佳路径。最初的RIP协议开发时间较早, 所以在
带宽、 配置和管理方面要求也较低, 因此, RIP主要适合于规模较小的网络中。
5TQ6LXPT8W352U4VYKKY.png
路由器启动时, 路由表中只会包含直连路由。 运行RIP之后, 路由器会发送Request
报文, 用来请求邻居路由器的RIP路由。 运行RIP的邻居路由器收到该Request报文后, 会
根据自己的路由表, 生成Response报文进行回复。 路由器在收到Response报文后, 会
将相应的路由添加到自
己的路由表中。
RIP网络稳定以后, 每个路由器会周期性地向邻居路由器通告自己的整张路由表中的路
由信息, 默认周期为30秒。 邻居路由器根据收到的路由信息刷新自己的路由表。
ZDPQWS3IJ5N572QH.png
RIP使用跳数作为度量值来衡量到达目的网络的距离。 在RIP中, 路由器到与它直接相
连网络的跳数为0, 每经过一个路由器后跳数加1。 为限制收敛时间, RIP规定跳数的取值
范围为0~15之间的整数, 大于15的跳数被定义为无穷大, 即目的网络或主机不可达。
路由器从某一邻居路由器收到路由更新报文时, 将根据以下原则更新本路由器的RIP 路由
表:

  1. 对于本路由表中已有的路由项, 当该路由项的下一跳是该邻居路由器时, 不论度量
    值将增大或是减少, 都更新该路由项( 度量值相同时只将其老化定时器清零。 路由表中的
    每一路由项都对应了一个老化定时器, 当路由项在 180 秒内没有任何更新时, 定时器超
    时, 该路由项的度量值变为不可达) 。
  2. 当该路由项的下一跳不是该邻居路由器时, 如果度量值将减少, 则更新该路由项。
  3. 对于本路由表中不存在的路由项, 如果度量值小于16, 则在路由表中增加该路由
    项。
    某路由项的度量值变为不可达后, 该路由会在 Response 报文中发布四次( 120 秒)
    , 然后从路由表中清除。
    CXM_Y0GXVNA6BCK6J8YP.png
    RIP包括RIPv1和RIPv2两个版本。RIPv1为有类别路由协议, 不支持VLSM和CIDR。
    RIPv2为无类别路由协议, 支持VLSM, 支持路由聚合与CIDR。RIPv1使用广播发送报文;
    RIPv2有两种发送方式:广播方式和组播方式, 缺省是组播方式。 RIPv2的组播地址为
    224.0.0.9。 组播发送报文的好处是在同一网络中那些没有运行RIP的设备可以避免接收RIP
    的广播报文;另外, 组播发送报文还可以使运行RIPv1的设备避免错误地接收和处理RIPv2
    中带有子网掩码的路由。RIPv1不支持认证功能,RIPv2支持明文认证和MD5密文认证。

RIP环路避免机制

由于RIP是距离矢量路由协议,路由条目是由邻居路由器学习到的,所以当网络出现故
障时,可能出现路由环路。
U3JK4SARSXQQL5L7INUIF.png
毒性反转和水平分割不可同时使用,如果同时使用,将只有毒性反转起作用。默认开启
的是水平分割机制。
4、触发更新。
缺省情况下, 一台RIP路由器每30秒会发送一次路由表更新给邻居路由器。当本地路由
信息发生变化时, 触发更新功能允许路由器立即发送触发更新报文给邻居路由器, 来通知
路由信息更新, 而不需要等待更新定时器超时, 从而加速了网络收敛。

配置RIP

1、RIP基本配置

[AR1]rip  
[AR1-rip-1]network 192.168.1.0  
[AR1-rip-1]network 192.168.2.0  
[AR1-rip-1]version 2  

rip [process-id]命令用来使能RIP进程。该命令中,process-id指定了RIP进程ID。如果未
指定process-id,命令将使用1作为缺省进程ID。命令version 2可用于使能RIPv2以支持扩
展能力, 比如支持VLSM、 认证等。
network 命令可用于在RIP中通告网络,networkaddress必须是一个
自然网段的地址。只有处于此网络中的接口,才能进行RIP报文的接收和发送。
2、RIP配置Metric度量值

[AR1]interface GigabitEthernet 0/0/0  
[AR1-GigabitEthernet0/0/0]rip metricin 2 #配置进入的RIP报文的度量增加值,默  
认为0  
[AR1-GigabitEthernet0/0/0]rip metricout 3 #配置发出的RIP报文的度量增加值,  
默认为增加1  

3、配置水平分割和毒性逆转

[AR1]interface GigabitEthernet 0/0/0  
[AR1-GigabitEthernet0/0/0]rip split-horizon  
[AR1-GigabitEthernet0/0/0]rip poison-reverse  

验证命令:

[AR1]display rip 1 interface GigabitEthernet 0/0/0 verbose  

4、配置接口RIP报文收发

[AR1]interface GigabitEthernet 0/0/0  
[AR1-GigabitEthernet0/0/0]undo rip input #配置接口禁止RIP报文接收  
[AR1-GigabitEthernet0/0/0]undo rip output #配置接口禁止RIP报文发送  

5、配置抑制接口

[AR1]rip  
[AR1-rip-1]silent-interface GigabitEthernet 0/0/0  

silent-interface命令用来抑制接口, 使其只接收RIP报文, 更新自己的路由表, 但不发送
RIP报文。
命令silent-interface比命令rip input和rip output的优先级更高。 命令silent-interface all
表示抑制所有接口, 此命令优先级最高, 在配置该命令之后, 所有接口都被抑制。
命令silent-interface通常会配置在NBMA网络上。 在NBMA网络上, 一些路由器需要接收
RIP更新消息但是不需要广播或者组播路由器自身的路由更新, 而是通过命令peer 与对端路由器建立关系。
6、验证rip配置

[AR1]display rip