====== Cisco Switch: Port Channel i Virtual Port Channel ======
W niniejszym tutorialu omówimy krok po kroku, czym są Port Channel (EtherChannel) oraz Virtual Port Channel (vPC), jakie korzyści przynoszą w sieciach opartych na przełącznikach Cisco, a także przedstawimy szczegółowe instrukcje konfiguracji zarówno na przełącznikach Catalyst (IOS), jak i Nexus (NX-OS). Zaczniemy od wyjaśnienia podstawowych pojęć, następnie przejdziemy do praktycznych przykładów konfiguracji, a na końcu podsumujemy najlepsze praktyki i scenariusze zastosowań.
===== Czym jest Port Channel (EtherChannel) =====
==== Definicja ====
Port Channel, znany również jako EtherChannel, to technologia łącząca wiele fizycznych portów Ethernet w jeden logiczny interfejs w celu zwiększenia przepustowości i redundancji
Wikipedia
==== Zalety ====
* Agregacja przepustowości: Przy agregacji do 8 portów można uzyskać sumaryczną przepustowość sięgającą 80 Gb/s (dla portów 10 Gb/s)
* Redundancja i odporność na awarie: W razie utraty jednego łącza ruch zostaje automatycznie przekierowany na pozostałe, bez przerwy w transmisji
* Zgodność ze STP: Spanning Tree Protocol traktuje EtherChannel jako pojedyncze łącze, co pozwala wykorzystać wszystkie fizyczne połączenia bez ryzyka pętli
==== Protokoły agregacji ====
* LACP (IEEE 802.3ad): Otwarty standard umożliwiający automatyczne negocjacje agregacji (do 8 aktywnych i 8 pasywnych portów)
* PAgP (Cisco-proprietary): Protokół Cisco do automatycznej agregacji (do 8 aktywnych portów)
* Manual: Ręczna konfiguracja bez protokołu, wymagająca zgodnej konfiguracji po obu stronach
===== Konfiguracja EtherChannel na przełącznikach Cisco Catalyst (IOS) =====
==== Wymagania ====
* Fizyczne porty o takich samych parametrach (prędkość, duplex, VLAN)
* Niezajęty numer port-channel (np. Port-channel1)
==== Przykład konfiguracji LACP ====
Switch(config)# interface range GigabitEthernet1/0/1 - 2
Switch(config-if-range)# channel-group 1 mode active
Switch(config-if-range)# exit
Switch(config)# interface Port-channel1
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan 10,20,30
* mode active uruchamia LACP w trybie aktywnym, negocjując agregację z peerem
==== Weryfikacja stanu ====
Switch# show etherchannel summary
* Polecenie pokaże status poszczególnych portów w kanale
===== Czym jest Virtual Port Channel (vPC) =====
==== Definicja ====
Virtual Port Channel (vPC) to rozwiązanie dostępne na przełącznikach Cisco Nexus, pozwalające na konfigurację Multichassis EtherChannel – agregacji portów pomiędzy dwoma fizycznie niezależnymi przełącznikami w jeden logiczny Port Channel
==== Zalety i różnice ====
* Kontrola pętli: vPC eliminuje blokady STP pomiędzy dwoma urządzeniami, wykorzystując jednocześnie oba aktywne połączenia
* Podwójna redundancja: W przypadku awarii jednego przełącznika, drugi przejmuje ruch bez przerywania sesji
* Oddzielne płaszczyzny kontrolne: vPC zachowuje niezależne kontrolery (control plane) na obu przełącznikach, w przeciwieństwie do VSS czy Stack
Architektura vPC na przełącznikach Nexus
==== Wymagania ====
* Jeden numer domeny vPC (vPC domain ID) na obu przełącznikach
* Dedykowany link VPC Peer-link (najlepiej złożony z co najmniej dwóch portów)
* Kanał Peer-keepalive (protokół ICMP lub BFD) dla monitorowania stanu kontroli
==== Kluczowe elementy ====
* vPC Domain: Obszar, w którym działa para vPC Peerów.
* Peer-link: Fizyczny Port Channel łączący obie strony vPC.
* Peer-keepalive: Kanał do wymiany wiadomości sercowych (heartbeat).
==== Konfiguracja vPC na przełącznikach Cisco Nexus (NX-OS) ====
Poniższy przykład zakłada przełączniki Nexus1 i Nexus2.
=== Włączenie funkcji vpc ===
Nexus(config)# feature vpc
Nexus(config)# feature interface-vlan
=== Konfiguracja domeny vPC i keepalive ===
Nexus(config)# vpc domain 10
Nexus(config-vpc-domain)# peer-keepalive destination 192.168.0.2 source 192.168.0.1
* domain 10 – identyfikator domeny vPC; musi być jednakowy na obu urządzeniach
* peer-keepalive – adresy IP na dedykowanym interfejsie zarządzania
=== Konfiguracja Peer-link ===
Nexus(config)# interface ethernet1/1-2
Nexus(config-if-range)# channel-group 100 mode active
Nexus(config-if-range)# exit
Nexus(config)# interface port-channel100
Nexus(config-if)# switchport
Nexus(config-if)# switchport mode trunk
Nexus(config-if)# vpc peer-link
* mode active włącza LACP na połączeniu
* vpc peer-link oznacza Port Channel jako łącze peer-link
=== Konfiguracja vPC dla urządzeń końcowych ===
Nexus(config)# interface ethernet1/10-11
Nexus(config-if-range)# channel-group 200 mode active
Nexus(config-if-range)# exit
Nexus(config)# interface port-channel200
Nexus(config-if)# switchport
Nexus(config-if)# switchport mode trunk
Nexus(config-if)# vpc 200
* vpc 200 przypisuje Port Channel do vPC domain jako individual vPC
=== Weryfikacja ===
Nexus# show vpc brief
Nexus# show vpc consistency-parameters
* Komendy pozwalają ocenić stan domeny vPC, peer-link i indywidualnych vPC
==== Najlepsze praktyki ====
* Używaj co najmniej dwóch fizycznych łączy w peer-link dla zwiększonej odporności
* Konfiguruj takie same parametry portów (MTU, trunking, VLAN) po obu stronach
* Monitoruj stan za pomocą show vpc i logów systemowych regularnie
==== Zastosowania ====
* Centra danych: Redundantne połączenia serwerów z podwójną ścieżką aktywną.
* Rdzeń sieci: Agregacja ruchu między dwoma przełącznikami rdzeniowymi.
* Krytyczne aplikacje: Zapewnienie wysokiej dostępności i minimalizacja punktów awarii.
Dzięki Port Channel i vPC można elastycznie skalować sieć, zwiększać przepustowość oraz zapewnić wysoką dostępność, eliminując przy tym pojedyncze punkty awarii.
==== Źródła ====
https://en.wikipedia.org/wiki/EtherChannel
https://networklessons.com/switching/etherchannel-cisco-ios-catalyst-switch
https://study-ccna.com/what-is-etherchannel/
https://www.cisco.com/c/dam/en/us/td/docs/switches/lan/catalyst9600/software/release/16-12/configuration_guide/lyr2/configuring_etherchannels.html
https://community.cisco.com/t5/networking-knowledge-base/steps-for-creating-an-etherchannel-between-catalyst-switches/ta-p/3116712
https://community.cisco.com/t5/server-networking/benefits-of-vpc/td-p/2829937
https://www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus9000/sw/6-x/interfaces/configuration/guide/b_Cisco_Nexus_9000_Series_NX-OS_Interfaces_Configuration_Guide/b_Cisco_Nexus_9000_Series_NX-OS_Interfaces_Configuration_Guide_chapter_0111.html
https://www.cisco.com/c/en/us/support/docs/ios-nx-os-software/nx-os-software/217274-understand-virtual-port-channel-vpc-en.html
https://learningnetwork.cisco.com/s/question/0D56e0000DzEvFnCQK/nexus-vpc-virtual-port-channel-configuration-lab-for-beginners-who-want-to-learn-more-about-it-using-cisco-cml-part-1