第二章:动态路由协议入门——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 图来展示本章的知识体系。你可以把它当作一张“思维导图”,方便记忆。

动态路由协议入门:核心知识体系 距离矢量协议 代表协议:RIP 核心算法:Bellman-Ford 度量标准:跳数(最大15) 更新方式:周期性广播 防环机制: • 水平分割 • 毒性逆转 • 触发更新 • 抑制计时器 缺点: 收敛慢、环路风险高 不适合大型网络 链路状态协议 代表协议:OSPF 核心算法:Dijkstra(SPF) 度量标准:带宽/开销 更新方式:触发式增量 关键概念: • Router ID • 邻居关系(Hello) • 区域(Area 0) • LSA / LSDB 优点: 收敛快、无环路 支持分层、适合大型网络 核心区别:距离矢量“听邻居说”,链路状态“自己看地图”

这张图把距离矢量和链路状态的核心要素都列出来了。你保存下来,以后面试前看一眼,基本概念就不会忘。

2.5 实战建议:什么时候用RIP,什么时候用OSPF?

我个人的经验是:

  • RIP 适合的场景:超小型网络(比如家庭办公室、小型分支)、设备性能极低(比如老旧路由器)、临时测试环境。说白了,就是“能用就行,不求性能”。
  • OSPF 适合的场景:企业园区网、数据中心、运营商网络。只要网络超过10台路由器,我建议直接上 OSPF。虽然配置复杂一点,但后期运维省心太多。

一个小技巧:如果你在面试中被问到“RIP 和 OSPF 怎么选”,可以这样回答:“RIP 适合小型网络,配置简单但收敛慢;OSPF 适合大型网络,收敛快但资源消耗高。具体选哪个,看网络规模和设备性能。”这个回答既专业又全面,面试官一般会点头。

好了,这一章的内容就到这里。RIP 和 OSPF 是动态路由的基石,搞懂它们,后面学 EIGRP、BGP 就会轻松很多。下一章我们聊聊更高级的路由控制技术,敬请期待。


专注资料整理