EtherChannel Cisco 端口聚合詳解


轉裁於:https://www.cnblogs.com/fatt/p/4401470.html

 

冗余連接及其實現

  無論什么設備都無法保障運行的絕對穩定性,即使再優秀的產品也無法保證24×7不間斷的工作。除去設備或模塊損壞、傳輸線路中斷等硬件故障原因以外,還可能由於網絡流量過載、任務負荷過大而導致核心交換機癱瘓。因此,若欲保障網絡的穩定性,保證重要服務不被中斷,就必須采取必要的應對措施。通常情況下,這種措施就是冗余連接,即在核心交換機與骨干交換機之間,以及交換機與服務器之間創建多個連接。

  1. EtherChannel

  EtherChannel也叫聚合端口(Aggregate port AP)和Port Trunking(多干路冗余連接)技術,將交換機上的多個端口在物理上連接起來,在邏輯上捆綁在一起,形成一個擁有較大帶寬的端口,組成一個干路,既可以增加交換機之間,以及交換機與服務器之間的連接帶寬,實現均衡負載,又可提供冗余連接。當所有端口都正常工作時,綁定的帶寬為所有端口帶寬之和。當某個端口宕掉后,其他端口仍能維持正常連接。Cisco的EtherChannel有兩個級別,即Fast EtherChannel和Giga Etherchannel,最大帶寬分別為400Mbps和4Gbps。

  2. Spanning Tree

  Spanning Tree實現冗余連接的工作方式是Stand By。在交換機之間創建兩條鏈路,由於交換機之間存在兩條鏈路時會導致拓撲環,因此,借助於Spanning Tree技術使得除了一條鏈路工作外,其余鏈路實際上是處於待機(Stand By)狀態,這顯然影響傳輸的效率

 

      聚合端口它可將多物理連接當作一個單一的邏輯連接來處理,它允許兩個交換器之間通過多個端口並行連接同時傳輸數據以提供更高的帶寬、更大的吞吐量和可恢復性的技術,並且實現成員端口上的流量平衡.(流量平衡具體有3種方法:根據源MAC地址,目的MAC地址或源IP地址/目的IP地址)
一般來說,兩個普通交換器連接的最大帶寬取決於媒介的連接速度(100BAST-TX雙絞線為200M),而使用Trunk技術可以將4個200M的端口捆綁后成為一個高達800M的連接。這一技術的優點是以較低的成本通過捆綁多端口提高帶寬,而其增加的開銷只是連接用的普通五類網線和多占用的端口,它可以有效地提高子網的上行速度,從而消除網絡訪問中的瓶頸。另外Trunk還具有自動帶寬平衡,即容錯功能:即使Trunk只有一個連接存在時,仍然會工作,這無形中增加了系統的可靠性。

etherchannel特性在switch到switch、switch到router、主機(服務器)到switch或router之間提供冗余的、高速的連接,簡單說就是將兩個設備間多條FE或GE物理鏈路捆在一起組成一條設備間邏輯鏈路,從而達到增加帶寬,提供冗余的目的。

端口聚合的注意事項:

1.AP成員端口的端口速率必須一致

2.AP成員端口必須屬於同一個VLAN

3.AP成員端口使用的傳輸介質應相同

4.缺少情況下創建的AP是二層AP

5.二層端口只能加入二層AP,三層端口只能加入三層AP

6.AP不能設置端口安全功能

7.當配置layer 2端口作etherchannel時只要在成員端口配置模式下用channel-group n命令指定該端口要加入的channel-group組,這時switch會自動創建port-channel接口,而當配置layer 3端口作etherchannel時,還需現在全局配置模式下用 interface port-channel n 命令手工創建port-channel接口。

8.一個端口加入AP,端口的屬性將被AP的屬性所取代

9.一個端口從AP中刪除,則端口的屬性將恢復為其加入AP前的屬性

10.當一個端口加入AP后,不能在該端口上進行任何配置,直到該端口退出AP

 

