HuaWei ❉ RIP详解

一 RIP基本原理

1、产生背景

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

2、RIP路由表的形成

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

 

RIP路由形成的过程如上图所示:

  1. RIP协议启动之后,RA会向邻居的路由器广播一个Request报文;
  2. 当RB收到RA发送的报文后,把自己的路由封装在Respone报文内,然后向该接口对应的广播报文;
  3. RA根据RB发送的报文形成自己的路由表;

3、RIP的更新和维护

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

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

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

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

4、触发更新

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

 

如上图所示,网络11.4.0.0不可达时,RC最先得到这一消息;

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

二 RIP-2的增强特性

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

1、RIP-1与RIP-2的比较

        RIP-1是有类别路由协议,它只支持以广播方式发布协议报文,报文格式如下图所示,RIP-1协议报文中没有携带掩码信息,它只能识别A、B、C类这样的自然网段路由,因此RIP-1无法支持路由聚合,也不支持不连续子网;

 

RIP-2是一种无分类路由协议,报文格式如下:

 

与RIP-1相比,RIP-2具有以下优势:

  1. 支持外部路由标记(Route Tag),可以在路由策略中根据Tag对路由进行灵活控制;
  2. 报文中携带掩码信息,支持路由聚合和CIDR;
  3. 支持指定下一跳,在广播网络中可以选择最优下一跳地址;
  4. 支持以组播方式发送更新报文,只有支持RIP-2的设备才能收到协议报文,减少资源的消耗;
  5. 支持对协议报文进行验证,并提供明文验证和MD5验证两种方式,增强安全性;

2、RIP-2路由聚合

        路由聚合:同一个自然网段内的不同子网的路由在向外发送时聚合成一个网段的路由进行发送;

        RIP-1的协议报文中没有携带掩码信息,故RIP-1发布的就是自然掩码的路由,RIP-2支持路由聚合是因为RIP-2报文携带掩码信息,所以支持子网划分;在RIP-2协议中进行路由聚合可以提高大型网络的可扩展性和效率,缩减路由表;

路由聚合有两种方式:

(1)基于RIP进程的有类聚合:

  • 聚合后的路由使用自然掩码的路由形式发布;
  • RIP-2聚合是按类聚合的,聚合得到最优的Metric值;

(2)基于接口的聚合:

·用户可以指定聚合地址;

三 水平分割和毒性反转

1、水平分割

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

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

        RA会向RB发送到网络10.0.0.0/8的路由信息,如果没有配置水平分割,RB会将从RA学习到的这条路由再发送给RA,这样RA就可以学习到两条到达10.0.0.0/8网络的路由:(1)跳数为0的直连路由;(2)跳数为1的下一跳指向RB的路由;但是在RA的RIP路由表中只有直连路由才是活跃的,当RA到网络10.0.0.0/8的路由变成不可达,并且RB还没收到路由不可达信息时,RB会继续向RA发送10.0.0.0/8可达的路由信息,此时RA就会接受到错误的路由信息,认为可以通过RB到达10.0.0.0/8网络;而RB仍旧认为可以通过RA到达10.0.0.0/8网络,从而形成了路由环路;配置水平分割后,RB不会将10.0.0.0/8网络的路由发送给RA,这样就避免了产生路由环路;

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

 

        如上图所示,在NBMA网络配置了水平分割后,RA会将从RB学习到的10.0.0.0/8路由发送给RC,但是不会发送给RB;

2、毒性反转

        毒性反转(Poison Reverse)的原理是:RIP从某个接口学习到路由后,将该接口的开销设置为16,并从原接口发送回邻居路由器;利用这种方式,可以清除对方路由表中的无用路由;

        毒性反转可以防止产生路由环路,如下图所示:

 

        配置毒性反转后,RB在接收到从RA发来的路由后,向RA发送一个这条路由不可达的消息,这样RA就不会从RB学到这条可达路由,就避免了路由环路的产生;

