EIGRP enhanced interior gateway routing protocol 增強型内部網關路由協定
– 無類别
– 距離矢量型協定
– 适用範圍:IGP協定;Cisco私有;
– 基于IP封裝,跨層封裝到網絡層,協定号88;
– 更新方式:
- 多點傳播更新:224.0.0.10 支援等開銷、非等開銷;
- 增量更新----無周期更新,僅觸發更新;---- 單次的更新流量少,極高可靠性
– 支援多種網絡層協定(PDM)-- 支援多種網絡層協定(PDM)
– 在低速鍊路與高速鍊路中配置相同(RTP流控機制)
1、4大元件:
- hello包 ----鄰居的發現、建立、保活
-
RTP -可靠傳輸協定----确認、排序、重傳、流控
(eigrp的更新流量不得超過鍊路帶寬的百分之50)
- PDM–支援多種網絡層協定子產品,用于相容不同網絡層協定
- DUAL–擴散更新算法、彌散更新算法
2、工作過程:
啟動配置後,EIGRP協定将向本地所有的鄰居發送hello包,建立鄰居關系,生成鄰居表;鄰居關系建立後,鄰居間使用更新包,共享本地路由資訊;共享完成後,所有裝置生成拓撲表—最佳和備份路徑表;再基于最佳選路規則,将拓撲表中的最佳路徑放置于路由表中;-----收斂完成,僅hello包周期保活即可;
結構突變:
新增網段—直連新增網段的裝置,使用更新包,将路由傳遞給所有的鄰居即可
斷開網段—直連斷開網段的裝置,将向所有的鄰居發送查詢包,該查詢包将擴散到網絡的末梢,之後使用應答包進行回複;結果:
1)尋找到新的路由
2)删除所有資訊
無法溝通 —無法收到鄰居的ACK、hello,标志着鄰居關系存在故障,将在hold time 到時時斷開鄰居關系,能否重建,看hello包;
注:更新包、查詢包、應答包—基于RTP工作-可靠傳輸
這三種包發送到鄰居處後,鄰居必須進行ACK的确認;若收不到确認,将進行單點傳播重傳,最大預設重傳16次,16次後若依然沒有ACK,将斷開鄰居關系;這些資訊還将被排序,被流控;
3、EIGRP鄰居建立條件:
- AS号必須一緻
- K值必須一緻
- 認證(僅MD5)
雙方接口IP必須在同一網段,主類掩碼可以不同(EIGRP更新源檢測),可以使用輔助位址(第二位址)建立鄰居,但是發送EIGRP封包隻能是主位址(EIGRP不能關閉更新源檢測)
EIGRP router-ID 在15.0以上IOS中,鄰居之間router-ID若一緻,不影響鄰居的正常建立,但是不會學習對方的直連路由
4、具體配置:
r1(config)#router eigrp 90 //啟動時需要配置AS号;了解為全網一緻的程序号;
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包建立鄰居關系,生成鄰居表:
Hello包—hello time 5s或60s,hold time 為hello 的3倍;
接口帶寬小于2.048M為60s,大于或等于2.048M為5s;時間與鍊路封裝有關
鄰居間hello包中必須完全一緻的參數: AS号 認證字段 K值
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 10 00:03:51 36 216 0 9
1 23.1.1.2 Se1/1 14 00:04:04 28 200 0 11
0 124.1.1.1 Fa0/0 14 00:05:04 42 252 0 8
鄰居接口ip位址 和鄰居直連的接口
上述表中的特性含義:
- H:建立鄰居的順序
- SRTT:平均往返時間—5min内發出資料包到鄰居後傳回ack的平均時間
-
RTO:重傳間隔時間(單點傳播)----基于SRTT和具體重傳的次數來自動計算
(multicast flow timer:多點傳播流計時器,使用多點傳播方式發送封包。需要單點傳播重傳的等待時間)
- Qcnt:隊列統計—若為數字1,标示有一條路由正在收斂中;
- Seq num:該接口發送最後一個封包裡的序列号
鄰居關系建立,鄰居間使用更新包共享路由資訊;在收集到所有鄰居的資訊後,本地生成拓撲表: —最佳和備份路徑
r3(config)#interface s1/1
r3(config-if)#bandwidth 800 //修改接口參考帶寬
真實的實體帶寬----硬體、QOS;參考帶寬不影響實際帶寬,僅用于影響路由協定的計算;
r3#show ip eigrp topology 檢視拓撲表
IP-EIGRP Topology Table for AS(90)/ID(3.3.3.3)
Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
r - reply Status, s - sia Status
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
【1】關于拓撲表中的字母
P 1.1.1.0/24, 1 successors, FD is 2300416
條目前端字母P,标示該條目已經收斂完成,且最佳路徑加載于路由表中;
A 2.2.2.0/24, 1 successors, FD is Inaccessible, Q
1 replies, active 00:00:03, query-origin: Local origin
Remaining replies:
via 23.1.1.2, r, Serial1/1
條目前端字母A,标示該條目正處于收斂中;在收斂過程中,條目後方存在字母來标示具體的階段;
Q标示本地已經發出查詢,正在等待ACK;
Qr标示本地已經收到鄰居的ACK,正在等待鄰居的應答包;
QR标示鄰居已經回複應答,準備發出ACK;
U 本地已經回複ACK;
(若應答為無路,将直接删除該條目;若應答新的路徑,那麼最佳路徑被加表;同時A轉P;)
【2】S—卡在活動狀态—本地拓撲表中的條目資訊一直處于活動中,無法收斂完成;
原因:
- 網絡深度過深
- 錯誤的配置或政策導緻
預設eigrp協定存在活動計時器—3min;一條條目最多活動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
2、針對錯誤的配置或政策,IOS12以上存在–卡在活動狀态計時器
活動計時器進行到一半時,向鄰居發送卡在活動狀态查詢,若收到回複,那麼活動計時到時時,僅删除資訊,不斷開鄰居關系;
【3】EIGRP非等開銷負載均衡
拓撲表中的括号内容
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值
備份路徑的作用在于可和最佳路徑一起實作非等開銷負載均衡;
非等開銷負載均衡—當到達目标位址時,若同時存在最佳和備份路徑時,可以讓裝置将流量按比例延這些路徑同時轉發;
r3#show ip protocols
EIGRP maximum metric variance 1 差異值
差異值:備份路徑的FD/最佳路徑的FD= 向上取整 --1.1為2;
注:預設差異值為1,标示僅支援等開銷負載均衡;
r3(config)#router eigrp 90
r3(config-router)#variance 2
修改差異值為2,表示2倍關系内的備份路徑将加載到路由表中;
Variance 128可以比對所有的路徑
拓撲表生成後,預設将最佳路徑加載于路由表中;
D - EIGRP, EX - EIGRP external
使用字母D表示EIGRP計算産生的路由條目;
D EX 标示ASBR(自治系統邊界路由器、協定邊界路由器)從其他協定中學習到的路由,共享進入EIGRP;
管理距離----D 90 D EX170
度量:
(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值,度量=帶寬+延時
- 帶寬=(10^7/整段路徑路由傳播入方向最小帶寬)*256
- 負載=(最大負載)
- 延時=(整段路徑控制層面入口延時總和/10)*256
- 可靠性=(最小可靠性)
- MTU=(最小MTU)
256放大因子:1、放大數值便于比較 2、相容IGRP;
K值的修改—1、引入其他的參數來進行度量計算 2、擴大EIGRP協定的工作半徑
切記:選路的幹涉是靠修改實際的參數–帶寬、延時、可靠性、負載;或者使用政策;
修改K值:
r1(config)#router eigrp 90
r1(config-router)#metric weights 0 1 1 1 1 1
切記:全網必須一緻,否則無法建立鄰居關系;
5、擴充配置:
狀态機–重新整理鄰居關系—若更新資訊中,産生與之前不同的資訊時,EIGRP為增量更新,必須讓裝置通過重新整理鄰居關系的方法來清除原有的資訊;
手工彙總–在更新源路由器上所有更新發出的接口上配置
1)支援CIDR彙總
2)在路由傳播方向出方向上實施
3)自動産生指向null 0的路由,防止黑洞可能導緻的路由換路(RIP不會産生)
4)彙總路由的AD值為5(可以重寫一條靜态,吓一跳或出接口随便寫一個,然後後面跟個AD值,在看路由進行驗證,重寫的AD值不變>5則不變,<5路由條目則改變)
5)彙總後metric為最小的
6)當所有明細消失之後,彙總才會消失
彙總可以使用leak-map洩露某些明細路由
leak-map:就是route-map,最後調用寫成leak-map + route-map的名稱
ACL後面跟的是通配符,不是反掩碼
r3(config)#interface s1/1
r3(config-if)#ip summary-address eigrp 90 3.3.2.0 255.255.254.0
彙總後,彙總配置的裝置上自動産生到達彙總位址的空接口防環路由;
加密認證(僅支援MD5)
r2(config)#key chain xxx
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 xxx
r2(config-if)#ip authentication mode eigrp 90 md5
被動接口和單點傳播建鄰
被動接口:不發送任何封包
r1(config)#router eigrp 90
r1(config-router)#passive-interface serial 1/1
//單點傳播建鄰:指定鄰居,必須加出接口,使用單點傳播發送所有封包
r1(config-router)#neighbor 12.1.1.2 serial 1/1
加快收斂 hello 為5s時不建議修改; 為60s時可以修改
r1(config)#interface s1/1
r1(config-if)#ip hello-interval eigrp 90 5
r1(config-if)#ip hold-time eigrp 90 15
在和鄰居直連的接口上修改即可,建議鄰居間一緻;
預設路由
在邊界路由器上所有直連内網的接口上進行彙總配置;配置位址—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
此時還需要邊界路由器靜态預設指向ISP;
先在邊界路由器上靜态預設指向ISP,然後利用重釋出技術将條目共享到内網中
r1(config)#router eigrp 90
r1(config-router)#redistribute static
network宣告直連靜态預設
将主類定義為default-network,并通告進入EIGRP(本地擁有的主類都可以定義)
Allowed in允許接受預設 out允許發送預設
幹涉選路–偏移清單 在控制層面流量的入或出接口上,對路由資訊中的路徑成本進行加大;可以疊加;
修改AD值
r2(config-router)#distance 100 200 (+更新源 +反掩碼)
内部 外部
更新源隻能修改内部AD值,外部無效
修改metric值
修改bandwith
修改delay
offset-list
r2(config)#access-list 1 permit 3.3.2.0
r2(config)#router eigrp 90
r2(config-router)#offset-list 1 in 10000 serial 1/1
路由過濾:使用分發清單
r2(config)#router eigrp 99
r2(config-router)#distribute-list 2 o fastEthernet 0/0
r2(config-router)#eigrp stub (+直連 彙總 靜态 leak-map 重釋出)