EIGRP支持等價和非等價的負載均衡,要理解等價的負載均衡和非等價的負載均衡的前提是首先要知道負載均衡的方式
在cisco中,負載均衡分為兩種,一種是基於目標地址的負載均衡,一種是基於數據包的負載均衡。
基於目標地址的負載均衡:當路由器有兩條去往目標網絡的路徑,當發送一個數據去往第一個目標網絡時,走第一條路徑,當去往第二個目標時,走第二條路經,當去往第三個目標時,走第一條路徑,以此類推,思科默認的是基於CEF的急速轉發,等同於基於目標地址的負載均衡
基於數據包的負載均衡:對於每一個數據包,路由器都要執行路由表的查詢和接口的選擇,也就是說,每一次的數據轉發都是相對獨立的
由於默認是基於CEF的負載均衡,所以要實現EIGRP的等價和不等價的負載均衡,需要關閉cef的急速轉發。
網絡拓撲
如圖所示規劃ip地址,其中172.16.1.1用於模擬兩個相同的目標網絡,在R1-R3三臺路由器之間運行EIGRP,關閉cef,默認R2去往目標主機172.16.1.1會實現等價的負載均衡
R2上關閉cef
接下來測試,在R1和R3上打開debug ip icmp,檢測ping包
R1
R3
在R2做ping包測試,ping10個包
R2ping包
R1上debug信息
R3上debug信息
可以看到,在R1和R3上分別產生了5個包,這就是EIGRP的等價負載均衡。
接下來,做EIGRP的不等價負載均衡實驗,修改e0/0接口帶寬,默認是10M,修改為20M
修改帶寬後的路由表
可以看到修改後的路由表裡面只有一條路由條目,下一跳地址為100.1.1.1 ,EIGRP的非等價負載均衡默認是關閉的,需要在EIGRP進程下通過variance命令開啟,開啟EIGRP的非等價負載均衡需要滿足以下條件:
1.用於非等價負載均衡的路徑需要滿足FC條件
2.variance定義的值乘以最優路徑的FD需大於用於實現非等價負載均衡的路徑的FD
如下圖所示:
R2拓撲表
R2的拓撲表中有兩條去往目標網路172.16.1.1的路徑,證明下一跳為200.1.1.1的這條路由條目已經滿足了第一個條件,要滿足第二個條件可以用131153920/9885920得出它們之間的倍數關係:
倍數關係
由於variance的取值為整數,範圍為1-128,所以variance的值大於等於2即可,比如接下來,將variance的值設置為10,然後進行非等價負載均衡的測試
將EIGRP的varice設置為10
接下來測試:
開始ping包,每次1個,可以發現,首先走R1,走了4個包以後切換到了R3,然後R3上走了3個包以後切換到了R1上:
R2
R1
R3
由此可以得出,R1上走4個包以後就會走R3上3個包,用4除以3得出:
計算結果
基於以上實驗結果,可以得出,EIGRP實現非等價負載均衡和variance的值無關,而是基於EIGRP的度量值來實現非等價負載均衡,那麼variance的值只是確定一個滿足FC條件的路徑需要作為非等價負載均衡的路徑的度量範圍,如果將varance的值設置為1,那麼將不能實現非等價的負載均衡!
以上就是本期的內容,特別說明,本示例中關於EIGRP的配置是使用64bit的命名式配置方法,32bit為傳統EIGRP的配置,謝謝!