Cisco Interior Gateway Routing Protocol(IGRP)用於TCP/IP和開放系統互連(OSI)網際網路。原來的IP版本在1986年設計和部署成功。IGRP使用距離向量路由技術,因此每台路由器不必知道整個網路的所有路由器/鏈路關係。每台路由器都以相應的距離通告目的地。每台路由器聽到該資訊後都會調整距離並將其傳播到相鄰路由器。
如需文件慣例的詳細資訊,請參閱思科技術提示慣例。
本文件沒有特定先決條件。
本文件所述內容不限於特定軟體和硬體版本。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您在即時網路中工作,請確保在使用任何命令之前瞭解其潛在影響。
IGRP中的距離資訊表示為可用頻寬、延遲、負載利用率和鏈路可靠性的組合。這樣可微調鏈路特性以實現最佳路徑。
EIGRP是Cisco的IGRP增強版,有三個版本:一個用於IP,一個用於網際網路資料包交換(IPX),另一個用於AppleTalk。它們都使用相同的分散式更新演算法(DUAL)。 EIGRP也使用與IGRP相同的距離向量技術,並且底層距離資訊保持不變。該協定的收斂性和運行效率得到了明顯提高。這允許改進架構,同時保留對IGRP的現有投資。
融合技術基於SRI International的研究。DUAL用於在路由計算過程中的每一時刻獲取環路自由度。這樣拓撲更改涉及的所有路由器都可以同時進行同步。未受拓撲變化影響的路由器不參與重新計算。DUAL的收斂時間可與任何其它現有路由協定相媲美。
EIGRP有四個基本元件:
鄰居發現/恢復
可靠傳輸協定
DUAL有限狀態機
通訊協定相關模組
鄰居發現/恢復是路由器用於動態獲知其直連網路上的其他路由器的過程。路由器還必須發現其鄰居何時不可達或無法工作。通過定期傳送小的hello資料包,以低開銷實現此過程。只要收到hello資料包,路由器就可以確定鄰居處於活動狀態且工作正常。一旦確定這一點,相鄰路由器就可以交換路由資訊。
可靠的傳輸協議負責將EIGRP資料包有保證有序地傳送到所有鄰居。它支援組播或單播資料包的混合傳輸。某些EIGRP資料包必須可靠傳輸;其他人則不是。為了提高效率,僅在必要時才提供可靠性。例如,在具有乙太網等組播功能的多路訪問網路中,不必單獨向所有鄰居可靠地傳送hello資料包。相反,EIGRP將傳送一個帶有資料包指示的組播hello,通知接收方不需要確認該資料包。其他型別的資料包(例如更新)需要確認;這會在封包中指明。可靠傳輸具有在存在未確認資料包掛起時快速傳送組播資料包的設定,這有助於確保在存在不同速度鏈路時收斂時間保持較低。
DUAL有限狀態機體現了所有路由計算的決策過程。它會跟蹤所有鄰居通告的所有路由。DUAL使用距離資訊(稱為度量)來選擇有效的無環路徑。DUAL根據可行後繼路由選擇要插入路由表的路由。後繼路由器是用於轉發資料包的相鄰路由器,它擁有到達目的裝置的最低開銷路徑,保證不會成為路由環路的一部分。如果沒有可行後繼路由器,但存在通告目的地的鄰居,則必須進行重新計算。這是確定新後繼者的過程。重新計算路由所需的時間會影響收斂時間。即使重新計算不是處理器密集型,避免不必要的重新計算也是有利的。發生拓撲更改時,DUAL將測試可行後繼路由器。如果沒有,DUAL將使用找到的任何資料以避免不必要的重新計算。
協定相關模組負責網路層協定的特定要求。例如,IPX-EIGRP模組負責傳送和接收封裝在IPX中的EIGRP資料包。IPX-EIGRP負責傳遞EIGRP資料包,並將收到的新資訊通知DUAL。IPX-EIGRP要求DUAL做出路由決策,其結果儲存在IPX路由表中。
IPX-EIGRP提供以下功能:
自動重分配 — 自動將IPX路由資訊協定(RIP)路由重分配到EIGRP,自動將IPX-EIGRP路由重分配到RIP,無需使用者輸入任何命令。可以使用no redistribute router子命令關閉重分發。IPX-RIP和IPX-EIGRP都可以在路由器上完全關閉。
增加網路寬度 — 使用IPX-RIP,網路的最大可能寬度為15跳。啟用IPX-EIGRP時,最大可能寬度為224跳。由於EIGRP度量足夠大,足以支援數千跳,因此擴展網路的唯一障礙是傳輸層跳數計數器。當IPX資料包通過15台路由器並且通過EIGRP獲知到目標的下一跳時,思科通過增加傳輸控制欄位來解決此問題。當使用RIP路由作為到目的地的下一跳時,傳輸控制欄位會照常遞增。
增量SAP更新 — 定期傳送完整的SAP更新,直到找到EIGRP鄰居,然後僅當SAP表發生更改時傳送。這種方法利用EIGRP的可靠傳輸機制,因此必須存在一個IPX-EIGRP對等體才能傳送增量SAP。如果在特定介面上不存在對等體,則定期在該介面上傳送SAP,直到找到對等體。此功能通常在串列介面上是自動的,如果需要,可以在LAN介質上配置。
Active state — 當發生路由重新計算時,拓撲表條目被視為處於活動狀態。
自治系統(Autonomous system, AS) — 自治系統是指共用通用路由策略的統一管理下的一組網路。自治系統可以包含一個或多個網路。必須為屬於自治系統的所有路由器配置相同的自治系統編號。
DUAL — 無環路由演算法,與距離向量或鏈路狀態一起使用,用於提供路由表的擴散計算。DUAL是由J.J. Garcia-Luna-Aceves博士在SRI International開發。
外部躍點計數 — 在重新分發的協定中向路由器通告的目的地的躍點計數。例如,如果路由器收到通告距離目標三跳的RIP更新,則當此RIP資訊重新分發到EIGRP時,會將這三跳作為外部跳數儲存,並且此資訊將傳遞到EIGRP自治系統。
外部路由 — 如果EIGRP路由不是源自接收該路由的路由器進程的同一自治系統,則路由器會將其視為外部路由。RIP派生的路由始終是外部路由,從另一個自治系統重分發的EIGRP路由也是如此。
可行後繼路由 — 當存在可行後繼路由時,會嘗試將目標條目從拓撲表移動到路由表。到目標的所有最低成本路徑組成一個集合。從該集合中,通告度量小於當前路由表度量的鄰居被視為可行後繼路由器。路由器將可行後繼路由器視為目的地下游的鄰居。這些鄰居和相關度量將放置在轉發表中。當鄰居更改其通告的度量時,或者當網路中發生拓撲更改時,可能需要重新評估一組可行後繼路由器。但是,這不會歸類為路由重新計算。
增量SAP更新 — 僅當SAP資訊發生更改時才傳送的SAP更新。
無限 — 4294967295(1位或32位的所有位)。
內部路由 — 如果EIGRP路由源自接收該路由的路由器進程所在的自治系統,則路由器會將其視為內部路由。只有直接連線到運行EIGRP的Cisco路由器的網路才能是內部網路。
Neighbor(或Peer) — 使用公共網路相互連線的兩台路由器稱為相鄰鄰居。鄰居動態發現彼此並交換EIGRP協定消息。每台路由器都儲存一個拓撲表,其中包含從每個鄰居獲取的資訊。
鄰居表 — 每台路由器保持相鄰鄰居的狀態。獲知新發現的鄰居時,會記錄該鄰居的地址和介面。此資訊儲存在鄰居資料結構中。鄰居表儲存這些條目。每個協定相關模組都有一個鄰居表。當鄰居傳送hello時,它會通告holdtime。holdtime是路由器將鄰居視為可到達且可操作的時間量。如果在holdtime內未收到hello資料包,則holdtime將過期。保持時間到期時,DUAL會收到拓撲更改通知。鄰居表條目還包括可靠傳輸機制所需的資訊。使用序列號將確認與資料包進行匹配。記錄從鄰居收到的最後一個序列號,因此可以檢測到無序資料包。傳輸清單用於根據每個鄰居對資料包進行排隊,以便進行可能的重傳。在相鄰資料結構中保持往返計時器,以估計最佳的重傳間隔。
被動狀態 — 當路由器沒有為此目標執行路由重新計算時,拓撲表條目處於被動狀態。
查詢 — 當重新路由重新計算開始時,傳送到所有EIGRP鄰居的一種EIGRP資料包。有關詳細資訊,請參閱參考。
重分發 — 除了同時運行IPX-RIP和IPX-EIGRP之外,路由器還可以將資訊從一個路由協定重分發到另一個路由協定。RIP度量不會直接轉換為IPX-EIGRP度量,反之亦然,因此會為重分發的路由分配人工度量。路由器在重分發中使用以下人工度量:
RIP到EIGRP — 接收RIP路由的介面的可靠性、負載和最大傳輸單位(MTU),加上轉換為十微秒的IPX計時器將用作IPX-EIGRP度量。RIP跳數和RIP滴答將保留下來並隨同網路中的IPX-EIGRP更新一起傳遞,以用於路由環路檢測和重分發回RIP。
EIGRP到RIP — 當路由首次從RIP重分配到EIGRP(參見上文)時記錄的RIP跳數和滴答數以1遞增,並在RIP中通告。這會導致整個EIGRP自治系統(無論其大小如何)顯示為一個RIP跳數。為了防止超過223跳的目標通告到RIP,如果EIGRP跳數(在EIGRP自治系統中每個跳數遞增)加上原始RIP跳數超過223,則認為該目標不可達,不會重新分發到RIP中。內部EIGRP路由通告的RIP度量為1。
Reply — 一種型別的EIGRP資料包,用於響應鄰居的查詢。請參閱參考。
水準分隔 — 通常情況下,連線到廣播型IPX網路並使用距離向量路由協定的路由器會使用水準分割機制來防止路由環路。水準分割會阻止路由器從產生該資訊的任何介面通告有關路由的資訊。因為DUAL提供環路自由,所以水準分割不是必需的,但可以在任何介面上開啟或關閉。為節省頻寬,預設情況下為開啟。使用訊框中繼或交換式多百萬位元資料服務(SMDS)網路的客戶,可能希望在這些介面上關閉此功能。
後繼路由器 — 滿足可行性條件並已選定作為轉發資料包的下一跳的鄰居路由器。
拓撲表 — 拓撲表由IPX路由進程填充,並由DUAL有限狀態機發揮作用。它包含鄰居路由器通告的所有目標。與每個條目關聯的是目標地址和已通告該目標的鄰居清單。對於每個鄰居,記錄通告的度量。這是鄰居在其路由表中儲存的度量。如果鄰居通告此目標,它必須使用路由轉發資料包。這是距離向量協定必須遵循的重要規則。與目的地相關聯的是路由器用於到達目的地的度量。這是所有鄰居的最佳通告度量加上到最佳鄰居的鏈路開銷的總和。這是路由器在路由表中用來向其它路由器通告的度量。
Update — 傳送的一種包含EIGRP路由資訊的EIGRP資料包。請參閱參考。
RIP路由自動重分發到EIGRP,而EIGRP路由自動重分發到RIP,使用者無需輸入任何重分發命令。預設情況下不會開啟不同EIGRP進程之間的重分發。
除EIGRP通告中的外部跳數大於RIP跳數外,EIGRP路由優先於RIP路由。外部跳數是最初進入EIGRP自治系統時用於通告該路由的RIP跳數。
內部EIGRP路由始終優先於外部EIGRP路由。這意味著給定兩條到達目的地的EIGRP路徑,無論度量如何,源自EIGRP自治系統的路徑總是優先於源自EIGRP自治系統的路徑。重分佈的RIP路由總是在EIGRP中通告為外部路由。
到達目的地並被確定為可行後繼路由的所有EIGRP路由都放置在拓撲表中。如果RIP路由是到目的地的當前首選路徑,而且該目的地也在EIGRP中通告,則RIP路由也將出現在拓撲表中(它用via欄位中重新分發的字樣表示)。未在路由表中使用的RIP路由不會出現在拓撲表中。未在路由表中使用的EIGRP路由將出現在拓撲表中。
路由將出現在路由表中,但在拓撲表中卻不會出現:1)路由已連線,但未列在router子命令network list中,並且沒有鄰居通告它;2)路由是RIP路由,並且我們沒有EIGRP鄰居通告它並關閉RIP重分發。
拓撲表條目在連線時沒有後繼路由器,但在路由器子命令網路清單中沒有後繼路由器。路由器至少有一個鄰居通告此網路。當發出no redistribute rip命令時,通常會出現這種情況。
在其他所有情況下,路由表中的路由應位於拓撲表中,並且這些條目應具有非零後繼計數。
IPX EIGRP資料包以標準IPX報頭開頭的IPX資料包傳輸。報頭的Socket欄位中的值0x85BE和Packet Type欄位中的值0(未知)用於標識EIGRP資料包。這些資料包由一個標準EIGRP報頭組成,後跟一組由型別/長度/值(TLV)三重位元組組成的可變長度欄位。下表顯示了EIGRP資料包報頭的格式。
欄位 | 長度(以位元組為單位) | 說明 |
---|---|---|
版本 | 1 | EIGRP版本。EIGRP有兩個主要版本:版本0和版本1。Cisco IOS®軟體版本低於10.3(11)、11.0(8)和11.1(3),運行的是較低版本的EIGRP。 |
操作碼 | 1 | 以下值之一:
|
校驗和 | 2 | 整個資料包(包括EIGRP報頭)的標準IP校驗和。不包括IP報頭。 |
標誌 | 4 | 以下值之一:
|
序列 | 4 | 32位序列號。 |
Ack | 4 | 32位序列號。具有非零ACK欄位的hello封包應解碼為確認(ACK)封包,而不是hello封包。 |
AS編號 | 4 | 自治系統編號。 |
EIGRP報頭後面是一個或多個TLV。下表列出了常規和IPX特定的TLV。
編號 | 類型 |
---|---|
一般TLV型別 | |
0x0001 | 增強型IGRP引數 |
0x0003 | 序列 |
0x0004 | 軟體版本 |
0x0005 | 下一個組播序列 |
IPX特定的TLV型別 | |
0x0302 | IPX內部路由 |
0x0303 | IPX外部路由 |
IPX內部路由TLV(TLV型別0x0302)由報頭後接一個或多個目標網路地址組成。下表列出了此標題中的欄位。每個網路號的長度為四個位元組。
欄位 | 長度(以位元組為單位) | 說明 |
---|---|---|
下一跳網路 | 4 | 下一跳的網路。 |
下一跳主機 | 6 | 作為下一跳的主機。 |
延遲 | 4 | 單位為10毫秒/256。延遲0xFFFFFFFF表示無法到達的路由。 |
頻寬 | 4 | 單位:2,560,000,000/kbps |
MTU | 3 | 封包MTU大小。 |
跳數 | 1 | 當前跳數。 |
可靠性 | 1 | 值255表示100%的可靠性。 |
載入 | 1 | 值255表示100%負載。 |
保留 | 2 | 未使用 |
IPX外部路由TLV(TLV型別0x0303)由報頭後接一個或多個目標網路地址組成。下表列出了此標題中的欄位。每個網路號的長度為四個位元組。
與內部路由TLV不同,外部路由TLV包括AS編號、外部度量和外部延遲等欄位。
欄位 | 長度(以位元組為單位) | 說明 |
---|---|---|
下一跳網路 | 4 | 下一跳的網路。 |
下一跳主機 | 6 | 作為下一跳的主機。 |
路由器ID | 6 | 始發路由器的路由器ID。 |
AS編號 | 4 | EIGRP域的標識號。 |
任意標籤 | 4 | 可用於承載由路由對映設定的標籤。 |
協定ID | 1 | 以下值之一:
|
保留 | 1 | 未使用 |
外部度量 | 2 | 重新分發的RIP路由的跳數。IPX RIP路由作為外部路由自動重分佈到IPX EIGRP中。IPX RIP度量被複製到EIGRP路由的外部資料部分。當IPX EIGRP路由重新分發回IPX RIP時,RIP跳數被設定為原始重分發點中的RIP跳數,遞增1。 |
外部延遲 | 2 | 重分發路由的延遲值。當IPX EIGRP路由重分佈回IPX RIP時,RIP路由的IPX延遲欄位將設定為外部度量欄位中的IPX延遲值。 |
延遲 | 4 | 單位為10毫秒/256。延遲0xFFFFFFFF表示無法到達的路由。 |
頻寬 | 4 | 單位:2,560,000,000/kbps |
MTU | 3 | 封包MTU大小。 |
跳數 | 1 | 當前跳數。 |
可靠性 | 1 | 值255表示100%的可靠性。 |
載入 | 1 | 值255表示100%負載。 |
保留 | 2 | 未使用。 |
當它們在EIGRP資料包中傳輸時,IPX SAP資料包由一個Opcode值為6的標準EIGRP報頭(請參閱本節的第一個表)組成,其後是不帶原始IPX報頭的標準IPX SAP資料包的標準負載。思科路由器生成的每個IPX SAP資料包最多可以傳輸7個64位元組的SAP條目加上32位元組的IPX額外負荷(總共480位元組)加上介質封裝額外負荷。
[no] ipx routing[node] | 要啟用IPX路由,請使用ipx routing全域性配置命令。如果忽略節點,Cisco IOS軟體會將當前分配給它的硬體MAC地址用作其節點地址。這是第一個乙太網路、權杖環或光纖分散式資料介面(FDDI)卡的MAC位址。如果路由器中沒有令人滿意的介面(例如只有串列介面),則必須指定節點。ipx routing命令啟用IPX-RIP和SAP服務。 |
ipx router {eigrp AS-number | nlsp [tag] | rip} | 啟用EIGRP。引數autonomous-system-number是EIGRP自治系統編號。它可以是一個介於1和65535之間的數字。 |
[no] network {<network-number>| all} | 使用network命令在每個網路上啟用ipx router命令中指定的路由協定。 |
[no]重新分發{rip | igrp <as-number>} | 配置將一個協定重分發到另一個協定。預設情況下啟用此命令。no表單用於禁用重分發。 |
注意:如果要在許多但並非所有介面上運行EIGRP或RIP,請輸入此命令的all形式,然後輸入no network <network-number>,其中<network-number>是不希望運行路由協定的網路。
[no] ipx sap-incremental eigrp <as-number> [rsup-only] | 要僅在SAP表中發生更改時傳送SAP更新,請使用ipx sap-incremental介面配置命令。要傳送定期SAP更新,請使用此命令的no形式。rsup-only選項表示系統在介面上使用EIGRP僅傳輸可靠的SAP更新資訊。使用RIP路由更新,而忽略EIGRP路由更新。 |
[否] ipx hello-interval eigrp<as-number><value> | 配置介面上由指定的IPX-EIGRP路由進程的hello間隔(以秒為單位)。預設值為5秒。該值可以設定在hello資料包中通告的保持時間。保持時間是hello間隔的三倍。如果保持時間的當前值小於hello間隔的兩倍,則保持時間將被重置。預設保持時間為15秒。 |
[否] ipx hold-time eigrp <as-number> <value> | 配置介面上指定的IPX-EIGRP路由進程的保持時間(以秒為單位)。保持時間在hello資料包中通告,並向鄰居指明它們認為傳送者有效的時間長度。預設保持時間是hello間隔的三倍。預設保持時間為15秒。 |
show ipx route [network] [default] [detailed] | 要顯示IPX路由表的內容,請使用show ipx route使用者EXEC命令。default選項顯示預設路由。detailed選項顯示詳細的路由資訊。 |
show ipx eigrp neighbors [servers] [as-number | interface] [regexp name] | 要顯示EIGRP發現的鄰居,請使用show ipx eigrp neighbors EXEC命令。servers選項顯示每個鄰居通告的伺服器清單。regexp name選項顯示其名稱與正規表示式匹配的IPX伺服器。 |
show ipx eigrp topology [network-number] | 要顯示EIGRP拓撲表,請使用show ipx eigrp topology EXEC命令。network-number顯示輸入的IPX網路編號的拓撲表。 |
[no] debug eigrp packets | 使用debug eigrp packet EXEC命令顯示常規調試資訊。此命令的no形式禁用調試輸出。 |
[no] debug eigrp fsm | 使用debug eigrp fsm EXEC命令顯示有關EIGRP可行後繼度量(FSM)的調試資訊。 此命令的no形式禁用調試輸出。 |
這些配置示例在採用IOS版本12.0(4)的Cisco 2500系列路由器上進行了測試。
在以下示例中,我們為自治系統編號100中的IPX-EIGRP路由配置了介面Ethernet0和Serial0:
! ipx routing 0000.0c5c.ec39
注意:預設情況下,啟用IPX路由時,IPX進程採用第一個活動乙太網、令牌環或FDDI介面的MAC地址。
! interface Ethernet0 ipx network AA ! interface Serial0 ipx network 10 !ipx router eigrp 100 network AA network 10 ! ! no ipx router rip !
附註: 使用no ipx router rip命令可禁用IPX-RIP(配置IPX路由時,預設情況下啟用IPX-RIP)。 如果存在連線到LAN網段的非Cisco裝置(如Novell伺服器),則路由器必須在LAN介面上運行RIP(或NLSP)才能看到它。請注意,預設情況下NLSP不會重分佈到EIGRP中。
預設情況下,啟用EIGRP後,SAP在乙太網介面上定期傳送,在串列介面上遞增。如果Ethernet0僅存在IPX-EIGRP對等體,您可能希望減少頻寬使用並僅以增量方式傳送SAP。為此,請使用以下命令:
! ipx routing 0000.0c5c.ec39 ! interface ethernet0 ipx network AA ipx sap-incremental eigrp 100 ! interface serial0 ipx network 10 ! ipx router eigrp 100 network AA network 10 ! no ipx router rip !
注意:如果在乙太網介面上配置了ipx sap-incremental eigrp 100命令,但未找到IPX-EIGRP對等體,則會定期傳送SAP更新。找到對等體後,更新將按預期增量傳送(即,當SAP表中發生更改時)。 為接收增量SAP而為定期SAP配置的任何路由器介面都將沒有來自此路由器的完整SAP資訊。因此,當任意兩台路由器啟用了SAP增量時,該網段上的所有其它路由器也必須配置為SAP增量。
如果要在另一端具有IPX-EIGRP對等體的串列介面上傳送定期SAP更新,請使用以下命令禁用增量SAP並啟用定期SAP更新:
! ipx routing 0000.0c5c.ec39 ! interface ethernet0 ipx network AA !interface serial0 ipx network 10 no ipx sap-incremental eigrp 100 ! ipx router eigrp 100 network AA network 10 ! no ipx router rip !
在大多數網路中,可以在LAN介面上配置RIP,在WAN介面上配置EIGRP。這是為了避免頻寬消耗的定期RIP和SAP更新穿越頻寬敏感的WAN介面。如果按此方式配置,Cisco路由器會自動將IPX-RIP路由重新分發到EIGRP,反之亦然。下面,我們在乙太網介面上啟用了IPX-RIP,在串列介面上啟用了IPX-EIGRP:
! ipx routing 0000.0c5c.ec39 ! interface Ethernet0 ipx network AA ! interface Serial0 ipx network 10 ! ipx router eigrp 100 network 10 !
附註: 此處,在乙太網介面上啟用IPX-RIP,即使它在運行配置中未顯示。這是因為啟用IPX路由時,所有介面上預設啟用IPX-RIP,並且預設啟用的任何引數都不會顯示在運行配置中。
也可以在串列介面上使用定期的RIP和增量SAP來減少SAP流量。為此,請使用rsup-only選項和ipx sap-incremental命令:
! ipx routing 0000.0c5c.ec39 ! interface Ethernet0 ipx network AA ! interface Serial0 ipx network 10 ipx sap-incremental eigrp 100 rsup-only ! ipx router eigrp 100 network 10 !
注意:使用rsup-only選項,RIP將改為定期傳送;SAP繼續以增量方式傳送。
在非常擁塞的大型網路中,預設的15秒保持時間可能不足以讓所有路由器從其鄰居接收hello資料包。在這種情況下,可能需要增加保持時間。在本例中,我們將保持時間增加到了45秒:
! ipx routing 0000.0c5c.ec39 ! interface ethernet 0 ipx network AA ! interface serial 0 ipx network 10 ipx hold-time eigrp 100 45 ! ipx router eigrp 100 network AA network 10 !
R1# show ipx route Codes: C - Connected primary network, c - Connected secondary network S - Static, F - Floating static, L - Local (internal), W - IPXWAN R - RIP, E - EIGRP, N - NLSP, X - External, A - Aggregate s - seconds, u - uses, U - Per-user static 5 Total IPX routes. Up to 1 parallel paths and 16 hops allowed. No default route known. C 10(HDLC) Se0 C AA (NOVELL-ETHER) Et0 E 20 [41024000/0]via 10.0000.0c3b.ed69, age 00:26:43, 1u, Se0 E BB [40537600/0]via 10.0000.0c3b.ed69, age 00:26:44, 1u, Se0 E CC [41049600/0]via 10.0000.0c3b.ed69, age 00:26:44, 1u, Se0 R1#
注意:路由源的EH值表示IPX EIGRP路由處於活動狀態,而本地路由器正在等待所有相關鄰居響應查詢。因此,該值只能是臨時狀態。
R1# show ipx eigrp neighbors IPX EIGRP Neighbors for process 100 H Address Interface Hold Uptime SRTT RTO Q Seq (sec) (ms) Cnt Num 0 10.0000.0c3b.ed69 Se0 12 00:28:10 30 2280 0 51 R1# R1# show ipx eigrp topology IPX EIGRP Topology Table for process 100 Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply, r - Reply status P 10, 1 successors, FD is 40512000 via Connected, Serial0 P 20, 1 successors, FD is 41024000 via 10.0000.0c3b.ed69 (41024000/2169856), Serial0 P AA, 1 successors, FD is 281600 via Connected, Ethernet0 P BB, 1 successors, FD is 40537600 via 10.0000.0c3b.ed69 (40537600/281600), Serial0 P CC, 1 successors, FD is 41049600 via 10.0000.0c3b.ed69 (41049600/2195456), Serial0 R1# R1# show ipx eigrp traffic IP-EIGRP Traffic Statistics for process 10 Hellos sent/received: 3900/3012 Updates sent/received: 23/16 Queries sent/received: 9/8 Replies sent/received: 8/9 Acks sent/received: 24/29 Input queue high water mark 2, 0 drops R1#
運行EIGRP的路由器維護鄰居表中相鄰鄰居的狀態資訊。鄰居傳送hello時,會通告保持時間,該時間定義了鄰居被視為可到達且可操作的持續時間。如果在保持時間內未收到新的hello資料包,EIGRP將宣告鄰居無法到達並開始更新其拓撲表。IP和IPX EIGRP對除速度為T1或更低的非廣播多路訪問網路之外的所有介面均使用預設hello間隔(5秒),該介面的預設hello時間為60秒。預設情況下,保持計時器的值是hello間隔值的三倍。有關詳細資訊,請參閱ipx hello-interval eigrp 命令的命令參考討論。
EIGRP鄰居表還儲存了可靠傳輸機制所需的資訊。使用序列號將確認與資料包進行匹配。記錄從鄰居收到的最後一個序列號,以便可以檢測到無序資料包。傳輸清單用於根據每個鄰居對資料包進行排隊,以便進行可能的重傳。
如果show ipx eigrp neighbor命令輸出的正常運行時間從未超過大約80秒,則可能是本地路由器聽到鄰居的hello訊號,但鄰居未聽到本地路由器的hello訊號。雖然開放最短路徑優先(OSPF)要求在宣告鄰居之前進行雙向的hello交換,但EIGRP在收到來自相鄰路由器的hello時會嘗試建立關係。如果您有單向鏈路,聽到hello的路由器會將相鄰路由器放入鄰居表中,但此後不久它將重置連線,因為相鄰路由器將不會回覆完成鄰居關係形成所需的必要資料包。此問題的症狀包括:
本地路由器不會顯示在遠端路由器的鄰居表中。
本地路由器鄰居表中遠端路由器的條目的平滑往返時間(SRTT)為0。
通過啟用鄰居更改日誌記錄,開始排除意外的EIGRP鄰居丟失。在config-ipx-router模式下發出log-neighbor-changes命令。此命令記錄鄰居鄰接關係更改,以監控路由系統的穩定性並幫助您檢測問題。預設情況下,不會記錄鄰接更改。
下表列出了輸出示例並說明如何解釋輸出。
日誌消息 | 說明 |
---|---|
%DUAL-5-NBRCHANGE: IPX-EIGRP 2047: Neighbor x.y (Serial1/1/0.4) is up: new adjacency |
收到來自相鄰路由器的hello資料包,路由器正在將此鄰居視為全新,儘管它以前可能知道此鄰居。 |
%DUAL-5-NBRCHANGE: IPX-EIGRP 2047: Neighbor x.y (Serial1/1/0.6) is down: stuck in INIT state |
路由器收到hello後,通過傳送已設定初始化位的更新資料包進行響應。此封包會提示相鄰路由器針對每個網路將其最佳專案排隊,以進行傳輸。如果相鄰路由器從不響應,則它在本地路由器的鄰居表中顯示為停滯在INIT狀態。此問題通常出現在單向鏈路上。 |
%DUAL-5-NBRCHANGE: IPX-EIGRP 2047: Neighbor x.y (Serial1/1/0.1) is down: retry limit exceeded |
本地路由器傳送了更新、查詢或回覆,但未收到確認。檢查第1層(L1)和第2層(L2)連通性。 |
%DUAL-5-NBRCHANGE: IPX-EIGRP 2047: Neighbor x.y (Serial1/1/0.4) is down: peer restarted |
鄰居因未知原因關閉,當本地路由器收到hello或設定了INIT標誌的更新時檢測到該鄰居。要確定哪個路由器(本地或遠端)終止了關係,請發出show ipx eigrp neighbor命令。檢視正常運行時間和Q Cnt值。uptime值指示鄰居關係上次重置後的時間。Q Cnt顯示等待傳送到鄰居或已經傳送但尚未確認的資料包的數量。如果Q Cnt不為零,則兩個EIGRP鄰居不會收斂。 |
%DUAL-5-NBRCHANGE: IPX-EIGRP 2047: Neighbor x.y (Serial1/1/0.4) is down: holding time expired |
如果在保持時間(大多數鏈路預設情況下為15秒)內沒有收到hello消息,路由器將通知鄰居鄰居關係已斷開並記錄系統日誌消息。 |
如果您需要上述消息以外的更多資訊,請嘗試啟用特定IPX調試。啟用調試之前,請確保您了解調試的影響。
debug eigrp packets — 可能會產生大量消息。請謹慎使用。
Debug eigrp packets terse — 不顯示EIGRP hello。
調試ipx eigrp事件
debug ipx eigrp and also debug ipx eigrp neigh limit debugging information to a specific neighbor。
為了將調試消息對路由器的影響降至最低,建議您通過發出logging buffered全域性配置模式命令禁用控制檯日誌記錄並啟用緩衝日誌記錄。
以下是排除IPX EIGRP鄰居關係故障的其他考慮因素。收集這些問題的答案之後,您應該能夠縮小故障域以更快地解決問題。例如,您應該能夠將問題隔離到特定路由器或特定路由器的介面或資料包隊列。
同一裝置上的多個鄰居是否同時跳動?
遠端鄰居看到了什麼?
哪一端啟動了拆除 — 本地路由器還是遠端路由器?
介面是否擁塞?對hello資料包進行排隊是否有巨大的延遲?
如果通過幀中繼等低速鏈路運行IPX EIGRP,請在介面廣播隊列中查詢丟包。如果即使不需要鏈路也仍在運行RIP(因為啟用IPX路由時預設啟用),請在router-rip配置模式下嘗試使用no network {network number}命令禁用RIP。
%DUAL-5-NBRCHANGE: IPX-EIGRP 1: Neighbor 95081004.0060.3e00.4000 (Serial0.801) is down: %DUAL-5-NBRCHANGE: IPX-EIGRP 1: Neighbor 95081004.0060.3e00.4000 (Serial0.801) is up: new adjacency
[1] A Unified Approach to Loop-Free Routing using Distance Vectors or Link States, J.J. Garcia-Luna-Aceves, 1989 ACM 089791-332-9/89/0009/0212, pages 212-223。
[2] Loop-Free Routing using Diffusion Computations, J.J. Garcia-Luna-Aceves, Network Information Center, SRI International, IEEE/ACM Transactions on Networking, Vol. 1, No. 1993.(使用擴散計算的無環路由)