馬素剛
(西安郵電大學 計算機學院,西安 710121)
隨著互聯網服務領域的不斷拓展,視頻點播、網絡電話等對網絡帶寬提出了更高的要求,原有網絡的帶寬可能無法滿足各種服務進一步發展的需要。對網絡設備進行升級是解決網絡帶寬瓶頸最直接的方法,但需要增加更多的成本。在必須更換設備前,鏈路聚合技術可以作為一種過渡性的解決方法。鏈路聚合技術[1]是將多條物理鏈路聚合成一條邏輯鏈路使用,網絡數據流量由邏輯鏈路中的所有物理鏈路共同承擔。EtherChannel(以太通道)是Cisco公司開發的一種鏈路聚合技術,它把多個物理端口進行綁定,形成一個邏輯端口。聚合以后形成的單條鏈路帶寬是所有物理鏈路的帶寬總和。這一技術充分利用了現有的端口來增加可用帶寬。
目前,有兩種用于協商以太通道的協議,即PAgP(Port Aggregation Protocol,端口匯聚協議)和LACP(Link Aggregation Control Protocol,鏈路匯聚控制協議)。PAgP是Cisco的專有協議,而LACP是基于業界標準802.3ad的協議。
PAgP協議可以運行于Cisco設備或其他授權廠商的設備之上,通過在端口上交換分組來自動創建以太通道。PAgP通過檢查鏈路兩側端口參數,動態地將參數一致的端口組合為一個邏輯鏈路,并且幫助通道適應鏈路失效或增加[2]。PAgP能夠防止由于通道配置不當所致的STP環路或數據包丟失。PAgP協議有4種工作模式,即開啟(On)、關閉(Off)、自動(Auto)和企望(Desirable)。
1)On:端口總是被捆綁成一個以太通道,這些端口對PAgP數據包不進行處理,因此并沒有發生協商。這種模式要求鏈路兩側以太通道都工作于On模式。
2)Off:這種模式下禁止端口形成以太通道。
3)Auto:端口進入被動協商狀態,不會主動發起協商。如果端口接收到PAgP數據包,將開始協商形成以太通道。Auto是默認的工作模式。
4)Desirable:端口主動發送PAgP數據包,與對方協商形成以太通道。配置PAgP協議時,推薦使用Desirable工作模式。
PAgP各種工作模式的協商規律如表1所示,表中“√”表示能夠協商成功,“×”表示協商不成功。

表1 PAgP協商規律
LACP協議是各廠家均支持的標準協議[3],其功能與PAgP類似。LACP協議也具有4種協商模式,即開啟(On)、關閉(Off)、被動(Passive)和主動(Active)。
1)On:強制端口形成以太通道,并且不使用LACP。On模式下,如果希望以太通道協商成功,鏈路兩側必須同時處于On模式。
2)O ff:工作于該模式下的端口將被禁止加入以太通道。
3)Passive:類似PAgP協議的Auto模式,這種模式的端口不會主動發起EtherChannel協商。如果端口接收到LACP數據包,將會協商形成以太通道。這種模式是LACP的默認工作模式。
4)Active:類似PAgP的Desirable模式,這種模式的端口主動發送LACP數據包協商形成以太通道。配置LACP協議時,推薦使用這種模式。
LACP的協商規律如表2所示,表中“√”表示能夠協商成功,“×”表示協商不成功。

