动态路由协议—EIGRP
目錄
一、概述
二、EIGRP的四大組件
三、EIGRP的五種數據包
四、EIGRP的工作過程
五、DUAL算法
六、配置
6.1 基本配置
6.2 問題:卡在活動狀態
6.3 拓撲表中的數字
6.4 非等開銷負載均衡
6.5 度量
七、EIGRP的擴展配置
7.1?狀態機
7.2 被動接口
7.3 認證
7.4 手工匯總
7.5 缺省路由
7.6 修改計時器
7.7 干涉選路
八、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)最佳路徑故障后直接啟用備份路由的規則---不針對直連斷開網段,因為斷開網段必須使用查詢和應答進行全網擴散收斂;實際該規則針對基于正在收斂路徑遞歸所得的其他路由;----斷開A網段,必須收斂A網段,那些以A網段為下一跳的路由可以啟用備份路徑
(2)更新包、查詢包、應答包均基于RTP協議進行傳輸
?? RTP要求只要接收這三種包,必須進行ACK確認、排序、流控;若不能確認,必須重傳(一般為單播),默認最大重傳16次,若依然無確認,將斷開鄰居關系,依賴hello包來重新建立鄰居關系。
(3)無法溝通---hold time到時候,斷開鄰居關系,刪除從該鄰居學習到的所有信息;之后是否能夠建鄰,關注hello包。
五、DUAL算法
1、hello保活機制
2、success,成功路徑(也就是最佳路徑):從本地到達目標最小度量值
? ? ?Feasible success,可行成功路徑(相當于備份路徑):備份路徑的AD值小于不等于最佳路徑的FD值
注:
- FD:可行距離,本地到達目標的度量
- AD:通告距離,路徑上的本地下一跳設備,到達目標的度量值
- FC:可行條件,成為備份路徑的條件--備份路徑的AD值小于且不等于最佳路徑的FD值
3、主路徑(最佳路徑)故障時,同時本地沒有備份路徑;那么將發送查詢包到本地所有鄰居--除最佳路徑中的下一跳設備;鄰居在接收到該查詢后將向本地的其他鄰居進行查詢包的擴散,到達網絡的末梢后,由末梢設備逐級回復應答來清除整個網絡所有設備的緩存;也可能查詢包在沒有到達網絡的末梢時,就已經尋找到新的路徑,然后逐級返回應答來實現收斂;發出查詢包的前提:本地的直連路徑故障,或本地的最佳路徑故障,同時本地沒有備份路徑。
注:假設A設備對1網段進行了查詢收斂,同時1網段又是B設備到2網段的備份或最佳路徑,那么當A設備在查詢收斂1網段時,將導致B設備對2網段進行收斂。末梢設備:本地所有的鄰居發送查詢包過來,詢問一個非本地直連的網段;
六、配置
6.1 基本配置
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 2323456via 23.1.1.1 (2323456/409600), Serial1/0via 34.1.1.2 (2323456/409600), Serial1/1 1、拓撲表中字母 條目前端使用字母P標識該條目已經收斂完全,且最佳路由已經進入路由表; A 2.2.2.0/24, 1 successors, FD is Infinity, Q1 replies, active 00:00:02, query-origin: Local originRemaining replies:via 23.1.1.2, r, Serial1/1 條目前端使用字母A標識活動中,證明該條目正在收斂中,不會出現在路由表內;當條目進行收斂后,條目的后端存在一個字母來標識目前收斂到的具體階段。 Q :本地已經發出查詢包,但還未收到ACK Qr:本地已經接收到了對端的確認,但還未收到對端的應答 QR:本地收到應答,還未進行ACK U:本地已經確認,之后基于條目內容進行判斷:獲取新路徑,A轉P,沒有可達路由,刪除條目6.2 問題:卡在活動狀態
條目長期保持A狀態:
原因: ?
- 網絡深度過深
- 錯誤的策略或配置導致
導致的問題:
在活動計時器到時間時(默認3min),將斷開鄰居關系;導致整個網絡EIGRP協議鄰居關系全部刷新,使的通訊不穩定;
解決方案:
(1)針對網絡過深---延長計時器 R2(config)#router eigrp 90 R2(config-router)#timers active-time ?<1-65535>? active state time limit in minutesdisabled?? disable time limit for active state R2(config-router)#timers active-time 5(2)EIGRP在IOS12.1以上增添一個卡在活動狀態計時器 在活動計時器進行一半時,向鄰居發送卡在活動狀態查詢,若能收到回復,活動計時器到時時僅刪除條目不斷開鄰居關系;6.3 拓撲表中的數字
P 1.1.1.0/24, 2 successors, FD is 2323456via 23.1.1.1 (2323456/409600), Serial1/0via 34.1.1.2 (2323456/409600), Serial1/1FD???? ?AD FD:可行距離—本地通過該路徑到達目標的度量值 AD:通告距離—該路徑上的鄰居(下一跳)達到目標的度量值 FC:可行條件---成為備份路徑的條件:備份路徑的AD小于且不等于最佳路徑的FD值6.4 非等開銷負載均衡
(1)將流量延最佳和備份路徑按比例同時傳輸,來提高鏈路的利用率 R3(config)#interface s1/1 R3(config-if)#bandwidth 800 //修改接口的參考帶寬 參考帶寬,不影響設備的實際帶寬;僅用于影響路由協議選路(2)Maximum metric variance 1? 默認差異值為1,默認EIGRP協議僅支持等開銷負載均衡; 差異值:備份路徑的FD/最佳路徑的FD 結果向上取整 通過修改差異值,可以實現非等開銷負載均衡 R3(config)#router eigrp 90 R3(config-router)#variance 2? //修改默認的差異值 默認EIGRP協議將最佳路徑加載到路由表中:(3)字母D - EIGRP, EX - EIGRP external D? 標識EIGRP協議正常學習的路由 D EX外部路由,由ASBR重發布導入路由 管理距離:D 內部90??? D EX外部 1706.5 度量
EIGRP使用的是復合度量:集中參數混合計算
默認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的擴展配置
7.1?狀態機
刷新鄰居關系;因為EIGRP為增量更新,故在修改路由條目參數后,必然需要刷新路由表來加載新的路由協議,刪除原有的信息;再匯總、認證、策略……
7.2 被動接口
僅接收不發送路由協議信息,用于連接用戶的接口,不得用于連接鄰居的接口。
R3(config)#router eigrp 90 R3(config-router)#passive-interface ethernet 0/07.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模式,否則認證不生效7.4 手工匯總
在更新源路由器上,所有更新發出的接口上進行配置
R3(config)#int s1/0 R3(config-if)#ip summary-address eigrp 90 3.3.0.0 255.255.248.0 在匯總源設備自動生成空接口防環路由7.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時,同時本地所有接口均被宣告7.6 修改計時器
R1(config)#interface s1/1 R1 (config-if)#ip hello-interval eigrp 90 5 R1(config-if)#ip hold-time eigrp 90 157.7 干涉選路
使用偏移列表,加大控制層面流量的度量值(方法同RIP的干涉選路)
抓取路由 R1(config)#access-list 1 permit 3.0.0.0 R1(config)#router eigrp R1(config-router)#offset-list??? 1??? in?? 10000????? ?serial 1/1ACL??方向? 增加的度量? ??對應的接口八、EIGRP協議的小特性
1、EIGRP的接口帶寬占用率
默認僅占用參考帶寬的50%;若人為將參考帶寬修改的和實際物理帶寬不一致,將可能出現過于占用,或過于降低傳輸的現象。
R2(config)#interface serial 1/1 R2(config-if)#ip bandwidth-percent eigrp 90 300? (占用率百分之300)2、EIGRP的查詢機制
3、復雜網絡中的查詢包管理
中心到站點的拓撲結構中,中心沒有必要到站點進行查詢,應該限制查詢范圍:
?
總結
以上是生活随笔為你收集整理的动态路由协议—EIGRP的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: win32 009
- 下一篇: bootstrap-suggest插件