第二章:动态路由协议入门——RIP协议原理、OSPF协议基础、距离矢量与链路状态对比
各位好,欢迎来到第二章。上一章我们聊了静态路由,说白了就是网工手写地图。但网络一大了,手写就累死人。我记得刚入行那会儿,公司网络从三层扩到五层,我熬夜配静态路由,结果漏了一条,全网断了两小时……从那以后,我就下定决心:必须上动态路由协议。
这一章,我们重点啃两个老牌协议:RIP 和 OSPF。顺便把距离矢量和链路状态这两个核心概念掰扯清楚。你想想看,搞懂了它们,后面学 BGP 就轻松多了。
2.1 RIP协议:最朴素的动态路由
RIP,全称 Routing Information Protocol,中文叫路由信息协议。它诞生于上世纪80年代,可以说是动态路由的“鼻祖”。
核心原理:RIP 基于距离矢量算法。每个路由器只告诉邻居:“我能到哪些网段,跳数是几。”邻居收到后,在自己的路由表里加一条,跳数加1,再转发给下一个邻居。就这样,像水波一样扩散到全网。
关键特性:
- 度量标准:跳数(Hop Count),最大15跳,16跳视为不可达
- 更新周期:每30秒广播一次完整路由表
- 防环机制:水平分割、毒性逆转、触发更新、抑制计时器
- 版本:RIPv1(有类)、RIPv2(无类,支持VLSM和认证)
嗯,这里要注意:RIP 的最大跳数限制是15。为什么是15?不是16也不是20?其实早期设计时觉得15跳已经够大了,毕竟那时候网络规模小。我在项目中遇到过客户非要跨16台路由器,结果 RIP 直接罢工。最后只能换 OSPF。
避坑指南:我曾经在一个园区网里用 RIPv2,结果发现收敛速度慢得离谱。一台核心交换机挂了,等了将近两分钟全网才恢复。后来查资料才知道,RIP 的收敛时间默认是180秒(失效计时器)+ 180秒(刷新计时器)。所以,别在大网里用 RIP,它只适合小型网络。
RIP 配置示例(Cisco IOS):
router rip
version 2
network 192.168.1.0
network 10.0.0.0
no auto-summary
这段配置的意思是:启用 RIPv2,宣告两个直连网段,关闭自动汇总。自动汇总在 RIPv1 里是默认行为,但容易导致子网信息丢失。我建议你始终用 RIPv2 并关闭自动汇总。
2.2 OSPF协议基础:链路状态的开山之作
OSPF,全称 Open Shortest Path First,中文叫开放最短路径优先。它和 RIP 完全是两个路子。
核心原理:OSPF 基于链路状态算法。每个路由器收集全网的链路状态信息(比如接口IP、带宽、邻居关系),然后生成一张完整的网络拓扑图。每台路由器独立计算最短路径树(SPF树),得到路由表。
说白了,RIP 是“听邻居说”,OSPF 是“自己看地图”。
OSPF 关键概念:
- Router ID:路由器唯一标识,通常用最大的环回口IP
- 邻居关系:通过 Hello 报文建立,默认10秒发送一次
- 区域(Area):骨干区域 Area 0 必须存在,其他区域必须连接到 Area 0
- LSA:链路状态通告,描述路由器的链路信息
- SPF算法:Dijkstra算法,计算最短路径
我个人习惯把 OSPF 比作“快递公司的全国调度中心”。每个网点(路由器)上报自己的路况(链路状态),调度中心汇总后规划出最优路线。而 RIP 就像每个快递员只问隔壁网点怎么走,然后凭感觉送。
OSPF 配置示例(Cisco IOS):
router ospf 1
router-id 1.1.1.1
network 192.168.1.0 0.0.0.255 area 0
network 10.0.0.0 0.255.255.255 area 0
注意这里的通配符掩码(Wildcard Mask),和子网掩码是反的。0.0.0.255 相当于 255.255.255.0。我第一次配的时候写反了,结果邻居关系死活建不起来。嗯,这种低级错误犯一次就够了。
重要提醒:OSPF 的 Hello 间隔和 Dead 间隔必须一致,否则邻居无法建立。我曾经在排障时发现两端 Hello 间隔都是10秒,但 Dead 间隔一端是40秒,另一端是120秒。结果邻居状态一直在 Down 和 Init 之间反复横跳。改一致后立刻恢复正常。
2.3 距离矢量 vs 链路状态:一张表说清楚
很多初学者搞不清这两个概念的区别。我直接给你一张对比表,一目了然。
| 对比维度 | 距离矢量(RIP) | 链路状态(OSPF) |
|---|---|---|
| 核心思想 | “我听说” | “我看到” |
| 路由计算 | 基于邻居通告 | 基于全网拓扑 |
| 收敛速度 | 慢(分钟级) | 快(秒级) |
| 环路风险 | 高(需防环机制) | 低(天然无环) |
| 资源消耗 | 低(CPU/内存) | 高(需维护LSDB) |
| 适用规模 | 小型网络(<15跳) | 大型网络(支持分层) |
| 更新方式 | 周期性全量更新 | 触发式增量更新 |
你想想看,为什么 OSPF 收敛快?因为它只在拓扑变化时才发送更新,而且只发送变化的部分。RIP 呢?每30秒把整张表广播一遍,不管有没有变化。这就好比一个人每天发一遍自己的完整简历,而另一个人只在换了工作才发一条朋友圈。哪个效率高?不言而喻。
2.4 核心逻辑框架图
下面我用一张 SVG 图来展示本章的知识体系。你可以把它当作一张“思维导图”,方便记忆。
这张图把距离矢量和链路状态的核心要素都列出来了。你保存下来,以后面试前看一眼,基本概念就不会忘。
2.5 实战建议:什么时候用RIP,什么时候用OSPF?
我个人的经验是:
- RIP 适合的场景:超小型网络(比如家庭办公室、小型分支)、设备性能极低(比如老旧路由器)、临时测试环境。说白了,就是“能用就行,不求性能”。
- OSPF 适合的场景:企业园区网、数据中心、运营商网络。只要网络超过10台路由器,我建议直接上 OSPF。虽然配置复杂一点,但后期运维省心太多。
一个小技巧:如果你在面试中被问到“RIP 和 OSPF 怎么选”,可以这样回答:“RIP 适合小型网络,配置简单但收敛慢;OSPF 适合大型网络,收敛快但资源消耗高。具体选哪个,看网络规模和设备性能。”这个回答既专业又全面,面试官一般会点头。
好了,这一章的内容就到这里。RIP 和 OSPF 是动态路由的基石,搞懂它们,后面学 EIGRP、BGP 就会轻松很多。下一章我们聊聊更高级的路由控制技术,敬请期待。