動態路由協議—EIGRP

 

EIGRP;增強內部網關路由協議;屬於無類別距離矢量協議;組播更新地址224.0.0.10;跨層封裝,協議號88,屬於Cisco私有協議。

更新方式:增量更新---僅觸發更新,沒有周期更新à更新量小(DV);可靠性高(RTP);保活機制(hello機制)。

 

 

一、EIGRP的四大組件:

1.hello機制:使用hello包發現、建立、保活鄰居關係

2.PDM---支持多種網絡層協議模塊

3.RTP---可靠傳輸協議:確認、排序、重傳、流控(不超過參考帶寬的百分之50)

4.DUAL算法---擴散(彌散)更新算法

 

二、EIGRP的五種數據包:

1.hello包---在接口帶寬小於或等於2.048m時hello time爲60s 

大於2.048M時hello time 爲5s;hold time 爲hello time 的3倍;

直連的鄰居間hello包有三個參數必須完全一致,否則無法建立鄰居關係

認證字段、AS號、k值;

2.更新包---路由條目:目標網絡號+度量

3.查詢包

4.應答包

5.ACK確認

三、EIGRP的工作過程

啓動配置完成後,本地發送hello包到所有運行了EIGRP的接口;若同時可以接收到其他鄰居的hello包,那麼建立鄰居關係,生成鄰居表;

鄰居表內記錄本地的所有鄰居,之後使用更新包更新本地的路由信息到所有鄰居處;當收集到所有路由信息後,本地生成拓撲表;

拓撲表中裝載着本地到達所有未知網段的最佳和備份路徑;備份路徑用於在最佳路徑故障時,不用重新收斂,直接啓用;同時備份路徑也可以和最佳路徑一起實現非等開銷負載均衡。

默認將拓撲表中最佳路徑加載到路由表;收斂完成,僅hello包週期保活。

結構突變:

1.新增網段—直連新增的設備,向所有鄰居發送更新包,然後逐級收斂

2.斷開網段—直連斷開網段的設備,向本地所有鄰居發送查詢包來收斂該路徑,之後該數據包逐級擴散到全網;

結果(1)查詢包到達直連該網段的另一臺設備處,該設備使用應答包逐級擴散到全網,過程中所有設備的拓撲表和路由表發生改變。

結果(2)查詢包到達網絡末節(本地所有鄰居均向本地進行查詢,但本地此時沒有可達路徑),末節回覆無路徑應答逐級擴散到全網,過程中所有設備的拓撲表和路由器發生改變。

注:

(1)最佳路徑故障後直接啓用備份路由的規則---不針對直連斷開網段,因爲斷開網段必須使用查詢和應答進行全網擴散收斂;實際該規則針對基於正在收斂路徑遞歸所得的其他路由;----斷開A網段,必須收斂A網段,那些以A網段爲下一跳的路由可以啓用備份路徑

(2)更新包、查詢包、應答包均基於RTP協議進行傳輸

   RTP要求只要接收這三種包,必須進行ACK確認、排序、流控;

若不能確認,必須重傳(一般爲單播),默認最大重傳16次,若依然無確認,將斷開鄰居關係,依賴hello包來重新建立鄰居關係。

3.無法溝通---hold time到時候,斷開鄰居關係,刪除從該鄰居學習到的所有信息;之後是否能夠建鄰,關注hello包。

 

DUAL算法包含的內容:

1hello保活機制

2success--成功路徑--最佳路徑   從本地到達目標最小度量值

Feasible success --可行成功路徑--備份路徑----備份路徑的AD值小於不等於最佳路徑的FD

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

AD:通告距離,路徑上的本地下一跳設備,到達目標的度量值

FC:可行條件,成爲備份路徑的條件--備份路徑的AD值小於且不等於最佳路徑的FD

3、主路徑(最佳路徑)故障時,同時本地沒有備份路徑;那麼將發送查詢包到本地所有鄰居--除最佳路徑中的下一跳設備;鄰居在接收到該查詢後將向本地的其他鄰居進行查詢包的擴散,到達網絡的末梢後,由末梢設備逐級回覆應答來清除整個網絡所有設備的緩存;

也可能查詢包在沒有到達網絡的末梢時,就已經尋找到新的路徑,然後逐級返回應答來實現收斂;

發出查詢包的前提:本地的直連路徑故障,或本地的最佳路徑故障,同時本地沒有備份路徑

注:假設A對1網段進行了查詢收斂,同時1網段又是B到2網段的備份或最佳路徑,那麼當A在查詢收斂1網段時,將導致B對2網段進行收斂;

