选路决策怎么发生的
同一目的网段出现两条以上候选路由时,设备按固定顺序决策:先做最长前缀匹配(掩码更长的优先),同一前缀在多个协议之间存在时比协议优先级,同一协议内部则比度量值,最后才轮到等价多路径分担。选路异常几乎都能归到这三步里的某一步:掩码写得不一致、优先级被无意改变、或者度量值差异在实际拓扑下与设计不符。
基本信息
| 适用平台 | 华为 VRP、思科 IOS、H3C Comware |
|---|---|
| 命令族 | display ip routing-table verbose、show ip route |
| 关键字段 | 前缀长度、协议来源、优先级(Pre 或 AD)、度量值(Cost 或 metric) |
| 权限要求 | 查看类命令用户视图即可 |
| 比较顺序 | 最长前缀 → 协议优先级 → 度量值 → 等价多路径 |
典型使用场景
- 路由存在但不走预期路径:对比两条候选的优先级与度量
- 静态与动态混用后行为改变:确认哪一条真正进了路由表
- 主备倒换异常:核对备份路由的优先级设置是否比主路由更优
- 跨厂商迁移后选路变化:默认优先级体系不同,需重新核算
- 网络抖动:确认是否因度量值变化引起路径来回切换
华为 VRP
华为 VRP
<Huawei> display ip routing-table 10.1.1.0 24 verbose # 看候选与选中原因
<Huawei> display ip routing-table protocol static # 只看静态来源
<Huawei> display ip routing-table 10.1.1.0 24 # 简短视图看优先级与开销
<Huawei> display current-configuration | include ip route-static思科 IOS
思科 IOS
SW-CORE-01# show ip route 10.1.1.0 255.255.255.0 # 显示 [AD/度量] 与下一跳
SW-CORE-01# show ip route | include 10.1.1.0
SW-CORE-01# show ip route 10.1.1.0 255.255.255.0 longer-prefixes
SW-CORE-01# show running-config | include ip routeH3C Comware
H3C Comware
<H3C> display ip routing-table 10.1.1.0 24 verbose
<H3C> display ip routing-table protocol static
<H3C> display fib 10.1.1.0 # 转发表里最终生效的那一条比较顺序与依据
| 顺序 | 比较项 | 含义与默认值 |
|---|---|---|
| 第一步 | 前缀长度 | 掩码更长的路由优先,与协议无关 |
| 第二步 | 协议优先级 | 华为/H3C 静态 60、OSPF 域内 10;思科静态 1、OSPF 110,数值小者优 |
| 第三步 | 度量值 | 同协议内部比较,如 OSPF 开销、静态路由的 cost |
| 第四步 | 等价多路径 | 优先级与度量都相同时按配置的条数分担 |
| 例外 | 策略路由 | 策略路由优先于普通查表结果,排查时不要漏掉 |
改优先级是全网级动作,会影响这台设备上所有该协议的路由选择,动手前先把 verbose 输出留档:看清当前选中哪一条、候选有哪些,改完再对比一次,否则很容易把 A 问题换成 B 问题。