LACP (Link Aggregation Control Protocol), birden fazla fiziksel Ethernet bağlantısını tek bir mantıksal Link altında birleştiren ve bu birleşimi iki cihaz arasında karşılıklı olarak müzakere eden standart bir protokoldür. İlk olarak IEEE 802.3ad ile tanımlanan protokol bugün IEEE 802.1AX standardı altında yer alır. Cisco tarafında bu yapı EtherChannel olarak adlandırılır ve oluşan mantıksal Interface, Port-Channel olarak yönetilir.
İki Switch arasına birden fazla kablo çekmek tek başına bant genişliğini artırmaz. Spanning Tree Protocol, aynı iki Switch arasındaki yedek Link'leri Loop riski olarak değerlendirir ve bunlardan birini Forwarding durumunda bırakıp diğerlerini Blocking durumuna alır. Dört kablo çekilmiş olsa bile trafiği tek bir kablo taşır, kalan üçü arıza anına kadar boşta bekler. LACP bu fiziksel Link'leri tek bir mantıksal bağlantı olarak sunduğu için STP, Port-Channel'ı tek bir Link olarak görür. Aktif üye Link'lerin tamamı trafik taşımaya hazır durumdadır. Trafiğin üyeler arasında fiilen nasıl dağıldığı ise seçilen Load-Balance yöntemine ve trafik Flow'larının Hash sonuçlarına bağlıdır.
Bu yapının iki somut getirisi vardır. Birincisi, üye Link'lerin toplam kapasitesi kadar mantıksal bant genişliği elde edilir. İkincisi, üye Link'lerden biri koptuğunda trafik kalan Link'ler üzerinden devam eder ve STP topolojisi değişmez. Bu nedenle LACP, Access ile Distribution katmanı arasındaki Uplink bağlantılardan Server ve Storage bağlantılarına kadar kurumsal Network'lerin hemen her katmanında karşılaşılan bir yapılandırmadır.
Anlatım, Cisco CCNA müfredatındaki EtherChannel konusunu temel alıyor ve sahada doğrudan referans olarak kullanılabilecek şekilde Catalyst 9300 serisi ve IOS-XE davranışı üzerinden ilerliyor. İlk senaryoda 10G Uplink Port'ları üzerinden önce 20G kapasiteli bir Port-Channel kuruluyor, ardından Bundle'a yeni Port'lar eklenerek kapasite 40G'ye çıkarılıyor. İkinci senaryoda aynı mantık 1G Access Port'ları üzerinde uygulanıyor ve 4G kapasiteli ikinci bir Port-Channel oluşturuluyor.
LACP ve EtherChannel Çalışma Mantığı
Yapılandırmaya geçmeden önce LACP'nin iki Switch arasında Bundle'ı nasıl oluşturduğunu ve bir Port'u hangi koşullarda Bundle'a kabul ettiğini netleştirmek gerekir. Sahada karşılaşılan Port-Channel sorunlarının büyük kısmı mod uyumsuzluğundan veya üye Port'lar arasındaki yapılandırma farklarından kaynaklanır.
LACP Modları
LACP, karşı tarafla LACPDU (LACP Data Unit) adı verilen kontrol paketleri üzerinden haberleşir. Bu paketler Port'un hangi Bundle'a ait olduğunu, sistem önceliğini ve port durumunu karşı tarafa iletir. Port'un LACPDU gönderip göndermeyeceğini channel-group komutunda belirtilen mod belirler. Cisco'nun kendi geliştirdiği PAgP (Port Aggregation Protocol) için desirable ve auto modları kullanılır. LACP ise standart bir protokol olduğundan farklı üreticilerin cihazları arasında da çalışır.
İki uçta kullanılan mod kombinasyonu, Port-Channel'ın oluşup oluşmayacağını doğrudan belirler. Aşağıdaki tablo, olası kombinasyonları ve her birinin sonucunu gösteriyor.
|
SW1 Modu |
SW2 Modu |
Sonuç |
|
active |
active |
Port-Channel oluşur. İki taraf da LACPDU göndererek müzakereyi başlatır. |
|
active |
passive |
Port-Channel oluşur. Müzakereyi active modundaki taraf başlatır. |
|
passive |
passive |
Port-Channel oluşmaz. İki taraf da karşı taraftan LACPDU bekler. |
|
on |
on |
Port-Channel LACP kullanılmadan statik olarak oluşur. Müzakere yapılmaz. |
|
on |
active veya passive |
Port-Channel oluşmaz. on modu LACPDU göndermez ve gelen LACPDU'ları işlemez. |
Her iki senaryoda da iki uç active modda yapılandırılıyor. on modu müzakere yapmadığı için karşı taraftaki yanlış kablolama veya yapılandırma hatasını fark edemez ve Layer 2 Loop oluşma riski doğurur. Sahada LACP'nin active modda kullanılması bu yüzden tercih edilir.
Bir LACP Port-Channel'ı en fazla 16 port içerebilir. Bunlardan 8'i aktif olarak trafik taşır, kalan 8'i Hot-Standby durumunda bekler ve aktif üyelerden biri düştüğünde onun yerini alır.
Üye Port Uyum Gereksinimleri
EtherChannel oluşturulurken her Switch üzerinde aynı Channel Group'a ait üye Port'ların Speed ve Duplex değerleri, Layer 2 modu ve VLAN ile Trunk parametreleri uyumlu olmalıdır. Cisco IOS-XE, uyumsuz bir üye Port'u EtherChannel dışında bırakabilir veya Suspended durumuna alabilir.
Karşılıklı iki Switch'in fiziksel port numaralarının ve Port-Channel numaralarının aynı olması gerekmez. Uçlar arasındaki VLAN ve Trunk yapılandırması ise taşınması istenen trafiğin doğru çalışması için tutarlı planlanmalıdır. Aşağıdaki tablo, her Switch'te aynı Channel Group'a ait üye Port'lar arasında uyumlu olması gereken parametreleri listeliyor.
|
Parametre |
Gereksinim |
|
Speed ve Duplex |
Tüm üye Port'lar aynı hız ve Duplex değerinde çalışmalıdır. 1G ve 10G Port'lar aynı Port-Channel altında birleştirilemez. |
|
Switchport Mode |
Üye Port'ların tamamı Trunk veya tamamı Access modunda olmalıdır. |
|
Allowed VLAN |
Trunk Port'larda izin verilen VLAN listesi tüm üyelerde aynı olmalıdır. |
|
Native VLAN |
Trunk Port'larda Native VLAN değeri tüm üyelerde aynı olmalı ve karşı taraftaki Native VLAN ile tutarlı planlanmalıdır. |
|
Access VLAN |
Access modundaki Port'larda atanan VLAN tüm üyelerde aynı olmalıdır. |
Port-Channel oluştuktan sonra yapılacak VLAN ve Trunk değişiklikleri üye Port'lar yerine Port-Channel Interface'i üzerinden yapılmalıdır. Port-Channel'a uygulanan ayar üye Port'lara aktarılır.
Uplink Port'lar Üzerinden LACP Yapılandırması
İlk senaryoda iki Catalyst 9300 Switch, 10G SFP+ Uplink modülündeki Port'lar üzerinden birbirine bağlanıyor. Yapılandırma iki aşamada ilerliyor. Önce iki port ile 20G kapasiteli bir Port-Channel kuruluyor, ardından mevcut Bundle'a iki port daha eklenerek kapasite 40G'ye çıkarılıyor. Bu akış, kapasite ihtiyacı arttığında mevcut bir Port-Channel'ın silinmeden nasıl büyütüldüğünü de gösteriyor.
Topoloji ve Port Yerleşimi
SW1 ve SW2, Uplink modülündeki Te1/1/1 ve Te1/1/2 Port'ları üzerinden iki adet 10G bağlantıyla birbirine bağlanıyor. Te kısaltması 10 Gbps hızındaki TenGigabitEthernet Port'larını ifade eder. 1/1/1 gösterimi ise sırasıyla Stack üye numarasını, modül numarasını ve port numarasını belirtir. Bu iki Link, Port-Channel 1 altında birleştirildiğinde iki Switch arasında 20G kapasiteli tek bir mantıksal bağlantı oluşuyor.