末梢設備----本地所有的鄰居發送查詢包過來,詢問一個非本地直連的網段;

 

 

四、配置

R1(config)#router eigrp 90         //啓動時需要配置AS號,理解爲全網一致的進程號;

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

宣告:1、激活協議(針對鄰居間的直連接口) 

          2、傳遞路由(連接用戶的接口,環回類的虛擬接口)

R1(config-router)#network 1.1.1.1 0.0.0.0

R1(config-router)#network 10.0.0.0

EIGRP可以使用反掩碼精確匹配,也可以直接宣告主類;

 

啓動配置完成後,鄰居間組播使用hello包建立鄰居關係,生成鄰居表:

R3#show ip eigrp neighbors

EIGRP-IPv4 Neighbors for AS(90)

H   Address           Interface        Hold  Uptime   SRTT   RTO   Q Cnt  Seq Num

                                (sec)            (ms)        

1   34.1.1.2            Se1/1             12   00:00:02   15    100            0              6

0   23.1.1.1            Se1/0             13   00:00:16   15    100            0             10

鄰居ip(下一跳)  直連接口(出接口)

 

SRTT:平均往返時間---路由更新的延時

RTO:重傳超時時間---基於SRTT和重傳的具體次數計算所得

Q CNT:收斂包數---若爲1,標識有一條路由正在收斂中;

 

鄰居關係建立後,所有鄰居間使用更新包,共享路由信息;生成拓撲表

R3#show ip eigrp topology

P 1.1.1.0/24, 2 successors, FD is 2323456

        via 23.1.1.1 (2323456/409600), Serial1/0

        via 34.1.1.2 (2323456/409600), Serial1/1

1、拓撲表中字母

條目前端使用字母P標識該條目已經收斂完全,且最佳路由已經進入路由表;

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

    1 replies, active 00:00:02, query-origin: Local origin

      Remaining replies:

         via 23.1.1.2, r, Serial1/1

條目前端使用字母A標識活動中,證明該條目正在收斂中,不會出現在路由表內;

當條目進行收斂後,條目的後端存在一個字母來標識目前收斂到的具體階段

Q :本地已經發出查詢包,但還未收到ACK

Qr:本地已經接收到了對端的確認,但還未收到對端的應答

QR:本地收到應答,還未進行ACK

U:本地已經確認,之後基於條目內容進行判斷---獲取新路徑,A轉P

                                                                          ---沒有可達路由,刪除條目

2、卡在活動狀態---條目長期保持A狀態;

原因:  

(1)網絡深度過深

(2)錯誤的策略或配置導致

導致的問題:在活動計時器到時間時(默認3min),將斷開鄰居關係;導致整個網絡EIGRP協議鄰居關係全部刷新,使的通訊不穩定;

 

解決方案:

(1)針對網絡過深---延長計時器

R2(config)#router eigrp 90

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

  <1-65535>  active state time limit in minutes

   disabled   disable time limit for active state

R2(config-router)#timers active-time 5

 (2)EIGRP在IOS12.1以上增添一個卡在活動狀態計時器

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

 

3、拓撲表中的數字

P 1.1.1.0/24, 2 successors, FD is 2323456

        via 23.1.1.1 (2323456/409600), Serial1/0

        via 34.1.1.2 (2323456/409600), Serial1/1

                     FD      AD

FD:可行距離—本地通過該路徑到達目標的度量值

AD:通告距離—該路徑上的鄰居(下一跳)達到目標的度量值

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

 

4、非等開銷負載均衡---將流量延最佳和備份路徑按比例同時傳輸,來提高鏈路的利用率

R3(config)#interface s1/1

R3(config-if)#bandwidth 800 //修改接口的參考帶寬

參考帶寬,不影響設備的實際帶寬;僅用於影響路由協議選路

 

Maximum metric variance 1  默認差異值爲1,默認EIGRP協議僅支持等開銷負載均衡;

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

通過修改差異值,可以實現非等開銷負載均衡

R3(config)#router eigrp 90

R3(config-router)#variance 2  修改默認的差異值

 

默認EIGRP協議將最佳路徑加載到路由表中:

字母D - EIGRP, EX - EIGRP external

D  標識EIGRP協議正常學習的路由

D EX外部路由,由ASBR重發布導入路由

管理距離:D 內部90    D EX外部 170

 

度量:複合度量—集中參數混合計算

K值:(K1 = 1, K2 = 0, K3 = 1, K4 = 0, K5 = 0):

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爲權重值,其意義在於決定公式中哪些參數參與運算;

