OSPF 参考带宽调整
默认参考带宽是百兆,千兆及以上接口的开销全部算成 1,十兆与千兆无法区分,SPF 也就无法按带宽选路。把参考带宽改成 10000(即 10G)后,千兆链路开销为 10、万兆为 1,带宽差异才体现出来。代价是全网设备都要改成相同值,否则两端算出的开销不对称。
基本信息
| 适用平台 | 华为 VRP、H3C Comware、思科 IOS |
|---|---|
| 华为与 H3C 命令 | ospf 进程下 bandwidth-reference 值(单位 Mbps) |
| 思科命令 | router ospf 下 auto-cost reference-bandwidth 值(单位 Mbps) |
| 生效方式 | 修改后进程内自动重算各接口开销 |
| 硬约束 | 所有运行 OSPF 的设备必须配置相同的参考带宽 |
参考带宽建议取值
| 链路最高速率 | 建议参考带宽 | 说明 |
|---|---|---|
| 千兆以内 | 100(默认) | 各速率开销可区分,一般无需修改 |
| 万兆 | 10000 | 千兆开销 10、万兆开销 1 |
| 十万兆 | 100000 | 万兆开销 10、十万兆开销 1 |
| 混合组网 | 按最高速率设置 | 确保各档速率开销互不相同 |
典型使用场景
- 万兆组网中希望流量优先走带宽更高的链路
- 混合速率链路(千兆与万兆并存)需要按带宽选路
- 多条等价链路中希望按带宽差异体现优先级
- 网络升级后复核开销设置是否仍能反映实际带宽
- 排查选路异常:确认两端参考带宽是否一致
华为 VRP 与 H3C Comware
华为 VRP 与 H3C Comware
ospf 1
bandwidth-reference 10000 # 华为:单位 Mbps
display ospf interface GigabitEthernet0/0/1 # 核对接口开销
ospf 1
bandwidth-reference 10000 # H3C:取值含义相同
display ospf interface brief思科 IOS
思科 IOS
router ospf 1
auto-cost reference-bandwidth 10000 # 单位是 Mbps,不是 bps
show ip ospf interface GigabitEthernet0/1 # 查看接口开销
# 也可在接口下手工指定 ip ospf cost 覆盖计算结果参考带宽必须全网一致:一台设备按百兆算、另一台按万兆算,同一条链路两端得到不同开销,最短路径树就会不对称,出现单向流量走次优路径的情况。
思科命令的单位是 Mbps,常见错误是写成 10000000000(误按 bps 理解),结果所有接口开销都算成 1,与修改前的效果相同却以为已经改好。