本產品的文件集力求使用無偏見用語。針對本文件集的目的,無偏見係定義為未根據年齡、身心障礙、性別、種族身分、民族身分、性別傾向、社會經濟地位及交織性表示歧視的用語。由於本產品軟體使用者介面中硬式編碼的語言、根據 RFP 文件使用的語言,或引用第三方產品的語言,因此本文件中可能會出現例外狀況。深入瞭解思科如何使用包容性用語。
思科已使用電腦和人工技術翻譯本文件,讓全世界的使用者能夠以自己的語言理解支援內容。請注意,即使是最佳機器翻譯,也不如專業譯者翻譯的內容準確。Cisco Systems, Inc. 對這些翻譯的準確度概不負責,並建議一律查看原始英文文件(提供連結)。
本文件說明如何使用稱為增強型內部閘道路由通訊協定 (EIGRP) 的內部閘道通訊協定。
本文件沒有特定需求。
本文件所述內容不限於特定軟體和硬體版本。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
在設計完善的網路中,EIGRP可以很好地擴展,並以最小的網路流量提供極快的收斂時間。
EIGRP的一些優勢包括:
EIGRP是一種增強的距離向量協定,它依賴於擴散更新演算法(DUAL)來計算到達網路中目的地的最短路徑。
EIGRP有兩個主要版本:版本0和版本1。早於10.3(11)、11.0(8)和11.1(3)的Cisco IOS®版本運行EIGRP的較早版本;此資訊中有些不適用於較早版本。建議使用EIGRP中的更高版本,因為它包含許多效能和穩定性增強功能。
典型的距離向量協定在計算到達目的地的最佳路徑時儲存此資訊:距離(總度量或距離,如跳數)和向量(下一跳)。例如,圖1中網路中的所有路由器都運行路由資訊協定(RIP)。路由器Two透過檢查每個可用路徑的跳數來選擇通向網路A的路徑。
圖1
由於透過路由器3的路徑是三跳,而透過路由器1的路徑是兩跳,因此路由器2選擇透過路由器1的路徑並丟棄透過路由器3獲知的資訊。如果路由器One和網路A之間的路徑斷開,路由器Two將失去與此目標的所有連線,直到其路由表的路由超時(三個更新週期或90秒),而路由器Three將重新通告該路由(在RIP中每30秒發生一次)。如果不包括任何抑制時間,路由器2需要花費90到120秒將路徑從路由器1切換到路由器3。
EIGRP不依賴於完全的定期更新來重新收斂,而是從其每個鄰居通告中構建一個拓撲表(資料不會被丟棄),並透過在拓撲表中搜尋可能的無環路由進行收斂,或者,如果沒有找到其他路由,則查詢其鄰居。路由器2儲存從路由器1和路由器3收到的資訊。它會將透過1的路徑選擇為其最佳路徑(後繼路徑),而將透過3的路徑選擇為無環路徑(可行後繼路徑)。當透過路由器1的路徑變得不可用時,路由器2檢查其拓撲表,並在找到可行後繼路由器時立即開始使用透過路由器3的路徑。
從這篇簡單的解釋可以看出,EIGRP顯然必須提供:
在指定時間僅傳送所需更新的系統;可透過鄰居發現和維護來完成
確定路由器獲知哪些路徑是無環路的一種方法
從網路上所有路由器的拓撲表中清除壞路由的過程
搜尋鄰居以查詢通往丟失目的地的路徑的過程
這些要求將依次包括在內。
為了在整個網路中分發路由資訊,EIGRP使用非定期的增量路由更新。也就是說,EIGRP僅傳送有關路徑發生更改的路由更新。
如果只傳送路由更新,則無法發現透過相鄰路由器的路徑不再可用的情況。您不能將路由超時並期望從鄰居處接收新的路由表。EIGRP依靠鄰居關係在整個網路中傳播路由表更改;當兩台路由器在通用網路上看到hello資料包時,它們就會成為鄰居。
EIGRP在高頻寬鏈路上每5秒傳送一次hello資料包,在低頻寬多點鏈路上每60秒傳送一次hello資料包。
5秒hello:
廣播媒體,例如乙太網、令牌環和FDDI
點對點串列鏈路,例如PPP或HDLC租用電路、幀中繼點對點子介面和ATM點對點子介面
高頻寬(大於T1)多點電路,如ISDN PRI和幀中繼
60秒hello:
多點電路T1頻寬或更慢,例如幀中繼多點介面、ATM多點介面、ATM交換虛電路和ISDN BRI
EIGRP傳送hello資料包的速率稱為hello間隔,您可以使用 ip hello-interval eigrp命令,根據每個介面對它進行調整。保持時間是路由器未收到hello資料包時認為鄰居處於活動狀態的時間量。保持時間通常是hello間隔的三倍,預設值為15秒和180秒。您可以使用ip hold-time eigrp命令調整保持時間。
註:如果更改Hello間隔,則不會自動調整保持時間以適應此更改。您必須手動調整保持時間,以反映配置的hello間隔。
即使Hello計時器和保持計時器不匹配,兩台路由器也可能成為EIGRP鄰居。保持時間包含在hello資料包中,因此,即使hello間隔和保持計時器不匹配,每個鄰居也能保持活動狀態。 雖然沒有直接的方法可以確定路由器上的hello間隔時間,但您可以從鄰接路由器的show ip eigrp neighbors命令的輸出中推斷它。
如果您有來自Cisco裝置的show ip eigrp neighbors命令輸出,則啟用JavaScript後,您可以使用Cisco CLI Analyzer顯示潛在問題和解決方法。
router#show ip eigrp neighbors IP-EIGRP neighbors for process 1 H Address Interface Hold Uptime SRTT RTO Q Seq Type (sec) (ms) Cnt Num 1 10.1.1.2 Et1 13 12:00:53 12 300 0 620 0 10.1.2.2 S0 174 12:00:56 17 200 0 645 rp-2514aa#show ip eigrp neighbor IP-EIGRP neighbors for process 1 H Address Interface Hold Uptime SRTT RTO Q Seq Type (sec) (ms) Cnt Num 1 10.1.1.2 Et1 12 12:00:55 12 300 0 620 0 10.1.2.2 S0 173 12:00:57 17 200 0 645 rp-2514aa#show ip eigrp neighbor IP-EIGRP neighbors for process 1 H Address Interface Hold Uptime SRTT RTO Q Seq Type (sec) (ms) Cnt Num 1 10.1.1.2 Et1 11 12:00:56 12 300 0 620 0 10.1.2.2 S0 172 12:00:58 17 200 0 645
命令輸出的Hold列中的值決不能超過保持時間,並且決不能小於保持時間減去hello間隔(當然,除非hello資料包丟失)。如果Hold列的範圍通常介於10和15秒之間,則hello間隔為5秒,保持時間為15秒。如果「保持」列的範圍通常更寬(介於120和180秒之間),則hello間隔為60秒,保持時間為180秒。如果數字似乎不符合其中一個預設計時器設定,請檢查鄰居路由器上的相關介面。Hello計時器和保持計時器可能是手動配置的。
注意:EIGRP不透過輔助地址建立對等關係。所有EIGRP流量都來自介面的主地址。
EIGRP可支援的鄰居數量沒有限制。實際支援的鄰居數量取決於裝置功能,例如:
記憶體容量
處理能力
交換的資訊量,例如傳送的路由數
拓撲複雜性
網路穩定性
現在,這些路由器相互通訊,它們又談論什麼呢?當然是它們的拓撲表!與RIP和IGRP不同,EIGRP不依賴路由器中的路由(或轉發)表來儲存運行所需的所有資訊。相反,它構建第二個表(拓撲表),從中將路由安裝到路由表中。
注意:從Cisco IOS版本12.0T和12.1開始,RIP維護自己的資料庫,透過該資料庫將路由安裝到路由表中。
要檢視運行EIGRP的路由器上拓撲表的基本格式,請發出show ip eigrp topology命令。拓撲表包含構建每個可到達網路的一組距離和向量時所需的資訊,以及:
上游鄰居報告的指向此目標的路徑上的最低頻寬
總延遲
路徑可靠性
路徑載入
最小路徑最大傳輸單位(MTU)
可行距離
報告距離
路由來源(標籤外部路由)
如果您有來自Cisco裝置的show ip eigrp topology命令的輸出,可以使用Cisco CLI Analyzer顯示潛在問題和解決方法。要使用Cisco CLI Analyzer,必須啟用JavaScript。
EIGRP使用到達目的網路的路徑上的最小頻寬和總延遲來計算路由度量。建議不要配置其他度量,因為它可能導致網路中的路由環路。頻寬和延遲度量由通往目的網路的路徑中路由器介面上配置的值確定。
例如,在圖2中,路由器1計算到網路A的路徑。
圖2
它從此網路的兩個通告開始:一個到路由器4,最小頻寬為56,總延遲為2200;另一個到路由器3,最小頻寬為128,延遲為1200。路由器One選擇度量最低的路徑。
計算測量結果。EIGRP在擴展頻寬和延遲度量時計算總度量。EIGRP使用以下公式來擴展頻寬:
頻寬= (10000000/頻寬(i)) * 256
其中bandwidth(i)是通往目的網路的路由上所有傳出介面的最小頻寬(以千位元為單位)。
EIGRP使用以下公式來擴展延遲:
延遲=延遲(i) * 256
其中delay(i)是到達目的網路的路由上介面上配置的延遲的總和(以十微秒為單位)。show ip eigrp topology或show interface命令中顯示的延遲以微秒為單位,因此在此公式中使用該值前必須將其除以10。使用延遲是因為它顯示在介面上。
EIGRP使用以下縮放值來確定到網路的總度量:
度量= ([K1 *頻寬+ (K2 *頻寬) / (256 -負載) + K3 *延遲] * [K5 / (可靠性+ K4)]) * 256
註:必須仔細規劃後使用K值。不匹配的K值將阻止建立鄰居關係,這可能導致您的網路無法收斂。
注意:如果K5 = 0,公式將變為度量= ([k1 *頻寬+ (k2 *頻寬)/(256 -負載) + k3 *延遲]) * 256。
K的預設值如下:
K1 = 1
K2 = 0
K3 = 1
K4 = 0
K5 = 0
對於預設行為,您可以如下所示簡化公式:
metric = bandwidth + delay
Cisco路由器不執行浮點數學,因此在計算中的每個階段都需要向下舍入到最接近的整數才能正確計算度量。
在本例中,透過路由器4的總開銷為:
inimum bandwidth = 56k total delay = 100 + 100 + 2000 = 2200 [(10000000/56) + 2200] x 256 = (178571 + 2200) x 256 = 180771 x 256 = 46277376
透過路由器3的總開銷為:
minimum bandwidth = 128k
total delay = 100 + 100 + 1000 = 1200
[(10000000/128) + 1200] x 256 = (78125 + 1200) x 256 = 79325 x 256 = 20307200
要到達網路A,路由器One選擇透過路由器Three的路由。
注意:使用的頻寬和延遲值是在路由器到達目的網路的下一跳所透過的介面上配置的。例如,路由器Two通告了網路A,其乙太網介面上配置了延遲;路由器Four增加了在其乙太網上配置的延遲,路由器One增加了在其串列介面上配置的延遲。
可行距離是通往目的網路的路徑上的最佳度量,包括通告該路徑的鄰居的度量。Reported distance是上游鄰居通告的通往目的網路的路徑上的總度量。可行後繼路由是報告距離小於可行距離(當前最佳路徑)的路徑。圖3說明了此過程:
圖3
路由器One發現它有兩條通往網路A的路由:一條透過路由器Three,另一條透過路由器Four。
透過路由器4的路由的開銷為46277376,報告距離為307200。
透過路由器3的路由的開銷為20307200,報告距離為307200。
注意:在每種情況下,EIGRP都會計算向網路通告路由的路由器所報告的距離。換句話說,從路由器4到網路A的報告距離是從路由器4的度量,而從路由器3到網路A的報告距離是從路由器3到網路A的度量。EIGRP選擇透過路由器3的路由作為最佳路徑,並使用透過路由器3的度量作為可行距離。由於透過路由器4到此網路的報告距離小於可行距離,因此路由器1認為透過路由器4的路徑是可行後繼路由。
當路由器1和路由器3之間的鏈路斷開時,路由器1檢查它知道通向網路A的每條路徑,發現它透過路由器4擁有可行後繼路由器。路由器1使用此路由,該路由使用透過路由器4的度量作為新的可行距離。網路會立即收斂,對下游鄰居的更新是來自路由協定的唯一流量。
圖4所示場景更為複雜。
圖4
從路由器1到網路A有兩條路由:一條透過路由器2,度量為46789376;另一條透過路由器3,度量為20307200。路由器One選擇這兩個度量中最小的作為通向網路A的路由,此度量即成為可行距離。檢視透過路由器2的路徑,看看它是否適合作為可行後繼路由器。來自路由器2的報告距離為46277376,高於可行距離-因此該路徑不是可行後繼路由。如果您此時要檢視路由器1的拓撲表(使用show ip eigrp topology),則只會看到一個條目,表示網路A透過路由器3。(實際上,路由器1的拓撲表中有兩個條目,但只有一個是可行後繼路由器,因此另一個條目不會顯示在show ip eigrp topology中;使用show ip eigrp topology all-links可以顯示不是可行後繼路由器的路由)。
假設路由器1和路由器3之間的鏈路斷開。路由器One發現它丟失了通向網路A的唯一路由,並查詢其每個鄰居(在本例中僅查詢路由器2)以確定它們是否擁有通向網路A的路由。由於路由器2具有通向網路A的路由,因此它會響應查詢。由於路由器1不再具有透過路由器3的更好路由,因此它接受透過路由器2到網路A的此路由。
EIGRP如何使用可行距離、報告距離和可行後繼路由的概念來確定路徑是否有效,而不是環路?在圖4a中,路由器3檢查通往網路A的路由。因為水準分割已停用(例如,如果這些是多點訊框中繼介面),路由器3會顯示通向網路A的三條路由:透過路由器4、透過路由器2(路徑為二、一、三、四)和透過路由器1(路徑為一、二、三、四)。
圖4a
如果路由器3接受所有這些路由,則會導致路由環路。路由器3認為它可以透過路由器2到達網路A,但透過路由器2的路徑透過路由器3到達網路A。如果路由器4和路由器3之間的連線斷開,路由器3認為它可以透過其他路徑之一到達網路A,但由於確定可行後繼路由的規則,它絕不會使用這些路徑作為備用路徑。檢視度量以瞭解原因:
透過路由器4到網路A的總度量:20281600
透過路由器2到網路A的總度量:47019776
透過路由器1到網路A的總度量:47019776
由於透過路由器4的路徑具有最佳度量,因此路由器3將此路由安裝到轉發表中,並使用20281600作為通向網路A的可行距離。路由器3然後計算透過路由器2和路由器1到網路A的報告距離:47019776表示透過路由器2的路徑,47019776表示透過路由器1的路徑。因為這兩個度量值都大於可行距離,所以路由器Three不會將任一路由安裝為網路A的可行後繼路由。
假設路由器3和路由器4之間的鏈路斷開。路由器Three查詢其每個鄰居通向網路A的備用路由。路由器Two收到查詢,由於該查詢來自其後繼路由器,因此會搜尋其拓撲表中的其他每個條目,以檢視是否有可行後繼路由器。拓撲表中唯一的其他條目來自路由器1,其報告距離等於透過路由器3的最後已知最佳度量。由於透過路由器1的報告距離不小於最後一個已知可行距離,路由器2將路由標籤為不可達,並查詢其每個鄰居(在本例中僅查詢路由器1)是否有到網路A的路徑。
路由器3還向路由器1傳送對網路A的查詢。路由器One檢查其拓撲表,發現通向網路A的唯一另一條路徑是透過路由器Two,其報告距離等於透過路由器Three的最後已知可行距離。同樣,由於透過路由器2的報告距離不小於最後已知可行距離,因此該路由不是可行後繼路由。路由器1將路由標籤為不可達,並查詢其唯一另一個鄰居(路由器2)是否有通向網路A的路徑。
這是查詢的第一層。路由器Three已查詢其每個鄰居,以嘗試找到通向網路A的路由。路由器1和路由器2又將路由標籤為不可達,並詢問每個其它鄰居,以嘗試找到通向網路A的路徑。當路由器2收到路由器1查詢時,它會檢查其拓撲表並注意目的地被標籤為不可達。路由器Two向路由器One回覆網路A無法訪問。當路由器1收到路由器2的查詢時,它還會發回一個應答:網路A不可達。現在,路由器1和路由器2均認為網路A不可達,並回覆原來的路由器3查詢。網路已收斂,所有路由都返回被動狀態。
在前面的示例中,水準分割沒有顯示EIGRP如何使用可行距離和報告距離來確定路由是否可能為環路。但是,在某些情況下,EIGRP使用水準分割來防止路由環路。在檢查EIGRP如何使用水準分割的詳細內容之前,請先檢查水準分割是什麼及其工作方式。水準分割規則說明:
切勿在獲知路由的介面之外通告路由。
例如,在圖4a中,如果路由器1透過單個多點介面(如幀中繼)連線到路由器2和路由器3,而路由器1從路由器2獲知了網路A,則它不會將通往網路A的路由從同一介面通告給路由器3。路由器1假設路由器3會直接從路由器2獲知網路A。
圖4a
毒性反轉是另一種避免路由環路的方法。其規則是:
透過介面獲知路由後,通告該路由無法通過同一介面返回。
例如,圖4a中的路由器啟用了毒性反轉。當路由器1從路由器2獲知網路A時,它會透過路由器2和路由器3的鏈路將網路A通告為不可達。如果路由器Three顯示透過路由器One到網路A的任何路徑,則會刪除該路徑,因為無法到達通告。EIGRP結合使用這兩條規則有助於防止路由環路。
在以下情況下,EIGRP使用水準分割或將路由通告為不可達:
兩台路由器處於啟動模式(它們首次交換拓撲表)
通告拓撲表更改
查詢已傳送
審查每個案例。
當兩台路由器首次成為鄰居時,它們會在啟動模式下交換拓撲表。對於路由器在啟動模式期間收到的每個表條目,它會使用最大度量(毒物路由)將同一條目通告回其新鄰居。
在圖5中,路由器One使用差異來平衡兩個串列鏈路之間發往網路A的流量;即路由器Two和路由器Four之間的56k鏈路,以及路由器Three和路由器Four之間的128k鏈路。
圖5
路由器Two將經過路由器Two的路徑視為可行後繼路由器。如果路由器Two和路由器Four之間的鏈路斷開,路由器Two僅會在透過路由器Three的路徑上重新收斂。由於水準分割規則規定,切勿在獲知路由的介面外通告路由,因此路由器2通常不會傳送更新。但是,這會使路由器One包含無效的拓撲表條目。
當路由器更改其拓撲表以使路由器到達網路的介面發生變化時,它會關閉水準分割並將舊路由反轉出所有介面。在這種情況下,路由器Two會關閉此路由的分割水準,並將網路A通告為不可達。路由器One會聽到此通告,並從其路由表清除透過路由器Two到網路A的路由。
只有當路由器從查詢中用於目的地的後繼路由器收到查詢或更新時,查詢才會導致水準分割。檢視圖6中的網路。
圖6
路由器Three收到來自路由器Four的有關10.1.2.0/24的查詢(透過路由器One到達)。如果由於鏈路抖動或其他臨時網路條件而導致Three沒有該目標的後繼路由器,則會向它的每個鄰居傳送查詢;在本例中為Routers One、Two和Four。但是,如果路由器Three收到來自路由器One的目的地址10.1.2.0/24的查詢或更新(如度量更改),它不會將查詢發迴路由器One,因為路由器One是通向此網路的後繼路由器。相反,它只向路由器2和路由器4傳送查詢。
要回答查詢可能需要很長時間。如果是,發出查詢的路由器會放棄並清除與未應答的路由器的連線,這樣會重新啟動鄰居會話。這稱為停滯活動(SIA)路由。最基本的SIA路由發生在查詢到達網路的另一端和回覆返回所需的時間太長時。例如,在圖7中,路由器1記錄來自路由器2的大量SIA路由。
圖7
經過一些調查後,問題範圍縮小到路由器2和路由器3之間衛星鏈路上的延遲。對於這類問題,有兩個可行的解決辦法。第一種方法是增加路由器在宣告路由SIA之前傳送查詢後等待的時間。可以使用timers active-time命令更改此設定。
但是,更好的解決方案是重新設計網路以減少查詢範圍(因此很少有查詢透過衛星鏈路)。查詢範圍將在本文的查詢範圍部分介紹。但是,查詢範圍本身並不是報告SIA路由的常見原因。更常見的是,網路中的某些路由器無法應答查詢,原因如下:
路由器太忙而無法回答查詢(通常是因為高CPU使用率)。
路由器存在記憶體問題,無法分配記憶體以處理查詢或生成應答資料包。
兩台路由器之間的電路不正常;沒有足夠的封包可以維持鄰居關係,但路由器之間會遺失一些查詢或回覆。
單向鏈路(一條鏈路,在此鏈路上由於故障流量只能向一個方向流動)
當您排除SIA路由故障時,請使用以下三個步驟:
查詢始終報告為SIA的路由。
查詢始終無法應答這些路由查詢的路由器。
找出路由器未接收或應答查詢的原因。
第一步很簡單。如果記錄控制檯消息,快速檢視日誌將顯示通常標籤為SIA的路由。第二步則更為困難。用於收集此資訊的命令是show ip eigrp topology active:
Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply, r - Reply status A 10.2.4.0/24, 0 successors, FD is 512640000, Q 1 replies, active 00:00:01, query-origin: Local origin via 10.1.2.2 (Infinity/Infinity), Serial1 1 replies, active 00:00:01, query-origin: Local origin via 10.1.3.2 (Infinity/Infinity), r, Serial3 Remaining replies: via 10.1.1.2, r, Serial0
顯示R的所有鄰居尚未回覆(活動計時器顯示路由已處於活動狀態的時間長度)。這些鄰居不能出現在其餘的回覆部分;它們可以出現在其他RDB中。特別注意應答未決,並且已處於活動狀態一段時間內的路由,通常兩到三分鐘。多次運行此命令,您會開始看到哪些鄰居不響應查詢(或者哪些介面似乎有許多未應答查詢)。檢查此鄰居,檢視它是否始終等待任何鄰居的回覆。重複此過程,直至找到始終不回答查詢的路由器。您可以查詢指向此鄰居的鏈路上的問題、記憶體或CPU利用率或此鄰居的其他問題。
如果問題出在查詢範圍,請不要增加SIA計時器,而應減少查詢範圍。
本節將探討涉及重分配的不同方案。所列示例顯示了配置重分發所需的最低要求。重分佈可能會導致問題,例如路由未達到最佳狀態、路由環路或收斂緩慢。要避免這些問題,請參閱避免由於重分配而出現的問題部分。
圖8顯示路由器配置為:
圖8
路由器1
router eigrp 2000 !--- The "2000" is the autonomous system network 172.16.1.0 0.0.0.255
路由器2
router eigrp 2000 redistribute eigrp 1000 route-map to-eigrp2000 network 172.16.1.0 0.0.0.255 ! router eigrp 1000 redistribute eigrp 2000 route-map to-eigrp1000 network 10.1.0.0 0.0.255.255 route-map to-eigrp1000 deny 10 match tag 1000 ! route-map to-eigrp1000 permit 20 set tag 2000 ! route-map to-eigrp2000 deny 10 match tag 2000 ! route-map to-eigrp2000 permit 20 set tag 1000
路由器3
router eigrp 1000 network 10.1.0.0 0.0.255.255
路由器Three透過自治系統1000將網路10.1.2.0/24通告給路由器Two;路由器Two將此路由重新分配到自治系統2000並將其通告給路由器One。
注意:來自EIGRP 1000的路由在重分配到EIGRP 2000之前標籤為1000。當從EIGRP 2000的路由重新分發回EIGRP 1000時,包含1000標籤的路由將被拒絕,以確保無環拓撲。有關在路由協定之間重分配的詳細資訊,請參閱重分配路由協定。
對於路由器1:
one#show ip eigrp topology 10.1.2.0 255.255.255.0 IP-EIGRP topology entry for 10.1.2.0/24 State is Passive, Query origin flag is 1, 1 Successor(s), FD is 46763776 Routing Descriptor Blocks: 172.16.1.2 (Serial0), from 172.16.1.2, Send flag is 0x0 Composite metric is (46763776/46251776), Route is External Vector metric: Minimum bandwidth is 56 Kbit Total delay is 41000 microseconds Reliability is 255/255 Load is 1/255 Minimum MTU is 1500 Hop count is 2 External data: Originating router is 172.16.1.2 AS number of route is 1000 External protocol is EIGRP, external metric is 46251776 Administrator tag is 1000 (0x000003E8)
請注意,雖然路由器1和路由器2之間的鏈路的頻寬為1.544Mb,但此拓撲表條目中顯示的最小頻寬為56k。這意味著EIGRP在兩個EIGRP自治系統之間進行重分配時會保留所有度量。
EIGRP和其他協定(例如RIP和OSPF)之間的重分佈與所有重分佈的工作方式相同。在協定之間進行重分配時,請使用預設度量。在EIGRP和其他協定之間進行重分配時,您需要注意以下兩個問題:
重分配到EIGRP中的路由並不總會被彙總,有關說明,請參閱「彙總」部分。
外部EIGRP路由的管理距離為170。
當您在某個介面上安裝靜態路由,並使用router eigrp配置包括該靜態路由的network語句時。EIGRP會重分佈此路由,就像它是直連介面一樣。
圖9
在圖9中,路由器One透過介面Serial 0配置了到網路172.16.1.0/24的靜態路由:
ip route 172.16.1.0 255.255.255.0 Serial0
並且,路由器One還包含一條用於此靜態路由目的地的network語句:
router eigrp 2000 network 10.0.0.0 network 172.16.0.0 no auto-summary
由於EIGRP認為該路由是直連網路,因此路由器1會重分配該路由,即使它不重分配靜態路由。在Router 2上,如下所示:
two#show ip route .... 10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks C 10.1.1.0/24 is directly connected, Serial0 D 10.1.2.0/24 [90/2169856] via 10.1.1.1, 00:00:47, Serial0 172.16.0.0/24 is subnetted, 1 subnets D 172.16.1.0 [90/2169856] via 10.1.1.1, 00:00:47, Serial0
通往172.16.1.0/24的路由在路由器2上顯示為內部EIGRP路由。
EIGRP中有兩種彙總形式:自動彙總和手動彙總。
EIGRP每次跨越兩個不同主網之間的邊界時都會執行自動總結。例如,在圖10中,路由器Two僅向路由器One通告10.0.0.0/8網路,因為路由器Two用於到達路由器One的介面位於不同的主要網路中。
圖10
在Router One上,如下所示:
one#show ip eigrp topology 10.0.0.0 IP-EIGRP topology entry for 10.0.0.0/8 State is Passive, Query origin flag is 1, 1 Successor(s), FD is 11023872 Routing Descriptor Blocks: 172.16.1.2 (Serial0), from 172.16.1.2, Send flag is 0x0 Composite metric is (11023872/10511872), Route is Internal Vector metric: Minimum bandwidth is 256 Kbit Total delay is 40000 microseconds Reliability is 255/255 Load is 1/255 Minimum MTU is 1500 Hop count is 1
此路由未以任何方式標籤為彙總路由;它看起來像一個內部路由。此度量是總結路由中的最佳度量。此路由的最小頻寬為256k,儘管10.0.0.0網路中的某些鏈路的頻寬為56k。
在具有彙總的路由器上,將彙總地址的路由構建為null0:
two#show ip route 10.0.0.0 Routing entry for 10.0.0.0/8, 4 known subnets Attached (2 connections) Variably subnetted with 2 masks Redistributing via eigrp 2000 C 10.1.3.0/24 is directly connected, Serial2 D 10.1.2.0/24 [90/10537472] via 10.1.1.2, 00:23:24, Serial1 D 10.0.0.0/8 is a summary, 00:23:20, Null0 C 10.1.1.0/24 is directly connected, Serial1
到10.0.0.0/8的路由透過Null0標籤為彙總。此總結路由的拓撲表條目如下所示:
two#show ip eigrp topology 10.0.0.0 IP-EIGRP topology entry for 10.0.0.0/8 State is Passive, Query origin flag is 1, 1 Successor(s), FD is 10511872 Routing Descriptor Blocks: 0.0.0.0 (Null0), from 0.0.0.0, Send flag is 0x0 (Note: The 0.0.0.0 here means this route is originated by this router.) Composite metric is (10511872/0), Route is Internal Vector metric: Minimum bandwidth is 256 Kbit Total delay is 20000 microseconds Reliability is 255/255 Load is 1/255 Minimum MTU is 1500 Hop count is 0
要讓路由器Two通告10.0.0.0網路的元件,而不是彙總,請在路由器Two上的EIGRP進程中配置no auto-summary:
在路由器2上:
router eigrp 2000 network 172.16.0.0 network 10.0.0.0 no auto-summary
關閉自動彙總後,路由器One現在可看到10.0.0.0網路的所有元件:
one#show ip eigrp topology IP-EIGRP Topology Table for process 2000 Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply, r - Reply status P 10.1.3.0/24, 1 successors, FD is 46354176 via 172.16.1.2 (46354176/45842176), Serial0 P 10.1.2.0/24, 1 successors, FD is 11049472 via 172.16.1.2 (11049472/10537472), Serial0 P 10.1.1.0/24, 1 successors, FD is 11023872 via 172.16.1.2 (11023872/10511872), Serial0 P 172.16.1.0/24, 1 successors, FD is 2169856 via Connected, Serial0
外部路由的彙總有一些警告,後面的「外部路由的自動彙總」部分將介紹這些警告。
EIGRP允許您使用手動總結來總結幾乎任何位邊界上的內部路由和外部路由。例如,在圖11中,路由器2將192.168.1.0/24、192.168.2.0/24和192.168.3.0/24總結到CIDR塊192.168.0.0/22中。
圖11
路由器2上的配置如下所示:
two#show run .... ! interface Serial0 ip address 10.1.50.1 255.255.255.0 ip summary-address eigrp 2000 192.168.0.0 255.255.252.0 no ip mroute-cache ! .... two#show ip eigrp topology IP-EIGRP Topology Table for process 2000 Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply, r - Reply status P 10.1.10.0/24, 1 successors, FD is 45842176 via Connected, Loopback0 P 10.1.50.0/24, 1 successors, FD is 2169856 via Connected, Serial0 P 192.168.1.0/24, 1 successors, FD is 10511872 via Connected, Serial1 P 192.168.0.0/22, 1 successors, FD is 10511872 via Summary (10511872/0), Null0 P 192.168.3.0/24, 1 successors, FD is 10639872 via 192.168.1.1 (10639872/128256), Serial1 P 192.168.2.0/24, 1 successors, FD is 10537472 via 192.168.1.1 (10537472/281600), Serial1
檢視介面Serial0下的ip summary-address eigrp命令和透過Null0的彙總路由。在Router One上,這被視為內部路由:
one#show ip eigrp topology IP-EIGRP Topology Table for process 2000 Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply, r - Reply status P 10.1.10.0/24, 1 successors, FD is 46354176 via 10.1.50.1 (46354176/45842176), Serial0 P 10.1.50.0/24, 1 successors, FD is 2169856 via Connected, Serial0 P 192.168.0.0/22, 1 successors, FD is 11023872 via 10.1.50.1 (11023872/10511872), Serial0
EIGRP不會自動彙總外部路由,除非存在屬於內部路由的相同主網元件。圖12說明了這一點:
圖12
路由器3使用redistribute connected命令將到192.168.2.0/26和192.168.2.64/26的外部路由注入到EIGRP中,如所列配置所示。
路由器3
interface Ethernet0 ip address 192.168.2.1 255.255.255.192 ! interface Ethernet1 ip address 192.168.2.65 255.255.255.192 ! interface Ethernet2 ip address 10.1.2.1 255.255.255.0 !router eigrp 2000 redistribute connected network 10.0.0.0 default-metric 10000 1 255 1 1500
使用路由器Three上的此配置,路由器One上的路由表將顯示:
one#show ip route .... 10.0.0.0/8 is subnetted, 2 subnets D 10.1.2.0 [90/11023872] via 10.1.50.2, 00:02:03, Serial0 C 10.1.50.0 is directly connected, Serial0 192.168.2.0/26 is subnetted, 1 subnets D EX 192.168.2.0 [170/11049472] via 10.1.50.2, 00:00:53, Serial0 D EX 192.168.2.64 [170/11049472] via 10.1.50.2, 00:00:53, Serial0
雖然自動彙總通常會導致路由器Three將192.168.2.0/26和192.168.2.64/26路由彙總到一個主要網路目標(192.168.2.0/24),但由於兩個路由都是外部路由,它不會執行此操作。但是,如果將路由器2和路由器3之間的鏈路重新配置為192.168.2.128/26,並在路由器2和路由器3上為此網路增加network語句,則路由器2上會生成192.168.2.0/24自動彙總。
路由器3
interface Ethernet0 ip address 192.168.2.1 255.255.255.192 ! interface Ethernet1 ip address 192.168.2.65 255.255.255.192 ! interface Serial0 ip address 192.168.2.130 255.255.255.192 ! router eigrp 2000 network 192.168.2.0
現在,路由器Two生成192.168.2.0/24的彙總:
two#show ip route .... D 192.168.2.0/24 is a summary, 00:06:48, Null0 ....
而路由器One僅顯示總結路由:
one#show ip route .... 10.0.0.0/8 is subnetted, 1 subnets C 10.1.1.0 is directly connected, Serial0 D 192.168.2.0/24 [90/11023872] via 10.1.50.2, 00:00:36, Serial0
當路由器處理來自鄰居的查詢時,這些規則將如表中所列。
查詢來源 | 路由狀態 | 動作 |
鄰居(不是當前後繼路由器) |
被動 |
使用當前後繼資訊回覆。 |
後繼路由器 |
被動 |
嘗試查詢新的後繼路由器;如果成功,則使用新資訊回覆;如果不成功,則標籤目標不可達,並查詢除前一個後繼路由器以外的所有鄰居。 |
任何鄰居 |
查詢前沒有透過此鄰居的路徑 |
以目前已知的最佳路徑回覆。 |
任何鄰居 |
查詢前未知 |
回覆為無法到達目的地。 |
鄰居(不是當前後繼路由器) |
active(作用中) |
如果沒有這些目標的當前後繼路由器(通常情況下為true),則以不可達狀態回覆。 如果有好的後繼路由器,請回覆目前的路徑資訊。 |
後繼路由器 |
active(作用中) |
嘗試查詢新的後繼路由器;如果成功,則使用新資訊回覆;如果不成功,則標籤目標不可達,並查詢除前一個後繼路由器以外的所有鄰居。 |
當網路在新拓撲上收斂之前發現有多少路由器接收並回覆查詢時,上表中的操作會影響網路中的查詢範圍。要檢視這些規則如何影響查詢的管理方式,請看圖13中的網路,它在正常情況下運行。
圖13
對於網路192.168.3.0/24(最右邊),預期發生以下情況:
路由器One有兩條指向192.168.3.0/24的路徑:
透過路由器2,距離為46533485,報告距離為20307200
透過路由器3,距離為20563200,報告距離為20307200
路由器1選擇透過路由器3的路徑,並將透過路由器2的路徑保留為可行後繼路由器
路由器2和路由器3顯示透過路由器4到192.168.3.0/24的一條路徑
假設192.168.3.0/24發生故障。此網路上預期的活動是圖13a至13h說明了此過程。
路由器5將192.168.3.0/24標籤為不可達,並查詢路由器4:
圖13a
當路由器4收到來自其後繼路由器的查詢時,它會嘗試查詢通向此網路的新可行後繼路由器。它找不到路由器,因此將192.168.3.0/24標籤為不可達,並查詢路由器2和3:
圖13b
路由器2和路由器3則發現它們丟失了通往192.168.3.0/24的唯一可行路由,並標籤為不可達;它們都會向路由器1傳送查詢:
圖13c
假設路由器1首先收到來自路由器3的查詢,並將該路由標籤為不可達。然後,路由器One接收來自路由器Two的查詢。雖然有另一種可能,但它們的最終結果都相同。
圖13d
路由器One以不可達裝置回覆這兩個查詢;路由器One現在對192.168.3.0/24是被動的:
圖13e
路由器2和路由器3回覆來自路由器4的查詢;路由器2和路由器3現在對192.168.3.0/24是被動的:
圖13f
當路由器5收到路由器4的回覆時,會從路由表中刪除網路192.168.3.0/24;現在路由器5對網路192.168.3.0/24是被動的。路由器5將更新傳送迴路由器4,以便從其它路由器的拓撲和路由表中刪除路由。
圖13g
雖然可能有其他查詢路徑或訂單需要處理,但是當該鏈路斷開時,網路中的所有路由器都會處理對網路192.168.3.0/24的查詢。某些路由器可以處理多個查詢(本示例中的路由器1)。實際上,如果查詢以不同的順序到達路由器,則某些路由器會處理三或四個查詢。這是EIGRP網路中無限制查詢的良好示例。
檢視同一網路中通往10.1.1.0/24的路徑:
路由器Two具有用於透過Router One開銷為46251885的10.1.1.0/24網路的拓撲表條目。
路由器Three具有用於透過Router One開銷為20281600的10.1.1.0/24網路的拓撲表條目。
路由器4具有透過路由器3的10.0.0.0/8網路的拓撲表條目(因為路由器2和路由器3自動總結到主網路邊界),度量為20307200(透過路由器2的報告距離高於透過路由器3的總度量,因此透過路由器2的路徑不是可行後繼路由)。
圖14
如果10.1.1.0/24發生故障,路由器1將其標籤為無法訪問,然後查詢其每個鄰居(路由器2和路由器3)以查詢通向該網路的新路徑:
圖14a
當路由器2收到來自路由器1的查詢時,它將該路由標籤為不可達(因為該查詢來自其後繼路由器),然後查詢路由器4和路由器3:
圖14b
當路由器3收到來自路由器1的查詢時,它會將目的地標籤為不可達,並查詢路由器2和路由器4:
圖14c
當路由器4收到路由器2和路由器3的查詢時,它回覆稱10.1.1.0/24無法訪問(路由器4不知道有問題的子網,因為它只擁有10.0.0.0/8路由):
圖14d
路由器Two和Three互相回覆說10.1.1.0/24無法訪問:
圖14e
由於路由器2和路由器3現在沒有未完成的查詢,因此它們都會向路由器1回覆10.1.1.0/24無法訪問:
圖14f
在本例中,查詢由路由器2和路由器3的自動總結限定。路由器5不參與查詢過程,也不參與網路的重新收斂。查詢還可以透過手動總結、自治系統邊界和分發清單進行繫結。
如果路由器在兩個EIGRP自治系統之間重分配路由,它會根據進程的正常規則應答查詢,並在另一個自治系統中啟動新的查詢。例如,如果連線到路由器3的網路的鏈路斷開,路由器3會將路由標籤為不可達,並查詢路由器2以查詢新路徑:
圖15a
路由器Two回覆該網路無法訪問,並向自治系統200向路由器One發起查詢。一旦路由器Three收到對其原始查詢的回覆,它就會從表中刪除路由。現在,路由器Three對此網路處於被動狀態:
圖15b
路由器1應答路由器2,然後路由變為被動路由:
圖15c
雖然原始查詢沒有在整個網路中傳播(它受自治系統邊界的約束),但原始查詢以新查詢的形式洩漏到第二個自治系統。這可以防止在網路中陷入活動(SIA)問題,因為它限制了查詢在得到應答之前必須透過的路由器數量。但是,它並不能解決必須處理查詢的每台路由器的整體問題。此方法可能會使問題更嚴重,並阻止自動彙總本來會彙總的路由(除非主網路中有一個外部元件,否則不會彙總外部路由)。
EIGRP中的分發清單不會阻止查詢的傳播,而是將任何查詢回覆標籤為不可達。以圖16為例。
圖16
在圖16中:
路由器Three對其串列介面應用了distribute-list,僅允許其通告網路B。
路由器1和2不知道網路A可透過路由器3到達(路由器3不用作路由器1和2之間的中轉點)。
路由器3使用路由器1作為通向網路A的首選路徑,而不使用路由器2作為可行後繼路由器。
當路由器1失去與網路A的連線時,它將路由標籤為不可達,並向路由器3傳送查詢。由於路由器3的串列埠上存在分發清單,因此該路由器不通告通向網路A的路徑。
圖16a
路由器3將路由標籤為不可達,然後查詢路由器2:
圖16b
路由器Two檢查其拓撲表並發現它擁有到網路A的有效連線。查詢未受路由器Three中的通訊組清單的影響:
圖16c
路由器Two回覆網路A可訪問;路由器Two現在擁有有效路由:
圖16d
路由器Three建立來自路由器One的查詢應答,但分發清單會導致路由器Three傳送無法到達網路A的應答,即使路由器Three具有到達網路A的有效路由:
圖16e
某些路由協定在收斂時(根據網路變化進行調整),會消耗低頻寬鏈路上的所有可用頻寬。EIGRP可避免這種擁塞,並管理資料包在網路上的傳輸速度,因此它僅使用一部分可用頻寬。EIGRP的預設配置是最多使用可用頻寬的50%,但可透過以下命令進行更改:
router(config-if)# ip bandwidth-percent eigrp 2? <1-999999> Maximum bandwidth percentage that EIGRP can use
基本上,每次EIGRP在介面上排隊傳送資料包時,它都會使用此公式來確定在傳送資料包之前要等待多長時間:
ip bandwidth-percent eigrp 2
-
(8 * 100 *以位元組為單位的資料包大小) / (以kbps為單位的頻寬*頻寬百分比)
例如,如果EIGRP將資料包排隊等待透過頻寬為56k的串列介面傳送,並且該資料包為512位元組,則EIGRP等待:
-
(8 * 100 * 512位元組) / (每秒56000位元* 50%頻寬) (8 * 100 * 512) / (56000 * 50) 409600 / 2800000 0.1463秒
這允許在EIGRP傳送資料包之前,至少在此鏈路上傳輸512位元組的資料包(或資料包組)。步調計時器確定傳送資料包的時間,以毫秒為單位。在前一個示例中,資料包的步調時間為0.1463秒。show ip eigrp interface的輸出中有一個顯示步調計時器的欄位:
outer#show ip eigrp interface
IP-EIGRP interfaces for process 2
Xmit Queue Mean Pacing Time Multicast Pending
Interface Peers Un/Reliable SRTT Un/Reliable Flow Timer Routes
Se0 1 0/0 28 0/15 127 0
Se1 1 0/0 44 0/15 211 0
router#
顯示的時間是最大傳輸單位(MTU)的步調間隔,這是可透過介面傳送的最大資料包。
預設路由
將預設路由注入到EIGRP的方法有兩種:重分配靜態路由或彙總到0.0.0.0/0。當您需要將所有發往未知目的地的流量繪製到網路核心處的預設路由時,請使用第一種方法。此方法通告與Internet的連線。舉例來說:
ip route 0.0.0.0 0.0.0.0 x.x.x.x (next hop to the internet)
!
router eigrp 100
redistribute static
default-metric 10000 1 255 1 1500
重分配到EIGRP中的靜態路由不一定需要到達網路0.0.0.0。如果使用另一個網路,則必須使用ip default-network命令將該網路標籤為預設網路。
如果進行總結,則僅當想要為遠端站點提供預設路由時,預設路由才起作用。由於彙總按照介面進行配置,因此您可以使用distribute-list或其他機制來防止預設路由傳播到網路的核心。請注意,到0.0.0.0/0的彙總會覆蓋從任何其他路由協定獲知的預設路由。使用此方法在路由器上配置預設路由的唯一方法是配置到0.0.0.0/0的靜態路由。(從Cisco IOS軟體12.0(4)T開始,您也可以在ip summary-address eigrp命令末尾組態管理距離,以便本地彙總不會覆蓋0.0.0.0/0路由)。
router eigrp 100
network 10.0.0.0
!
interface serial 0
encapsulation frame-relay
no ip address
!
interface serial 0.1 point-to-point
ip address 10.1.1.1
frame-relay interface-dlci 10
ip summary-address eigrp 100 0.0.0.0 0.0.0.0
負載平衡
EIGRP在路由表中最多放置四條等價路由,然後路由器對其進行負載均衡。負載均衡的型別(每個資料包或每個目標)取決於路由器中執行的交換型別。但是,EIGRP也可以透過不等價鏈路實現負載均衡。
注意:使用max-paths,可以配置EIGRP以使用最多六個等價路由。
如果有四個路徑通往指定的目的地,而且這些路徑的測量結果為:
-
路徑1:1100
-
路徑2:1100
-
路徑3:2000
-
路徑4:4000
預設情況下,路由器會在路徑1和2上放置流量。對於EIGRP,您可以使用variance 命令來指示路由器同時將流量放在路徑3和4上。差異是一個乘數:流量被置於度量值小於最佳路徑乘以差異的任何鏈路上。要在路徑1、2和3上進行負載均衡,請使用variance 2,因為1100 x 2 = 2200,它大於透過路徑3的度量。同樣,要同時增加路徑4,請在router eigrp命令下發出variance 4。有關詳細資訊,請參閱不等價(可變)路徑負載均衡在IGRP和EIGRP中如何工作?。
路由器如何在這些路徑之間劃分流量?它將透過每個路徑的度量分為最大度量,向下舍入到最接近的整數,然後使用此數字作為流量共用計數。
router#show ip route 10.1.4.0
Routing entry for 10.1.4.0/24
Known via "igrp 100", distance 100, metric 12001
Redistributing via igrp 100, eigrp 100
Advertised by igrp 100 (self originated)
eigrp 100
Last update from 10.1.2.2 on Serial1, 00:00:42 ago
Routing Descriptor Blocks:
* 10.1.2.2, from 10.1.2.2, 00:00:42 ago, via Serial1
Route metric is 12001, traffic share count is 1
Total delay is 20010 microseconds, minimum bandwidth is 1000 Kbit
Reliability 1/255, minimum MTU 1 bytes
Loading 1/255, Hops 0
在本示例中,流量共用計數為:
-
對於路徑1和2:4000/1100 = 3
-
對於路徑3:4000/2000 = 2
-
對於路徑4:4000/4000 = 1
路由器透過路徑1傳送前三個封包、透過路徑2傳送後三個封包、透過路徑3傳送後兩個封包,以及透過路徑4傳送下一個封包。當路由器透過路徑1傳送下一個三個封包並繼續此模式時,路由器會重新啟動。
注意:即使配置了差異,如果報告的距離大於該特定路由的可行距離,EIGRP也不會透過不等價路徑傳送流量。有關詳細資訊,請參閱「可行距離」、「報告距離」和「可行後繼路由」部分。
使用測量結果
最初配置EIGRP時,如果您嘗試影響EIGRP度量,請記住以下兩個基本規則:
-
頻寬必須始終設定為介面的實際頻寬;多點串列鏈路和其他介質速度不匹配的情況是此規則的例外。
-
延遲必須始終用於影響EIGRP路由決策。
由於EIGRP使用介面頻寬來確定傳送資料包的速率,因此正確設定這些速率非常重要。如果需要影響EIGRP選擇的路徑,請始終使用延遲來影響路徑。
在頻寬較低時,頻寬對總度量值的影響更大;在頻寬較高時,延遲對總度量值的影響更大。
在重分配中使用管理標籤
外部管理標籤可以中斷EIGRP和其他協定之間的路由環路的再分配。如果在將路由重分配到EIGRP中時標籤該路由,則可以阻止從EIGRP重分配到外部協定。不能修改從外部路由獲知的預設網關的管理距離,因為在EIGRP中,修改管理距離僅適用於內部路由。為了提高度量,請使用包含prefix-list的路由對映;請勿更改管理距離。接下來是設定這些標籤的基本範例,但此範例不會顯示用於中斷重新發佈回圈的整個組態。
圖17
將連線到EIGRP的路由重分發到路由器3的命令顯示:
three#show run
....
interface Loopback0
ip address 172.19.1.1 255.255.255.0
!
interface Ethernet0
ip address 172.16.1.1 255.255.255.0
loopback
no keepalive
!
interface Serial0
ip address 172.17.1.1 255.255.255.0
....
router eigrp 444
redistribute connected route-map foo
network 172.17.0.0
default-metric 10000 1 255 1 1500
....
access-list 10 permit 172.19.0.0 0.0.255.255
route-map foo permit 10
match ip address 10
set tag 1
....
three#show ip eigrp topo
IP-EIGRP Topology Table for process 444
Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
r - Reply status
P 172.17.1.0/24, 1 successors, FD is 2169856
via Connected, Serial0
via Redistributed (2169856/0)
P 172.16.1.0/24, 1 successors, FD is 281600
via Redistributed (281600/0)
P 172.19.1.0/24, 1 successors, FD is 128256, tag is 1
via Redistributed (128256/0)
將路由從EIGRP重分配到RIP的路由器Two顯示:
two#show run
....
interface Serial0
ip address 172.17.1.2 255.255.255.0
!
interface Serial1
ip address 172.18.1.3 255.255.255.0
....
router eigrp 444
network 172.17.0.0
!
router rip
redistribute eigrp 444 route-map foo
network 10.0.0.0
network 172.18.0.0
default-metric 1
!
no ip classless
ip route 10.10.10.10 255.255.255.255 Serial0
route-map foo deny 10
match tag 1
!
route-map foo permit 20
....
two#show ip eigrp topo
IP-EIGRP Topology Table for process 444
Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
r - Reply status
P 172.17.1.0/24, 1 successors, FD is 2169856
via Connected, Serial0
P 172.16.1.0/24, 1 successors, FD is 2195456
via 172.17.1.1 (2195456/281600), Serial0
P 172.19.1.0/24, 1 successors, FD is 2297856, tag is 1
via 172.17.1.1 (2297856/128256), Serial0
請注意172.19.1.0/24上的標籤1。
接收路由器2重分發的RIP路由的路由器1顯示:
one#show run
....
interface Serial0
ip address 172.18.1.2 255.255.255.0
no fair-queue
clockrate 1000000
router rip
network 172.18.0.0
....
one#show ip route
Gateway of last resort is not set
R 172.16.0.0/16 [120/1] via 172.18.1.3, 00:00:15, Serial0
R 172.17.0.0/16 [120/1] via 172.18.1.3, 00:00:15, Serial0
172.18.0.0/24 is subnetted, 1 subnets
C 172.18.1.0 is directly connected, Serial0
請注意,172.19.1.0/24已不存在。
瞭解EIGRP命令輸出
show ip eigrp traffic
此命令用於顯示有關EIGRP命名配置和EIGRP自治系統(AS)配置的資訊。此命令的輸出顯示了相鄰EIGRP路由器之間已交換的資訊。每個輸出欄位的說明位於該表之後。
show ip eigrp traffic |
組態說明
-
Hello傳送/接收顯示傳送和接收的hello資料包數(傳送-1927/接收- 1930)。
-
已傳送/已接收的更新顯示已傳送和已接收的更新資料包數(已傳送-20/已接收-39)。
-
Queries sent/received表示傳送和接收查詢資料包的數量(sent-10/received-18)。
-
Replies sent/received顯示已傳送和已接收的應答資料包數(sent-18/received-16)。
-
Acks sent/received表示傳送和接收確認資料包的數量(sent-66/received-41)。
-
SIA-Queries sent/received表示傳送和接收的活動查詢資料包中停滯的數量(sent-0/received-0)。
-
SIA-Replies sent/received顯示傳送和接收的活動應答資料包中停滯的數量(sent-0/received-0)。
-
Hello Process ID是Hello進程識別符號(270)。
-
PDM Process ID代表與協定相關的模組Cisco IOS進程識別符號(251)。
-
Socket Queue顯示IP to EIGRP Hello Process socket queue counters (current-0/max-2000/highest-1/drops-0)。
-
Input Queue顯示到EIGRP PDM套接字隊列計數器的EIGRP Hello進程(current-0/max-2000/highest-1/drops-0)。
show ip eigrp topology
此命令僅顯示可行後繼路由。要顯示拓撲表中的所有條目,請使用show ip eigrp topology all-links命令。每個輸出欄位的說明,請參見下表。3+
show ip eigrp topology |
組態說明
-
A表示活動。這也可以顯示一個P,表示被動。
-
10.2.4.0/24是目標或掩碼。
-
0 successors 顯示可用於此目標的後繼路由器(或路徑)的數量;如果後繼路由器被大寫,則表示路由正處於轉換中。
-
FD is 512640000顯示可行距離,這是到達此目標的最佳度量或當路由進入活動狀態時已知的最佳度量。
-
tag is 0x0可以使用set tag和match tag命令,透過路由對映進行設定和/或過濾。
-
Q表示查詢掛起。此欄位也可以是:U,表示更新掛起;或R,表示回覆掛起。
-
1 replies顯示未處理的回覆數。
-
active 00:00:01顯示此路由已處於活動狀態的時間長度。
-
查詢源:本地源顯示此路由發起查詢。此欄位也可以是Multiple originations(多個來源),這意味著多個鄰居已傳送有關此目標的查詢,但傳送的不是後繼路由器;或Successor origin(後繼路由器),這意味著後繼路由器發起查詢。
-
via 10.1.2.2顯示此路由是從IP地址為10.1.2.2的鄰居那裡獲知的。此欄位也可以是:已連線(如果網路直接連線到此路由器);已重分配(如果此路由在此路由器上重分配到EIGRP);或彙總(如果這是在此路由器上生成的彙總路由)。
-
(Infinity/Infinity)顯示透過第一個欄位中的此鄰居到達該路徑的度量和透過第二欄位中的此鄰居的報告距離。
-
r顯示已查詢此鄰居,並且等待回覆。
-
Q是此路由的傳送標籤,表示存在掛起的查詢。此欄位也可以是U(表示更新掛起)或R(表示回覆掛起)。
-
Serial1是透過其可到達此鄰居的介面。
-
Via 10.1.1.2顯示鄰居被查詢且需要回覆。
-
r顯示此鄰居被查詢有關路由的資訊,但尚未收到回覆。
-
Serial0是透過其可到達此鄰居的介面。
-
經由10.1.2.2 (512640000/128256),Serial1顯示已使用此路由(表示當存在多個等價路由時,下一個路徑/目標採用哪條路徑)。
show ip eigrp topology <network>
此命令顯示此目標拓撲表中的所有條目,而不僅僅是可行後繼路由。每個輸出欄位的說明位於該表之後。
show ip eigrp topology network |
組態說明
-
- 狀態為被動,表示網路處於被動狀態,或者換句話說,它不查詢通向此網路的路徑。在穩定的網路中,路由幾乎總是處於被動狀態。
- 查詢始發地標誌位是1。如果此路由是啟用的,此欄位提供關於查詢發出人的資訊。
- 0:此路由處於活動狀態,但是未對其發起查詢(它在本地查詢可行後繼路由)。
- 1:此路由器發起對此路由的查詢(或該路由為被動路由)。
- 2:此查詢的多重擴散計算。此路由器已收到來自多個來源的此路由的多個查詢。
- 3:獲知該網路的路徑,現在查詢另一條路由的路由器。
- 4:此路由的多個查詢源,包括此路由器。這類似於2,但也表示有一個查詢原始字串,描述此路徑未完成的查詢。
-
2後繼路由器表示有兩個到此網路的可行路徑。
- FD is 307200顯示到此網路的最佳當前度量。如果路由處於活動狀態,則顯示之前用於將資料包路由到此網路的路徑的度量。
-
Routing Descriptor Blocks每個條目描述一條到網路的路徑。
-
10.1.1.2 (Ethernet1)是到網路的下一跳以及到達下一跳的介面。
-
from 10.1.2.2是此路徑資訊的源。
-
傳送旗標為:
-
0x0:如果需要針對此條目傳送資料包,則表明資料包的型別。
-
0x1:此路由器收到了對此網路的查詢,需要傳送單播應答。
-
0x2:此路由處於活動狀態,必須傳送組播查詢。
-
0x3:此路由已更改,必須傳送組播更新。
-
Composite metric is (307200/281600)顯示到網路的總計算成本。括弧中的第一個數字是透過該路徑到達網路的總開銷,以及到達下一跳的開銷。括弧中的第二個數字是報告距離,換句話說,就是下一跳路由器使用的開銷。
-
Route is Internal表示此路由在此EIGRP自治系統(AS)內發起。如果路由已重分配到此EIGRP AS中,此欄位將指示該路由是外部路由。
-
Vector metric顯示EIGRP用於計算網路開銷的各個度量。EIGRP不在整個網路中傳播總開銷資訊;傳播向量度量,每台路由器分別計算開銷和報告距離。
-
Minimum bandwidth is 10000 Kbit 顯示到此網路的路徑上的最低頻寬。
-
Total delay is 2000 microseconds顯示到此網路的路徑上的延遲總和。
- Reliability is 0/255顯示可靠性因子。此數字是動態計算的,但預設情況下不會用於度量計算。
- Load is 1/255指示鏈路正在傳輸的負載量。此數字是動態計算的,當EIGRP計算使用此路徑的開銷時,預設情況下不使用它。
-
-
Minimum MTU is 1500此欄位不在度量計算中使用。
-
跳數為2此值不用於度量計算,但會限制EIGRP AS的最大大小。預設情況下,EIGRP接受的最大跳數為100,不過最大跳數可以配置為220(帶有度量最大跳數)。
如果路由是外部路由,則包含此資訊。每個輸出欄位的說明位於該表之後。
外部路由 |
組態說明
-
始發路由器顯示,這是將此路由注入EIGRP AS的路由器。
-
External AS顯示此路由來自的自治系統(如果有)。
-
External Protocol 顯示此路由來自的協定(如果有)。
-
external metric顯示外部協定中的內部度量。
-
Administrator Tag可以透過set tag和match tag命令,使用路由對映來設定和/或過濾。
show ip eigrp topology [active | 擱置 | 零後繼路由器]
輸出格式與show ip eigrp topology一樣,但它還顯示拓撲表的某個部分。
show ip eigrp topology all-links
輸出格式與show ip eigrp topology一樣,但它還顯示拓撲表中的所有鏈路,而不僅是可行後繼路由。
相關資訊
修訂 | 發佈日期 | 意見 |
---|---|---|
4.0 |
31-Aug-2023 |
2023年重新認證 |
3.0 |
12-Jul-2022 |
已重新發佈以進行改進。重新認證。7/12/2022 |
2.0 |
30-Jun-2022 |
重新認證更新
從文字和插圖中移除所有PII。
更新樣式需求、機器翻譯、字元和其他格式設定。 |
1.0 |
03-Jan-2002 |
初始版本 |