Etherchannel

İki Switchi iki kablo ile bağlarsak loop oluşuyor ve spanning tree protokolü portlardan birisini blokluyordu. Yük paylaşımı sağlayamıyoruz sadece yedeklilik sağlanmış oluyor.

Etherchannel buna çözüm olacak bir dizayn hem yedeklilik sağlasın hem yük paylaşımı yapsın bantgenişliğini artırsın. Switch'ler Router'lar hatta sunucular arasında bile yedekliliği sağlasın.

Birden fazla fiziksel kabloyu tek bir fiziksel kablo gibi gösteriyor. Cisco tarafında geliştirilmiştir. Diğer markalar da destekliyor.

Ciscoya özel bir protokol olduğu için IEEE open standart olacak buna eş LACP denilen bir protokol geliştirmiştir.

Örnek olarak 2 tane 1 GB hattı birleştirip 2GB'e yakın bir hat elde edebiliyorsunuz. Bunları birleştirip sanal (virtual) bir port oluşturuyoruz. Kablolardan bir tanesi koptuğunda diğer kablodan trafik akmaya devam ediyor. Farklı hızlardaki portlar birleştirilemiyor.

Yani 100 MB ile 1 GB birleştirilmiyor. Mutlaka fiziksel interfacelerin hızının aynı olması gerekiyor. 8 taneye kadar birleştirilebiliyor. 2nin katı olmak zorunda değil 3 interfaceyi de birleştirebiliriz. Ama 2'nin katları şeklinde tavsiye ediliyor.

Ürünlerin kaç tane etherchannel destekleyeceği üründen ürüne değişebiliyor. Örnek olarak Cisco Catalyst 2960, 6 etherchannele kadar destekliyor.

İki switch arasında etherchannel yaptığınız etherchannel yaptığımız 2 interfacelerde konfigurasyonların (geçireceği vlanların,trunk mı ,access mi ) vs aynı konfigurasyona sahip olması gerekiyor.

Etherchannel'da, anahtarlayıcılar bağlantı yapılandırmalarının (konfigürasyon) dinamik olarak yapılmasını sağlayabilir. Bunun için iki protokol kullanılır: PAgP (Port Aggregation Protocol-Port Birleştirici Protokol) ve LACP (Link Aggregation Control Protocol-Hat Birleştirme Kontrol Protokolü). PagP Cisco cihazlara özgü bir protokol iken LACP cihazdan bağımsız standart bir protokoldür.

On: Açmak anlamında bu şu demek. Hiçbir kontrol yapma, hiçbir kontrol protokolü çalıştırma. Etherchannel aç demek. S1 ve S2 switchinde karşılıklı 2 tarafı da On yaparsanız. Etherchannel açılır. ama hata yapılmasına karşı tavsiye edilmeyen bir yöntemdir.

Taraflardan birisini On diğer tarafını Desirable ya da Auto yaparsanız çalışmaz. Tavsiye edilen iki tarafı da Desirable ayarlayın yani istekli olarak ve etherchannel güzelce açılsın.

Auto şöyle etherchannel olabilir ama etherchannel olmaya isteği yok. Karşı taraf isterse ancak etherchannel çalışıyor yoksa çalışmıyor.

İki taraf auto yaparsanız, yani etherchannel istekli olmayak şekilde ayarlarsanız. Etherchannel açılmaz.

Kısaca Etherchannel açıyorsak standart karşılıklı olarak desirable yapınız. LACP protokolü 802.3ad diye geçiyor. PAGp ile bire bir aynı. Cisco cihazları ikisini de destekliyor.

LACP de desirable ya da auto yerine Active ve Passive anahtar kelimeleri kullanılmış.

Active istekli, Passive ise isteksiz olan konfigurasyonu.

On olunca karşı tarafa hiçbir mesaj yollamıyor. Portun dizaynı bu, ben trunk'ım, hızım 100 MB gibi verileri karşı tarafa yollamayacağı için etherchannel açılmayacaktır. İki taraf istekliyse yani Active olarak ayarlandıysa Etherchannel açılıyor. Cihaz bunu anlıyor eğer desirable dersek Pagp çalışır ama Active dersek o zaman LACP çalışır. Yani yazdığımız komuta göre switch hangi protokolü tercih ettiğinizi anlıyor. Bir taraf istekli diğer taraf isteksiz ise etherchannel açılır.

Etherchannel yaparken switch etherchannel desteklemeli, hızlarının ve dublexlerin aynı olması gerekiyor. Vlan ayarlarının kesinlikle aynı olması gerekiyor. (Trunk,access ) vs. Vlan range komutu girildiyse aynı olması lazım.

Konfigurasyona başlamadan önce fiziksel portların altında hiçbir konfigurasyon olmayacak şekilde ayarlamak en güzeli.

interface'leri channel-group 1 komutu ile virtual interface altında birleştiriyorsunuz. Virtual interface numarası ise 1. Yani fiziksel portu birleştirip virtual interfaceler oluşturuluyor. Oluşan virtual interfaceye port channel adı verilir. 1 numrası ise sanal interfacenin numarasıdır.