SW1 Üzerinde Port-Channel Yapılandırması
Yapılandırma, iki Port'un interface range komutuyla birlikte seçilmesiyle başlıyor. Port'lar önce Trunk moduna alınıyor, ardından channel-group 1 mode active komutuyla Port-Channel 1'e üye yapılıyor. Catalyst 9300 Trunk Port'larda yalnızca 802.1Q kapsüllemeyi desteklediği için switchport trunk encapsulation komutuna gerek yoktur.
configure terminal
interface range TenGigabitEthernet1/1/1 - 2
switchport mode trunk
channel-group 1 mode active
exit
interface Port-channel 1
switchport mode trunk
end
channel-group komutu girildiği anda Switch, Port-channel 1 adında mantıksal bir Interface oluşturur ve bunu Creating a port-channel interface Port-channel 1 mesajıyla bildirir. Port-Channel Interface'i üzerinde Trunk modunun ayrıca tanımlanması, mantıksal Interface ile üye Port'ların aynı Layer 2 yapılandırmasını taşımasını sağlar.

SW2 Üzerinde Port-Channel Yapılandırması
Aynı yapılandırma SW2 tarafında da uygulanıyor. İki uç da active modda olduğu için her iki Switch de LACPDU göndererek müzakereyi başlatır.
configure terminal
interface range TenGigabitEthernet1/1/1 - 2
switchport mode trunk
channel-group 1 mode active
exit
interface Port-channel 1
switchport mode trunk
end
Müzakere tamamlandığında Port-channel1 Interface'inin önce fiziksel seviyede, ardından Line Protocol seviyesinde Up durumuna geçtiği %LINK-3-UPDOWN ve %LINEPROTO-5-UPDOWN Syslog mesajlarıyla görülüyor. Bu iki mesaj LACP müzakeresinin başarıyla tamamlandığının ilk göstergesidir. Port-Channel'ın hangi üyelerle çalıştığı ise doğrulama komutlarıyla kontrol edilir.

