簡介
本檔案介紹Cisco Systems設計和開發的內部閘道路由通訊協定(IGRP)套件路由通訊協定。本文檔必須用作技術簡介的純資訊文檔,不能代表協定規範或產品描述。
必要條件
需求
本文件沒有特定需求。
採用元件
本文件所述內容不限於特定軟體和硬體版本。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
慣例
如需文件慣例的詳細資訊,請參閱思科技術提示慣例。
什麼是IGRP?
IGRP用於TCP/IP和開放系統互聯(OSI)網際網路。原來的IP版本在1986年設計和部署成功。它被視為IGP,但也被廣泛用作域間路由的外部網關協定(EGP)。IGRP使用距離向量路由技術。其概念是每台路由器不需要知道整個網路的所有路由器/鏈路關係。每台路由器都以相應的距離通告目的地。聽到該資訊的每台路由器都會調整距離並將其傳播到相鄰路由器。
IGRP中的距離資訊表示為可用頻寬、延遲、負載利用率和鏈路可靠性的組合。這樣可微調鏈路特性以實現最佳路徑。
什麼是EIGRP?
EIGRP是IGRP的增強版本。EIGRP也使用與IGRP相同的距離向量技術,並且底層距離資訊保持不變。該協定的收斂性和運行效率都得到了明顯提高。這允許改進架構,同時保留對IGRP的現有投資。
這種融合技術是基於斯坦福國際研究所開展的研究得出的。擴散更新演算法(DUAL)是用於在路由計算中每個時刻獲取循環自由度的演算法。這樣,拓撲更改涉及的所有路由器都可以同時進行同步。未受拓撲變化影響的路由器不參與重新計算。DUAL的收斂時間可與任何其它現有路由協定相媲美。
EIGRP已經擴展為獨立於網路層協定,從而允許DUAL支援其他協定簇。
EIGRP如何工作?
EIGRP有四個基本元件:
-
鄰居發現/恢復
-
可靠傳輸協定
-
DUAL有限狀態機
-
通訊協定相關模組
鄰居發現/恢復是路由器用於動態瞭解其直連網路上的其他路由器的過程。路由器還必須發現其鄰居何時不可達或無法工作。通過定期傳送小的hello資料包,以低開銷實現此過程。只要收到hello資料包,路由器就可以確定鄰居處於活動狀態且工作正常。一旦確定這一點,相鄰路由器就可以交換路由資訊。
可靠傳輸負責將EIGRP資料包有保證有序地傳送到所有鄰居。它支援組播或單播資料包的混合傳輸。某些EIGRP資料包必須可靠傳輸,而其它資料包則不需要可靠傳輸。為了提高效率,僅在必要時才提供可靠性。例如,在具有組播功能(如乙太網)的多路訪問網路中,不必單獨向所有鄰居可靠地傳送hello資料包。因此,EIGRP傳送單個組播hello,並在資料包中指示通知接收方不需要確認該資料包。其他型別的資料包(例如更新)需要確認,資料包中會顯示此情況。可靠傳輸具有在存在未確認資料包掛起時快速傳送組播資料包的設定。這有助於確保在存在不同速度鏈路時收斂時間保持較低。
DUAL有限狀態機體現了所有路由計算的決策過程。它會跟蹤所有鄰居通告的所有路由。DUAL使用距離資訊(稱為度量)來選擇有效的無環路徑。DUAL根據可行後繼路由選擇要插入路由表的路由。後繼路由器是用於轉發資料包的相鄰路由器,它擁有到達目的裝置的最低開銷路徑,保證不會成為路由環路的一部分。如果沒有可行後繼路由器,但存在通告目的地的鄰居,則必須進行重新計算。這是確定新後繼者的過程。重新計算路由所需的時間會影響收斂時間。即使重新計算不是處理器密集型的,如果不需要重新計算,避免重新計算也是有利的。當拓撲發生變化時,DUAL會測試可行後繼路由器。如果有可行後繼路由器,它會使用找到的任何後繼路由器,以避免任何不必要的重新計算。可行後繼路由將在本文檔後面的較詳細定義中定義。
協定相關模組負責網路層、協定特定要求。例如,IP-EIGRP模組負責傳送和接收封裝在IP中的EIGRP資料包。IP-EIGRP負責解析EIGRP資料包並向DUAL通知收到的新資訊。IP-EIGRP要求DUAL做出路由決策,其結果儲存在IP路由表中。IP-EIGRP負責重新分配由其他IP路由協定獲知的路由。
EIGRP概念
本節介紹有關EIGRP實施的一些詳細資訊。討論了資料結構和DUAL概念。
鄰居表
每台路由器都儲存相鄰鄰居的狀態資訊。獲知新發現的鄰居時,會記錄該鄰居的地址和介面。此資訊儲存在鄰居資料結構中。鄰居表儲存這些條目。每個協定相關模組都有一個鄰居表。當鄰居傳送hello時,它會通告HoldTime。HoldTime是路由器將鄰居視為可到達且可操作的時間量。換句話說,如果在HoldTime內沒有監聽hello資料包,則HoldTime將過期。當HoldTime到期時,DUAL會收到拓撲更改通知。
鄰居表條目還包括可靠傳輸機制所需的資訊。使用序列號將確認與資料包進行匹配。記錄從鄰居接收的最後一個序列號,以便可以檢測到無序資料包。傳輸清單用於根據每個鄰居對資料包進行排隊,以便進行可能的重傳。在相鄰資料結構中保持往返計時器,以估計最佳的重傳間隔。
拓撲表
拓撲表由協定相關模組填充,並由DUAL有限狀態機執行。它包含鄰居路由器通告的所有目標。與每個條目關聯的是目標地址和已通告該目標的鄰居清單。對於每個鄰居,將記錄通告的度量。這是鄰居在其路由表中儲存的度量。如果鄰居通告此目的地,它必須使用路由來轉發資料包。這是距離向量協定必須遵循的重要規則。
與目的地相關聯的是路由器用於到達目的地的度量。這是所有鄰居的最佳通告度量加上到最佳鄰居的鏈路開銷的總和。這是路由器在路由表中用來向其它路由器通告的度量。
可行後繼路由器
當存在可行後繼路由器時,目標條目會從拓撲表移動到路由表。到目標的所有最低成本路徑組成一個集合。從該集合中,通告度量小於當前路由表度量的鄰居被視為可行後繼路由器。
路由器將可行後繼路由器視為目的地下游的鄰居。這些鄰居和相關度量將放置在轉發表中。
當鄰居更改其通告的度量或在網路中發生拓撲更改時,必須重新評估一組可行後繼路由器。但是,這不會歸類為路由重新計算。
路由狀態
目的地的拓撲表條目可以具有兩種狀態之一。當路由器沒有執行路由重新計算時,路由會被視為被動狀態。當路由器正在進行路由重新計算時,該路由處於活動狀態。如果總是有可行後繼路由,則路由永遠不必進入活動狀態,並避免路由重新計算。
如果沒有可行後繼路由器,路由將進入Active狀態並進行路由重新計算。路由器向所有鄰居傳送查詢資料包時,路由重新計算開始。相鄰路由器可以回覆(如果它們具有到達目的地的可行後繼路由器),也可以返回一個查詢,指示它們正在執行路由重新計算。處於Active狀態時,路由器無法更改其用於轉發資料包的下一跳鄰居。收到給定查詢的所有回覆後,目標可以轉換到「被動」狀態,並且可以選擇一個新的後繼路由器。
當到唯一可行後繼路由器的鄰居的鏈路斷開時,通過該鄰居的所有路由都將開始路由重新計算並進入Active狀態。
封包格式
EIGRP使用五種資料包型別:
如前所述,hello是組播的,用於鄰居發現/恢復。它們不需要確認。沒有資料的hello也用作確認(ack)。 Ack始終使用單播地址傳送,且包含非零確認號。
更新用於傳達目的地的可達性。發現新鄰居時,會傳送更新資料包,以便鄰居可以建立其拓撲表。在這種情況下,更新資料包是單播的。在其他情況下,例如鏈路成本改變,更新是組播的。始終可靠地傳輸更新。
當目標進入活動狀態時,將傳送查詢和回覆。查詢始終是組播的,除非查詢是響應收到的查詢而傳送的。在這種情況下,將單播回發出查詢的後繼路由器。傳送回覆時,總是會響應向發起方指示它不需要進入「活動」狀態的查詢,因為它具有可行後繼路由器。回覆以單播方式傳送到查詢的發起方。查詢和應答都能可靠地傳輸。
請求資料包用於從一個或多個鄰居獲取特定資訊。請求資料包用於路由伺服器應用程式。它們可以是組播或單播。無法可靠地傳輸請求。
路由標籤
EIGRP具有內部路由和外部路由的概念。內部路由是源自EIGRP自治系統(AS)中的路由。 因此,配置為運行EIGRP的直連網路被視為內部路由,並隨此資訊在EIGRP AS中傳播。外部路由是由另一個路由協定獲知的,或者作為靜態路由駐留在路由表中。這些路由會分別使用它們的來源標識進行標籤。
外部路由標籤有以下資訊:
-
重新分發路由的EIGRP路由器的路由器ID。
-
目標所在的AS編號。
-
可配置的管理員標籤。
-
外部協定的協定ID。
-
來自外部協定的度量。
-
預設路由的位標誌。
例如,假設一個AS包含三個邊界路由器。邊界路由器是運行多個路由協定的路由器。AS使用EIGRP作為路由協定。我們假設兩個邊界路由器BR1和BR2使用開放最短路徑優先(OSPF),另一個邊界路由器BR3使用路由資訊協定(RIP)。
通過其中一個OSPF邊界路由器BR1獲知的路由可以有條件地重分發到EIGRP。這表示在BR1中運行的EIGRP在其自己的AS中通告OSPF路由。當它這樣做時,會通告該路由並將其標籤為OSPF學習路由,其度量與OSPF路由的路由表度量相等。router-id設定為BR1。EIGRP路由會傳播到其它邊界路由器。假設RIP邊界路由器BR3也通告與BR1相同的目的地。因此BR3將RIP路由重新分發到EIGRP AS。因此,BR2有足夠的資訊來確定路由的AS入口點、使用的原始路由協定和度量。此外,網路管理員可以在重新分配路由時為特定目標分配標籤值。BR2可以使用以上任何資訊來使用該路由,或者將它重新通告到OSPF中。
使用EIGRP路由標籤可為網路管理員提供靈活的策略控制並幫助自定義路由。路由標籤在傳輸AS中特別有用,在傳輸AS中,EIGRP通常與實施更多全域性策略的域間路由協定進行互動。它結合使用於高度可擴展的基於策略的路由。
相容模式
EIGRP提供與IGRP路由器的相容性和無縫互操作性。這一點非常重要,這樣使用者就可以利用這兩種協定的優勢。相容性功能不要求使用者具有啟用EIGRP的標誌日。可在戰略位置小心啟用EIGRP,而不會中斷IGRP效能。
使用自動重分發機制,以便將IGRP路由匯入EIGRP,反之亦然。由於這兩種協定的度量都是直接可轉換的,因此它們很容易進行比較,就好像它們是源自它們自己的AS的路由一樣。此外,IGRP路由在EIGRP中被視為外部路由,因此標籤功能可用於自定義調整。
預設情況下,IGRP路由優先於EIGRP路由。可以使用無需重新啟動路由進程的配置命令來更改此設定。
DUAL示例
此網路圖表說明DUAL如何收斂。本示例僅側重於目標N。每個節點顯示其開銷到N(以跳為單位)。 例如,C使用A到達N,開銷是2。
如果A和B之間的鏈路發生故障,B會傳送一個查詢,通知其鄰居它丟失了可行後繼路由器。D接收該查詢並確定它是否有任何其他可行後繼路由。如果沒有,則必須啟動路由計算並進入活動狀態。但是在這種情況下,C是可行後繼路由器,因為其開銷(2)小於到達目的地N的D當前開銷(3)。D可以切換到C作為其後繼路由器。附註A和C未參與,因為它們未受此變更影響。
現在,讓我們使路由計算發生。在此案例中,我們假設A和C之間的連結失敗。C確定它丟失了它的後繼路由器,並且沒有其他可行後繼路由器。D不被視為可行後繼路由器,因為其通告度量(3)大於C當前開銷(2)才能到達目標N。C必須為目標N執行路由計算。C將查詢傳送到其唯一的鄰居D。D將回覆,因為其後繼路由器沒有更改。D不需要執行路由計算。當C收到回覆時,它知道所有鄰居都處理了失敗到N的消息。此時,C可以選擇新的可行後繼路由器D,開銷為(4)以到達目的地N。請注意,A和B不受拓撲更改的影響,而D只需回覆C。
常見問題
配置EIGRP是否與配置IGRP一樣簡單?
是的,您配置EIGRP就像配置IGRP一樣。您可以配置路由進程並指定協定運行所在的網路。可以使用現有的配置檔案。
我是否具有類似IGRP的調試功能?
是的,協定無關和相關debug命令都通知您協定正在執行的操作。一套show命令為您提供鄰居表狀態、拓撲表狀態和EIGRP流量統計資訊。
IP-EIGRP中可用的功能是否與IP-IGRP中可用的功能相同?
EIGRP提供您在IGRP中使用的所有功能。要指出的一個特徵是多個路由進程。您可以使用同時運行IGRP和EIGRP的單個進程。可以使用同時運行這兩個進程的多個進程。您可以使用一個運行IGRP的進程以及另一個運行EIGRP的進程。你可以混合搭配。這有助於根據您的需求變化自定義到特定協定的路由。
EIGRP使用多少頻寬和處理器資源?
通過實施部分更新和增量更新,解決了頻寬利用率問題。因此,僅當拓撲發生變化時,才會傳送路由資訊。關於處理器利用率,可行後繼技術僅要求受拓撲變化影響的路由器執行路由重新計算,從而大大降低了AS總的處理器利用率。此外,只有受影響的路由才會進行路由重新計算。僅訪問和使用這些資料結構。這大大減少了複雜資料結構中的搜尋時間。
IP-EIGRP是否支援聚合和可變長子網掩碼?
是的。IP-EIGRP執行路由聚合的方式與IGRP相同。也就是說,IP網路的子網不會通過另一個IP網路進行通告。子網路由彙總為單個網路號聚合。此外,IP-EIGRP允許在IP地址中的任何位邊界上進行聚合,並且可以在網路介面粒度下進行配置。
EIGRP是否支援區域?
不,單個EIGRP進程類似於鏈路狀態協定的區域。但是,在該過程中,資訊可以在任何介面邊界過濾和聚集。如果想要繫結路由資訊的傳播,可以配置多個路由進程來實現分層結構。由於DUAL本身限制路由傳播,通常使用多個路由進程來定義組織邊界。
相關資訊