RIP是Routing Information Protocol(路由信息协议)的简称,它是一种较为简单的内部网关协议(Interior Gateway Protocol)。RIP是一种基于距离矢量(Distance-Vector)算法的协议,它使用跳数(Hop Count)作为度量来衡量到达目的网络的距离。RIP通过UDP报文进行路由信息的交换,使用的端口号为520。
RIP包括RIP-1和RIP-2两个版本,RIP-2对RIP-1进行了扩充,使其更具有优势。
由于RIP的实现较为简单,在配置和维护管理方面也远比OSPF和IS-IS容易,因此RIP主要应用于规模较小的网络中,例如校园网以及结构较简单的地区性网络。对于更为复杂的环境和大型网络,一般不使用RIP协议。
RIP是一种基于距离矢量(Distance-Vector)算法的协议,它使用跳数(Hop Count)作为度量值来衡量到达目的地址的距离。在RIP网络中,缺省情况下,设备到与它直接相连网络的跳数为0,通过一个设备可达的网络的跳数为1,其余依此类推。也就是说,度量值等于从本网络到达目的网络间的设备数量。为限制收敛时间,RIP规定度量值取0~15之间的整数,大于或等于16的跳数被定义为无穷大,即目的网络或主机不可达。由于这个限制,使得RIP不可能在大型网络中得到应用。
RIP启动时的初始路由表仅包含本设备的一些直连接口路由。通过相邻设备互相学习路由表项,才能实现各网段路由互通。
RIP协议在更新和维护路由信息时主要使用四个定时器:
RIP路由与定时器之间的关系:
触发更新是指当路由信息发生变化时,立即向邻居设备发送触发更新报文,而不用等待更新定时器超时,从而避免产生路由环路。
图2 触发更新原理图
如图2所示,网络11.4.0.0不可达时,RouterC最先得到这一信息。
动态路由协议概述
度量值
收敛
静态路由与动态路由的比较
按照路由执行的算法分类
链路状态路由协议
水平分割(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。
三台路由器。
AR1用RIP1版本,AR2用RIP2版本
################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