Port-Channel Durumunun Doğrulanması
Port-Channel'ın durumunu ve üye Port'larını görmenin en hızlı yolu show etherchannel summary komutudur. Bant genişliği ve üye listesini görmek için show interfaces Port-channel 1 çıktısı include filtresiyle daraltılıyor.
show etherchannel summary
show interfaces Port-channel 1 | include BW|Members
Çıktıdaki Po1(SU) ifadesi, Port-Channel'ın Layer 2 olarak çalıştığını ve kullanımda olduğunu gösteriyor. Protocol sütunundaki LACP değeri Bundle'ın LACP ile kurulduğunu, Te1/1/1(P) ve Te1/1/2(P) ifadelerindeki P Flag'i ise iki Port'un da Bundle'a dahil olduğunu belirtiyor. BW değerinin 20000000 Kbit/sec olması, Port-Channel'ın 20 Gbps kapasiteyle çalıştığını doğruluyor.

Çıktının üst kısmındaki Flag'ler, sorun giderme sırasında bir Port'un neden Bundle'a alınmadığını anlamak için kullanılır. Sahada en sık karşılaşılan Flag'ler ve anlamları aşağıdaki tabloda yer alıyor.
|
Flag |
Çıktıdaki Karşılığı |
Anlamı |
|
P |
bundled in port-channel |
Port Bundle'a dahil ve trafik taşıyor. |
|
s |
suspended |
Port, yapılandırma uyumsuzluğu nedeniyle Bundle dışında bırakıldı. |
|
I |
stand-alone |
Karşı taraftan LACPDU alınamadı ve port bağımsız çalışıyor. |
|
H |
Hot-standby |
Port, aktif üye sınırı dolduğu için yedekte bekliyor. |
|
D |
down |
Port fiziksel olarak Down durumunda. |
|
S |
Layer2 |
Port-Channel Layer 2 olarak çalışıyor. |
|
U |
in use |
Port-Channel kullanımda. |
Port-Channel'a Yeni Üye Port Ekleme
Kapasite ihtiyacı arttığında mevcut Port-Channel'ı silmeye gerek yoktur. Yeni Port'lar aynı channel-group numarasıyla mevcut Bundle'a eklenir. Bu adımda Te1/1/3 ve Te1/1/4 Port'ları da Port-Channel 1'e dahil edilerek dört adet 10G Link ile 40G kapasiteye ulaşılıyor.

