目錄

簡介

背景

問題

解決方案

簡介

本文描述增強型內部網關路由協定(EIGRP)路由度量操作的問題，其中由於已知的EIGRP行為，修改後的度量未生效。

背景

在其中一個智慧WAN(IWAN)部署中，網路運營商嘗試在分支路由器上使用EIGRP延遲度量來影響流量路徑首選項，從而發現了該問題。路徑偏好受EIGRP配置下的distribute-list和延遲度量的調整的影響。檢查圖1所示的拓撲。

圖1 - IWAN拓撲

在此拓撲中，網路操作員嘗試在兩個資料中心的所有分支路由器上使用分發清單執行路由操作，以提供優先使用字首以便將特定鏈路作為首選路徑的首選項。例如，DC2中的字首10.2.0.0/16是分支路由器上的首選路由，依次為：DC2-BR2、DC2-BR1、DC1-BR2、DC1-BR1。換句話說，向分支路由器（例如Spoke-1）傳送流量的路徑優先選項將首先指向DC2-BR2路由器，然後指向DC2-BR1路由器，最後指向DC1-BR1路由器。網路操作員還在DC1-SW1節點的DCI介面上配置了EIGRP延遲。

DC1-BR1路由器上用於EIGRP度量操作的示例配置如下所示：

! Configuration from DC1-BR1 router

router eigrp TEST

!

address-family ipv4 unicast autonomous-system 100

!

af-interface default

passive-interface

exit-af-interface

!

af-interface Tunnel100

summary-address 10.0.0.0 255.0.0.0

summary-address 10.2.0.0 255.255.0.0

no passive-interface

no split-horizon

exit-af-interface

!

af-interface GigabitEthernet0/0/1

no passive-interface

exit-af-interface

!

af-interface GigabitEthernet0/0/3

no passive-interface

exit-af-interface

!

topology base

distribute-list route-map set-metric-Gig out GigabitEthernet0/0/1

distribute-list route-map set-metric-tag-all out Tunnel100

exit-af-topology

network 10.1.2.0 0.0.0.255

network 10.1.10.0 0.0.0.3

network 10.1.123.0 0.0.3.255

eigrp router-id 10.1.0.11

exit-address-family

!

route-map set-tag-all deny 10

match tag 102 201 202

!

route-map set-tag-all permit 100

match ip address prefix-list set-spoke-delay-4000

set metric 100000 4000 255 1 1500

set tag 101

!

route-map set-tag-all permit 300

match ip address prefix-list set-spoke-delay-1000

set metric 100000 1000 255 1 1500

set tag 101

!

route-map set-tag-all permit 400

match ip address prefix-list set-spoke-delay-2000

set metric 100000 2000 255 1 1500

set tag 101

!

ip prefix-list set-spoke-delay-4000 seq 100 permit 10.2.0.0/16

. . .

!

Tunnel100是通過INET鏈路通向分支路由器的動態多點VPN(DMVPN)隧道。在先前的設定中，字首10.2.0.0/16的延遲設定為4000。同樣，對於相同的字首，在DC2-BR2、DC2-BR1和DC1-BR2節點上分別將延遲設定為1000、2000和3000，以設定優先順序。雖然此示例使用DMVPN隧道進行演示，但問題與介面無關。

問題

實際上，分支路由器上會出現此問題，當從DC2分支路由器收到字首10.2.0.0/16時，它會顯示不同的度量，但從DC1分支路由器收到時具有相同的度量。分支路由器的以下輸出顯示了此行為：

Spoke-1# show ip eigrp topology 10.2.0.0/16 | in delay

Total delay is 60000000000 picoseconds  (from DC 2 BR2)

Total delay is 100020000000 picoseconds  (From DC 1 BR1)

Total delay is 70000000000 picoseconds  (From DC 2 BR1)

Total delay is 100020000000 picoseconds  (From DC 1 BR2)

此行為導致不能按順序為從DC1-BR1和DC1-BR2路由器接收的路徑指定首選項。

解決方案

問題的主要原因是網路運營商試圖將度量設定為比收到的值更低的絕對值（更低的度量）。這可以通過驗證 show ip eigrp events 命令。輸出顯示，路由對映嘗試將度量操縱為低於字首實際存在的值。

DC1-BR1# show ip eigrp events

. . .

06:47:11.891 Can't reduce rtmap metric, old/new: metric(2950430720) metric(1972633600)

. . .

請注意，對於任何路由協定，您都不可能降低度量，因為這意味著您有一個具有負開銷的介面。這反過來會破壞環路預防條件，並可能導致網路中的不一致。可以通過兩種不同的方式解決問題：

- 減少路徑中接收字首的延遲值。在前一種情況下，降低DCI介面上的EIGRP延遲值有助於緩解問題。

- 執行度量操作時，配置更高的絕對度量。