1. 創建EtherChannel

創建EtherChannel的具體操作步驟如下。

步驟1:進入全局配置模式.

      Switch#configure terminal

步驟2:選擇欲配置為EtherChannel的物理端口.PAgP EtherChannel(端口聚合協議)CISCO私有,每組最多支持8條

      鏈路匯聚.LACP EtherChannel(鏈路聚合控制協議)IEEE802.3ad定義,每組最多支持16條鏈路匯聚(但只有

      8條工作,其余備份)

      Switch(config)#interface interface-id

步驟3:將所有端口指定為同一VLAN內的靜態訪問端口或者配置為Trunk.如果配置為靜態端口,只能指定至

      一個VLAN,VLAN取值范圍為1-4094.

      Switch(config-if)#switchport mode {access | trunk }

      Switch(config-if)#switchport access vlan vlan-id

步驟4:將端口指定至EtherChannel組,並指定PAgP或LACP模式.EtherChannel端口組的取值范圍為1-48.

      Switch(config-if)#channel-gropu port_channel_number mode { {auto[non-silent] |

                        desirable[non-silent] | on} | {active | passive}}

對於使用PAGP的四種模式

Auto:當偵測到PAgP設備時(將只啟用PAgP)將端口置於被動協商狀態,可以對接收到的PAgP作出響應,但是,

     不能主動發送PAgP包進行協商。

Desirable:無條件啟用PAgP。將端口置於主動協商狀態,通過發送PAgP包,主動與其他端口進行協商。

On:不協商(不用PAgP協議,強制開啟).將端口強行指定(加入)至EtherChannel。只有兩個on模式端口組連接

    時EtherChannel才可用。

non-silent:參數主要用於檢測鏈路是否單向失敗.默認條例下被設置為auto或desirable參數並參加通道協商

            的接口不用周期性接收到對方的PAgP幀,也可以參加PAgP的計算.(如果鏈路單向通信的情況

            下,本端發出PAgP幀,鏈路(本端)卻無法接收對方的數據,但此端口(本端口)也參與了

            Etherchannel通信).加入non-silent參數后(非安靜模式),本端會要求周期性的接收到對端

          的PAgP幀后再使端口參加EtherChannel的通信,如果沒有接收到對端的PAgP幀則會通知STP

           此端口為down的狀,導致端口無法參加Etherchannel和STP的計算.

     如果交換機連接到有PAgP能力的伙伴,可以將端口配置為non silent(非安靜模式)運行。如果沒有為auto或desirable模式指定non-silent關鍵字,默認為silent。安靜模式設置被用於連接到文件服務器或包分析儀(無PAgP能力的伙伴,即單向通信.因為文件服務器或包分析儀不會產生PAgP幀)。該設置允許PAgP將端口添加至Channel組,並使用端口進行傳輸.

 對於使用LACP的兩種模式

active:當偵測到LACP設備時(將只啟用LAC),激活端口的主動協商狀態,通過發送LACP包,與其他端口進行主動協商。

passive:當偵測到LACP設備時(將只啟用LACP),將端口置於被動協商狀態,可以對接收到的LACP作出響應,但是,不能主動發送LACP包進行協商。

 

采用PAgP協議時(所以無ON模式),以下幾種模式可以構建EtherChannel:

一個端口為desirable模式,另一個端口為desirable或auto模式。

一個端口為auto模式,另一個端口為desirable模式。

采用LACP協議時,以下幾種模式可以構建EtherChannel:

一個端口為active模式,另一個端口為active或passive模式。

一個端口為active模式,另一個端口為passive模式。

2. 配置EtherChannel負載均衡

EtherChannel還具有負載分擔和線路備份的作用。

http://www.visualland.net.cn/view.php?cid=1729&protocol=EtherChannel&title=1. EtherChannel basics 負載均衡FLASH動畫.