四 多进程和多实例

        RIP多进程允许为指定的RIP进程关联一组接口,从而保证该进程进行的所有协议操作都仅限于这一组接口,这样就可以实现一台设备有多个RIP进程,不同RIP进程之间互不影响,它们之间的路由交互相当于不同路由协议之间的路由交互;

        RIP多实例就是为每个VPN实例绑定一个RIP进程,从而实现VPN实例与指定进程下的所有接口相关联;

五 RIP与BFD联动

1、BFD协议原理

        网络上的链路故障会导致路由器重新计算路由,因此缩短路由协议的收敛时间对于提高网络性能是非常重要的;加快故障感知速度并快速通告给路由协议是一种可行的方案;

        双向转发检测BFD是一种用于检测邻居路由器之间链路故障的检测机制,它通常与路由协议联动,通过快速感知链路故障并通告是的路由协议能够快速地重新收敛,从而减少由于拓扑变化导致的流量丢失,在RIP和BFD联动中,BFD可以快速检测到链路故障并通知RIP协议,从而加快RIP协议对于网络拓扑变化的影响;

        RIP协议在使用BFD前后的链路故障检测机制及收敛速度如下表:

 

        路由与BFD联动包括静态BFD和动态BFD两种模式:

(1)静态BFD

        静态BFD是指通过命令行手工配置BFD会话参数,包括了配置本地标识符和远端标识符等,手工下发BFD会话建立请求;

(2)动态BFD

        动态BFD是指路由协议动态触发BFD会话建立,动态BFD中,本地标识符是动态分配的,远端标识符从对端的BFD报文中获取,路由协议在建立了新的邻居关系时,将对应的参数及检测参数通告给BFD,BFD根据收到的参数建立起会话,当发生链路故障时,联动了BFD的路由协议可以快速感知到BFD会话状态变为Down,从而实现将流量快速切换到备份路径,避免了数据大量丢失;

        静态BFD可以不受对端设备的限制,在对端设备不支持BFD功能的情况下,本端通过静态BFD实现单臂BFD检测功能后,而动态BFD比静态BFD则更具有灵活性;

2、BFD协议应用

        RIP和BFD相关联后,一旦链路发生故障,BFD在毫秒级时间内感知该故障并通知RIP协议,然后路由器在路由表中删除掉故障链路的路由并快速启用备份路径,提高了路由协议的收敛速度;

 

RIP与BFD联动:

  1. 如图所示,RA、RB、RC、RD建立RIP邻居,经过路由计算,RA到达RD的路由下一跳为RB,在RA及RB上使用RIP与动态BFD联动检测机制;
  2. 当RA和RB之间的链路出现故障时,BFD快速感知并通知给RA,RA删除掉下一跳为RB的路由,然后RA重新进行路由计算并选取新的路径,新的路由经过RC、RB到达RD;
  3. 当RA与RB之间的链路恢复之后,二者之间的会话重新建立,RA收到RB的路由信息,重新选择最优路径进行报文转发;

3、BFD协议报文

 

  • Protocol Version:协议版本;
  • Diagnostic Code:诊断代码,标明本地BFD系统最近一次会话状态发生变化的原因;
  • Session State:会话状态;
  • Meesage Flags会议记录;
  • Detect Time Multiplier:检测超时时间,检测方检测超时时间;
  • My Discriminator:BFD会话连接本地标识符;
  • Your Discriminator:BFD会话连接远端标识符;
  • Desired Min TX Interval:发送方发送BFD控制报文时想要采用的最小间隔;
  • Required Min RX Interval:发送方能够支持的接收两个BFD控制报文之间的间隔;
  • Required Min Echo Interval:发送方能够支持的接收两个BFD回声报文之间的间隔;

六 热备份

        当设备具有分布式结构时,此设备可以支持RIP热备份HSB特性;

        设备将需要备份的RIP数据及时地从主用主控板AMB备份到备用主控板SMB,无论何时主用主控板出现故障,备用主控板都会变成激活状态,替代主用主控板处理业务,从而保证了RIP不受影响,保持工作的正常运行;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值