weizefeng

RIP

  基本概念

  距离矢量路由协议,IGP协议,有三个版本,IPV4的ripv1、ripv2 和IPV6的RIPng。

  学习目标

  1. 理解更新及接收机制
  2. 理解度量值
  3. 熟悉v1和v2的报文格式
  4. 熟悉计时器及其含义
  5. Silent-Interface概念及配置

一、RIP路由更新及接收

  启动了RIP的路由器都有一个RIP数据库,里面存着所发现的RIP路由,而RIP数据库中的有效条目被加载到路由表中。

  • 初始启动:路由表中只有直连的网段,也就是0跳"家门口"的网段。
  • 初次交换信息:将自己的路由表”周期性“地从接口通告出去,跳数+1。其他路由器收到后,如收到的不存在自己的路由表中,则学习到自己的路由表中,并继承度量值(跳数)。
  • 路由完成收敛:当所有路由器的路由表稳定时(学习完了),它们依然会周期性将自己的路由器通过RIP通告出去,以确保路由有效性。

二、RIP路由更新及接收

  对于RIP路由器而言,它并不知晓整个网络的拓扑结构。直连的网络设备之间才能够通告RIP交互路由信息。不是直连则需要其他协议指向

三、度量值

  通常情况下,度量值更优的那条路由被优选,次优则作为备份,起到冗余效果。

  RIP以跳数(hopCount)作为度量值,跳数越少越优。有一种情况是,当网络链路带宽不一样时,会导致不合理的选择。也就是说从跳数少的走并不是我想要的,这时网络管理员要调整RIP路由的度量值。

四、报文类型及格式

  RIP的协议报文采用UDP封装,源和目的端口均是520端口。

  RIP定义了两种报文,请求(Request)报文 和 响应(Response)报文。 ripv1和v2有些许差异。

  • 请求报文(Request):用于向邻居请求全部或者部分RIP路由信息
  • 响应报文(Response):用于发送RIP路由更新,报文中携带路由及度量值等信息

  工作过程:路由器激活RIP后,接口立即发送一个Request报文和Response报文,并开始侦听RIP协议报文。随后接口开始周期性发送Response。RIPv1用广播地址255.255.255.255作为协议报文的目的IP地址,而RIPv2则使用组播地址224.0.0.9。当路由器收到Request时,会用Response回应(携带对方请求的路由信息)。收到Response后,解析里面携带的路由信息,如果是未发现且度量值有效的则加载到路由表里。

 

    RIPv1报文结构

  

    • 命令(Command ):该字段用于标识RIP报文的类型。
      (1)值为1时该报文为Request报文,用于向直连路由器请求全部或部分路由信息。
      (2)值为2时该报文为Response报文,用于发送路由更新,该报文可以作为对Request报文的回应,也可以是路由器自主发送的,比如周期性发送路由更新或者触发性发送路由更新。
      (3)一个Response报文中最多可携带25个路由条目,当待发送的路由数量大于该值时,需使用多个Response报文。

    • 版本(Version ):在RIPv1中,该字段的值为1

    • 地址族标识符(Address Family Identifier, AFI ):该字段值为2时表示IP协议。如果该报文为Request报文并且是用于向直连路由器请求其整张路由表,则该字段值被设置为0。如果这个Request报文中包含且只包含一个路由条目,该路由的目的网络地址为0.0.0.0,度量值为16

    • IP地址(IP Address ):路由的目的网络地址

    • 度量值(Metric ):到达目的网络的路由的开销值。

    • 需要注意的是,RIPv1的Response报文中并不携带路由的目的网络掩码。

     RIPv2报文结构

    • 命令(Command):与RIPv1类似,用于标识RIP报文的类型。

    • 版本(Version ):在RIPv2中,该字段的值为2。

    • 地址族标识符(Address Family Identifier ):与RIPv1类似,不再赘述。

    • 路由标记(Route Tag):用于为路由设置标记信息,缺省为0。当一条外部路由被引入RIP从而形成一条RIP路由时,RIP可以为该路由设置路由标记,当这条路由在整个RIP域内传播时,路由标记不会丢失。

    • IP地址(IP Address ):路由的目的网络地址。

    • 网络掩码(Netmask):路由的目的网络掩码。
      (1)RIPv1路由器在通告路由时是不携带目的网络掩码的,这是因为在RIPv1的报文中并没有定义相应的字段,这使得RIPv1无法支持VLSM( Variable Length Subnet Mask,可变长子网掩码)。
      (2)RIPv2在这一点上做了改进,定义了该字段用于存储路由条目的目的网络掩码,如此一来,RIPv2便能够支持VLSM。

    • 下一跳(Next Hop ) :RIPv2定义了该字段,使得路由器在多路访问网络上可以避免次优路径现象。
      (1)一般情况下,在路由器所发送的路由更新中,路由条目的“下一跳”字段会被设置为0.0.0.0,此时收到该路由的路由器将路由条目加载到路由表时,将路由的更新源视为到达目的网段的下一跳。
      (2)在某些特殊的场景下,该字段值会被设置为非0.0.0.0。

    • 度量值(Metric ):到达目的网络的路由的开销值。

 五、计时器

  • 更新计时器:RIP路由器周期性泛洪路由表(Response)的时间间隔。缺省时,30s为周期。当网络中有多台RIP路由器接入时,为了避免Response在同一时间一齐泛洪时引发冲突,RIP引入了随机偏移量,这时不以严格30s周期,会偏移(加/减0~5s)
  • 老化计时器:当RIP路由被载入路由表时,则启动。缺省180s,若一条路由持续未被刷新(Response)并导致超时,则变为不可用,跳数为16(依然被包含在对外发送的Response中告知其他路由器该路由不可达),并从路由表中删除。(但依然存于RIP数据库中)
  • 垃圾回收计时器120s,一条路由的老化计时器超时后启动。如果垃圾回收计时也超时,则彻彻底底删除。

  修改三个计时器的时间值。

  rip

    timers rip 35 190 200

六、Silent-interface

  RIP接口被指定为Silent-Interface时,只收不发(RIP报文)。这是为了防止RIP的报文发送给交换机(以太网),因为以太网接入层不需要这些报文,开启这个功能能有效防止资源浪费。

  rip

    silent-interface g0/0/1

RIP的防环机制

  一、水平分割

      RIP路由器从某个接口收到的路由不会再从该接口通告回去。(对路由只收不发

      水平分割是距离矢量路由协议的路由防环专题中最重要的机制之一

  二、毒性逆转

      RIP从某一接口学到路由后,发出Response时会携带这些路由,但度量值是16跳。同时激活水平分割和毒性逆转时,只有毒性逆转生效。

      缺点:增加了Response的体积,增加了链路带宽的损耗及设备负担。“你发多少RIP条目给我,我就发多少条不可达给你。”

  三、触发更新

      当路由器感知到拓扑变化时,无需等待下一轮周期,直接立即发送Response报文。

  四、毒性路由

      当一个网络变得不可达时,发现这个变化的路由器立即触发一个16跳的路由更新来通知网络中的路由器目标已经不可达了,这种路由称为毒性路由。

RIPv2

  RIPv1和v2的区别

  (VLSM指:可变长子网掩码)(update和response是一个意思)

 

分类:

技术点:

相关文章: