當前主流的負載均衡技術主要包括三種類型:逐流的ECMP負載均衡、逐包負載均衡以及基于子流(Flowlet)的負載均衡。本文將從技術原理、優缺點及適用場景等方面對這三種技術進行系統對比與分析。
基于ECMP的逐流負載均衡
ECMP(Equal-Cost Multi-Path)采用逐流負載分擔機制,其核心原理是基于數據包的特征信息(如IP五元組)進行哈希計算,依據哈希值選擇轉發路徑。
該機制具備以下特點:
不同特征的數據流因哈希值不同而被分發至不同鏈路,實現全網負載均衡;
相同特征的數據流始終沿同一路徑轉發,保障報文順序性。
然而,隨著云計算與智算業務的發展,逐流負載均衡的局限性日益顯著:
難以應對流大小不均的問題,大小流混合時負載均衡精度有限,帶寬利用率下降;
屬于靜態負載均衡機制,無法實時感知鏈路負載。若出現大象流,仍按既定算法選路,易加劇擁塞與丟包;
在智算集合通信場景下,尤其在Clos網絡的Leaf上行鏈路中,易出現哈希極化,引發網絡擁塞。
注:可通過靜態方式與自動化配置工具緩解該問題,詳見:主動規劃+自動化配置工具,簡單應對AI智算網絡ECMP負載不均。
逐包負載均衡技術
逐包負載均衡將數據包均勻分發至各鏈路,常被稱為“Packet Spray”。其主要算法包括 Random(隨機分發數據包)和Round Robin(按序輪詢分發,理論上均衡效果最佳)。
然而,由于實際網絡中鏈路負載與延遲存在差異,逐包負載均衡無法保證報文按序到達,其性能高度依賴終端設備的緩存能力與亂序重組能力。
基于子流(Flowlet)的自適應負載均衡

基于子流的負載均衡不僅實現對數據流的精細劃分與均衡分發,還能保持報文的時序性。RoCE交換機所支持的ARS(Adaptive Routing and Switching)技術即為典型代表,其利用ASIC硬件提供的ALB(Auto-Load-Balancing)能力,實時感知鏈路狀態并動態調整路由,從而改善擁塞、提升帶寬利用率。
為深入理解該機制,下文將從三個關鍵問題展開說明:
如何實現大流分割?
動態選路機制與鏈路測量指標是什么?
何時觸發路徑的主動分配與重分配?
術語解釋
微觀流(Micro Flow):五元組相同的一組數據包;
宏觀流(Macro Flow):哈希值相同的微觀流集合;
空閑時間(Idle Time):宏觀流中無流量的時間間隔(可配置);
子流(Flowlet):宏觀流中被空閑時間分割的連續數據包序列。
基于Flowlet的路徑分配概念圖流分割:從Flow到Flowlet
Flowlet是ARS進行負載均衡的基本單位。如下圖所示,擁有相同五元組的微觀流經哈希計算后歸屬同一宏觀流。若宏觀流中相鄰微觀流的時間間隔超過所配置的Idle Time,則觸發流分割,形成不同的Flowlet。從業務層面來看,傳統意義上的“大象流”會被打散,而小流則有可能合并到一個 Flowlet 里傳輸。

注:Idle Time的配置與全局路徑時延密切相關,通常建議不小于1/2 RTT。配置過小可能導致Flowlet過細引發亂序;過大則無法有效分割宏觀流,引發擁塞。
動態選路與鏈路測量機制

ASIC維護宏觀流表(Macro Flow Table),記錄各宏觀流及其對應出接口(或ECMP成員鏈路)。通過實時測量端口負載與延遲,ARS以Flowlet為粒度將流量路由至更優路徑。
至于我們如何得知當前哪條鏈路更優呢?這里就涉及到鏈路質量指標的測量問題。

鏈路質量評估涉及以下指標
端口帶寬:控制平面對端口線速進行歸一化(以10G為基準),并下發至ASIC;
端口利用率:ASIC采樣實時流量速率,與線速比較得出利用率及平均負載;
轉發時延:通過端口隊列深度反映鏈路延遲,ASIC采樣后計算歷史負載情況。
ECMP組實時更新各出接口的鏈路質量,并在路徑分配時依據最新結果擇優轉發。
路徑主動分配時機
路徑主動分配發生于流分割過程末尾。例如,當Flowlet 1的最后一條微觀流(Micro Flow 2)經路徑D轉發,且間隔時間T(T > Idle Time)后出現新微觀流(Micro Flow 3),ASIC判定Flowlet 1結束,路徑D映射失效。Micro Flow 3屬于新子流且處于非活躍狀態,此時觸發主動路徑分配。
典型應用場景舉例

以32臺8卡GPU服務器(共256個400G網卡)規模為例,AIDC承載網采用兩層Clos架構,Spine與Leaf設備均采用CX864E-N交換機,下行與上行端口按 1:1 收斂比設計,確保高吞吐與高帶寬,避免帶寬不對稱帶來的性能問題。
在傳統負載均衡機制下,Server1 的 GPU1 與 Server17 的 GPU1 通信時,流量可能集中至某一 Spine 設備,導致Leaf1上行端口擁塞。而啟用ARS技術后,Leaf1與Spine設備的ASIC可依據實時延遲與負載動態調整出接口。
假設 Leaf1 通往 Spine8 的鏈路上發生擁塞,則 Leaf1 的 ASIC 會將更少的 Flowlet 路由到 Spine8 或跳過 Spine8,直至該鏈路上的擁塞情況緩解后,才會恢復選中該鏈路進行流量轉發。
同樣以 Spine1 為例,其 ASIC 也能將更少的 Flowlet 路由到 Leaf32 的鏈路上而更多地選取其他質量更好的鏈路。由此,Leaf 與 Spine 設備均能完成自治,從而達到降低整網鏈路擁塞情況并提高帶寬利用率。
參考文檔
[1] OCPSummit2022- Adaptive Routing in AI/ML Workloads https://www.youtube.com/watch?v=cgYOpp4xwQ8
[2] https://infohub.delltechnologies.com/zh-cn/l/dell-enterprise-sonic-quality-of-service-qos/adaptive-routing-and-switching/
[3]https://asterfusion.com/a20250528-flowlet-alb/
-
交換機
+關注
關注
23文章
2904瀏覽量
104462 -
負載均衡
+關注
關注
0文章
133瀏覽量
12874
發布評論請先 登錄
電力貓和傳統路由器哪種更適合于家庭辦公組網呢?
DSP逐波限流(CBC)方案
解密負載均衡技術和負載均衡算法
如何在OpenHarmony上實現逐幀動畫?
逐流、逐包、Flowlet:哪種負載均衡技術更適合未來網絡?
評論