RIP协议水平分割和毒性逆转详解

一.水平分割

核心原理:

"从哪个接口学到的路由,就不再从这个接口发回去"------ 避免路由信息在相邻路由器之间 "来回循环"。

环路出现情况:

(不考虑触发更新和毒性逆转)

  • 故障发生:
    • AR2 与 PC1 断开,其直连的192.168.1.0/24路由失效,但 RIP 默认是周期更新(30 秒),AR2 会等待自己的周期更新时间,暂不主动通告故障。
  • AR1 的周期更新先触发:
    • 在 AR2 等待的期间,AR1 的 30 秒周期更新到了,向 AR2 发送 RIP 报文,其中包含 "自己能到192.168.1.0/24(Cost=1,来源是之前从 AR2 学习的路由)" 的信息。
  • AR2 学习错误路由:
    • AR2 收到 AR1 的报文后,按照 RIP 的贝尔曼 - 福特算法("从邻居学路由,成本 = 邻居的成本 + 1"),认为 "通过 AR1 可以到达该网段",于是将自己的路由表更新为:192.168.1.0/24 via AR1,Cost=2。
  • 环路形成:
    • 等 AR2 的周期更新时间到了,它会向 AR1 发送 RIP 报文,其中包含 "自己能到192.168.1.0/24(Cost=2)" 的信息;AR1 收到后,又会把自己的路由成本更新为Cost=3(邻居成本 2+1)。

使用水平分割后的情况:

(不考虑触发更新和毒性逆转)

  • 故障发生:
    • AR2 与 PC1 断开,直连的192.168.1.0/24路由失效,等待 RIP 周期更新。
  • AR1 的周期更新触发:
    • AR1 向 AR2 发送 RIP 报文,但注意:AR1 的192.168.1.0/24路由,是从 AR2 的 GE 0/0/0 接口学习到的(最初 AR2 的直连路由传递给 AR1)。
      根据水平分割规则:AR1 不会将 "从 AR2 学习到的192.168.1.0/24路由",再从 GE 0/0/0 接口(连接 AR2 的接口)发回给 AR2。
      因此,AR1 的这次周期更新报文中,不会包含192.168.1.0/24的路由信息。
  • AR2 的路由处理:
    • AR2 在等待周期更新的期间,不会收到 AR1 关于该网段的错误路由信息,因此它的路由表中192.168.1.0/24会保持 "失效" 状态(直到 RIP 的无效计时器超时,最终删除该路由)。
  • 避免环路:
    • 后续 AR2 的周期更新触发时,也不会向 AR1 发送该网段的错误路由,从而避免了之前的环路场景。

二.毒性逆转

核心原理:

"从哪个接口学到的路由,若该路由失效,就通过原接口向邻居发送'毒性路由'(标记为不可达,cost值=16)"------ 主动告知邻居 "原路由已失效"。

使用毒性逆转后的情况:

  • 故障发生
    • AR2 与 PC1 断开,其直连的192.168.1.0/24路由失效,等待 RIP 周期更新(30 秒)。
  • AR1 的周期更新先触发
    • AR1 的192.168.1.0/24路由,是从 AR2 的 GE 0/0/0 接口学习到的(最初 AR2 传递的直连路由)。
    • AR2 收到 AR1 的 RIP 报文,看到192.168.1.0/24的 Cost值=16(不可达),结合自己的路由表(该网段已失效),会确认 "该网段确实不可达",因此不会将该路由添加为 "通过 AR1 可达"。
  • 避免环路
    • AR2 的周期更新触发时,会向 AR1 发送 "192.168.1.0/24 Cost值=16" 的信息;AR1 收到后,也会确认该网段不可达,最终双方都不会保留错误路由,避免了环路。
相关推荐
专业开发者32 分钟前
蓝牙技术联盟推出网络照明控制(NLC)规范
网络·物联网
Kiyra1 小时前
阿里云 OSS + STS:安全的文件上传方案
网络·人工智能·安全·阿里云·系统架构·云计算·json
小趴菜不能喝2 小时前
Docker 网络
网络·docker·容器
云飞云共享云桌面3 小时前
河北某机器人工厂8个研发设计共享一台SolidWorks云主机
运维·服务器·网络·数据库·算法·性能优化·机器人
陌路204 小时前
TCP/IP模型传输层协议
网络·网络协议·tcp/ip
不染尘.5 小时前
应用层之WWW
服务器·javascript·css·网络·网络协议·计算机网络·html
DX_水位流量监测5 小时前
压力式水位计的技术特性与应用实践
大数据·网络·人工智能·安全·信息可视化
chenyuhao20246 小时前
Linux网络编程:UDP和TCP套接字编程
linux·网络·udp·tcp
进击的前栈6 小时前
Flutter跨平台网络图片缓存库cached_network_image鸿蒙化适配指导手册
开发语言·网络·rust
jqrbcts7 小时前
关于发那科机器人如何时时把角度发给PLC
java·服务器·网络·人工智能