路由协议优先级与路由选择排序详解
在IP网络中,路由器根据路由协议的管理距离(Administrative Distance, AD)或优先级值来决定当有多条去往同一目的地的路由时,优先使用哪一条。数值越小,优先级越高,路由越优先被选入路由表。不同厂商设备的默认值可能略有差异,但遵循通用标准。
路由协议默认优先级(管理距离)对比
下表列出了华为/华三(Huawei/H3C)和思科(Cisco)设备上常见路由来源的默认优先级(管理距离):
| 路由来源/协议 | 描述 | 华为/华三默认优先级 | 思科默认管理距离 (AD) |
|---|---|---|---|
| 直连路由 (Direct) | 路由器接口上配置IP地址后自动生成。 | 0 | 0 |
| 静态路由 (Static) | 由网络管理员手动配置的路由。 | 60 | 1 |
| OSPF | 内部网关协议(IGP),链路状态协议。 | 10 | 110 |
| IS-IS | 内部网关协议(IGP),链路状态协议。 | 15 | 115 |
| RIP | 内部网关协议(IGP),距离矢量协议。 | 100 | 120 |
| IBGP | 内部边界网关协议(同一AS内)。 | 255 | 200 |
| EBGP | 外部边界网关协议(不同AS间)。 | 255 | 20 |
| 未知/不可达 | 用于标识不可信或无效路由。 | 255 | 255 |
核心说明:
- 优先级与IGP/EGP的关系 :OSPF、IS-IS、RIP都属于内部网关协议(IGP) ,用于在单一自治系统(AS)内部交换路由 。BGP属于外部网关协议(EGP),用于在不同AS之间交换路由 。上表中已包含它们的优先级。
- 华为与思科的区别 :主要差异体现在静态路由 和EBGP上。华为的静态路由优先级(60)远高于其动态路由协议,而思科的静态路由管理距离(1)是所有协议中除直连外最小的,意味着在思科设备上静态路由的默认优先级最高。EBGP在思科设备上优先级(20)非常高,仅次于直连和静态路由。
路由选择排序规则(决策过程)
当路由器收到去往同一网络的多条路由时,严格按照以下顺序进行比较和选择:
- 比较优先级(管理距离) :这是首要且决定性的规则。 选择优先级数值最小(最可信)的路由。例如,在华为设备上,去往同一目的网络,如果同时存在一条OSPF路由(优先级10)和一条RIP路由(优先级100),则OSPF路由胜出并被放入路由表 。
- 比较度量值(Metric/Cost) :如果多条路由来自相同的路由协议 (即优先级相同),则比较该协议内部定义的度量值,选择最优路径。
- RIP : 比较跳数(Hop Count),跳数最少者优 。
- OSPF : 比较开销(Cost),开销值最小者优。开销通常基于链路带宽计算 。
- BGP : 决策过程复杂,依次比较优选权重(Weight,思科私有)> 本地优先级(Local Preference)> AS路径长度 > 起源代码 > MED值等 。
- 负载均衡:如果经过前两步比较后,存在多条优先级和度量值都完全相同的路由,路由器可能会将这些路由全部加入路由表,并对去往该目的地的流量进行负载均衡(如等价多路径路由,ECMP)。
配置示例与验证
以下是一个华为设备(VRP系统)的配置片段,展示了如何查看和修改路由优先级。
bash
# 查看IP路由表,其中 `pre` 列即为优先级
<Huawei> display ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 8 Routes : 8
Destination/Mask Proto Pre Cost Flags NextHop Interface
10.1.1.0/24 Direct 0 0 D 10.1.1.1 GigabitEthernet0/0/1
10.1.1.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
10.2.2.0/24 OSPF 10 2 D 10.1.1.2 GigabitEthernet0/0/1
10.3.3.0/24 RIP 100 1 D 10.1.1.3 GigabitEthernet0/0/1
10.4.4.0/24 Static 60 0 RD 10.1.1.4 GigabitEthernet0/0/1
bash
# 修改静态路由的优先级(华为设备)
[Huawei] ip route-static 192.168.1.0 255.255.255.0 10.1.1.100 preference 200
# 这条静态路由的优先级被修改为200,比RIP(100)还低,因此即使存在,也不会优先于RIP路由被选中。
# 修改OSPF协议引入路由的优先级(华为设备,在OSPF进程视图下)
[Huawei-ospf-1] preference 150
# 将此OSPF进程学习到的所有路由的优先级修改为150。
关键结论
- 默认排序(华为设备) :直连(0) > OSPF(10) > 静态(60) > RIP(100) > ... > BGP(255)。这个顺序清晰地体现了"越直接、越可控的路由越可信"的设计原则。
- 路由选择是分层决策:先跨协议比优先级(管理距离),再在协议内比度量值。这个机制确保了来自更可靠源的路由信息总是被优先采用,是网络稳定性和可预测性的基石 。
- 协议特性决定优先级:链路状态协议(如OSPF)因其快速收敛和防环机制,通常被赋予比距离矢量协议(如RIP)更高的默认优先级(即更小的数值)。静态路由因其稳定性和精确性,在华为设备上也具有较高优先级。BGP作为EGP,默认优先级最低(255),因为它传递的是大量的、策略性的外部路由,在IGP路由可用时,应优先使用IGP路径进行转发 。