所謂負載分擔:是指當交換機之間或交換機與服務器之間在進行通信時,EtherChannel的所有鏈路將同時參與數據的傳輸,從而使所有的傳輸任務都能在極短的時間內完成,線路占用的時間更短,網絡傳輸的效率更高。

etherchannel在作數據轉發時,是基於數據包的源或目的MAC地址隨機選擇etherchannel中的一條物理link進行數據轉發的。我們可以通過全局配置命令port-channel load-balance選擇是根據源MAC地址還是根據目的MAC地址進行數據轉發來實現負載平衡。
  例如:當有兩台switch,它們之間有幾條link互聯作etherchannel,switchA一端連接一台server,switchB一端連接多台clientPC,這時swithA一端的數據流是同一源MAC地址的數據包通過etherchannel轉發向不同目的MAC地址。這時,為了充分利用etherchannel中的所有的物理link,在swithA一端就應該配置為基於數據包的目的MAC地址方式.switchB一端的數據流是不同源MAC地址的數據包通過etherchannel轉發向同目的MAC地址。在swithB一端就應該配置為基於數據包的源MAC地址方式

所謂線路備份:是指當部分EtherChannel鏈路出現故障時,並不會導致連接的中斷,其他鏈路將能夠不受影響地正常工作,從而增強了網絡的穩定性和安全性。我們可以通過接口配置命令 pagp port-priority 改變優先級設定哪條物理link主用,哪條備用,一旦主用物理link上產生阻塞,備用link立即啟用

具體操作步驟如下。

步驟1:進入全局配置模式.

      Switch#configure terminal

步驟2:配置Etherchannel負載均衡

      Switch(config)#port-channel load-balance {dst-mac | src-mac | src-dst-ip | src-dst-mac

                     | dst-ip | src-ip }

      dst-mac:根據輸入報文的目的MAC地址進行流量分配。AP各鏈路中,目的MAC地址相同的報文被送到相

               同的端口,目的MAC不同的報文分配到不同的端口。  

     src-mac:根據輸入報文的源MAC地址進行流量分配。在AP各鏈路中,來自不同MAC地址的報文分配到不

             同的端口,來自相同的MAC地址的報文使用相同的端口。

     src-dst-ip:根據源IP與目的IP進行流量分配。不同的源IP——目的IP對的流量通過不同的端口轉發,同

                  一源IP——目的IP對通過相同的鏈路轉發。在三層條件下,建議采用此流量平衡的方式。

     src-dst-mac:根據源MAC與目的MAC進行流量分配。不同的源MAC——目的MAC對的流量通過不同的端口轉

                   發,同一源MAC——目的MAC對通過相同的鏈路轉發。

     dst-ip:根據輸入報文的目的IP地址進行流量分配。在AP各鏈路中,目的IP地址相同的報文被送到相同的端

             口,目的IP不同的報文分配到不同的端口。

     src-ip:根據輸入報文的源IP地址進行流量分配。在AP各鏈路中,來自不同IP地址的報文分配到不同的端

             口,來自相同的IP地址的報文使用相同的端口。

步驟3:校驗配置

      Switch#show etherchannel load-balance

3. 從EtherChannel中移除端口

從EtherChannel中移除端口的具體操作步驟如下。

步驟1:進入全局配置模式.

      Switch#configure terminal

步驟2:指定欲配置的物理端口.

      Switch(config)#interface interface-id

步驟3:從EtherChannel中移除端口

      Switch(config-if)no channel-group

4. 移除整個EtherChannel端口

移除EtherChannel的具體操作步驟如下。

步驟1:進入全局配置模式.

      Switch#configure terminal

步驟2:移除Channel端口

      Switch(config)#no interface port-channel port_channel_number

其他一些命令

創建以太通道組:
(config)#interface port-channel EtherChannel_number
定義以太通道組的聚合協議
(config-if)#channel-protocol { pagp | lacp }
查看通道接口配置信息:
#show running-config interface port-channel port-channel_interface_number
查看接口配置信息:
#show running-config interface **
查看配置后的通道信息:
#show etherchannel ** port-channel
核實PAGP和LACP
#show interface *** etherchannel
查看EtherChannel配置情況

