6-20 RIP环路与防环机制

RIP环路的产生

如上节所述内容,经过路由信息的交换,目前各个路由器的路由表已达到路由收敛状态

某一刻,路由器C的直连网络发生故障,10.1.4.0/24网段无法到达

image-20231007215345231

这时直连路由器C已经更新了自己的路由表,将到达10.1.4.0/24网络的度量值设置为16(这是RIP定义的度量值的最大值,意为无法到达);A、B暂未更新路由表

假设这时,B的路由更新广播请求先到达了C,C就需要按照B的路由表来更新自身路由表,C错误地将到达10.1.4.0/24网络的路由更新,度量值置为2,表示可以通过B到达10.1.4.0/24网络,但这本身是一条错误的路由信息(这时C的度量值为16的故障路由条目已经被新的更佳的路由条目掩盖掉了)

image-20231007220147299

在C更新了B发来的路由表之后,C才开始广播自己的路由表,陆续地,这条错误的路由信息更新至其他路由器

image-20231007222036774

这时关于10.1.4.0/24的路由条目形成了环路,直到3台路由器的路由表的该条目都更新增加至最大值MAX

image-20231007222234561

  • RIP三个计时器
    • Hello 30s:路由器每30s向外发一次路由更新

    • Dead 180s:如果180s没收到更新,则将该路由标记为无效路由;

    • 垃圾计时器 120s:上述标记为无效路由的同时,启动一个120s的垃圾计时器,再过120s没收到更新,删除该条路由

距离矢量路由协议的防环机制

  • 定义最大度量以防止计数至无穷大:定义最大跳数(最多经过15个路由器,16跳为不可达),当环路中路由表的度量值都更新到16时,该条路由条目失效,环路解除

image-20231007222620903

  • 水平分割:路由器从一个接口收到的路由更新,不会从同一个接口再发出去,即从哪里学习到的不会从该接口发送回去,如上面例子中从C学习到的路由更新,不会再发回给C(笔者注:可以理解为同样的路由信息只会单向传递学习)

image-20231007222711985

  • 路由中毒:定义最大跳数,同时一旦出现故障,直连路由器立即将度量值更新为16,并且不必等待路由更新周期时间,立即广播发送路由更新

image-20231007222853797

  • 毒性逆转:(跟水平分割有异曲同工之妙),当路由器从一个接口收到的路由更新,会以度量值16从该接收接口发送出去(笔者注:效果同水平分割一样)

image-20231007223221252

  • 抑制计时器:略

  • 触发更新:略

RIP小结

  • RIP(Routing Information Protocols,路由信息协议)
  • 应用较早、使用较为普遍的内部网关协议(现在基本不用了)
  • 适用于小型网络,是典型的距离矢量路由协议
  • RIP基于UDP,端口520
  • 华为设备上路由优先级为100

现在大多使用RIPv2,相比与RIPv1,v2具有以下改进:

  1. v2使用组播更新,v1使用广播更新;

  2. 支持认证

  3. 支持VLSM、CIDR;V1只支持主类网络,不支持变长子网掩码和网络聚合

站内搜索

没有找到内容!