本文档介绍Cisco路由器如何使用管理距离(AD)来选择最信任的路由来源。
Cisco建议您了解基本IP路由。
本文档不限于特定的软件和硬件版本。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
AD是一个用于评定路由信息源可信度的值。当路由表从不同的路由来源收到通往相同目标前缀的候选路由时,首选具有最低管理距离的路由并将其添加到路由表中。
多数路由协议具有与其他协议不兼容的量度结构和算法。在使用多个路由协议的网络中,交换路由信息以及跨多个协议选择最佳路径的功能至关重要。每个路由协议或源都分配了一个AD值,该值决定了到同一目的地的多条路由的优先级。值越低,值越高。
在路由可以添加到路由表之前,路由器会执行多项检查,例如验证路由、解析下一跳以及选择指定目标前缀的最佳路由。AD仅在多个路由来源通告相同的目标前缀时使用。
通常,路由信息库(RIB)安装过程遵循此顺序。
注意:在转发过程中不会评估AD和路由度量。这些值已用于确定RIB中安装了哪些路由,因此AD不会覆盖最长前缀匹配。
注意:前面的步骤介绍如何在RIB中选择和安装路由。一旦安装了路由,数据包转发就会使用转发信息库(FIB),其中最长前缀匹配确定每个数据包使用哪个已安装的路由。
AD是本地值,不会在路由更新中通告。管理距离值越小,路由来源的优先级越高。
例如,如果路由器从开放最短路径优先(OSPF)和增强型内部网关路由协议(EIGRP)获取相同的前缀,则路由器默认首选该EIGRP路由,因为内部EIGRP的管理距离为90,而OSPF的管理距离为110。RIB会安装EIGRP路由,因为它具有该目标前缀的最低管理距离。例如,如果由于EIGRP邻居关闭而稍后撤消该EIGRP路由,路由器将重新评估其余候选路由。如果OSPF路由仍然有效且可以解析其下一跳,则会将其安装在路由表中并成为该目标前缀的活动路由。
在show ip route输出中,方括号中的值使用格式[管理距离/度量]。例如,[90/1]表示路由的管理距离为90,协议度量为1。
在路由表中安装了路由后,路由器会使用最长前缀匹配来转发数据包。当多个已安装的路由与目的IP地址匹配时,路由器会选择具有最具体前缀的路由。例如,如果路由表包含192.168.1.0/24和192.168.0.0/16,则发往192.168.1.10的数据包将匹配这两条路由,但路由器使用192.168.1.0/24转发数据包,因为它是最长(更具体地说)的前缀。
下表列出了Cisco支持的协议的管理距离默认值。
| 路由来源 | 默认AD值 |
|---|---|
| 已连接 | 0 |
| 静态 | 1 |
| EIGRP汇总路由 | 5 |
| 外部边界网关协议 (BGP) | 20 |
| 内部 EIGRP | 90 |
| 内部网关路由协议(IGRP) | 100 |
| OSPF | 110 |
| IS-IS(中间系统到中间系统) | 115 |
| 路由信息协议 (RIP) | 120 |
| Exterior Gateway Protocol (EGP) | 140 |
| 按需路由 (ODR) | 160 |
| 外部 EIGRP | 170 |
| 内部 BGP | 200 |
| 未知* | 255 |
注意:如果管理距离是255,路由器不会认为路由可靠,也不会将其添加到路由表中。
当路由器从多个路由来源获取相同的目的前缀时,您可以修改管理距离以影响路由表中安装的路由。
注意:如果您计划对AD进行更改,请务必小心。AD在路由器本地,而路由器之间的不一致更改可能导致非对称路由、次优路由、路由环路或流量黑洞。
例如,内部EIGRP的默认管理距离为90,而OSPF的默认管理距离为110。如果两个协议通告相同前缀,则路由器默认安装EIGRP路由,因为90低于110。
为了说明此行为,R1和R2通过172.16.1.0/24网络中的GigabitEthernet1直接连接。
在R1上,通向10.0.0.0/24的路由被安装为EIGRP路由。路由代码D表示EIGRP。方括号中的值使用格式[管理距离/度量]。在本例中,[90/130816]表示该路由的管理距离为90,EIGRP度量为130816。在R2上,指向192.168.1.0/24的路由也安装为EIGRP路由:
R1#show ip route
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, m - OMP
n - NAT, Ni - NAT inside, No - NAT outside, Nd - NAT DIA
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
H - NHRP, G - NHRP registered, g - NHRP registration summary
o - ODR, P - periodic downloaded static route, l - LISP
a - application route
+ - replicated route, % - next hop override, p - overrides from PfR
& - replicated local route overrides by connected
Gateway of last resort is not set
10.0.0.0/24 is subnetted, 1 subnets D 10.0.0.0 [90/130816] via 172.16.1.200, 00:16:10, GigabitEthernet1
172.16.0.0/16 is variably subnetted, 2 subnets, 2 masks
C 172.16.1.0/24 is directly connected, GigabitEthernet1
L 172.16.1.100/32 is directly connected, GigabitEthernet1
192.168.1.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.1.0/24 is directly connected, Loopback0
L 192.168.1.1/32 is directly connected, Loopback0
R2#show ip route
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, m - OMP
n - NAT, Ni - NAT inside, No - NAT outside, Nd - NAT DIA
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
H - NHRP, G - NHRP registered, g - NHRP registration summary
o - ODR, P - periodic downloaded static route, l - LISP
a - application route
+ - replicated route, % - next hop override, p - overrides from PfR
& - replicated local route overrides by connected
Gateway of last resort is not set
10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C 10.0.0.0/24 is directly connected, Loopback0
L 10.0.0.1/32 is directly connected, Loopback0
172.16.0.0/16 is variably subnetted, 2 subnets, 2 masks
C 172.16.1.0/24 is directly connected, GigabitEthernet1
L 172.16.1.200/32 is directly connected, GigabitEthernet1
D 192.168.1.0/24 [90/130816] via 172.16.1.100, 00:13:42, GigabitEthernet1
虽然OSPF也学习了相同的前缀,但OSPF路由未安装在路由表中,因为其默认管理距离110高于EIGRP管理距离90。
您可以使用distance <AD-value>命令修改路由进程获知的路由的管理距离。在本示例中,R1上的OSPF管理距离更改为85:
R1#configure terminal
R1(config)#router ospf 100
R1(config-router)#distance 85
R1(config-router)#end
警告:此示例说明如何修改协议的AD,但是更改AD时请务必小心。不一致的AD设计可能导致非对称路由、次优路由、路由环路或流量黑洞。在更改前后验证路由设计。
在AD更改后,R1首选通向10.0.0.0/24的OSPF路由,因为OSPF的管理距离现在为85,比EIGRP的管理距离90要小。
路由代码从D变为O,表示现在路由表中已安装OSPF路由。值[85/2]显示管理距离85和OSPF度量2。
管理距离更改仅具有本地意义。它会影响R1上的路由选择,但不通告给R2。因此,R2继续首选通向192.168.1.0/24的EIGRP路由:
R1#show ip route
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, m - OMP
n - NAT, Ni - NAT inside, No - NAT outside, Nd - NAT DIA
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
H - NHRP, G - NHRP registered, g - NHRP registration summary
o - ODR, P - periodic downloaded static route, l - LISP
a - application route
+ - replicated route, % - next hop override, p - overrides from PfR
& - replicated local route overrides by connected
Gateway of last resort is not set
10.0.0.0/24 is subnetted, 1 subnets O 10.0.0.0 [85/2] via 172.16.1.200, 00:00:11, GigabitEthernet1
172.16.0.0/16 is variably subnetted, 2 subnets, 2 masks
C 172.16.1.0/24 is directly connected, GigabitEthernet1
L 172.16.1.100/32 is directly connected, GigabitEthernet1
192.168.1.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.1.0/24 is directly connected, Loopback0
L 192.168.1.1/32 is directly connected, Loopback0
R2#show ip route
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, m - OMP
n - NAT, Ni - NAT inside, No - NAT outside, Nd - NAT DIA
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
H - NHRP, G - NHRP registered, g - NHRP registration summary
o - ODR, P - periodic downloaded static route, l - LISP
a - application route
+ - replicated route, % - next hop override, p - overrides from PfR
& - replicated local route overrides by connected
Gateway of last resort is not set
10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C 10.0.0.0/24 is directly connected, Loopback0
L 10.0.0.1/32 is directly connected, Loopback0
172.16.0.0/16 is variably subnetted, 2 subnets, 2 masks
C 172.16.1.0/24 is directly connected, GigabitEthernet1
L 172.16.1.200/32 is directly connected, GigabitEthernet1
D 192.168.1.0/24 [90/130816] via 172.16.1.100, 00:20:15, GigabitEthernet1
因为每个网络的要求都不同,所以不存在分配管理距离的通用指导原则。您必须在整体上确定网络的管理距离的合理列表。
管理距离的一种常用方法是浮动静态路由。浮动静态路由的管理距离比主路由大,因此它仅在主路由从路由表中删除时才使用。
在本示例中,R1使用OSPF作为主要路由来源,通过R2到达10.0.0.0/24。OSPF路由的默认管理距离为110。
R1#show ip route ospf
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, m - OMP
n - NAT, Ni - NAT inside, No - NAT outside, Nd - NAT DIA
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
H - NHRP, G - NHRP registered, g - NHRP registration summary
o - ODR, P - periodic downloaded static route, l - LISP
a - application route
+ - replicated route, % - next hop override, p - overrides from PfR
& - replicated local route overrides by connected
Gateway of last resort is not set
10.0.0.0/24 is subnetted, 1 subnets O 10.0.0.0 [110/2] via 172.16.1.200, 00:00:09, GigabitEthernet1
注意:管理距离设置为250。
路由代码O表示该路由是通过OSPF获知的。方括号中的值使用格式[管理距离/度量]。在本例中,[110/2]表示路由的管理距离为110,OSPF度量为2。
要为同一目标配置浮动静态路由,请使用高于OSPF管理距离的管理距离:
R1#configure terminal
R1(config)#ip route 10.0.0.0 255.255.255.0 172.16.1.200 250
R1(config)#end
在前面的命令中,250是分配给静态路由的AD值。由于250高于OSPF AD 110,因此当OSPF路由可用时,静态路由不会安装到路由表中。
如果从路由表中删除OSPF路由,则浮动静态路由会成为通向10.0.0.0/24的最佳可用路由,并会安装到路由表中:
R1#show ip route ospf
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, m - OMP
n - NAT, Ni - NAT inside, No - NAT outside, Nd - NAT DIA
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
H - NHRP, G - NHRP registered, g - NHRP registration summary
o - ODR, P - periodic downloaded static route, l - LISP
a - application route
+ - replicated route, % - next hop override, p - overrides from PfR
& - replicated local route overrides by connected
Gateway of last resort is not set
R1#show ip route
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, m - OMP
n - NAT, Ni - NAT inside, No - NAT outside, Nd - NAT DIA
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
H - NHRP, G - NHRP registered, g - NHRP registration summary
o - ODR, P - periodic downloaded static route, l - LISP
a - application route
+ - replicated route, % - next hop override, p - overrides from PfR
& - replicated local route overrides by connected
Gateway of last resort is not set
10.0.0.0/24 is subnetted, 1 subnets S 10.0.0.0 [250/0] via 172.16.1.200
172.16.0.0/16 is variably subnetted, 2 subnets, 2 masks
C 172.16.1.0/24 is directly connected, GigabitEthernet1
L 172.16.1.100/32 is directly connected, GigabitEthernet1
192.168.1.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.1.0/24 is directly connected, Loopback0
L 192.168.1.1/32 is directly connected, Loopback0
路由代码更改为S,表示现在安装了静态路由。值[250/0]显示AD为250,静态路由度量为0。
注意:仅当对于同一前缀不存在具有较低管理距离的路由时,才会安装浮动静态路由。下一跳172.16.1.200也必须可达。如果无法解析下一跳,则不会安装静态路由。
注意:请谨慎使用浮动静态路由。不正确的下一跳、过低的管理距离或不一致的备份路由可能导致流量意外使用备份路径,或在主路由中断期间发生故障。
有关浮动静态路由的其他示例,请参阅以下文档:
| 版本 | 发布日期 | 备注 |
|---|---|---|
3.0 |
20-Jul-2026
|
已更新标题、简介和格式。 |
1.0 |
20-Dec-2001
|
初始版本 |