EtherChannel的技術(shù)相對比較簡單,卻起著線路備援以及提高線路帶寬的作用,在預(yù)算有限的情況下不妨善用這個功能。
以最簡單的網(wǎng)絡(luò)圖為例來講解一下什么是EtherChannel以 及EtherChannel有什么作用。如圖1所示,假設(shè)有兩個交換機,交換機之間用100MB的快速以太網(wǎng)線路連結(jié),這樣的網(wǎng)絡(luò)存在什么問題?以及可以如何優(yōu)化呢?
第一,圖中的網(wǎng)絡(luò)會形成循環(huán),而交換機預(yù)設(shè)會啟動生成樹功能(STP),交換機之間通過互相發(fā)送BPDU的STP封包來協(xié)商哪些端口幫忙傳送封包(forwarding),哪些端口被邏輯上封鎖起來(blocking),以避免網(wǎng)絡(luò)中因出現(xiàn)循環(huán)而造成廣播風暴。圖中兩個交換機經(jīng)過溝通,最后把switch1的fa0/2端口封鎖起來,也意味著,雖然兩個交換機之間有兩條線路,但由于下面的那條線路被邏輯上封鎖起來,所以真正用來傳送數(shù)據(jù)的線路只有上面的那一條,而下面的那條線路完全充當備援的角色,正常情況下不會用來傳送封包,除非上面那一條出現(xiàn)故障,這樣的網(wǎng)絡(luò)運作除了浪費資源之外,也無法做到流量負載平均,沒法充分利用網(wǎng)絡(luò)中的資源。
第二,交換機之間線路為快速以太網(wǎng),傳輸量只有100MB,即使為千兆以太網(wǎng),傳輸量也只有1GB,在網(wǎng)絡(luò)服務(wù)需求越來越大的今天未必符合大家的期望,故此,要提高網(wǎng)絡(luò)的服務(wù)質(zhì)量,往往需要更換更快速的線路或者更換性能更佳的交換機,不管選擇哪一種方式,都需要投入一定的成本和資源,在資金有限的情況下未必是最佳的方案。
圖1 兩個交換機網(wǎng)絡(luò)圖
圖2 PAgP和LACP的各種協(xié)商情況圖表
圖3 指令及指令說明圖
EtherChannel簡單來說就是將交換機與交換機之間的線路捆綁起來,還是以圖一為例,我們可以將兩條100MB的線路捆綁起來,累加線路的帶寬,當然,EtherChannel不局限于兩條線路的捆綁,我們可以把三條、四條甚至更多的線路捆綁在一起,但注意上限為八條,使用EtherChannel將線路捆綁的好處除了可以累加帶寬外,由于捆綁后的線路在邏輯上會被視為一條,所以不存在上面提到的網(wǎng)絡(luò)循環(huán)問題,也就不會有線路被邏輯上封鎖起來,因此所有的線路都會被充分利用,EtherChannel在成本有限但又需要提高網(wǎng)絡(luò)質(zhì)素的情況下可以作為考慮方案。
接下來講解如何實現(xiàn)將兩條或多條的線路捆綁起來,EtherChannel有兩種協(xié)商的方式,一種是思科開發(fā)的PAgP,另一種是 IEEE的 LACP,兩 種協(xié)議都有各自的協(xié)商參數(shù),交換機就是靠這種協(xié)商參數(shù)來協(xié)商,然后把線路捆綁在一起。PAgP的協(xié)商參數(shù)是on(手動模式)、auto(被動模式)、desirable(主動模式),LACP的協(xié)商參數(shù)是on(手動模式)、passive(被動模式)、active(主動模式),需要注意的是,要協(xié)商EtherChannel的交換機一定要使用相同的協(xié)議,如果一邊用PAgP,另一邊用LACP的話EtherChannel的協(xié)商會失敗,但即使兩邊用同一種協(xié)議也要看兩邊所用的參數(shù)才能判斷建立成功與否,圖2的兩個表歸納了PAgP和LACP的各種協(xié)商情況。
在掌握這些概念后,以PAgP協(xié)議為例,可以使用圖3的指令在兩個交換機之間快速而簡單地建立起EtherChannel線路。
建 立EtherChannel的方法比較簡單,以上表為例,如果想把兩條線路捆綁在一起,只需要通過channel-group加組號(自定義,筆者的例子中用了組號1)把線路相對應(yīng)的端口捆綁在同一組,再加上協(xié)商參數(shù)就可以了。
同樣在switch2上作相同的設(shè)定則EtherChannel建立成功,成功建立EtherChannel之后,兩條線路就會被捆綁在一起,因此交換機之間的線路不再是獨立的兩條,而是會形成邏輯上的一條叫port-channel 1的線路,在switch1或者switch2上使用指令show ip int brief可以查看得到除了交換機的物理端口外,還可以看到一個叫做port-channel 1 的邏輯端口,這個端口就是剛才我們通過channel-group指令捆綁在一起后所形成的(見圖 4)。
圖4 port-channel 1 的邏輯端口圖
圖5 EtherChannel的信息圖
圖6 六種流量負載平衡的方案圖
另 外, 通 過show etherchannel summary可以查到更多關(guān)于EtherChannel的信息,如圖5所示。
圖5的信息解讀如下:
(1) channel-group是1;
(2) port-channel 為Po1是指port-channel 1的意思;
(3) 使 用 的Ether Channel協(xié) 議 是 PAgP(請留意,這里用的是PAgP來協(xié)商,讀者也可以嘗試用LACP的參數(shù)建立EtherChannel);
(4)channel-group里有2個端口,分別是fa0/1和 fa0/2。
如此,交換機的EtherChannel成功建立,使用的協(xié)商是PAgP。
EtherChannel具有流量負載平衡的特點,2條線路被捆綁后雖然邏輯上會被視為一條線路,但在幫忙轉(zhuǎn)送流量時依然是2條獨立的子線路,因此我們可以做到流量負載平衡的功能,也就是有的流量走上面那條子線路,有的流量走下面的子線路,但問題是流量是基于什么考慮因素而決定是走上面那條子線路還是下面那條子線路呢?
EtherChannel提供了多種流量負載平衡的方案供選擇,可以看圖6,一共有六種不同的選擇,預(yù)設(shè)是srcmac,也就是根據(jù)來源設(shè)備的mac地址把不同設(shè)備的流量分散在不同的EtherChannel線路中,網(wǎng)管人員也可以根據(jù)企業(yè)的實際環(huán)境選擇最好的EtherChannel流量負載平衡方案。