configure terminal
interface range TenGigabitEthernet1/1/3 - 4
switchport mode trunk
channel-group 1 mode active
end
Port-Channel 1 zaten mevcut olduğu için bu kez Creating mesajı görüntülenmez. Aynı komutlar SW2 tarafında da uygulanmalıdır. Karşı taraf yapılandırılana kadar yeni Port'lar LACPDU alamadığından Bundle'a dahil olmaz.

Yeni Port'ların Speed, Switchport Mode ve VLAN ayarları mevcut üyelerle uyumlu olmalıdır. Aksi halde port Bundle'a alınmaz ve Suspended durumuna düşebilir.
İki tarafta da yapılandırma tamamlandıktan sonra doğrulama komutları tekrar çalıştırılıyor. Bu kez show etherchannel summary çıktısı begin Group filtresiyle doğrudan Port-Channel tablosundan başlatılıyor.
show etherchannel summary | begin Group
show interfaces Port-channel 1 | include BW|Members
Dört Port'un tamamı P Flag'iyle Bundle'a dahil olmuş durumda. BW değeri 40000000 Kbit/sec olarak güncellenmiş ve Members satırında dört üye port listeleniyor. Port-Channel artık 40 Gbps mantıksal kapasiteyle çalışıyor.

Load-Balance Yöntemi ve Gerçek Bant Genişliği
Port-Channel'ın 40G kapasiteye sahip olması, tek bir bağlantının 40 Gbps hıza ulaşacağı anlamına gelmez. EtherChannel trafiği paket bazında değil, Flow bazında dağıtır. Switch her Frame için Load-Balance yönteminin belirlediği alanlardan bir Hash değeri hesaplar ve Frame'in hangi üye Link'ten gönderileceğine bu değere göre karar verir. Aynı Flow'a ait trafik aynı Hash sonucunu ürettiği için hep aynı üye Link'ten geçer. Bu yaklaşım paketlerin sırasının bozulmasını önler.
Bu nedenle tek bir Flow, bir üye Link'in hızıyla sınırlı kalır. Uplink senaryosunda bu sınır 10 Gbps, Access port senaryosunda ise 1 Gbps'tir. Bir Client ile bir Server arasındaki trafiğin üyelere nasıl dağılacağı ise kullanılan yönteme bağlıdır. src-dst-ip gibi kaynak ve hedef IP adreslerini kullanan bir yöntemde aynı Client ile Server arasındaki tüm trafik aynı üye Link'e düşer. src-dst-mixed-ip-port gibi Layer 4 port numaralarını da Hash hesaplamasına dahil eden bir yöntemde ise aynı iki IP adresi arasındaki farklı TCP ve UDP oturumları farklı üye Link'lere dağıtılabilir. Port-Channel'ın toplam kapasitesine ancak çok sayıda farklı Flow üye Link'lere dağıtıldığında ulaşılır. Switch'in Hash hesaplamasında hangi alanları kullandığı show etherchannel load-balance komutuyla görülür.
show etherchannel load-balance
Çıktıdaki src-dst-ip değeri, bu Switch'te kullanılan Load-Balance yöntemini gösteriyor. IPv4 ve IPv6 trafiğinde kaynak ve hedef IP adresleri XOR işlemine sokularak Hash değeri üretiliyor. IP dışındaki trafikte ise kaynak ve hedef MAC adresleri kullanılıyor.

