Linux Bonding/Trunk 端口聚合介紹
基本介紹
端口聚合為 ISO OSI Layer 2 技術
Linux Kernel Version 2 後,提供 Bonding 模組讓多張網卡結合成一張結合的網卡功能
端口聚合,是頻寬擴展和鏈路備份的一個重要途徑。Trunk 把多個物理端口捆綁在一起當作一個邏輯端口使用
Linux Bonding 模式
Linux Bonding 可支援 7 種模式,當然每個模式支援的功能不盡相同
基本 bonding 能力
- 負載平衡能力- 將網路流量配分到多個子網卡中,避免網路過量負載影響效能
 
- 容錯能力- 當有多張網卡,其中有網卡無法正常工作,也不影響整體網路的運作
 
各種 Linux Bonding 可用模式
| 模式 | 名稱 | 特性 | 
|---|---|---|
| 0 | balance-rr | 1. 負載平衡模式,round robin 方式由第一個子網卡到最後一個輪巡傳送網路封包 2. 容錯功能 | 
| 1 | active-backup | 1. 同一時間只會有一張網卡工作 2. 啟動中的子網卡失效會自動啟動下一順位的網卡 3. 不需要交換器支援 | 
| 2 | balance-xor | 支援負載平衡與容錯,對每張子網卡使用相同的傳送流量 | 
| 3 | broadcast | 1. 所有子網卡都會應廣播收到網路封包 2. 容錯能力 | 
| 4 | 802.3ad | 1. 802.3ad 是正式 Switch 的連線聚合技術,需要交換器支援 802.3ad,驅動需支援 ethtool | 
| 5 | balance-tlb | 1. 只有輸出流量使用繫結且有負載平衡 2. 輸入流量由目前啟動的子網卡負責 3. 容錯能力 4. 無須交換器與驅動支援及設定 | 
| 6 | balance-alb | 1. 輸出/入流量都有自動負載平衡功能 2. 容錯能力 3. 子網卡驅動需支援變更網卡卡號功能與支援 ethtool 3. 無須交換器支援與設定 | 
參考資料
- [何謂 Trunking ?](https://chaomengyang.wordpress.com/2007/10/28/%E4%BD%95%E8%AC%82-trunking/
- Linux 網路結合(networking bonding)技術與實務
- PVE 主机系统 Bond 网络配置示例
 
      