4、路由协议实战:静态路由配置、RIP协议原理与部署、OSPF协议基础与单区域配置

路由协议这东西,说白了就是让路由器之间互相“打招呼”,告诉对方自己知道哪些网段。你想想看,如果每台路由器都只靠自己,那它只能看到直连的网络,数据包根本出不了门。

我刚开始接触路由的时候,总觉得静态路由太原始,动态协议又太复杂。后来在项目里吃过亏才明白——没有最好的协议,只有最合适的方案。今天咱们就把静态路由、RIP、OSPF这三兄弟挨个捋一遍。

本章核心脉络:从手动配置到自动学习,从距离矢量到链路状态,一步步理解路由协议的设计演进。

路由协议实战知识体系 路由协议分类 静态路由 RIP(距离矢量) OSPF(链路状态) 手动配置 / 无开销 跳数度量 / 30秒更新 带宽度量 / 触发更新 小型网络 / 边界路由 小型网络 / 兼容性好 中大型网络 / 收敛快 静态路由适合小规模或特殊场景,RIP适合纯IPv4小型网络,OSPF是企业网主力

4.1 静态路由配置——最原始也最可靠

静态路由,就是管理员用手一条一条敲进去的路由条目。路由器不会主动去学,也不会自动更新。听起来很笨?但我在好几个项目里都发现,静态路由往往是排障时的救命稻草。

我的习惯:只要网络规模不超过10台路由器,我首选静态路由。简单、可控、不出幺蛾子。

4.1.1 配置语法

不同厂商的命令略有差异,但核心逻辑都一样——告诉路由器:去某个网段,下一跳是谁。

# Cisco / 华为通用格式
ip route 目标网络 子网掩码 下一跳地址

# 示例:去往 192.168.10.0/24 网络,下一跳是 10.0.0.2
ip route 192.168.10.0 255.255.255.0 10.0.0.2

# 华为设备也支持出接口写法
ip route-static 192.168.10.0 255.255.255.0 GigabitEthernet0/0/1

4.1.2 默认路由

有一种特殊的静态路由叫默认路由,它匹配所有目标。我经常把它用在出口路由器上——所有不知道往哪发的流量,统统扔给运营商。

# 默认路由写法
ip route 0.0.0.0 0.0.0.0 10.0.0.1

# 华为
ip route-static 0.0.0.0 0.0.0.0 10.0.0.1

我曾经踩过的坑:有一次给客户配静态路由,把下一跳IP写成了自己接口的IP。结果路由表里出现了递归查找,数据包在路由器里打转,直接导致全网断连。记住——下一跳必须是直连可达的地址。

4.1.3 静态路由的优缺点

优点 缺点
不占用带宽和CPU资源 网络变化时需要手动修改
安全性高,不会被恶意路由欺骗 配置量大,容易出错
故障排查直观 无法自动适应链路故障
适合小型网络和特殊场景 大型网络维护成本极高

4.2 RIP协议原理与部署——老当益壮的距离矢量

RIP(Routing Information Protocol)是路由协议里的老前辈了。它基于距离矢量算法,说白了就是“听邻居说,然后告诉邻居”。每个路由器只知道到目标有多远(跳数),但不知道网络长什么样。

我记得刚入行时,师傅跟我说:“RIP就是靠口口相传,传得多了,路就通了。” 虽然现在大型网络很少用RIP了,但它的原理是所有动态路由协议的基础,学透了不吃亏。

4.2.1 RIP的核心机制

  • 度量标准:跳数(Hop Count),最大15跳,16跳表示不可达
  • 更新方式:每30秒广播一次完整路由表
  • 防环机制:水平分割、毒性逆转、触发更新、抑制计时器
  • 版本:RIPv1(有类)、RIPv2(无类,支持VLSM和认证)

为什么最大只有15跳? 因为RIP设计时假设网络直径不会太大。超过15跳就被认为不可达,这是为了防止路由环路无限传播。我在一个跨省项目中见过有人硬要用RIP,结果中间串了16台路由器,业务全挂——嗯,这就是典型的“协议选型错误”。

4.2.2 RIP配置实战

咱们以RIPv2为例,配置其实很简单:

# Cisco设备配置
router rip
 version 2
 network 192.168.1.0
 network 10.0.0.0
 no auto-summary   # 关闭自动汇总,支持VLSM

# 查看RIP路由表
show ip route rip

# 查看RIP邻居
show ip rip database
# 华为设备配置
rip 1
 version 2
 network 192.168.1.0
 network 10.0.0.0

