主頁 / 什麼是鏈路聚合?
什麼是鏈路聚合?
鏈路聚合(Link Aggregation)是把兩條或以上實體網絡鏈路捆綁成一條邏輯鏈路的技術,目的是同時提升可用頻寬並增加連接冗餘。本頁講解鏈路聚合的整體概念、靜態聚合與動態聚合的分別、負載分擔如何以雜湊演算法分配流量,以及在商業樓宇監控與網絡工程中的實際應用場景。
鏈路聚合解決什麼問題
單一條網絡鏈路存在兩個先天限制:其一是頻寬受該條鏈路本身速率所限,例如一條1G線路無論交換機效能多高,理論上限都是1Gbps;其二是單點故障,一旦這條線路或所接的端口出現問題,連接便會中斷。鏈路聚合正是同時解決這兩個問題的做法——把多條實體鏈路合併,讓兩端設備視作單一條邏輯鏈路運作,既疊加可用頻寬,亦令其中一條鏈路故障時其餘鏈路可繼續承載流量 ,不至於整段連接中斷。
這項技術的正式標準由IEEE制定,早期稱為802.3ad,現行版本已整合至802.1AX標準之下,涵蓋交換機之間、交換機與伺服器之間,以至核心設備之間的鏈路聚合。業界亦常以Etherchannel、Port Trunking、Bonding等名稱指稱同一概念,視乎廠商與作業系統的用語習慣而有所不同,但基本原理一致。
靜態聚合與動態聚合
實現鏈路聚合大致有兩種方式,分別是靜態聚合與動態聚合,兩者在可靠性與管理方式上有明顯分別:
項目 靜態聚合 動態聚合(LACP)
設定方式 兩端人手指定端口群組,無需協商 兩端啟用協定,自動協商並建立聚合
故障偵測 依賴端口實體連結狀態,未必能偵測邏輯層異常 持續交換控制訊息,可主動偵測對方狀態異常
誤設風險 兩端設定不一致時有機會造成環路或流量異常 協商機制可及早發現不一致設定並拒絕加入聚合
適用場景 兩端設備不支援動態協定,或臨時應急連接 企業核心網絡、伺服器多網卡連接的建議做法
動態聚合最常見的實現方式是LACP協定,屬於IEEE 802.1AX標準的一部分,關於其具體運作細節與協商流程,可參閱本站另一篇LACP鏈路聚合是什麼 的專文說明。本頁着重整體概念、選型考量與工程場景,兩篇文章可互相配合閱讀。
負載分擔如何分配流量
鏈路聚合把多條實體鏈路合併為一條邏輯鏈路後,理論總頻寬雖是各條鏈路之和,但實際流量分配並非平均攤分,而是依靠負載分擔(Load Balancing)演算法決定。常見做法是把封包標頭內的欄位——例如來源與目的地MAC地址、來源與目的地IP地址、或傳輸層埠號——輸入雜湊(Hash)函數計算出一個數值,再依該數值把封包固定分配到聚合群組內某一條實體鏈路傳輸。
同一資料流固定走同一條鏈路 ——這樣做可避免同一連線的封包因分散到不同鏈路而出現先後次序錯亂,但也代表單一資料流的頻寬上限仍受制於單條實體鏈路的速率,而非整個聚合群組的總頻寬。
雜湊基礎影響分佈是否平均 ——若只以來源與目的地MAC地址計算,在點對點連接(例如兩台核心交換機之間)情況下雙方地址固定不變,雜湊結果容易集中於少數幾條鏈路;改以IP地址或埠號等變化較多的欄位作基礎,在多資料流環境下分佈通常較為平均。
總頻寬不等於單一連線可用頻寬 ——例如兩條1G鏈路聚合成理論2G頻寬,若只有一台終端持續傳輸單一資料流,該連線實際仍只能使用其中一條鏈路的頻寬,需要多個資料流同時傳輸才能體現聚合後的總頻寬優勢。
參考資料
Wikipedia, Link aggregation, https://en.wikipedia.org/wiki/Link_aggregation IEEE 802.1AX-2020, IEEE Standard for Local and Metropolitan Area Networks — Link Aggregation, IEEE Standards Association