理论+实验:RIP(动态路由协议)

一、RIP介绍

1.1 定义

RIP是Routing Information Protocol(路由信息协议)的简称,它是一种较为简单的内部网关协议(Interior Gateway Protocol)。RIP是一种基于距离矢量(Distance-Vector)算法的协议,它使用跳数(Hop Count)作为度量来衡量到达目的网络的距离。RIP通过UDP报文进行路由信息的交换,使用的端口号为520。

RIP包括RIP-1和RIP-2两个版本,RIP-2对RIP-1进行了扩充,使其更具有优势。

1.2 目的

由于RIP的实现较为简单,在配置和维护管理方面也远比OSPF和IS-IS容易,因此RIP主要应用于规模较小的网络中,例如校园网以及结构较简单的地区性网络。对于更为复杂的环境和大型网络,一般不使用RIP协议。

二、 RIP基本原理

RIP是一种基于距离矢量(Distance-Vector)算法的协议,它使用跳数(Hop Count)作为度量值来衡量到达目的地址的距离。在RIP网络中,缺省情况下,设备到与它直接相连网络的跳数为0,通过一个设备可达的网络的跳数为1,其余依此类推。也就是说,度量值等于从本网络到达目的网络间的设备数量。为限制收敛时间,RIP规定度量值取0~15之间的整数,大于或等于16的跳数被定义为无穷大,即目的网络或主机不可达。由于这个限制,使得RIP不可能在大型网络中得到应用。

2.1 RIP路由表的形成

RIP启动时的初始路由表仅包含本设备的一些直连接口路由。通过相邻设备互相学习路由表项,才能实现各网段路由互通。

图1 RIP路由表形成过程
在这里插入图片描述
RIP路由形成的过程如图1所示

  • RIP协议启动之后,RouterA会向相邻的路由器广播一个Request报文。
  • 当RouterB从接口接收到RouterA发送的Request报文后,把自己的RIP路由表封装在Respone报文内,然后向该接口对应的网络广播。
  • RouterA根据RouterB发送的Response报文,形成自己的路由表。

2.2 RIP的更新与维护

RIP协议在更新和维护路由信息时主要使用四个定时器:

  • 更新定时器(Update timer):当此定时器超时时,立即发送更新报文。
  • 老化定时器(Age timer):RIP设备如果在老化时间内没有收到邻居发来的路由更新报文,则认为该路由不可达。
  • 垃圾收集定时器(Garbage-collect timer):如果在垃圾收集时间内不可达路由没有收到来自同一邻居的更新,则该路由将被从RIP路由表中彻底删除。
  • 抑制定时器(Suppress timer):当RIP设备收到对端的路由更新,其cost为16,对应路由进入抑制状态,并启动抑制定时器。为了防止路由震荡,在抑制定时器超时之前,即使再收到对端路由cost小于16的更新,也不接受。当抑制定时器超时后,就重新允许接受对端发送的路由更新报文。

RIP路由与定时器之间的关系:

  • RIP的更新信息发布是由更新定时器控制的,默认为每30秒发送一次。
  • 每一条路由表项对应两个定时器:老化定时器和垃圾收集定时器。当学到一条路由并添加到RIP路由表中时,老化定时器启动。如果老化定时器超时,设备仍没有收到邻居发来的更新报文,则把该路由的度量值置为16(表示路由不可达),并启动垃圾收集定时器。如果垃圾收集定时器超时,设备仍然没有收到更新报文,则在RIP路由表中删除该路由。

2.3 触发更新

触发更新是指当路由信息发生变化时,立即向邻居设备发送触发更新报文,而不用等待更新定时器超时,从而避免产生路由环路。

图2 触发更新原理图
在这里插入图片描述
如图2所示,网络11.4.0.0不可达时,RouterC最先得到这一信息。

  • 如果设备不具有触发更新功能,RouterC发现网络故障之后,需要等待更新定时器超时。在等待过程中,如果RouterB的更新报文传到了RouterC,RouterC就会学到RouterB的去往网络11.4.0.0的错误路由。这样RouterB和RouterC上去往网络11.4.0.0的路由都指向对方从而形成路由环路。
  • 如果设备具有触发更新功能,RouterC发现网络故障之后,不必等待更新定时器超时,立即发送路由更新信息给路由器B,这样就避免了路由环路的产生。

三、动态路由协议

动态路由协议概述

  • 路由器之间用来交换信息的语言。

度量值

  • 跳数、带宽、负载、时延、可靠性、成本。

收敛

  • 使所有路由表都达到一致状态的过程。

