《EIGRP路由開銷—Metric的計算》—那些你應該知道的知識(七)

寫在前面:

EIGRP協議爲思科私有協議,僅支持在思科設備間部署。EIGRP具有收斂快,支持非等價負載均衡等特點。


知識準備:

EIGRP路由開銷—Metric的計算,也就是metric值的計算,共涉及5個相關參數變量。分別是:

MTU、BW、DLY、Reliability、txload,rxload

實際在計算過程中,默認只會計算BW與DLY,其他參數對最終的Metric值計算,沒有影響。

BW=10^7/接口帶寬(Kbps)*256,DLY=延遲(微秒)/10*256

路由開銷的計算公式爲: Metric= [K1 × BW + K2 × BW /(256-LOAD)+ K3 × DLY] × K5 /(RELIA+K4),在默認情況下,K2、K4、K5=0,K1=1,K3=1。

所以Metric在實際計算爲:Metric= [K1 × BW + K3 × DLY]=BW+DLY

在實際路由更新的過程中,路由器會將接口的帶寬和時延等信息一同向外更新,在其他路由器收到一條路由更新後,比較收到的接口帶寬值與自身收到這條路由更新的接口的帶寬,將更小的值代入計算。而DLY則是在路由更新的過程將所有收到該路由更新的接口的值帶入計算。

所以EIGRP路由開銷(Metric)的計算,又可以被描述爲——在默認情況下,Eigrp Metric值的計算取決於路由更新過程中,最小接口帶寬的值和更新過程中,時延的累加。

下面我會用實驗來驗證上述理論。


開始動手:

實驗拓撲圖如下:

R1與R2通過百兆接口互聯,R2與R3通過十兆接口互聯,R3與VPC通過十兆接口互聯。

我們將通過此實驗模擬,EIGRP路由開銷的計算方法,以及EIGRP針對重分佈路由的開銷的計算方法。

EIGRP配置過程省略。

FastEthernet接口參數如下:

Ethernet接口參數如下:

我們來看一下,關於10.1.1.0/24網段的Metric開銷計算

10.1.1.0網段的路由,由R3宣告,在10.1.1.0被本地宣告時BW=10^7/接口帶寬(Kbps)*256=10^3*256=256000,DLY=延遲(微秒)/10*256=25600

所以Metric值爲,Metric= [K1 × BW + K3 × DLY]=256000+25600=281600.

在R3設備上查看,驗證了我們計算的數值。

在R3宣告了該接口,R3會將該路由信息更新給R2,通過抓包我們可以看到

R3將該路由信息發送給組播地址224.0.0.10,來更新次路由。在更新的信息中,包含我們上述Metric計算所用到的值,其中包括接口帶寬與時延。這裏抓包看到的時延值很高,打一個問號,懷疑可能爲wireshark翻譯問題,實際計算是符合我們的預期的。

R2收到該路有更新後,將路由更新中帶有的接口帶寬與自身的接口帶寬進行比較,在本實驗中這兩個接口均爲Ethernet接口,所以該值相同,故BW不變。

DLY=25600+25600=51200

所以Metric=256000+51200=307200

在R2上查看:

實驗結果符合預期。

在R2收到該更新後,R2會將該更新繼續想組播地址224.0.0.10進行轉發,通過抓包我們可以看到:

R2發送的路由更新信息中,包含路由更新路徑中最小的接口帶寬值,與累計的時延值。

R1收到該路有更新後,會比較該接口帶寬與收到路由更新的接口帶寬,由於R1與R2之間爲百兆接口,接口帶寬大,所以仍然將十兆接口帶寬也就是,10000Kbps代入計算,所以BW值維持不變,DLY值累加。DLY=(100+1000+1000)/10 *256=53760

Metric=BW+DLY=256000+53760=309760

在R1上查看:

實際結果符合預期。

那麼針對重分佈路由,Eigrp是如何計算他的開銷值呢?

我們在R3上,增加一條靜態路由並,將它重分佈到Eigrp中。

實際上,通過上圖,我們可以看到,在重分佈的過程中,會要求你將影響Eigrp Metric值計算的參數進行設置。

這包括了接口帶寬、時延、接口可靠性、負載和MTU。而我們知道,實際上影響路由參數計算的只有接口帶寬和時延。

其中需要注意的是設置的時延參數爲10微秒的時延,而不是我們接口下的每一微秒的時延,兩個單位不一致。也就是需要將我們這裏設置的值乘以10倍帶入計算。

我們將10.1.2.0/24這條靜態路由,按照上圖所示的參數重分佈到Eigrp中,帶寬爲1000Kbps,也就是1M,時延爲2000us。

按照我們之前的計算方法,當R1收到該路由更新時,最小帶寬爲我們設置的1000Kbps帶寬,時延累計爲100+1000+2000=3100

所以BW=10^7/接口帶寬(Kbps)*256=2560000,DLY=延遲(微秒)/10*256=79360

所以Metric=BW+DLY=2560000+33280=2639360

從R1上看到的結果,符合我們計算的結果。


總結

Eigrp路由協議在計算路由開銷—Metric值時,實際最終計算的過程如下:

BW=10^7/接口帶寬(Kbps)*256,將路由更新方向,收接口中最小的接口帶寬代入計算

DLY=延遲(微秒)/10*256,將路由更新方向,收接口的延遲累加代入計算

Metric=BW+DLY。

這樣便可計算出路由開銷Metric的值。

其中需要注意的時Eigrp路由協議在進行重分佈靜態路由時,設置初始值代入計算,其中設置的延遲參數,需要乘10,帶入計算。

另外,在實際生產環境中,在同一數據中心區域,由於接口的一致性,很有可能導致BW參數的一致,在這樣的情況下,實際影響路由開銷Metric值的則是路由更新方向經過的接口的時延的累加。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章