本檔案將說明Cisco路由器如何使用管理距離(AD)來選擇最受信任的路由來源。
思科建議您瞭解基本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轉送封包,因為它是最長(更具體地)的字首。
下表列出了思科支援的協定的管理距離預設值。
| 路由來源 | 預設AD值 |
|---|---|
| 已連線 | 0 |
| 靜態 | 1 |
| EIGRP總結路由 | 5 |
| 外部邊界閘道通訊協定(BGP) | 20 |
| 內部EIGRP | 90 |
| 內部閘道路由通訊協定 (IGRP) | 100 |
| OSPF | 110 |
| 中間系統到中間系統(IS IS) | 115 |
| 路由資訊通訊協定(RIP) | 120 |
| 外部閘道通訊協定(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
|
初始版本 |