表2 LACP協商規律
EtherChannel在提供高帶寬的同時,還具有冗余容錯和負載均衡能力。
當匯聚鏈路中的一條或多條鏈路發生故障失效后,EtherChannel會自動將數據流量重新分配到剩余的鏈路中,繼續進行數據流量的轉發。這種自動恢復所需要的時間非常短,對于網絡應用和最終用戶都是透明的,不會造成明顯的連接損失[4]。
以太通道技術支持跨越多個端口的流量負載均衡。當數據包被轉發時,管理員可以根據網絡的實際情況使用不同的負載均衡方法來實現數據包從不同的端口轉發。
在以太通道中,各條鏈路可以根據源IP地址、目標IP地址、源MAC地址和目標MAC地址等多種方式進行負載均衡。使用這種方式可以保證通道中的所有鏈路都被利用,但不保證所有端口的利用率相同。實現負載均衡的方法是,以數據包中的地址為參數,采用某種散列(Hash)算法,把算法執行的結果與某條鏈路關聯。
在交換機之間通過EtherChannel捆綁了多條鏈路后,默認執行基于源MAC的負載均衡[5]。當數據包轉發到以太通道上時,會根據進入數據包的源MAC地址,在通道內的多個端口之間進行分配。因此,來自不同主機的包使用通道內的不同端口,而來自相同主機的包則使用通道內的同一端口,以此來實現負載均衡。管理員只能改變EtherChannel負載均衡方式,但無法改變每條物理鏈路上的流量比例。
使用Catalyst 3550交換機2臺(S1、S2)、PC機4臺(PC1、PC2、PC3、PC4)搭建如圖1所示網絡。正確配置PC機的網絡參數,確保4臺PC處于同一個局域網中。在交換機S1、S2之間,四個端口(f0/1-4)分別用交叉線直接互連,配置以太通道。PC1、PC2位于VLAN 2中,PC3、PC4位于VLAN3中。

圖1 網絡連接拓撲圖





正確連接網絡后,如果沒有配置EtherChannel,STP[7](Spanning Tree Protocol,生成樹協議)使得交換機S1、S2之間只能有一條鏈路工作。此時用ping命令測試可以看出,4臺計算機之間可以相互通信。
配置EtherChannel后,位于交換機S1、S2之間的4條鏈路可以同時工作,4臺計算機之間也可以相互通信。用命令“show interfaces port-channel 1”能夠查看匯聚生成的邏輯端口的信息(例如:帶寬);用命令“show spanning-tree”可以看出,STP已經把4條物理鏈路當作一條邏輯鏈路來處理。斷開以太通道中的某些物理連接后,用ping命令測試的結果顯示,只要通道中還有物理鏈路存在,就不會影響PC機之間的連通性。
配置VLAN[8](Virtual Local Area Network,虛擬局域網)時,將捆綁后的以太通道看作了一條帶寬更高的鏈路使用,這里把該鏈路配置為trunk鏈路。此時,位于VLAN2的PC1、PC2可以通信,位于VLAN 3的PC3、PC4可以通信。但是,位于不同VLAN的PC機之間不可相互通信,即PC1(或PC2)與PC3 (或PC4)之間不能通信。
以上測試過程說明,EtherChannel技術能夠充分利用已有端口提高鏈路帶寬,同時能夠實現鏈路的冗余容錯和負載均衡。搭建的網絡拓撲及配置過程比較簡單,但是對于EtherChannel技術在網絡骨干部分的部署具有一定的現實指導意義。
[1] 羅紅艷.鏈路聚合技術在PTN網絡中的應用探索.科技經濟市場[J],2011,(9):3-5.
[2] Richard Froom,Balaji Sivasubramanian,Erum Frahim,著.劉大偉,袁國忠,譯.CCNP自學指南:組建Cisco多層交換網絡(BCMSN)(第2版)[M].北京:人民郵電出版社,2004.
[3] 鄭濤,郭裕順.基于LACP協議的鏈路聚合狀態機模塊的實現.計算機系統應用[J],2010,19(5):104-108.
[4] 李曉忠.利用以太網通道技術實現線路熱備.計算機時代[J],2011,(3):18-19.
[5] 姜丹丹.路由與交換技術實戰入門與提高[M].北京:科學出版社,2012.
[6] 吳建勝.路由交換技術[M].北京:清華大學出版社,2010.
[7] 劉杰,武貴路,周濤,黃術東,凃樸.支持流量檢測的EPA網橋STP協議研究與實現.制造業自動化[J],2011,33(4):51-53.
[8] Andrew S. Tanenbaum,David J. Wetherall,著.嚴偉,潘愛民,譯.計算機網絡(第5版)[M].北京:清華大學出版社,2012.