# 查看
display rip 1 route
display rip 1 neighbor

4.2.3 RIP的局限性

你想想看,每30秒广播一次完整路由表,这在几十台路由器的网络里会产生多大的流量?而且RIP只认跳数,不管带宽——明明有千兆光纤不走,偏要去挤2M的DDN线路,就因为跳数少一跳。我在项目里见过这种“智能”路由,哭笑不得。

什么时候还用RIP? 我个人觉得,只有在两种场景下会考虑:一是纯IPv4的小型网络(<10台路由器),二是为了兼容某些老旧设备。其他情况,建议直接上OSPF。

4.3 OSPF协议基础与单区域配置——企业网的主力军

OSPF(Open Shortest Path First)是链路状态协议,它跟RIP完全不是一个思路。OSPF不靠“听说”,而是让每台路由器都掌握整个网络的拓扑图,然后用SPF算法自己算最短路径。

我第一次接触OSPF时,被它的LSA、邻居状态机、DR/BDR选举搞得头大。但用顺手之后,你会发现它比RIP聪明太多了。

4.3.1 OSPF的核心概念

概念 说明
Router ID 路由器的唯一标识,通常用最大的Loopback接口IP
邻居(Neighbor) 直连的、配置了OSPF的路由器
邻接(Adjacency) 建立了完整LSDB同步关系的邻居
DR/BDR 广播网络中的指定路由器和备份指定路由器,减少邻接数量
Area 区域,用于分层设计,减少LSA泛洪范围
Cost 度量值 = 10^8 / 带宽(bps),带宽越大Cost越小

4.3.2 OSPF邻居状态机

OSPF建立邻居关系要经过几个状态,我刚开始学的时候记不住,后来自己画了个流程图:

  1. Down:初始状态,没收到任何Hello包
  2. Init:收到Hello包,但自己的Router ID不在对方Hello包中
  3. 2-Way:双方都在对方的Hello包中看到自己,邻居关系建立
  4. ExStart:开始协商主从关系,确定DD序列号
  5. Exchange:交换DD报文,描述各自的LSDB
  6. Loading:请求缺失的LSA,加载完整信息
  7. Full:LSDB完全同步,邻接关系建立

我曾经遇到的坑:有一次OSPF邻居卡在2-Way状态死活不进Full。查了半天,发现是两台路由器的接口MTU不一致。OSPF在ExStart阶段会检查MTU,不匹配就卡住。从那以后,我配置OSPF前都会先统一MTU——血的教训。

4.3.3 单区域OSPF配置

单区域OSPF(所有路由器都在Area 0)是最简单的部署方式,适合中小型网络。

# Cisco配置
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.0.0.255 area 0

# 查看OSPF邻居
show ip ospf neighbor

# 查看OSPF路由
show ip route ospf

# 查看LSDB
show ip ospf database
# 华为配置
ospf 1 router-id 1.1.1.1
 area 0.0.0.0
  network 192.168.1.0 0.0.0.255
  network 10.0.0.0 0.0.0.255

# 查看
display ospf peer
display ospf routing
display ospf lsdb

4.3.4 OSPF的Cost计算

OSPF的Cost默认是10^8除以接口带宽。举个例子:

接口类型 带宽 默认Cost
FastEthernet 100 Mbps 1
GigabitEthernet 1000 Mbps 1(因为10^8/10^9 < 1,取最小值1)
Ethernet 10 Mbps 10
Serial (T1) 1.544 Mbps 64

我的建议:如果你的网络里有千兆甚至万兆链路,默认Cost都是1,无法区分优劣。这时候可以手动调整Cost值,或者修改参考带宽(auto-cost reference-bandwidth 10000),让OSPF能更精细地选路。

4.3.5 单区域OSPF的优缺点

  • 优点:配置简单,所有路由器都有完整拓扑,收敛快,无环路
  • 缺点:LSDB过大,每台路由器都要维护全网LSA,CPU和内存开销大

你想想看,如果网络里有100台路由器,每台都要存储所有LSA并运行SPF算法,那得消耗多少资源?这就是为什么大型网络要划分多区域的原因。不过那是后面章节的内容了,咱们先把单区域玩明白。

总结一下:静态路由适合小规模或特殊场景,RIP适合纯IPv4小型网络但局限性明显,OSPF单区域配置简单、收敛快,是企业网的首选。我个人建议,新项目直接上OSPF,别在RIP上浪费时间。