rip详解
1. 什么是 RIP?
RIP 是一种动态路由协议,属于内部网关协议。它的主要作用是在一个自治系统内部(例如一个校园网、企业网)的路由器之间自动交换路由信息,并动态更新路由表,从而使网络中的每个路由器都能了解到达所有目标网络的最佳路径。
2. 核心工作原理
-
基于距离向量:
- RIP 使用“跳数”作为衡量路径好坏的标准。跳数 是指数据包从源网络到目标网络需要经过的路由器数量。
- 直接相连的网络跳数为 0,每经过一个路由器,跳数加 1。
- RIP 认为跳数最少的路径就是最佳路径。
-
定期更新:
- 所有运行 RIP 的路由器会每隔 30 秒向所有邻居路由器广播一次自己的完整路由表(RIP v1)或进行组播(RIP v2,地址为 224.0.0.9)。
- 这种“广播/组播”行为是周期性的,无论网络拓扑是否发生变化。
-
工作流程:
- 路由器启动时,只知道自己直连网络的路由(跳数为 0)。
- 收到邻居的路由更新后,它会将学习到的路由信息加上一跳(+1),并与自己现有的路由表进行比较:
- 如果是一条新路由,则加入路由表。
- 如果到达同一目标网络有一条跳数更少的路径,则更新路由表。
- 如果收到一条已有路由的更新,但下一跳不同且跳数更小,也会更新。
3. 关键机制与特性
-
最大跳数:
- RIP 规定最大跳数为 15。跳数 16 被视为“不可达”。
- 这个限制限制了 RIP 只能用于小型网络(直径不超过 15 台路由器)。
-
解决路由环路问题:
- 水平分割:从一个接口学到的路由信息,不会再从这个接口发回去。这可以防止产生简单的路由环路。
- 毒性逆转:水平分割的改进版,它允许从接口发回学到的路由,但会将其跳数设置为 16(不可达),以明确告知对方此路不通。
- 抑制计时器:当一条路径变为失效时,路由器会在一段时间内(通常为 180 秒)不接受关于此路径的更新,以防止旧的、错误的路由信息被重新传播。
- 触发更新:当路由表发生变化时,路由器立即发送更新消息,而不必等待 30 秒的周期。这可以加速网络收敛。
4. 版本区别
特性 | RIP v1 | RIP v2 |
---|---|---|
地址类型 | 有类路由 | 无类路由 |
子网掩码 | 不支持在更新中携带 | 支持在更新中携带 |
认证 | 无 | 支持明文/MD5认证 |
更新方式 | 广播 | 组播 |
下一跳 | 不指定 | 可以指定 |
简单来说,RIP v2 是对 v1 的重大改进,支持现代网络所需的 VLSM 和 CIDR。
5. 优缺点
-
优点:
- 配置简单:易于理解和部署。
- 开销小:协议本身对 CPU 和带宽的消耗较低。
-
缺点:
- 最大跳数限制:无法用于大型网络。
- 收敛慢:定期更新的机制导致网络拓扑变化时,所有路由器同步到最新状态需要较长时间,容易产生临时环路。
- 仅以跳数为度量:不考虑带宽、延迟、负载等因素,可能导致选路不优(例如,宁愿走一条跳数少但带宽低的路径,也不走跳数多但带宽高的路径)。
6. 现状
在现代网络中,RIP 由于其明显的局限性,已经很少被使用,更多地是作为教学原型来理解动态路由协议的基本概念。它已被 OSPF 和 EIGRP 等更先进、更快速、更智能的路由协议所取代。