Switch(config)#interface range Fa0/1-2
Switch(config-if-range)#channel-group 1 mode active

Switch(config-if)#interface port-channel 1
Switch(config-if)#switchport mode trunk
Switch(config-if)#switchport trunk allowed vlan 1,2,20

// Konfigurasyonları sanal interfaceye yapacağımız için fiziksel interfacelerin
altında hiçbir konfigurasyon kalmasın

Trunk vs yaptığımızda bu sanal port altında yapıyoruz. Aksi takdirde çalışmasını 
engeller. Yani öncesinde etherchannele başlamadan önce hiçbir konfigurasyon 
yapılmaması gerekiyor. 

SOL(config)#interface range fa0/1-2
SOL(config-if-range)#channel-group 1 mode ?
  active     Enable LACP unconditionally
  auto       Enable PAgP only if a PAgP device is detected
  desirable  Enable PAgP unconditionally
  on         Enable Etherchannel only
  passive    Enable LACP only if a LACP device is detected
SOL(config-if-range)#channel-group 1 mode desirable
SOL(config-if-range)#no shutdown
Creating a port-channel interface Port-channel 1

%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/1, changed state to down

%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/1, changed state to up

%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/2, changed state to down

%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/2, changed state to up

//kendisi port channel 1 adında sanal bir interface oluşturdu.
interface Port-channel1
!
interface FastEthernet0/1
 channel-group 1 mode desirable
!
interface FastEthernet0/2
 channel-group 1 mode desirable
!
interface FastEthernet0/3
!

// Yapacağımız Konfigurasyonları bu sanal interface altında yapıyoruz.

SOL(config)#interface port-channel 1
SOL(config-if)#switchport mode trunk
SOL(config-if)#switchport trunk allowed vlan 1-10

sh run
interface Port-channel1
 switchport trunk allowed vlan 1-10
 switchport mode trunk
!
interface FastEthernet0/1
 switchport trunk allowed vlan 1-10
 switchport mode trunk
 channel-group 1 mode desirable
!
interface FastEthernet0/2
 switchport trunk allowed vlan 1-10
 switchport mode trunk
 channel-group 1 mode desirable
!

//Biz sadece port channel 1 altında konfigurasyon yapmamıza rağmen 
1 ve 2.port altında konfigurasyon geldi.

SAG(config)#int range fa0/1-2
SAG(config-if-range)#channel-group 2 mode desirable 

// Bu channel-group numaraları farklı olabilir. Aynı olmak zorunda değil.
SAG(config)#interface port-channel 2
SAG(config-if)#switchport trunk
SAG(config-if)#switchport mode trunk 
SAG(config-if)#switchport trunk allowed vlan 1-10

sh run
---------------------------------------
interface Port-channel2
 switchport trunk allowed vlan 1-10
 switchport mode trunk
!
interface FastEthernet0/1
 channel-group 2 mode desirable
 shutdown
!
interface FastEthernet0/2
 channel-group 2 mode desirable
 shutdown
!
--------------------------------------
SAG#sh interfaces fa0/1
FastEthernet0/1 is up, line protocol is up (connected)
  Hardware is Lance, address is 00e0.f97a.4301 (bia 00e0.f97a.4301)
 BW 100000 Kbit, DLY 1000 usec,
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation ARPA, loopback not set
  Keepalive set (10 sec)
  Full-duplex, 100Mb/s
  
  // Burada bantgenişliği vs yazıyor BW 100000 KB bu değer 100 MB dir
  zaten fastEthernet 100 MB'dir. 
  SAG#sh interfaces port-channel 2 
  // Burada BW 200000 olarak görecektik. 
  
SAG#sh etherchannel summary 
Flags:  D - down        P - in port-channel
        I - stand-alone s - suspended
        H - Hot-standby (LACP only)
        R - Layer3      S - Layer2
        U - in use      f - failed to allocate aggregator
        u - unsuitable for bundling
        w - waiting to be aggregated
        d - default port


Number of channel-groups in use: 1
Number of aggregators:           1

Group  Port-channel  Protocol    Ports
------+-------------+-----------+----------------------------------------------

2      Po2(SD)           PAgP   Fa0/1(D) Fa0/2(D) 

// 2 nolu virtual interface oluşturulmuş. Bunun altında PAgP protokolü kullanılmış
ismi Po2 ymiş. SU (Switch in Use) Switch kullanıyor.
(P)-- in port-channel 
(I)-- stand-alone (Tek başıma çalışıyorum) Channel olmadım demek.
(D)--- Down (link yok demek) Kabloları takmamış 
//Kaldırmak istersek bu komutu giriyoruz.
SAG(config)#no interface port-channel 1


Doğrulama Komutları

show interfaces port-channel 
show etherchannel summary
show etherchannel port-channel 
show interfaces etherchannel  

sh run | begin interface port-channel



Last updated