Trafik deseni mevcut yöntemle dengeli dağılmıyorsa yöntem Global Configuration Mode'da port-channel load-balance komutuyla değiştirilebilir. Cisco, Hash dağılımının dengeli olması için Port-Channel üye sayısının 2, 4 veya 8 olarak planlanmasını önerir. Sık kullanılan yöntemler ve uygun oldukları senaryolar aşağıdaki tabloda yer alıyor.
|
Yöntem |
Hash Hesaplamasına Giren Alanlar |
Uygun Senaryo |
|
src-mac |
Kaynak MAC adresi |
Çok sayıda Client'ın aynı Gateway'e yöneldiği Layer 2 yapılar |
|
src-dst-mac |
Kaynak ve hedef MAC adresi |
IP dışı trafiğin yoğun olduğu Layer 2 ortamlar |
|
src-dst-ip |
Kaynak ve hedef IP adresi |
Genel amaçlı kurumsal Network'ler |
|
src-dst-mixed-ip-port |
Kaynak ve hedef IP adresi ile Layer 4 port numaraları |
Aynı iki IP adresi arasında çok sayıda oturumun açıldığı Server ve Storage bağlantıları |
configure terminal
port-channel load-balance src-dst-mixed-ip-port
end
port-channel load-balance Global bir ayardır ve Switch üzerindeki tüm Port-Channel'ları etkiler. Ayar giden trafiğin dağıtımını belirlediği için her Switch kendi tarafında ayrı yapılandırılır.
Access Port'lar Üzerinden LACP Yapılandırması
İkinci senaryoda aynı iki Switch arasında, bu kez ön paneldeki 1G bakır Port'lar kullanılarak ikinci bir Port-Channel kuruluyor. Bu yapı, Uplink Port'ları dolu olan veya 10G modülü bulunmayan Switch'ler arasında kapasite ve yedeklilik sağlamak için sahada sık başvurulan bir yöntemdir.
Burada geçen Access Port ifadesi Switch'in ön panelindeki kullanıcı Port'larını tanımlar ve VLAN yapılandırmasındaki access modu ile karıştırılmamalıdır. Bu Port'lardan kurulan Port-Channel iki Switch arasında birden fazla VLAN taşıyacağı için Uplink senaryosunda olduğu gibi Trunk modunda yapılandırılıyor.
Topoloji ve Port Eşleşmesi
SW1 tarafında alt sıradaki Gi1/0/13 ile Gi1/0/16 arasındaki Port'lar, SW2 tarafında ise üst sıradaki Gi1/0/1 ile Gi1/0/4 arasındaki Port'lar kullanılıyor. Gi kısaltması 1 Gbps hızındaki GigabitEthernet Port'larını ifade eder. Dört adet 1G Link, Port-Channel 2 altında birleştirilerek 4G kapasiteli bir mantıksal bağlantı oluşturuyor.

İki uçta farklı port numaralarının kullanılması LACP açısından sorun oluşturmaz. Port-Channel'ın iki ucundaki üye port numaralarının ve Port-Channel numaralarının eşleşmesi gerekmez. Uyumlu olması gereken, her Switch'teki üye Port'ların hızı ve Layer 2 yapılandırmasıdır. Kablolamada kullanılan port eşleşmesi aşağıdaki tabloda yer alıyor.
|
Link |
SW1 Port |
SW2 Port |
Hız |
|
1 |
Gi1/0/13 |
Gi1/0/1 |
1 Gbps |
|
2 |
Gi1/0/14 |
Gi1/0/2 |
1 Gbps |
|
3 |
Gi1/0/15 |
Gi1/0/3 |
1 Gbps |
|
4 |
Gi1/0/16 |
Gi1/0/4 |
1 Gbps |
SW1 Üzerinde Port-Channel Yapılandırması
Yapılandırma mantığı Uplink senaryosuyla aynıdır. Farklar, Interface türünün GigabitEthernet olması ve Port-Channel numarası olarak 2'nin kullanılmasıdır. Port-Channel 1 Uplink Port'ları tarafından kullanıldığı için Access Port'ları ayrı bir channel-group altında toplanıyor.
configure terminal
interface range GigabitEthernet1/0/13 - 16
switchport mode trunk
channel-group 2 mode active
exit
interface Port-channel 2
switchport mode trunk
end
channel-group 2 komutuyla birlikte Port-channel 2 Interface'i oluşturuluyor ve ardından Port-Channel üzerinde Trunk modu tanımlanıyor.

