算法原理
ECP,Equal-CostMultipathRouting,等價多路徑,是一個逐跳的基于流的負載均衡策略,OSPF、ISIS、EIGRP、BGP等協議均支持ECMP算法。
當設備支持ECMP時,從不同源ip請求到同一目的ip存在多條路徑時可以通過不同路徑進行負載均衡,實現增加帶寬和多鏈路動態備份效果。
與傳統路由技術比較
如果是傳統的路由技術,發往該目的ip的數據包只能利用其中的一條鏈路,其它鏈路處于備份狀態或無效狀態,并且在動態路由環境下相互的切換需要一定的時間。而ECMP協議可以在該網絡環境下同時使用多條鏈路,不僅增加了傳輸帶寬,并且可以無時延無丟包地備份失效鏈路的數據傳輸。
ECMP多路徑選擇策略
哈希,例如根據源IP地址的哈希為流選擇路徑。
輪詢,各個流在多條路徑之間輪詢傳輸。
基于路徑權重,根據路徑的權重分配流,權重大的路徑分配的流數量更多。
應用場景
CDN業務中,一般都用LVS做四層負載均衡,傳統LVS是一主一備,即同一時刻只有單臺LVS在服務,性能減半,另外主備切換也需要時間。
最新應用是在交換機和LVS之間啟用OSPF互聯,同時開啟ECMP功能,實現交換機到多臺LVS之間多路徑轉發,一方面實現多臺LVS負載均衡,同時實現網絡層面互備,提供服務性能和穩定性