#show eherchannel summary 

Po1(SU) //SU表示EtherChannl正常.(S-Layer2,U-in use) Fa0/1(P) Fa0/2(P) //P表示Fa0/1和Fa0/2都加入了EthernetChannel,並正常運行.(P-in port-channel)

 

通常
Switch(config)#hostname SW2
SW2 (config)#int fa0/23-24
SW2(config-if-range)#switchport trunk encapsulation dot1q
SW2(config-if-range)#switchport trunk allowed vlan2
SW2(config-if-range)#channel-group 1 mod on
SW2(config-if-range)#exit

port-channel可以設成trunk!!!常用
要想做trunk則必須封裝成dot1Q! 否則會提示信息

具體配置:
  
  Switch# configure terminal
  
  Switch(config)# interface range fastethernet0/4 -5
  
  Switch(config-if-range)# switchport mode access
  
  Switch(config-if-range)# switchport access vlan 10
  
  Switch(config-if-range)# channel-group 5 mode desirable|auto|on
  
  Switch(config-if-range)# end
  
  
  以上配置將F0/4、F0/5端口加入channel-group 5,作etherchannel的端口可以為access端口也可為trunk端口(中繼端口)

在將兩個swith間的link作etherchannel與兩個swith間的link作trunk有一點相似的地方就是:

  1.配置trunk時兩端的端口有幾種模式:trunk、auto、desirable,

  2.配置etherchannel時兩端的端口有desirable|auto|on(使用PAGP)或active|passive(使用LACP)幾種模式.

    所不同的是trunk端口間協商是使用DTP(dynamic trunking protocol);而etherchannel端口間協商是使用PAGP(Port Aggregation Protocol,cisco專有)或LACP (Link Aggregation Control Protocol,802.3AD )

   
  
注意:在技術領域中把TRUNK翻譯為中文是"主干,干線,中繼線,長途線",不過一般不翻譯,直接用原文.而且這個詞在不同場合也有不同的解釋:  

1、在網絡的分層結構和寬帶的合理分配方面,TRUNK被解釋為“端口匯聚”,是帶寬擴展和鏈路備份的一個重要途徑。TRUNK把多個物理端口捆綁在一起當作一個邏輯端口使用,可以把多組端口的寬帶疊加起來使用。TRUNK技術可以實現TRUNK內部多條鏈路互為備份的功能,即當一條鏈路出現故障時,不影響其他鏈路的工作,同時多鏈路之間還能實現流量均衡,就像我們熟悉的打印機池和MODEM池一樣。 

  2、在電信網絡的語音級的線路中,Trunk指“主干網絡、電話干線”,即兩個交換局或交換機之間的連接電路或信道,它能夠在兩端之間進行轉接,並提供必要的信令和終端設備。

  3、 但是在最普遍的路由與交換領域,VLAN的端口聚合也有的叫TRUNK不過大多數都叫TRUNKING ,如CISCO公司。所謂的TRUNKING是用來在不同的交換機之間進行連接,以保證在跨越多個交換機上建立的同一個VLAN的成員能夠相互通訊。其中交換機之間互聯用的端口就稱為TRUNK端口。與一般的交換機的級聯不同,TRUNKING是基於OSI第二層.如果你在2個交換機上分別划分了多個VLAN(VLAN也是基於Layer2的),那么分別在兩個交換機上的VLAN10和VLAN20的各自的成員如果要互通,就需要在A交換機上設為VLAN10的端口中取一個和交換機B上設為VLAN10的某個端口作級聯連接。VLAN20也是這樣。那么如果交換機上划了10個VLAN就需要分別連10條線作級聯,端口效率就太低了。當交換機支持TRUNKING的時候,事情就簡單了,只需要2個交換機之間有一條級聯線,並將對應的端口設置為Trunk,這條線路就可以承載交換機上所有VLAN的信息。這樣的話,就算交換機上設了上百個個VLAN也只用1個端口就解決了。