SW2 Üzerinde Port-Channel Yapılandırması
SW2 tarafında aynı komut seti Gi1/0/1 ile Gi1/0/4 arasındaki Port'lar için uygulanıyor.
configure terminal
interface range GigabitEthernet1/0/1 - 4
switchport mode trunk
channel-group 2 mode active
exit
interface Port-channel 2
switchport mode trunk
end
Port-channel2 için gelen %LINK-3-UPDOWN ve %LINEPROTO-5-UPDOWN mesajları, iki Switch arasındaki LACP müzakeresinin tamamlandığını ve Port-Channel'ın Up durumuna geçtiğini gösteriyor.

Port-Channel Durumunun Doğrulanması
Doğrulama için Uplink senaryosundaki komutlar Port-channel 2 için çalıştırılıyor.
show etherchannel summary | begin Group
show interfaces Port-channel 2 | include BW|Members
Çıktıda iki Port-Channel birlikte görünüyor. Po1 dört adet 10G üyeyle, Po2 ise dört adet 1G üyeyle SU durumunda çalışıyor ve tüm üye Port'lar P Flag'i taşıyor. Port-channel 2 için BW değerinin 4000000 Kbit/sec olması, Access Port'larından kurulan Bundle'ın 4 Gbps kapasiteyle çalıştığını doğruluyor. Flow bazlı dağıtım burada da geçerlidir ve tek bir Flow 1 Gbps ile sınırlı kalır.

LACP yapılandırmasında belirleyici olan port türü değil, üye Port'ların birbiriyle uyumudur. 10G Uplink Port'larda da 1G Access Port'larda da aynı komut seti kullanılır ve aynı doğrulama adımları izlenir. İki uçta active modun tercih edilmesi, üye port ayarlarının Port-Channel Interface'i üzerinden yönetilmesi ve kapasite planlamasında tek Flow sınırının hesaba katılması, sahada sonradan karşılaşılacak sorunların büyük kısmını baştan önler.
Bu makalede, Cisco Catalyst 9300 Switch'ler üzerinde LACP ile EtherChannel yapılandırması, 10G Uplink Port'lar ve 1G Access Port'lar olmak üzere iki farklı senaryo üzerinden ele alındı. LACP'nin birden fazla fiziksel Link'i tek bir mantıksal Port-Channel altında birleştirerek Spanning Tree Protocol'ün yedek Link'leri Blocking durumuna almasını nasıl önlediği ve bant genişliğini nasıl artırdığı uygulamalı olarak gösterildi.
Port-Channel yapılandırmasında active ve passive modlar, LACPDU müzakeresi ve her Switch'teki üye Port'lar arasındaki Speed, Duplex, Trunk ve VLAN uyumu belirleyici rol oynar. show etherchannel summary çıktısındaki Flag'ler, bir Port'un Bundle'a neden dahil edilmediğini anlamak için sahada ilk bakılan yerdir.
EtherChannel'ın sunduğu toplam kapasite, Flow bazlı Load-Balance mekanizması nedeniyle tek bir Flow için üye Link hızıyla sınırlıdır. Hash yöntemi trafik desenine göre seçildiğinde ve üye sayısı 2, 4 veya 8 olarak planlandığında Port-Channel kapasitesi daha dengeli kullanılır.
Cisco CCNA müfredatında yer alan LACP, kurumsal Network'lerde Switch'ler arası Uplink bağlantılardan Server bağlantılarına kadar geniş bir alanda kullanılır ve yedeklilik ile kapasiteyi aynı yapılandırmada bir araya getirir.
Faydalı olması dileğiyle...
Makale ile ilgili düşüncelerinizi ve sorularınızı aşağıdaki yorum kısmında paylaşmaktan çekinmeyin. Her katkı, içeriğin daha fazla kişiye ulaşmasını ve daha faydalı bir tartışma ortamı oluşmasını sağlar.