馬素剛
(西安郵電大學 計算機學院,西安 710121)
隨著互聯(lián)網(wǎng)服務領域的不斷拓展,視頻點播、網(wǎng)絡電話等對網(wǎng)絡帶寬提出了更高的要求,原有網(wǎng)絡的帶寬可能無法滿足各種服務進一步發(fā)展的需要。對網(wǎng)絡設備進行升級是解決網(wǎng)絡帶寬瓶頸最直接的方法,但需要增加更多的成本。在必須更換設備前,鏈路聚合技術可以作為一種過渡性的解決方法。鏈路聚合技術[1]是將多條物理鏈路聚合成一條邏輯鏈路使用,網(wǎng)絡數(shù)據(jù)流量由邏輯鏈路中的所有物理鏈路共同承擔。EtherChannel(以太通道)是Cisco公司開發(fā)的一種鏈路聚合技術,它把多個物理端口進行綁定,形成一個邏輯端口。聚合以后形成的單條鏈路帶寬是所有物理鏈路的帶寬總和。這一技術充分利用了現(xiàn)有的端口來增加可用帶寬。
目前,有兩種用于協(xié)商以太通道的協(xié)議,即PAgP(Port Aggregation Protocol,端口匯聚協(xié)議)和LACP(Link Aggregation Control Protocol,鏈路匯聚控制協(xié)議)。PAgP是Cisco的專有協(xié)議,而LACP是基于業(yè)界標準802.3ad的協(xié)議。
PAgP協(xié)議可以運行于Cisco設備或其他授權廠商的設備之上,通過在端口上交換分組來自動創(chuàng)建以太通道。PAgP通過檢查鏈路兩側端口參數(shù),動態(tài)地將參數(shù)一致的端口組合為一個邏輯鏈路,并且?guī)椭ǖ肋m應鏈路失效或增加[2]。PAgP能夠防止由于通道配置不當所致的STP環(huán)路或數(shù)據(jù)包丟失。PAgP協(xié)議有4種工作模式,即開啟(On)、關閉(Off)、自動(Auto)和企望(Desirable)。
1)On:端口總是被捆綁成一個以太通道,這些端口對PAgP數(shù)據(jù)包不進行處理,因此并沒有發(fā)生協(xié)商。這種模式要求鏈路兩側以太通道都工作于On模式。
2)Off:這種模式下禁止端口形成以太通道。
3)Auto:端口進入被動協(xié)商狀態(tài),不會主動發(fā)起協(xié)商。如果端口接收到PAgP數(shù)據(jù)包,將開始協(xié)商形成以太通道。Auto是默認的工作模式。
4)Desirable:端口主動發(fā)送PAgP數(shù)據(jù)包,與對方協(xié)商形成以太通道。配置PAgP協(xié)議時,推薦使用Desirable工作模式。
PAgP各種工作模式的協(xié)商規(guī)律如表1所示,表中“√”表示能夠協(xié)商成功,“×”表示協(xié)商不成功。
表1 PAgP協(xié)商規(guī)律
LACP協(xié)議是各廠家均支持的標準協(xié)議[3],其功能與PAgP類似。LACP協(xié)議也具有4種協(xié)商模式,即開啟(On)、關閉(Off)、被動(Passive)和主動(Active)。
1)On:強制端口形成以太通道,并且不使用LACP。On模式下,如果希望以太通道協(xié)商成功,鏈路兩側必須同時處于On模式。
2)O ff:工作于該模式下的端口將被禁止加入以太通道。
3)Passive:類似PAgP協(xié)議的Auto模式,這種模式的端口不會主動發(fā)起EtherChannel協(xié)商。如果端口接收到LACP數(shù)據(jù)包,將會協(xié)商形成以太通道。這種模式是LACP的默認工作模式。
4)Active:類似PAgP的Desirable模式,這種模式的端口主動發(fā)送LACP數(shù)據(jù)包協(xié)商形成以太通道。配置LACP協(xié)議時,推薦使用這種模式。
LACP的協(xié)商規(guī)律如表2所示,表中“√”表示能夠協(xié)商成功,“×”表示協(xié)商不成功。
表2 LACP協(xié)商規(guī)律
EtherChannel在提供高帶寬的同時,還具有冗余容錯和負載均衡能力。
當匯聚鏈路中的一條或多條鏈路發(fā)生故障失效后,EtherChannel會自動將數(shù)據(jù)流量重新分配到剩余的鏈路中,繼續(xù)進行數(shù)據(jù)流量的轉發(fā)。這種自動恢復所需要的時間非常短,對于網(wǎng)絡應用和最終用戶都是透明的,不會造成明顯的連接損失[4]。
以太通道技術支持跨越多個端口的流量負載均衡。當數(shù)據(jù)包被轉發(fā)時,管理員可以根據(jù)網(wǎng)絡的實際情況使用不同的負載均衡方法來實現(xiàn)數(shù)據(jù)包從不同的端口轉發(fā)。
在以太通道中,各條鏈路可以根據(jù)源IP地址、目標IP地址、源MAC地址和目標MAC地址等多種方式進行負載均衡。使用這種方式可以保證通道中的所有鏈路都被利用,但不保證所有端口的利用率相同。實現(xiàn)負載均衡的方法是,以數(shù)據(jù)包中的地址為參數(shù),采用某種散列(Hash)算法,把算法執(zhí)行的結果與某條鏈路關聯(lián)。
在交換機之間通過EtherChannel捆綁了多條鏈路后,默認執(zhí)行基于源MAC的負載均衡[5]。當數(shù)據(jù)包轉發(fā)到以太通道上時,會根據(jù)進入數(shù)據(jù)包的源MAC地址,在通道內的多個端口之間進行分配。因此,來自不同主機的包使用通道內的不同端口,而來自相同主機的包則使用通道內的同一端口,以此來實現(xiàn)負載均衡。管理員只能改變EtherChannel負載均衡方式,但無法改變每條物理鏈路上的流量比例。
使用Catalyst 3550交換機2臺(S1、S2)、PC機4臺(PC1、PC2、PC3、PC4)搭建如圖1所示網(wǎng)絡。正確配置PC機的網(wǎng)絡參數(shù),確保4臺PC處于同一個局域網(wǎng)中。在交換機S1、S2之間,四個端口(f0/1-4)分別用交叉線直接互連,配置以太通道。PC1、PC2位于VLAN 2中,PC3、PC4位于VLAN3中。
圖1 網(wǎng)絡連接拓撲圖
正確連接網(wǎng)絡后,如果沒有配置EtherChannel,STP[7](Spanning Tree Protocol,生成樹協(xié)議)使得交換機S1、S2之間只能有一條鏈路工作。此時用ping命令測試可以看出,4臺計算機之間可以相互通信。
配置EtherChannel后,位于交換機S1、S2之間的4條鏈路可以同時工作,4臺計算機之間也可以相互通信。用命令“show interfaces port-channel 1”能夠查看匯聚生成的邏輯端口的信息(例如:帶寬);用命令“show spanning-tree”可以看出,STP已經(jīng)把4條物理鏈路當作一條邏輯鏈路來處理。斷開以太通道中的某些物理連接后,用ping命令測試的結果顯示,只要通道中還有物理鏈路存在,就不會影響PC機之間的連通性。
配置VLAN[8](Virtual Local Area Network,虛擬局域網(wǎng))時,將捆綁后的以太通道看作了一條帶寬更高的鏈路使用,這里把該鏈路配置為trunk鏈路。此時,位于VLAN2的PC1、PC2可以通信,位于VLAN 3的PC3、PC4可以通信。但是,位于不同VLAN的PC機之間不可相互通信,即PC1(或PC2)與PC3 (或PC4)之間不能通信。
以上測試過程說明,EtherChannel技術能夠充分利用已有端口提高鏈路帶寬,同時能夠實現(xiàn)鏈路的冗余容錯和負載均衡。搭建的網(wǎng)絡拓撲及配置過程比較簡單,但是對于EtherChannel技術在網(wǎng)絡骨干部分的部署具有一定的現(xiàn)實指導意義。
[1] 羅紅艷.鏈路聚合技術在PTN網(wǎng)絡中的應用探索.科技經(jīng)濟市場[J],2011,(9):3-5.
[2] Richard Froom,Balaji Sivasubramanian,Erum Frahim,著.劉大偉,袁國忠,譯.CCNP自學指南:組建Cisco多層交換網(wǎng)絡(BCMSN)(第2版)[M].北京:人民郵電出版社,2004.
[3] 鄭濤,郭裕順.基于LACP協(xié)議的鏈路聚合狀態(tài)機模塊的實現(xiàn).計算機系統(tǒng)應用[J],2010,19(5):104-108.
[4] 李曉忠.利用以太網(wǎng)通道技術實現(xiàn)線路熱備.計算機時代[J],2011,(3):18-19.
[5] 姜丹丹.路由與交換技術實戰(zhàn)入門與提高[M].北京:科學出版社,2012.
[6] 吳建勝.路由交換技術[M].北京:清華大學出版社,2010.
[7] 劉杰,武貴路,周濤,黃術東,凃樸.支持流量檢測的EPA網(wǎng)橋STP協(xié)議研究與實現(xiàn).制造業(yè)自動化[J],2011,33(4):51-53.
[8] Andrew S. Tanenbaum,David J. Wetherall,著.嚴偉,潘愛民,譯.計算機網(wǎng)絡(第5版)[M].北京:清華大學出版社,2012.