如果是不同台的交換機上相同id的vlan要相互通信,那么可以通過共享的trunk端口就可以實現,如果是同一台不同id的vlan/不同台不同id的vlan它們之間要相互通信,需要通過第三方的路由來實現;vlan的划分有兩個需要注意的地方:一是划分了幾個不同的vlan組,都有不同的vlan id號;分配到vlan 組里面的交換機端口也有port id.比如端口1,2,3,4划分到vlan10,5,6,7,8划分到vlan20,我可以把1,3,4的端口的port id設置為10,而把2端口的 port id設置為20;把5,6,7端口的port id設置為20,而把8端口的port id設置為10.這樣的話,vlan10中的1,3,4端口能夠和vlan20中8端口相互通信;而vlan10中的2端口能夠和vlan20中的5,6,7端口相互通信;雖然vlan id不同,但是port id相同,就能通信同樣vlan id相同,port id不同的端口之間卻不能相互訪問,比如vlan10中的2端口就不能和1,3,4端口通信。


  配置EtherChannel
以太通道捆綁幾個以太端口為一個獨立的邏輯鏈路。如4006交換機,你可以捆綁在4006任何模塊上最多8個兼容的具有相同速率的端口。每個以太通道具有一個port-channel端口號。要捆綁一個以太通道時,會產生一個邏輯port-channel端口,邏輯端口下的配置可影響與之捆綁的物理端口,但物理端口下的配置不能影響邏輯端口的配置。
1) 三層以太通道(邏輯port-channe)的配置
Switch# configure terminal
Switch(config)# interface port-channel 1 // 創建一個邏輯端口
Switch(config-if)# ip address 172.32.52.10 255.255.255.0
Switch(config-if)# end

2) 三層物理端口配置
Switch# configure terminal
Switch(config)# interface range fastethernet 5/4 – 5 (注意: 空格是必需的)
Switch(config-if)# no switchport // 改變該端口為三層接口
Switch(config-if)# no ip address // 確認接口沒有配置IP地址
Switch(config-if)#  channel-group 1 mode desirable
Switch(config-if)# end

附: Switch(config-if)# channel-group port_channel_number mode {auto | desirable | on} // 將該物理端口加入一個以太通道中,並確定PagP模式。

3) 二層以太通道配置
Switch# configure terminal
Switch(config)# interface range fastethernet 5/6 - 7 (注意: 空格是必需的)
Switch(config-if-range)# channel-group 2 mode desirable
Switch(config-if-range)# end
Switch# show running-config interface port-channel 2
Building configuration...
Current configuration:
!
interface Port-channel2
switchport access vlan 10
switchport mode access
end 
Switch#

? 如何作端口聚合
如果要配置二台6509之間的Trunk聯接,首先將二6509用千兆光纖相聯好,然后分別配置二相聯端口的trunk,可以是只用一雙光纖,或用二對光纖做port channel,配置如下:
一雙光纖相聯時,分別在二台65上進行以下的配置:

interface GigabitEthernet1/1
no ip address
switchport
switchport trunk encapsulation dot1q
switchport trunk native vlan 1

二對光纖相聯時,必須要做port channel,分別在二台65上進行以下的配置:
interface port-channe1
no ip address
switchport
switchport trunk encapsulation dot1q
switchport trunk native vlan 1
!
interface GigabitEthernet1/1
no ip address
duplex full
speed 1000
switchport mode trunk
switchport trunk encapsulation dot1q
switchport trunk native vlan 1
channel-group 1 mode on
!
interface GigabitEthernet1/2
no ip address
duplex full
speed 1000
switchport mode trunk
switchport trunk encapsulation dot1q
switchport trunk native vlan 1
channel-group 1 mode on
4、指導原則
有很多關於配置以太通道的指導原則,這些原則涉及trunk、動態VLANSTP和其他方面,如果配置不當,某些以太通道接口會自動停用,以避免出現網絡環路或者其他的問題。為了減少花在以太通道故障排除上的時間,需要采納以下建議:

