深度解析:OSPF选路背后的“算计”--链路带宽与COST值
本文深入解析了OSPF协议中Cost值对路由选择的关键影响。文章首先展示了默认状态下,相同Cost路径会导致流量负载分担(ECMP)。随后揭示了单纯增加链路带宽可能因默认参考带宽过小而无法改变选路的“迷局”,并给出了调整建议。最后,重点阐述了手动配置Cost值的“终极武器”,详细解释了其本地有效性和沿途累加的特性,帮助读者掌握精准控制OSPF流量走向的方法。
文章目录
在OSPF(开放最短路径优先)协议中,路由器是如何决定“哪条路更好”的?答案全在Cost(开销)值里。OSPF 是一种链路状态协议,它使用 Cost 作为度量值(Metric)来计算最短路径。
今天我们通过三个实验场景,彻底搞清楚链路带宽、参考带宽以及手动 Cost 配置对路由选路的影响。
一、默认状态下的“公平”:等价多路径(ECMP)

在默认配置下,OSPF 的选路非常“单纯”。
场景设定:
R3 作为下游设备,拥有 R1 和 R2 两个上行网关。三台路由器均运行 OSPF,且所有接口带宽保持默认值。
- 现象: 当 R3 访问服务器网段
10.0.0.0/24时,通过display ip routing-table可以看到存在两条 Cost 相同的等价路由。 - 结果: 流量会在 R1 和 R2 之间进行
负载分担。此时 R3 认为这两条路径的“距离”完全一致。

二、链路带宽的“迷局”:为什么增加带宽没用?

很多初学者认为:我增加了一条链路的带宽(比如做链路聚合),OSPF 应该会自动选更宽的那条路。但事实往往并非如此。
实验过程:
我们将 R3 到 R2 的链路进行捆绑,带宽从 1GE 提升到 2GE。然而,在 R3 上查看路由表,发现依然是两条等价路由,选路并没有发生变化。

核心公式:OSPF Cost 是如何计算的?
OSPF 计算接口 Cost 的公式如下:

- 默认参考带宽(Bandwidth-Reference): 100 Mbps。
- 计算结果: 对于 1000M(1GE)和 2000M(2GE)的接口,根据公式计算出的 Cost 值均小于 1,而 OSPF 取整后的最小值也是 1。
解决方案:修改参考带宽
为了让 OSPF 识别出高速链路的差异,我们需要在 R3 上修改参考带宽:
[R3-ospf-1] bandwidth-reference 10000
此时:
-
R3 到 R1 (1GE) 的 Cost:1 + (10000 / 1000) = 11
-
R3 到 R2 (2GE) 的 Cost:1 + (10000 / 2000) = 6
路由将优先转发至 Cost 值更小的 R2 路径。
<R3>display ip routing-table 10.0.0.0 24
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Table : Public
Summary Count : 1
Destination/Mask Proto Pre Cost Flags NextHop Interface
10.0.0.0/24 O_ASE 150 6 D 192.168.30.1 Eth-Trunk1
三、手动干预:OSPF Cost 的“终极武器”

除了调整全局参考带宽,网络工程师最常用的手段是直接在接口上修改 Cost 值。
操作命令:
在接口下配置:ospf cost 100。
必须掌握的两个特性:
A. 本地意义(Local Significance)
Cost 值具有“方向性”。如果你在 R3 的上行接口配置了 Cost 100,它只影响从 R3 发出的流量。
- 实验证明: 在 R3 上行口加了 Cost 后,R3 选路变了;但从 R2 查看 R3 的路由,Cost 值并没有增加。
B. 累加属性(Cumulative Cost)
路由的最终 Cost 是从源到目的地所有入接口 Cost 的总和。
场景演示: R1 -> R2 -> R3
在 R2 对接 R3 的接口配置 ospf cost 100。
<R2>display current-configuration interface GigabitEthernet 0/0/1
#
interface GigabitEthernet0/0/1
description To-[R3]
ip address 192.168.20.1 255.255.255.252
ospf cost 100
R2 查路由: 到 R3 的 Cost 变为 101。
<R2>disp ip routing-table 3.3.3.3
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Table : Public
Summary Count : 1
Destination/Mask Proto Pre Cost Flags NextHop Interface
3.3.3.3/32 O_ASE 150 101 D 192.168.20.2 GigabitEthernet0/0/1
R1 查路由: 到 R3 的 Cost 变为 102(累加了 R1 到 R2 的接口开销)。
<R1>disp ip routing-table 3.3.3.3
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Table : Public
Summary Count : 1
Destination/Mask Proto Pre Cost Flags NextHop Interface
3.3.3.3/32 O_ASE 150 102 D 192.168.10.2 GigabitEthernet0/0/0
反向查路由: 从 R3 查 R1,由于回程路径的入接口没有修改 Cost,其值依然保持默认(如 3),完全不受去程配置的影响。
<R3>disp ip routing-table 1.1.1.1
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Table : Public
Summary Count : 1
Destination/Mask Proto Pre Cost Flags NextHop Interface
1.1.1.1/32 O_ASE 150 3 D 192.168.20.1 GigabitEthernet0/0/1
总结
OSPF 的选路并不是简单的“带宽大者优先”,而是严格遵循 Cost 计算公式:
- 默认带宽参考值太低会导致高速链路无法区分,建议在万兆网络中调大
bandwidth-reference。 - 手动配置 Cost 是实现流量精确引流的最直接手段。
- 牢记方向性: 路由选路只看流量流出方向对应的入接口 Cost 累加。
ENSP文件下载
如果觉得这些经验对你有用,不妨动动手指点赞,再顺手收藏起来,方便后续回看或分享给有需要的朋友 —— 您的每一份支持,都是我继续分享的动力,感谢阅读!
我将上面的拓扑场景使用ENSP进行模拟验证,ENSP文件下载地址:
# 文件1
通过网盘分享的文件:OSPF_08_带宽和COST对于路由选路的影响.rar
链接: https://pan.baidu.com/s/1NzZTA1Dv0Z833V-ZAV9Ohg?pwd=3j34 提取码: 3j34 复制这段内容后打开百度网盘手机App,操作更方便哦
# 文件2
通过网盘分享的文件:OSPF_08_带宽和COST对于路由选路的影响_02.rar
链接: https://pan.baidu.com/s/1fTkJGxkjBNmkrYOLecfCYg?pwd=sppt 提取码: sppt 复制这段内容后打开百度网盘手机App,操作更方便哦
往期更多ENSP文件,可以在公众号 数通工程师中回复ENSP文件关键字获取;软件资源,可以在公众号中回复软件关键字获取。
更多推荐



所有评论(0)