默認K值下:度量=帶寬+延時

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

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

注:256爲放大因子—放大數值便於比較

       兼容IGRP協議;

修改K值時,全網所有設備需要修改一致;k值僅決定哪個參數參與運算,並不能直接干涉選路;故若需要干涉選路,使用路由策略或者修改運算參數(如帶寬、延時、可靠性等);另修改K值還可以擴大eigrp協議的工作半徑;EIGRP協議除100跳以外,還存在最大度量值2147483647;

 

R3(config-router)#metric weights 0 1 0 1 0 0 //修改k值;

 

五、EIGRP的擴展配置:

1、狀態機

刷新鄰居關係;因爲EIGRP爲增量更新,故在修改路由條目參數後,必然需要刷新路由表來加載新的路由協議,刪除原有的信息;再彙總、認證、策略……

2、被動接口---僅接收不發送路由協議信息,用於連接用戶的接口,不得用於連接鄰居的接口。

R3(config)#router eigrp 90

R3(config-router)#passive-interface ethernet 0/0

 

3、認證---EIGRP協議僅支持MD5認證

R2(config)#key chain ccna

R2(config-keychain)#key 1

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

R2(config-keychain-key)#exit

R2(config-keychain)#exit

R2(config)#interface s1/1

R2(config-if)#ip authentication key-chain eigrp 90 ccna

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

注:必須修改爲MD5模式,否則認證不生效

 

4、手工彙總---在更新源路由器上,所有更新發出的接口上進行配置

R3(config)#int s1/0

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

在彙總源設備自動生成空接口防環路由

 

5、缺省路由

(1)在邊界路由器上,連接內網的接口上進行彙總配置;彙總地址0.0.0.0/0

R1(config)#interface ethernet 0/0

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

注:此時需要手工在邊界路由器上缺省指向ISP

(2)重發布靜態

先在邊界路由器上靜態缺省指向ISP,然後通過重發布技術,將該條目共享到EIGRP協議中來

R1(config)#router eigrp 90

R1(config-router)#redistribute static

(3)宣告做法:先在邊界路由器上靜態缺省指向ISP;然後在EIGRP協議中宣告缺省路由

R1(config)#router eigrp 90

R1(config-router)#network 0.0.0.0

注:宣告0.0.0.0時,同時本地所有接口均被宣告

 

 

6、修改計時器

R1(config)#interface s1/1

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

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

 

 

7、干涉選路---使用偏移列表,加大控制層面流量的度量值(方法同RIP的干涉選路)

 

抓取路由

R1(config)#access-list 1 permit 3.0.0.0

 

R1(config)#router rip

R1(config-router)#offset-list    1    in   10000       serial 1/1

                                         ACL   方向 增加的度量    對應的接口

 

8、EIGRP協議的小特性

1)EIGRP的接口帶寬佔用率---默認僅佔用參考帶寬的50%;若人爲將參考帶寬修改的和實際物理帶寬不一致,將可能出現過於佔用,或過於降低傳輸的現象;

 

R2(config)#interface serial 1/1

R2(config-if)#ip bandwidth-percent eigrp 90 300  (佔用率百分之300)

 

(2)EIGRP的查詢機制

1>最佳路徑故障時,同時本地沒有備份路徑

2>路由進入活動狀態

3>發送查詢包到所有的鄰居,除了原連接最佳路徑下一跳的路由器

4>若鄰居也沒有此路由信息,查詢包繼續擴散

5>到達末梢進行回覆收斂

 

(3)複雜網絡中的查詢包管理

中心到站點的拓撲結構中,中心沒有必要到站點進行查詢

限制查詢範圍:

1>彙總---在中心站點傳遞路由給分支站點時,進行彙總配置傳遞;之後若中心站點的網段故障時,發出查詢,由於分支僅擁有彙總條目,故只能回覆不可達;但該方法會導致路由黑洞的出現;

2>EIGRP的末梢區域---分支站點配置爲末梢區域,EIGRP協議規定不會向末梢區域的設備發出查詢包

R3(config)#router eigrp 90

R3(config-router)#eigrp stub

R3(config-router)#eigrp stub ?

  connected      Do advertise connected routes

  leak-map       Allow dynamic prefixes based on the leak-map

  receive-only   Set receive only neighbor

  redistributed  Do advertise redistributed routes

  static         Do advertise static routes

  summary        Do advertise summary routes

  <cr>

(擴展命令,可以手動設置一些不傳遞給鄰居的路由)

發佈了38 篇原創文章 · 獲贊 42 · 訪問量 7490
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章