天天看點

動态路由協定 ❀ EIGRP-增強型内部網關路由協定

EIGRP enhanced interior gateway routing protocol 增強型内部網關路由協定

– 無類别

– 距離矢量型協定

– 适用範圍:IGP協定;Cisco私有;

– 基于IP封裝,跨層封裝到網絡層,協定号88;

– 更新方式:

  1. 多點傳播更新:224.0.0.10 支援等開銷、非等開銷;
  2. 增量更新----無周期更新,僅觸發更新;---- 單次的更新流量少,極高可靠性

– 支援多種網絡層協定(PDM)-- 支援多種網絡層協定(PDM)

– 在低速鍊路與高速鍊路中配置相同(RTP流控機制)

1、4大元件:

  1. hello包 ----鄰居的發現、建立、保活
  2. RTP -可靠傳輸協定----确認、排序、重傳、流控

    (eigrp的更新流量不得超過鍊路帶寬的百分之50)

  3. PDM–支援多種網絡層協定子產品,用于相容不同網絡層協定
  4. DUAL–擴散更新算法、彌散更新算法

2、工作過程:

啟動配置後,EIGRP協定将向本地所有的鄰居發送hello包,建立鄰居關系,生成鄰居表;鄰居關系建立後,鄰居間使用更新包,共享本地路由資訊;共享完成後,所有裝置生成拓撲表—最佳和備份路徑表;再基于最佳選路規則,将拓撲表中的最佳路徑放置于路由表中;-----收斂完成,僅hello包周期保活即可;

結構突變:

新增網段—直連新增網段的裝置,使用更新包,将路由傳遞給所有的鄰居即可

斷開網段—直連斷開網段的裝置,将向所有的鄰居發送查詢包,該查詢包将擴散到網絡的末梢,之後使用應答包進行回複;結果:

1)尋找到新的路由

2)删除所有資訊

無法溝通 —無法收到鄰居的ACK、hello,标志着鄰居關系存在故障,将在hold time 到時時斷開鄰居關系,能否重建,看hello包;

注:更新包、查詢包、應答包—基于RTP工作-可靠傳輸

這三種包發送到鄰居處後,鄰居必須進行ACK的确認;若收不到确認,将進行單點傳播重傳,最大預設重傳16次,16次後若依然沒有ACK,将斷開鄰居關系;這些資訊還将被排序,被流控;

3、EIGRP鄰居建立條件:

  1. AS号必須一緻
  2. K值必須一緻
  3. 認證(僅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位址         和鄰居直連的接口      

上述表中的特性含義:

  1. H:建立鄰居的順序
  2. SRTT:平均往返時間—5min内發出資料包到鄰居後傳回ack的平均時間
  3. RTO:重傳間隔時間(單點傳播)----基于SRTT和具體重傳的次數來自動計算

    (multicast flow timer:多點傳播流計時器,使用多點傳播方式發送封包。需要單點傳播重傳的等待時間)

  4. Qcnt:隊列統計—若為數字1,标示有一條路由正在收斂中;
  5. 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—卡在活動狀态—本地拓撲表中的條目資訊一直處于活動中,無法收斂完成;

原因:

  1. 網絡深度過深
  2. 錯誤的配置或政策導緻

預設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值,度量=帶寬+延時

  1. 帶寬=(10^7/整段路徑路由傳播入方向最小帶寬)*256
  2. 負載=(最大負載)
  3. 延時=(整段路徑控制層面入口延時總和/10)*256
  4. 可靠性=(最小可靠性)
  5. 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 重釋出)