端口匯聚技術
本文介紹了端口匯聚工作原理與相關細節。
LACP: 鏈路匯聚控制協議
LACPDU:鏈路匯聚控制協議數據單元
STP:生成樹協議
PVID:端口的虛擬局域網身份標識號
關鍵詞:
端口匯聚,端口聚合,LACP,LACPDU
1.概述
1.1 產生背景
傳統的傳輸鏈路存在如下缺點:
①帶寬瓶頸
②單鏈路沒有冗余備份
因此,為解決以上問題端口匯聚技術應運而生
1.2 技術優點
①提高鏈路可用性
端口匯聚中,成員互相動態備份。當某一鏈路中斷時,其它成員能夠迅速接替其工作。與生成樹協議不同,匯聚組啟用備份的過程對匯聚組之外是不可見的,而且啟用備份過程只在匯聚鏈路內,與其它鏈路無關,切換可在數毫秒內完成。
②增加鏈路容量
匯聚技術的另一個明顯的優點是為用戶提供一種經濟的提高鏈路傳輸率的方法。通過捆綁多條物理鏈路,用戶不必升級現有設備就能獲得更大帶寬的數據鏈路,其容量等于各物理鏈路容量之和。匯聚組按照選路算法將業務流量分配給不同的成員,實現鏈路級的負載分擔功能。
③設置靈活
Trunking(匯聚)可以捆綁任何相關的端口,也可以隨時取消設置,這樣提供了很高的靈活性。
④負載均衡與系統容錯
由于Trunking 實時平衡各個交換機端口和服務器接口的流量,一旦某個端口出現故障,它會自動把故障端口從Trunking 組中撤消,進而重新分配各個Trunking 端口的流量,從而實現系統容錯。
⑤特定帶寬需求
特定組網環境下需要限制傳輸線路的容量,既不能太低影響傳輸速度,也不能太高超過網絡的處理能力。但現有技術都只支持鏈路帶寬以10 為數量級增長,如10M、100M、1000M 等。
而通過聚合將n 條物理鏈路捆綁起來,就能得到更適宜的n 倍帶寬的鏈路。
2.端口匯聚介紹
2.1 概念
端口匯聚是指將交換機之間或者交換機與其它設備之間的多條線路合并成一條線路。既增加帶寬,也增加了可靠性。
端口匯聚是交換機上支持的一種技術,它把兩個交換機之間兩條以上同時相連的鏈路虛擬成為一條鏈路來傳輸信息。端口匯聚技術亦稱主干技術(Trunking)或捆綁技術(Bonding),其實質是將兩臺設備間的數條物理鏈路“組合”成邏輯上的一條數據通路,稱為一條匯聚鏈路,如下圖示意。
交換機之間物理鏈路Link 1、Link2 和Link3 組成一條匯聚鏈路。該鏈路在邏輯上是一個整體,內部的組成和傳輸數據的細節對上層服務是透明的。
如果Link1 和Link2 先后故障,它們的數據任務會迅速轉移到Link3 上,因而兩臺交換機間的連接不會中斷,如下圖:
2.2 端口匯聚方式
①手工匯聚
用戶配置匯聚組號和端口成員,端口不運行LACP
②靜態匯聚
用戶配置匯聚組號和端口成員,端口運行LACP
③動態匯聚
基于IEEE802.3ad 的LACP,匯聚組號根據協議自動創建,匯聚組端口根據key 值自動匹配添加。
2.3 鏈路匯聚控制協議
基于IEEE802.3ad 標準的LACP是一種實現鏈路動態匯聚的協議。LACP 協議通過LACPDU與對端交互信息。
啟用某端口的LACP 協議后,該端口將通過發送LACPDU 向對端通告自己的系統優先級、系統MAC 地址、端口優先級、端口號和操作Key。對端接收到這些信息后,將這些信息與其它端口所保存的信息比較以選擇能夠匯聚的端口,從而雙方可以對端口加入或退出某個動態匯聚組達成一致。
操作Key 是在端口匯聚時,LACP 協議根據端口的配置(即速率、雙工、基本配置、管理Key)生成的一個配置組合。動態匯聚端口在啟用LACP 協議后,其管理Key 缺省為零。靜態匯聚端口在啟用LACP 后,端口的管理Key 與匯聚組ID 相同。對于動態匯聚組而言,同組成員一定有相同的操作Key,而手工和靜態匯聚組中,處于Active 的端口具有相同的操作Key。
圖1 LACP 的報文結構圖
LACP 協議報文介紹:
①以太網上廣播報文,目的地址 0x0180-c200-0002
②報文長度128 字節
③報文不攜帶VLAN 的tag 標志
④協議類型值 0x8809,子類型值為0x01(LACP),當前版本為0x01
⑤Actor 信息域中攜帶本系統和端口信息如系統ID,端口優先級,Key 等。
⑥Partner 域中包含本系統中目前保存的對端系統信息
⑦其它為保留域
2.4 匯聚組端口狀態
在匯聚組中,端口可能處于兩種狀態:selected 和standby(待命)。其中,只有selected狀態的端口能夠收發用戶業務報文,而standby 狀態的端口不能收發用戶業務報文。在一個匯聚組中,處于selected 狀態的端口中的最小端口是匯聚組的主端口,其他的作為成員端口(也稱為從端口)。
系統按照以下原則設置端口處于selected 或者standby 狀態:
①系統按照端口全雙工/高速率、全雙工/低速率、半雙工/高速率、半雙工/低速率的優先次序,選擇優先次序最高的端口處于selected 狀態,其他端口則處于standby 狀態;
②端口因存在硬件限制無法聚合在一起,而無法與匯聚組的主端口聚合的端口將處于standby狀態;
③與匯聚組主端口的基本配置不同的端口將處于standby 狀態;
④由于設備所能支持的匯聚組中的最大端口數有限制,如果處于selected 狀態的端口數超過設備所能支持的匯聚組中的最大端口數,系統將按照端口號從小到大的順序選擇一些端口為selected 端口,其他則為standby 端口。
2.5 匯聚負載分擔類型
匯聚組按負載分擔類型分為兩種:負載分擔聚合和非負載分擔聚合。對于IP 報文負載分擔是按照目的IP 和源IP 的;對于非IP 報文,負載分擔是根據源MAC 和目的MAC 的。對于是否使用IP 還是MAC,檢查協議類型來區別,以太網字段Ethertype 為0800 的報文是IP 報文。
2.6 端口匯聚限制條件
A.聚合鏈路兩端的物理參數必須保持一致
(1)進行聚合的鏈路的數目
(2)進行聚合的鏈路的速率
(3)進行聚合的鏈路為全雙工方式
B.聚合鏈路兩端的邏輯參數必須保持一致
(1)端口的VLAN 設置應該一致;
(2)端口的PVID 一致;
(3)端口應用的QoS 策略應相同;
(4)端口未加入其它Trunking 組;
(5)端口未綁定MAC 地址;
(6)端口未綁定IP 地址;
(7)端口未設置MAC 地址最大學習數;
(8)端口未設置靜態MAC 地址;
(9)端口未被禁用;
(10)端口未使能STP;
(11)端口不能有mirror(鏡像)設置;
(12)同一Trunk 組中的端口Uplink 狀態應該一致;
2.7 端口匯聚與端口聚合的異同點
A.相同點
①都是主要用于交換機之間的連接
②都是把一組物理端口聯合起來,做為一個邏輯的通道;
③路徑冗余
B.不同點
①匯聚端口不能使能STP,而端口聚合后的端口需要開啟STP 環網算法;
②端口匯聚—與生成樹協議不同,當某一鏈路中斷時,匯聚組啟用備份過程只在匯聚鏈路內,與其它鏈路無關,切換可在數毫秒內完成;端口聚合—兩個交換機之間有多條冗余鏈路的時候,STP 會將其中的幾條鏈路關閉,只保留一條,當鏈路中斷時,STP 的鏈路切換會很慢,在50s左右;
③端口匯聚與端口聚合相比,交換機可以不需要手工配置來了解哪些端口屬于同一個聚合,支持IEEE 802.3ad 標準(即支持端口匯聚)的交換機,LACP 會自動創建鏈路匯聚。
3.參考文獻
IEEE802.3ad
IEEE802.3
RFC1058
RFC1723
RFC2453_