RIP 路由 3 个定时器的工作流程和 4 种防环方法

RIP 路由 3 个定时器的工作流程

根据 RFC2453, RIP 协议一共定义了 3 种定时器,分别是:

更新定时器 (Update Timer)

老化定时器 (Age Timer)

垃圾收集定时器 (Garbage-collectTimer)

RIP 的更新信息发布是由更新定时器控制的,默认为每 30s 发送一次,每一个路由表项对应两个定时器:老化定时器和垃圾收集定时器。当学到一条路由并添加到路由表中时,老化定时器启动。

如果老化定时器超时(Age Out),设备仍没有收到邻居发来的更新报文,则把该路由的度量值置为 16(表示路由不可达),并启动垃圾收集定时器。如果垃圾收集定时器超时,设备仍然没有收到更新报文,则删除该条目。

一条路由失效以后直到从 RIP 数据库中清除将会经过老化和垃圾收集阶段。老化阶段, 路由出现在路由表中,转发数据报文,但在垃圾收集阶段,路由仅在 RIP 数据库中存在,不转发数据报文,此期间 RIP 会向邻居路由器发送 RIP 毒化路由更新(Metric 为 16 的路由更新),任何接收到该毒化路由的 RIP 路由器,从路由表中撤销该路由,并在 RIP 数据库中为该路由启动垃圾收集定时器,开始扩散毒化路由。

RIP 路由 4 种防环方法

  1. 水平分割(Split Horizons)

    为了避免路由器收到自身发送的无效路由信息而引发循环路由,路由器在接收到路由信息后,不允许从同一接口向网络中发送该信息。减少了不必要的重复信息流,避免了路由环路的产生,节省了链路带宽资源。

  2. 毒性逆转(Poisoned Reverse)

    作为对水平分割的一种改进,当路由器接收到自身所引入的路由信息后,不直接阻止信息回传,而是通过在回应的路由更新报文中,将那条路径的跳数设置为最大值,从而使得接收路由器判断此条路由已不可用,并立即删除这条路由信息。这加速了路由表的更新过程。

  3. 触发更新(Triggered Updates)

    在正常情况下,路由器按照固定的间隔时间(通常为 30 秒)来发送路由更新信息。但当网络拓扑结构发生变化时(例如新增或删除连接),路由器会立即发送包含最新路由信息的更新报文,以更快地适应网络变化。

  4. 抑制计时器(Holddown Timer)

    当一条路由失效后,路由器进入抑制状态,即在特定时间内(通常为 180 秒)不会接受关于该路由的任何其他更新信息。这样能够避免因为链路瞬时故障导致消息频繁变动,提高网络的稳定性和减少不必要的路由查找工作。

    RIP 协议通过上述 4 种机制协同工作,有效阻止了路由环路的发生,同时加快收敛速度,优化了路由信息的传播效率和网络稳定性。

相关推荐
今天秃头了吗??4 分钟前
【JAVA】网络编程
java·网络·网络编程·socket
is081517 分钟前
NFS 服务器 使用
服务器·网络
言之。1 小时前
TCP 拥塞控制设计空间课程要点总结
网络·网络协议·tcp/ip
Freed&1 小时前
《没有架构图?用 netstat、ss、tcpdump 还原服务连接与数据流向》
网络·测试工具·tcpdump
千钰v2 小时前
Tcpdump: The Basics Tcpdump 基础
linux·运维·网络·tcpdump·tryhackme
全栈技术负责人3 小时前
前端网络性能优化实践:从 HTTP 请求到 HTTPS 与 HTTP/2 升级
前端·网络·http
独行soc3 小时前
2025年渗透测试面试题总结-67(题目+回答)
网络·python·安全·web安全·网络安全·adb·渗透测试
eybk3 小时前
用python的socket写一个局域网传输文件的程序
服务器·网络·python
树码小子4 小时前
Java网络编程:(socket API编程:UDP协议的 socket API -- 回显程序的服务器端程序的编写)
java·网络·udp
云深麋鹿4 小时前
数据链路层总结
java·网络