文章目录
- 一、默认状态下的“公平”:等价多路径(ECMP)
- 二、链路带宽的“迷局”:为什么增加带宽没用?
- 核心公式:OSPF Cost 是如何计算的?
- 三、手动干预:OSPF Cost 的“终极武器”
- 必须掌握的两个特性:
- A. 本地意义(Local Significance)
- B. 累加属性(Cumulative Cost)
- 总结
- ENSP文件下载
在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>displayiprouting-table10.0.0.024Route Flags: R - relay, D - download to fib ------------------------------------------------------------------------------ Routing Table:Public Summary Count:1Destination/Mask Proto Pre Cost Flags NextHop Interface10.0.0.0/24 O_ASE1506D192.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 GigabitEthernet0/0/1#interface GigabitEthernet0/0/1 description To-[R3]ipaddress192.168.20.1255.255.255.252 ospf cost100R2 查路由:到 R3 的 Cost 变为 101。
<R2>dispiprouting-table3.3.3.3 Route Flags: R - relay, D - download to fib ------------------------------------------------------------------------------ Routing Table:Public Summary Count:1Destination/Mask Proto Pre Cost Flags NextHop Interface3.3.3.3/32 O_ASE150101D192.168.20.2 GigabitEthernet0/0/1R1 查路由:到 R3 的 Cost 变为 102(累加了 R1 到 R2 的接口开销)。
<R1>dispiprouting-table3.3.3.3 Route Flags: R - relay, D - download to fib ------------------------------------------------------------------------------ Routing Table:Public Summary Count:1Destination/Mask Proto Pre Cost Flags NextHop Interface3.3.3.3/32 O_ASE150102D192.168.10.2 GigabitEthernet0/0/0反向查路由:从 R3 查 R1,由于回程路径的入接口没有修改 Cost,其值依然保持默认(如 3),完全不受去程配置的影响。
<R3>dispiprouting-table1.1.1.1 Route Flags: R - relay, D - download to fib ------------------------------------------------------------------------------ Routing Table:Public Summary Count:1Destination/Mask Proto Pre Cost Flags NextHop Interface1.1.1.1/32 O_ASE1503D192.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文件关键字获取;软件资源,可以在公众号中回复软件关键字获取。