*將以太通道內的所有端口指定到同一個VLAN,或者將其都配置為trunk端口;
*如果將以太通道配置為trunk,在以太通道內所有的端口上配置相同的trunk模式。在以太通道內的各端口上配置不同的trunk模式會引起意想不到的結果; 
*在trunking以太通道內,通道內所有端口上支持的VLAN的范圍相同。如果各個端口支持的VLAN范圍不相同,即使設為Auto或者Desirable模式,端口也不會形成以太通道; 
*不要將以太通道內的端口置為動態VLAN端口,這會嚴重影響交換機的性能; 
*GARP,GVRP或者QOS配置不同的端口不會形成以太通道; 
*如果在端口上配置了對廣播的限制,將廣播限制配作以通道內所有端口百分比為單位的限制。如果使用“包每秒”形式的廣播限制,則在超過廣播限制的1秒鍾內,單播數據包可能丟失; 
*啟動了安全策略的端口不能形成以太通道,對於以太通道內的端口,不能啟動端口上的安全功能; 
*如果以太通道內的端口被IGMP組播過濾使用,則必須將PAG和LACP中的以太通道模式設置為OFF。不能使用其他的模式; 
*配置為交換端口分析器(SPAN,switchde port analyzer)目的的端口不能形成以太通道; 
*如果其中任何一個端口的協議過濾設置不同,就無法形成以太通道; 
*每個以太通道最多能能包含8個配置兼容的以太接口; 
*同一個以太通道內的所有接口的速率和雙工模式要求相同; 
*啟動以太通道內的所有接口。如果你關閉了以太通道內的一個接口,它會被作為鏈路狀態故障處理,其上通信會轉移到以太通道內剩余的接口上; 
*STP端口開銷值不同的接口只要配置兼容就能形成以太通道。在端口上配置不同的STP端口開銷本身不會導致接口由於不兼容而無法形成以太通道。但是,在一個以太通道內的所有接口上,最好將STP端口開銷配置為一樣;

除了以上列舉的限制,還有一個需要關注的問題就是你允許那些端口用於以太通道的配置。

5、思路:
1、先划分vlan,並將相應的端口加入到vlan中
2、將要合並的相鄰的端口置為trun模式
3、設定相連的兩台交換機的端口的工作方式(即物理特性)相同。
4、開啟以太網通道
1.交換機相連的端口必須為相鄰的端口,以及物理特性必須相同。 
交換機1:
Router>en
Router#vlan d
Router(vlan)#vl 2
VLAN 2 added:
Name: VLAN0002
Router(config)#interface range f0/1 - 2
Router(config-if-range)#switchport mode trunk [l1]
Router(config)#interface range f0/1 – 2
Router(config-if-range)#switchport access vlan 2
[l2]Router(config-if-range)#duplex full [l3]
Duplex will not be set until speed is set to non-auto value
Duplex will not be set until speed is set to non-auto value
Router(config-if-range)#speed 100 [l4]
*Mar 1 00:07:06.315: %DTP-5-TRUNKPORTON: Port Fa0/1-2 has become dot
*Mar 1 00:07:06.579: %LINEPROTO-5-UPDOWN: Line protocol on Interface
nged state to up
Router(config)#interface range f0/1 - 2
Router(config-if-range)#channel-group 1 mode on [l5] 
Creating a port-channel interface Port-channel1
Router#show etherchannel 1 summary
Flags: D - down P - in port-channel
I - stand-alone s - suspended
R - Layer3 S - Layer2
U - in use
Group Port-channel Ports
-----+------------+-------------------------
1 Po1(SU) Fa0/1(P) Fa0/2(P)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM