1. 程式人生 > >EIGRP:增強型內部閘道器路由選擇協議詳解

EIGRP:增強型內部閘道器路由選擇協議詳解

EIGRP:Ciso增強型內部閘道器路由選擇協議 

EIGRP簡介:

  1.   Cisco私有;
  2. 無類別距離向量協議;
  3. 跨層封裝協議,
  4. 封裝於網路層--協議號88;
  5. 組播更新:224.0.0.10   支援非等開銷負載均衡
  6. 增量更新(部分更新)----僅觸發、無週期 ---hello機制必須存在,觸發更新量小(路由非拓撲),可靠性極高

EIGRP的4大元件:

保活機制--hello

PDM---支援多種網路層協議

RTP協議---可靠協議,借鑑TCP的4種可靠傳輸機制--確認、重傳、排序、流控(更新資料不得超過佔用鏈路總頻寬的百分之50)

DUAL--擴散更新、彌散更新演算法

EIGRP的資料包型別:

Hello包  : 用於鄰居的發現,建立,保活  使用組播224.0.0.10每5秒傳送一次。

                 hello time 5s或60s   hold time 為hello time的3倍

                    介面頻寬小於或等於2.048M時hello time 為60s          大於為5s;

更新包:   攜帶路由條目;   目標網路號+度量  

查詢包 :(Query) 

應答包:以單播方式可靠地應答查詢資料包。

確認包(ACK):  確認更新包、查詢包、應答包.以單播方式傳送。用來確認UPDATE、QUERY以及REPLY資料包。ACK分組是上面3種資料包可靠傳輸的保障。

EIGRP的工作過程:

  1. 當啟動配置完成後,進行hello的收發;當接收到鄰居的hello包後,建立鄰居關係,生成鄰居表
  2. 當鄰居關係建立後,鄰居間使用更新包共享本地的路由表資訊,共享過程中需滿足水平分割規則;
  3. 各個鄰居間的路由共享完成後,裝置上生成拓撲表
  4. 本地到達的最佳及備份路徑裝載於拓撲表中;
  5. 預設將最佳路徑加載於本地的路由表中,完成收斂;

      注:  收斂完成後,僅hello包週期保活即可;沒有周期更新;

結構突變:

  1. 新增網段---直連新增網段裝置,直接使用更新包共享路由到鄰居即可。
  2. 斷開網段---直連斷開網段的裝置向所有的鄰居傳送查詢包,該查詢包將逐一通過鄰居擴散到全網;若依然存在可達路徑,那麼由直連可達路徑的裝置返還應答包到全網,讓所有路由器更新;若查詢包擴散到網路末梢,依然沒有可達路徑,由末梢裝置返回應答包到全網,更新所有裝置;
  3. 無法溝通----無法接收到鄰居的hello包,hold time到時時,斷開鄰居關係,刪除鄰居表;

              刪除通過該鄰居學習到的所有路由資訊;

切記:更新包、查詢包、應答包均基於RTP工作;在接收到這些資料包時,本地必須進行確認,若未收到鄰居的ACK,將進行重傳,預設最大重傳16次;若16次重傳依然沒有確認,將直接斷開鄰居;是否能夠重建鄰居關係,依賴hello

配置:

r1(config)#router eigrp ?       啟動時需要配置AS號;

  <1-65535>  Autonomous system number  全網一致的程序號

r1(config)#router eigrp 90

r1(config-router)#no auto-summary   //DV協議建議關閉自動彙總

宣告:1、啟用   2、路由

r1(config-router)#network 1.0.0.0

r1(config-router)#network 124.1.1.1 0.0.0.0

即可主類宣告,也可以使用反掩碼精確匹配

啟動配置完成後,所有裝置間收發hello包,建立鄰居關係,生成鄰居表

r2#show ip eigrp neighbors

IP-EIGRP neighbors for process 90

  • H   Address                 Interface       Hold Uptime   SRTT   RTO  Q  Seq
  •                                             (sec)           (ms)     Cnt Num
  • 2   124.1.1.4               Fa0/0             11 00:00:54   36   216   0    8
  • 1   23.1.1.2                Se1/1             14 00:01:08   34   204   0   11
  • 0   124.1.1.1               Fa0/0             14 00:01:19  233  1398   0    8

    下一跳                   出介面     

SRTT平均往返時間:5min內發出更新、查詢、應答後收到ACK的平均間隔時間

RTO 重傳超時時間:基於重傳到第幾次,和SRTT自動計算所得

Q CNT :標記還有多少條路由正常重傳中; 

當鄰居關係建立後,鄰居間使用更新包共享路由條目;生成拓撲表

r3#show ip eigrp topology    //本地到達目標的最佳和備份路徑;

r3#show ip eigrp topology all-links   //檢視本地到達路由的所有學習路徑;

r3(config)#interface s1/1

r3(config-if)#bandwidth 800

 修改介面的參考頻寬;參考頻寬不影響介面的實際傳輸頻寬;將影響協議對介面的判定

 

【1】關於拓撲表中的字母

P 1.1.1.0/24, 1 successors, FD is 2300416

        via 23.1.1.1 (2300416/156160), Serial1/0

        via 34.1.1.2 (3842560/156160), Serial1/1

前端字母P標識該條目已經收斂完成,且最佳路徑一被加載於路由表中

A 2.2.2.0/24, 1 successors, FD is Inaccessible, Q

    1 replies, active never, query-origin: Local origin

      Remaining replies:

         via 23.1.1.2, r, Serial1/1

前端字母A標識該條目正在收斂中;後端Q部分的字母,標識具體卡在哪個階段

Q 本地已經發出查詢,但是沒有收到ACK

Qr 標識已經收到ACK,當未收到應答

QR標識已經收到應答,還未回覆ACK

U  標識已經回覆ACK --若收到的應答中為新的的路徑,那麼A轉P,最佳路徑載入路由表

若收到的應答中為沒有可達路徑,刪除條目

在特殊情況下,EIGRP協議將可能卡在活動狀態;

  1. 網路深度過深
  2. 錯誤的配置或策略導致

預設存在活動計時器,計時3min;活動計時器到時時將刪除條目,同時斷開鄰居關係;

可能導致錯誤的鄰居斷開,使得網路不穩定;

解決方案:

  1. 針對網路深度過深--建議增大計時器

r2(config)#router eigrp 90

r2(config-router)#timers active-time ?

  <1-65535>  EIGRP active-state time limit in minutes

  disabled   disable EIGRP time limit for active state

  1. 在IOS12以上版本中,新增卡在活動狀態計時器

當活動計時器行進到一半時,本地發出卡在活動狀態查詢,若能收到回覆,那麼在活動計時器到時時,僅刪除條目不斷開鄰居關係;

【2】關於拓撲表中的數字

P 1.1.1.0/24, 1 successors, FD is 2300416

        via 23.1.1.1 (2300416/156160), Serial1/0

        via 34.1.1.2 (3842560/156160), Serial1/1

                    FD      AD

FD:可行距離--本地到達目標的度量值

AD:通告距離--本路徑中的鄰居(下一跳)到達目標的度量值

FC:可行條件---成為備份路徑的條件---備份路徑的AD必須小於且不等於最佳路徑的FD

 

非等開銷負載均衡:當到達同一目標地址時,若存在兩條度量相似的路徑時,可以讓裝置將流量按比例延這些路徑同時傳輸;在EIGRP協議中,只能通過最佳和備份路徑實現;

r3#show ip protocols

  EIGRP maximum metric variance 1  預設差異值為1,標識僅支援等開銷負載均衡

差異值=備份路徑的FD/最佳路徑的FD=向上取整

若修改差異值為2,那麼兩倍關係內的備份路徑將進入路由表和最佳路徑一起傳輸資料;

r3(config)#router eigrp 90

r3(config-router)#variance 2  修改差異值

 

 

 

 

正常更新包收斂後,協議會將拓撲中最佳路徑加載於路由表內:

字母D - EIGRP, EX - EIGRP external

D 標識正常通過EIGRP協議學習產生的路由;

