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