静态路由与动态路由的比较

  • 网络中静态路由和动态路由互相补充。

四、动态路由协议分类

按照路由执行的算法分类

  • 距离矢量路由协议
  • 依据从源网络到目标网络所经过的路由器的个数选择路由
    • RIP、 BGP

链路状态路由协议

  • 综合考虑从源网络到目标网络的各条路径的情况选择路由
  • OSPF、 IS-IS

五、RIP路由协议工作原理

5.1 RIP是距离-矢量路由选择协议

5.2 RIP的基本概念

  • 定期更新(路由器每经过一段时间周期-30S后,向邻居发送更新信息)
  • 邻居(与其相连的路由器)
  • 广播更新(Ripv1 255.255.255.255)
  • 组播更新(Ripv2 224.0.0.9)
  • 泛洪路由表(路由器将从邻居学习到的路由放进自己的路由表中,然后将路由表所有路由信息在通告给其他路由器,直到整个网络学习到)

六、水平分割

水平分割(Split Horizon)的原理是,RIP从某个接口学到的路由,不会从该接口再发回给邻居路由器。这样不但减少了带宽消耗,还可以防止路由环路。

水平分割在不同网络中实现有所区别。广播网、P2P和P2MP网络中是按照接口进行水平分割的,如图1所示。

图1 按照接口进行水平分割原理图
在这里插入图片描述
RouterA会向RouterB发送到网络10.0.0.0/8的路由信息,如果没有配置水平分割,RouterB会将从RouterA学习到的这条路由再发送回给RouterA。这样,RouterA可以学习到两条到达10.0.0.0/8网络的路由:1.跳数为0的直连路由;2.下一跳指向RouterB,且跳数为2的路由。

但是在RouterA的RIP路由表中只有直连路由才是活跃的。当RouterA到网络10.0.0.0的路由变成不可达,并且RouterB还没有收到路由不可达的信息时,RouterB会继续向RouterA发送10.0.0.0/8可达的路由信息。即,RouterA会接受到错误的路由信息,认为可以通过RouterB到达10.0.0.0/8网络;而RouterB仍旧认为可以通过RouterA到达10.0.0.0/8网络,从而形成路由环路。配置水平分割后,RouterB将不会再把到网络10.0.0.0/8的路由发回给RouterA,由此避免了路由环路的产生。

对于NBMA(Non-Broadcast Multiple Access)网络,由于一个接口上连接多个邻居,所以是按照邻居进行水平分割的。路由就会按照单播方式发送,同一接口上收到的路由可以按邻居进行区分。从某一接口的对端邻居处学习到路由,不会再通过该接口发送回去。

图2 按照邻居进行水平分割原理图
在这里插入图片描述
如图2所示,在NBMA网络配置了水平分割之后,RouterA会将从RouterB学习到的20.0.0.0/8路由发送给RouterC,但是不会再发送回给RouterB。

七、实验

实验拓扑图
在这里插入图片描述

7.1 实验设备

三台路由器。

7.2 实验要求

AR1用RIP1版本,AR2用RIP2版本

7.3 实验操作

################AR1配置################
system-view 

sysname ar1

interface GigabitEthernet0/0/0
 ip address 12.0.0.1 255.255.255.252 

quit

interface LoopBack0                 ##定义环回口loopback0
 ip address 1.1.1.1 255.255.255.0       ##设置环回口loopback0 IP地址为1.1.1.1

quit

rip 1                                   ##定义rip进程为1
 version 1                                ##定义rip 版本2
 network 1.0.0.0                            ##主类宣告1.0.0.0网段
 network 12.0.0.0                              ####主类宣告1.0.0.0网段
################AR2配置################
system-view 

sysname ar2

interface GigabitEthernet0/0/0
 ip address 12.0.0.2 255.255.255.252 

interface GigabitEthernet0/0/1
 ip address 23.0.0.1 255.255.255.252 

interface LoopBack0
 ip address 2.2.2.2 255.255.255.0 

quit

rip 1
 network 2.0.0.0
 network 12.0.0.0
 network 23.0.0.0
################AR3配置################
system-view 

sysname ar3

interface GigabitEthernet0/0/0
 ip address 23.0.0.2 255.255.255.252 
 rip version 1

interface LoopBack0
 ip address 3.3.3.3 255.255.255.0 

quit

rip 1
 version 2
 network 3.0.0.0
 network 23.0.0.0

7.4 验证

抓个AR1 G0/0/0接口的包看一下。在这里插入图片描述
用display ip routing命令查看一下三台路由器的路由情况
在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44733021/article/details/107048788