D EX 標識通過其他協議或其他程序學習後,通過重發布技術匯入EIGRP內的路由

 

管理距離:

字母D標記為內部路由---管理距離為90

字母D EX標識為外部路由--管理距離為170

 

 

度量:複合度量--多種引數共同構建

Formula with default K values (K1 = 1, K2 = 0, K3 = 1, K4 = 0, K5 = 0):預設k值

r1(config)#router eigrp 90

r1(config-router)#metric weights 0 1 1 1 1 1 修改K值

K值為權重值:全網所有裝置必須一致;該引數將影響帶入運算的具體資料;

K5為0:

Metric = [K1 * BW + ((K2 * BW) / (256 – load)) + K3 * delay]

K5大於0:

Metric = [K1 * BW + ((K2 * BW) / (256 – load)) + K3 * delay] * [K5 / (reliability + K4)]

 

使用預設的k值時,度量=頻寬+延時

頻寬=(10^7/整段路徑最小頻寬)*256

延時=(控制層面所有入口延時的總和/10)*256

 

256為放大因子:

  1. 讓EIGRP協議相容IGRP協議
  2. 放大引數便於比較

切記:K值的修改不是用於直接干涉選路;而是所有度量值,擴大eigrp的工作半徑;

Eigrp工作半徑為--100跳  度量不得超過2147483647;還可以拉入其他的引數來參與運算;

真正直接影響選路的關鍵位---頻寬、延時、負載、可靠性

 

備註:EIGRP鄰居間hello包必須用三個引數完成一致,才可以建立鄰居關係;

  1. K值     2、AS號     3、認證欄位

 

 

 

 

  • EIGRP擴充套件配置
  1. 狀態機

鄰居關係重新整理;EIGRP為增量更新協議,若需要修改之前的更新資料時,將重新整理鄰居關係;先讓鄰居刪除原有資訊,然後再接收新的路由;

 

 

  1. 認證

先配置祕鑰庫

r2(config)#key chain a

r2(config-keychain)#key 1

r2(config-keychain-key)#key-string cisco123

再直連鄰居的介面上呼叫

r2(config)#interface s1/1

r2(config-if)#ip authentication key-chain eigrp 90 a

r2(config-if)#ip authentication mode eigrp 90 md5

注:eigrp進行支援MD5認證,故在沒有修改模式時認證不生效

 

 

  1. 彙總--在更新源路由上所有更新發出的介面上配置

r3(config)#interface s1/1

r3(config-if)#ip summary-address eigrp 90 3.3.0.0 255.255.248.0

彙總後,eigrp將自動生成空介面防環路由

 

 

  1. 被動介面---只接收不傳送路由協議資訊;僅用於連線使用者的介面,不得用於連線鄰居的介面

r3(config)#interface s1/1

r3(config-if)#ip summary-address eigrp 90 3.3.0.0 255.255.248.0

 

 

  1. 加快收斂  若hello time 為5s時不建議加快收斂;若為60s可以進行修改;

r3(config)#interface s1/1

r3(config-if)#ip hello-interval eigrp 90 5

r3(config-if)#ip hold-time eigrp 90 15

鄰居間建議一致

  1. 預設路由

【1】在邊界路由器上先配置一條靜態預設指向ISP;然後再在邊界路由上所有連線內網的介面上進行手工彙總--彙總地址為0.0.0.0/0

r1(config)#interface fastEthernet 0/0

r1(config-if)#ip summary-address eigrp 90 0.0.0.0 0.0.0.0

【2】在邊界路由器上先配置一條靜態預設指向ISP;然後使用重發布技術,將這條靜態預設路由共享到EIGRP域內

r1(config)#router eigrp 90

r1(config-router)#redistribute static

  1. 干涉選路 ---偏移列表;在控制層面流量的進或出的介面上,抓取路由資訊,然後增大其中的度量值,最終影響選路;

r1(config)#access-list 1 permit 4.4.4.0  抓取網路號

r1(config)#router eigrp 90

r1(config-router)#offset-list  1         in      21          fastEthernet 0/0

                      ACL編號   方向    增加的數值   對應的介面