文章总结: 文章系统梳理RIPv2原理与实战:对比v1/v2/ng差异,详解30秒组播更新、跳数度量、15跳上限及环路抑制四机制;给出拓扑配置、报文逐层解析,指出默认自动汇总导致掩码失真,需undosummary启用精确VLSM通告,适合入门与实验验证。 综合评分: 82 文章分类: 网络协议,技术标准,安全培训
网络协议—RIPv2协议
原创
老五 老五
老五说网络
2026年1月22日 14:30 陕西
说明:
在现代企业或大型网络中,RIP 已基本被 OSPF、EIGRP 等更高效、可扩展性更强的路由协议所取代。然而,作为经典的动态路由协议,RIP 因其原理简单、配置直观,仍然是学习网络路由基础的重要入门内容。通过了解 RIP,有助于深入理解距离矢量算法、路由收敛、环路防止机制等核心概念,为掌握更复杂的路由协议打下坚实基础。
RIP协议
RIP(Routing Information Protocol,路由信息协议)是一种经典的内部网关协议(IGP),用于在同一个自治系统(AS)内的路由器之间动态交换路由信息。它属于距离矢量路由协议,因其配置简单、易于理解,常用于小型网络或教学场景。
一、RIP 的核心概念
- 目的:帮助路由器自动学习到达远程网络的最佳路径。
- 度量标准:使用跳数(Hop Count)作为路径优劣的判断依据。
1、每经过一个路由器,跳数 +1。
2、最大有效跳数为 15;16 表示网络不可达。
- 更新机制:
1、每 30 秒 向邻居广播一次完整的路由表。
2、使用 UDP 端口 520 进行通信。
二、RIP 的主要版本
- RIPv1
- 有类路由协议(Classful)
- 不携带子网掩码 → 不支持 VLSM 或 CIDR
- 使用广播(255.255.255.255)发送更新
- 无认证机制
- 已基本淘汰
- RIPv2
- 无类路由协议(Classless)
- 支持 VLSM 和 CIDR
- 使用组播地址 224.0.0.9 发送更新(减少非 RIP 设备处理负担)
- 支持明文认证和 MD5 认证
- 是目前实际部署中最常用的版本
- RIPng(RIP next generation)
- 专为 IPv6 设计
- 使用 UDP 端口 521
- 组播地址:FF02::9
三、RIP 的工作机制
-
路由器启动后,仅知道直连网络。
-
定期(每30秒)向邻居发送自己的路由表。
-
收到邻居的路由信息后,对每条路由:
a、若目的网络不在本地表中 → 添加(跳数+1);
b、若已有该网络但新路径跳数更小 → 更新;
c、若跳数相同 → 可能实现负载均衡(依设备而定)。
-
通过多次交换,全网路由信息逐渐“收敛”。
四、防止环路的机制
由于 RIP 基于距离矢量算法,容易产生路由环路和慢收敛问题,因此采用以下技术缓解:
- 水平分割:不把从某接口学到的路由再从该接口发回。
- 毒性逆转:将无效路由设为16跳并广播回去。
- 触发更新:当路由失效时立即发送更新,而非等待30秒。
- 抑制计时器:暂时忽略关于某网络的更好路由,防止震荡。
五、优缺点总结
优点:
- 配置简单,适合初学者;
- 资源占用低(在小型网络中)。
缺点:
- 最大跳数限制(15跳),不适用于大型网络;
- 收敛速度慢;
- 定期广播整个路由表,浪费带宽;
- 仅以跳数为度量,无法反映真实链路质量(如带宽、延迟)。
六、RIPV2报文解析
1、实验拓扑
2、相关配置
R1:
# sysname R1#rip 1 version 2 network 1.1.1.1 0.0.0.0 network 1.1.2.1 0.0.0.0 network 12.1.1.0 0.0.0.255#interface LoopBack0 ip address 1.1.1.1 255.255.255.255#interface LoopBack1 ip address 1.1.2.1 255.255.255.255#interface GigabitEthernet0/1 port link-mode route combo enable copper ip address 12.1.1.1 255.255.255.0#
R2:
# sysname R2#rip 1 version 2 network 2.1.1.1 0.0.0.0 network 2.1.2.1 0.0.0.0 network 12.1.1.0 0.0.0.255#interface LoopBack0 ip address 2.1.1.1 255.255.255.255#interface LoopBack1 ip address 2.1.2.1 255.255.255.255#interface GigabitEthernet0/1 port link-mode route combo enable copper ip address 12.1.1.2 255.255.255.0#
3、rip路由表以及rip信息查看
4、ripv2报文
一、各层解析与翻译
- 以太网层(Ethernet II)
解释:
- 目标 MAC 地址是多播地址 01:00:5e:00:00:09,对应 IPv4 组播地址 224.0.0.9 —— 这是 RIPv2 使用的组播地址。
- 源 MAC 是发送路由器的物理地址。
- 类型为 IP,表示上层是 IPv4 数据包。
结论:这是一个通过组播方式发送的 RIP 更新包,符合 RIPv2 特性。
- IP 层(Internet Protocol)
解释:
- 源 IP:12.1.1.2 —— 发送该路由更新的路由器 IP。
- 目标 IP:224.0.0.9 —— RIPv2 的标准组播地址(所有运行 RIPv2 的路由器都会监听这个地址)。
- TTL = 1:说明这是本地网络内的广播/组播,不会被转发到其他子网(防止跨网段传播)。
- 协议字段为 17 → 表示上层是 UDP。
结论:这是一个本地范围内的 RIPv2 路由更新消息。
- UDP 层(User Datagram Protocol)
解释:
- 源端口和目的端口都是 520 —— 这是 RIP 协议的标准端口号。
- UDP 长度为 32 字节 → 包含了 RIP 报头 + 数据部分。
结论:确认是 RIP 协议通信,使用 UDP 520 端口。
- RIP 协议层(Routing Information Protocol)
- Command Response (2):表示这是一个“响应”报文,即路由更新(RIP 中命令值为 2 表示响应)
- Version2:明确是 RIPv2 协议
- Routing Domain0:默认值,用于区分不同 RIP 实例(通常设为 0)
- IP Address 2.0.0.0:目标网络地址
- Metric 1:到达该网络的跳数为 1(直接相连)
- Address Family IP (2):指明是 IPv4 网络
- Route Tag 0:可用于策略路由标记,默认为 0
- Netmask 255.0.0.0:子网掩码,表明这是 /8 的网络(A 类网络)
- Next Hop 0.0.0.0:表示下一跳是直接连接的邻居,无需指定(默认)
总结:
<<<报文含义>>>:
这是一个 RIPv2 的路由更新响应报文,由 IP 地址为 12.1.1.2 的路由器发出,向组播地址 224.0.0.9 广播其路由信息。
它告诉邻居,“我(12.1.1.2)知道网络 2.0.0.0/8,跳数为 1。”
这意味着:
- 该路由器直连了 2.0.0.0/8 网络;
- 它会把这个信息告诉它的邻居路由器;
- 邻居收到后,如果自己没有这条路由或跳数更大,则会更新自己的路由表。
七、扩展知识(undo summary)
大家可能会注意到,在 RIP 协议层中显示的目标网络是 2.0.0.0/8,而不是我们实际配置的 2.1.1.1/32。既然 RIPv2 支持 VLSM(可变长子网掩码),为什么还会出现这种汇总行为呢?
这是因为 RIP 默认启用了自动汇总(auto-summary)。即使在 RIPv2 中,如果不手动关闭该功能,路由器仍会按照主类网络(classful network)边界对路由进行自动汇总。例如,2.1.1.1 属于 A 类地址(2.0.0.0/8),因此会被自动汇总为 2.0.0.0/8。
要解决这个问题,需要在 RIP 配置模式下执行以下命令:
undo summary
(在 Cisco 设备中为 no auto-summary)
关闭自动汇总后,RIPv2 才会以精确的子网掩码(如 /32)通告路由,从而真正发挥其支持 VLSM 的优势。
实际操作演示:
1、关闭自动汇总
2、查看路由表信息
3、查看对应数据报文
以上信息查看显示已关闭自动汇总,RIPv2 会以精确的子网掩码(如 /32)通告路由。
公众号:老五说网络
长按左侧二维码关注
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:老五说网络 老五 老五《网络协议—RIPv2协议》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。








![[AICoding+安全]二.CodeBuddy赋能恶意代码分析与家族分类实践(肝货)](/images/random/titlepic/3.jpg)
评论