Dnes se podíváme na fungování protokolu agregace kanálů Layer 2 EtherChannel pro vrstvu 2 modelu OSI. Tento protokol se příliš neliší od protokolu Layer 3, ale než se ponoříme do Layer 3 EtherChannel, musím představit několik konceptů, abychom se k vrstvě 1.5 dostali později. Pokračujeme v dodržování rozvrhu kurzů CCNA, takže dnes probereme sekci 2, Konfigurace, testování a odstraňování problémů EtherChannel na vrstvě 3/1.5, a podsekce 1.5a, Statický EtherChannel, 1.5b, PAGP a XNUMXc, IEEE - LACP Open Standard.
Než půjdeme dále, musíme pochopit, co je to EtherChannel. Předpokládejme, že máme přepínač A a přepínač B redundantně propojeny třemi komunikačními linkami. Pokud použijete STP, budou dvě další linky logicky zablokovány, aby se zabránilo smyčkám.
Řekněme, že máme porty FastEthernet, které poskytují provoz 100 Mbps, takže celková propustnost je 3 x 100 = 300 Mbps. Ponecháváme pouze jeden komunikační kanál, kvůli kterému klesne na 100 Mbit/s, tedy v tomto případě STP zhorší vlastnosti sítě. Navíc 2 další kanály budou marně nečinné.
Aby tomu zabránila, KALPANA, společnost, která vytvořila přepínače Cisco Catalist a později byla koupena společností Cisco, vyvinula v 1990. letech technologii nazvanou EtherChannel.
V našem případě tato technologie promění tři samostatné komunikační kanály v jeden logický kanál s kapacitou 300 Mbit/s.
První režim technologie EtherChannel je manuální nebo statický režim. V tomto případě spínače za žádných přenosových podmínek nic neudělají a spoléhají na to, že všechna manuální nastavení provozních parametrů byla provedena správně. Kanál se jednoduše zapne a funguje, zcela důvěřuje nastavení správce sítě.
Druhým režimem je proprietární protokol Cisco PAGP link aggregation, třetím je standardní protokol IEEE LACP link aggregation protocol.
Aby tyto režimy fungovaly, musí být k dispozici EtherChannel. Statická verze tohoto protokolu se velmi snadno aktivuje: musíte přejít do nastavení rozhraní přepínače a zadat příkaz režimu channel-group 1.
Pokud máme přepínač A se dvěma rozhraními f0/1 a f0/2, musíme jít do nastavení každého portu a zadat tento příkaz a číslo skupiny rozhraní EtherChannel může mít hodnotu od 1 do 6, hlavní je, že tato hodnota je stejná pro všechny porty přepínače. Kromě toho musí porty fungovat ve stejných režimech: oba v režimu přístupu nebo oba v režimu trunk a mít stejnou nativní VLAN nebo povolenou VLAN.
Agregace EtherChannel bude fungovat pouze v případě, že skupina kanálů sestává z identicky nakonfigurovaných rozhraní.
Zapojme spínač A se dvěma komunikačními linkami ke spínači B, který má také dvě rozhraní f0/1 a f0/2. Tato rozhraní tvoří svou vlastní skupinu. Můžete je nakonfigurovat pro práci v EtherChannel pomocí stejného příkazu a na čísle skupiny nezáleží, protože jsou umístěny na místním přepínači. Tuto skupinu můžete označit jako číslo 1 a vše bude fungovat. Pamatujte však - aby oba kanály fungovaly bez problémů, všechna rozhraní musí být nakonfigurována přesně stejně, na stejný režim - přístup nebo trunk. Poté, co jste přešli do nastavení obou rozhraní přepínače A a přepínače B a na příkaz vstoupili do režimu skupiny kanálů 1, bude agregace kanálů EtherChannel dokončena.
Obě fyzická rozhraní každého přepínače budou fungovat jako jedno logické rozhraní. Pokud se podíváme na parametry STP, uvidíme, že přepínač A bude zobrazovat jedno společné rozhraní, seskupené ze dvou fyzických portů.
Pojďme k PAGP, protokolu agregace portů vyvinutý společností Cisco.
Představme si stejný obrázek - dva přepínače A a B, každý s rozhraními f0/1 a f0/2, propojené dvěma komunikačními linkami. Chcete-li povolit PAGP, použijte stejný příkazový režim channel-group 1 s parametry . V ručním statickém režimu jednoduše vstoupíte na příkaz do režimu skupiny kanálů 1 na všech rozhraních a agregace začne fungovat; zde musíte zadat požadovaný nebo automatický parametr. Pokud zadáte příkaz režimu skupiny kanálů 1 se znaménkem ?, systém zobrazí výzvu s možnostmi parametrů: zapnuto, žádoucí, auto, pasivní, aktivní.
Pokud zadáte stejný požadovaný příkaz v režimu skupiny kanálů 1 na obou koncích komunikační linky, aktivuje se režim EtherChannel. Totéž se stane, pokud na jednom konci kanálu jsou rozhraní nakonfigurována požadovaným příkazem v režimu channel-group 1 a na druhém konci pomocí automatického příkazu v režimu channel-group 1.
Pokud jsou však rozhraní na obou koncích linek nakonfigurována na auto pomocí automatického příkazu v režimu channel-group 1, k agregaci linky nedojde. Proto si pamatujte – pokud chcete používat EtherChannel přes protokol PAGP, musí být rozhraní alespoň jedné ze stran v požadovaném stavu.
Při použití otevřeného protokolu LACP pro agregaci kanálů se použije stejný příkaz režimu skupiny kanálů 1 s parametry .
Možné kombinace nastavení na obou stranách kanálů jsou následující: pokud jsou rozhraní nakonfigurována na aktivní režim nebo jedna strana na aktivní a druhá na pasivní, bude fungovat režim EtherChannel; pokud jsou obě skupiny rozhraní nakonfigurovány na pasivní, kanál k agregaci nedojde. Je třeba mít na paměti, že aby bylo možné organizovat agregaci kanálů pomocí protokolu LACP, musí být alespoň jedna ze skupin rozhraní v aktivním stavu.
Pokusme se odpovědět na otázku: pokud máme přepínače A a B propojené komunikačními linkami a rozhraní jednoho přepínače jsou v aktivním stavu a druhého v automatickém nebo žádoucím stavu, bude EtherChannel fungovat?
Ne, nebude, protože síť musí používat stejný protokol – buď PAGP nebo LACP, protože nejsou vzájemně kompatibilní.
Podívejme se na několik příkazů používaných k organizaci EtherChannelu. Nejprve je potřeba přiřadit číslo skupiny, může to být cokoliv. Pro režim prvního povelového kanálu-skupiny 1 můžete jako možnost vybrat 5 parametrů: zapnuto, žádoucí, auto, pasivní nebo aktivní.
V dílčích příkazech rozhraní používáme klíčové slovo channel-group, ale pokud například chcete zadat vyvažování zátěže, použije se slovo port-channel. Podívejme se, co je to vyvažování zátěže.
Předpokládejme, že máme přepínač A se dvěma porty, které jsou připojeny k odpovídajícím portům přepínače B. Na přepínač B - 3 jsou připojeny tři počítače a na přepínač A je připojen jeden počítač č.1,2,3.
Když se provoz přesune z počítače č. 4 na počítač č. 1, přepínač A začne vysílat pakety na obou linkách. Metoda vyrovnávání zátěže využívá hashování MAC adresy odesílatele, takže veškerý provoz ze čtvrtého počítače bude procházet pouze jedním ze dvou spojení. Pokud k přepínači A připojíme počítač č. 5, bude se provoz tohoto počítače díky rozložení zátěže pohybovat pouze po jedné, spodní komunikační lince.
To však není typická situace. Řekněme, že máme cloudový internet a zařízení, ke kterému je připojen přepínač A se třemi počítači. Internetový provoz bude směrován na switch s MAC adresou tohoto zařízení, tedy s adresou konkrétního portu, protože toto zařízení je brána. Veškerý odchozí provoz tedy bude mít MAC adresu tohoto zařízení.
Pokud před spínač A umístíme spínač B, spojený s ním třemi komunikačními linkami, pak veškerý provoz spínače B ve směru spínače A bude proudit po jedné z linek, což nesplňuje naše cíle. Proto musíme pro tento přepínač nastavit parametry vyvážení.
K tomu použijte příkaz port-channel load-balance, kde je jako parametr volby použita cílová IP adresa. Pokud se jedná o adresu počítače č. 1, bude provoz proudit po první lince, pokud č. 3 - po třetí, a pokud zadáte IP adresu druhého počítače, pak po střední komunikační lince.
K tomu příkaz používá klíčové slovo port-channel v režimu globální konfigurace.
Pokud chcete vidět, které linky jsou zapojeny do kanálu a které protokoly se používají, pak v privilegovaném režimu musíte zadat příkaz show etherchannel Summary. Nastavení vyvažování zátěže můžete zobrazit pomocí příkazu show etherchannel load-balance.
Nyní se na to vše podíváme v programu Packet Tracer. Máme 2 přepínače propojené dvěma spoji. STP začne fungovat a jeden ze 4 portů bude zablokován.
Přejdeme do nastavení SW0 a zadáme příkaz show spanning-tree. Vidíme, že STP funguje a můžeme zkontrolovat Root ID a Bridge ID. Pomocí stejného příkazu pro druhý přepínač uvidíme, že první přepínač SW0 je kořenový, protože na rozdíl od SW1 jsou jeho hodnoty identifikátoru Root a Bridge stejné. Kromě toho je zde zpráva, že SW0 je kořen - „Tento most je kořen“.
Oba porty kořenového přepínače jsou ve stavu Určeno, blokovaný port druhého přepínače je označen jako Alternativní a druhý je označen jako kořenový port. Můžete vidět, jak STP bezchybně provádí veškerou potřebnou práci a automaticky nastavuje připojení.
Aktivujeme protokol PAGP, k tomu v nastavení SW0 zadáváme postupně příkazy int f0/1 a channel-group 1 mode s jedním z 5 možných parametrů, já používám žádoucí.
Můžete vidět, že linkový protokol byl nejprve deaktivován a poté znovu povolen, to znamená, že provedené změny se projevily a bylo vytvořeno rozhraní Port-channel 1.
Nyní pojďme do rozhraní f0/2 a zadejte stejný požadovaný příkazový režim kanál-skupina 1.
Můžete vidět, že nyní jsou porty horního spoje označeny zelenou značkou a porty dolního spoje jsou označeny oranžovou značkou. V tomto případě nemůže existovat smíšený režim žádoucích - automatických portů, protože všechna rozhraní jednoho přepínače musí být nakonfigurována stejným příkazem. Automatický režim lze použít na druhém přepínači, ale na prvním musí všechny porty pracovat ve stejném režimu, v tomto případě je to žádoucí.
Pojďme do nastavení SW1 a použijme příkaz pro rozsah rozhraní int range f0/1-2, abychom nezadávali ručně příkazy zvlášť pro každé z rozhraní, ale abychom oba konfigurovali jedním příkazem.
Používám příkaz režimu channel-group 2, ale pro označení skupiny rozhraní druhého přepínače mohu použít libovolné číslo od 1 do 6. Protože opačná strana kanálu je nakonfigurována v požadovaném režimu, musí být rozhraní tohoto přepínače v požadovaném nebo automatickém režimu. Vyberu první parametr, napíšu požadovaný režim skupiny kanálů 2 a stisknu Enter.
Vidíme zprávu, že rozhraní kanálu Port-channel 2 bylo vytvořeno a porty f0/1 a f0/2 se postupně přesunuly ze stavu dolů do stavu nahoru. Následuje zpráva, že rozhraní Port-channel 2 se přepnulo do stavu up a že se také zapnul linkový protokol tohoto rozhraní. Nyní jsme vytvořili agregovaný EtherChannel.
Můžete to ověřit tak, že přejdete do nastavení přepínače SW0 a zadáte příkaz show etherchannel Summary. Můžete vidět různé příznaky, na které se podíváme později, a pak skupinu 1 pomocí 1 kanálu, počet agregátorů je také 1. Po1 znamená PortChannel 1 a označení (SU) znamená S - příznak vrstvy 2, U - použitý. Následující text ukazuje použitý protokol PAGP a fyzické porty agregované do kanálu - Fa0/1 (P) a Fa0/2 (P), kde příznak P označuje, že tyto porty jsou součástí PortChannelu.
Používám stejné příkazy pro druhý přepínač a okno CLI zobrazuje podobné informace pro SW1.
Zadám příkaz show spanning-tree v nastavení SW1 a můžete vidět, že PortChannel 2 je jediné logické rozhraní a jeho cena ve srovnání s cenou dvou samostatných portů 19 se snížila na 9.
Udělejme totéž s prvním spínačem. Vidíte, že parametry Root se nezměnily, ale nyní je mezi dvěma přepínači místo dvou fyzických spojení jedno logické rozhraní Po1-Po2.
Zkusme nahradit PAGP LACP. K tomu v nastavení prvního přepínače používám příkaz pro rozsah rozhraní int rozsah f0/1-2. Pokud nyní vydám aktivní příkaz channel-group1 mode active pro povolení LACP, bude odmítnut, protože porty Fa0/1 a Fa0/2 jsou již součástí kanálu používajícího jiný protokol.
Nejprve tedy musím zadat příkaz no channel-group 1 mode active a teprve poté použít příkaz channel-group1 mode active. Udělejme totéž s druhým přepínačem, nejprve zadáme příkaz no channel-group 2 a poté příkaz channel-group 2 aktivní. Pokud se podíváte na parametry rozhraní, můžete vidět, že Po2 je znovu zapnutý, ale stále je v režimu protokolu PAGP. To není pravda, protože v současné době máme aktivní LACP a v tomto případě jsou parametry programem Packet Tracer zobrazeny nesprávně.
K vyřešení tohoto rozporu používám dočasné řešení – vytvoření dalšího PortChannelu. Za tímto účelem zadávám příkazy int range f0/1-2 a no channel-group 2 a poté je aktivní příkaz channel-group 2 mode. Podívejme se, jak to ovlivní první přepínač. Zadám příkaz show etherchannel Summary a vidím, že Po1 se opět zobrazí jako používající PAGP. Toto je problém v simulaci Packet Tracer, protože PortChannel je aktuálně vypnutý a neměli bychom mít žádný kanál.
Vrátím se do okna CLI druhého přepínače a zadám příkaz show etherchannel Summary. Nyní je Po2 zobrazen s indexem (SD), kde D znamená dolů, to znamená, že kanál nefunguje. Technicky je zde PortChannel přítomen, ale není použit, protože s ním není spojen žádný port.
V nastavení prvního přepínače zadám příkazy int range f0/1-2 a no channel-group 1 a poté vytvořím novou skupinu kanálů, tentokrát číslo 2, pomocí aktivního příkazu v režimu channel-group 2. Pak udělám to samé v nastavení druhého přepínače, teprve teď dostane skupina kanálů číslo 1.
Nyní byla na prvním přepínači vytvořena nová skupina Port Channel 2 a na druhém Port Channel 1. Jednoduše jsem prohodil názvy skupin. Jak vidíte, technicky jsem na druhém přepínači vytvořil nový Port Channel a nyní se zobrazuje se správným parametrem - po zadání příkazu show etherchannel Summary vidíme, že Po1 (SU) používá LACP.
Úplně stejný obrázek vidíme v okně CLI přepínače SW0 - nová skupina Po2 (SU) pracuje pod LACP řízením.
Zvažte rozdíl mezi rozhraním, které je v aktivním stavu, a rozhraním, které je vždy v zapnutém stavu. Vytvořím novou skupinu kanálů pro přepínač SW0 se zapnutými příkazy int range f0/1-2 a channel-group 3 mode. Předtím musíte vymazat skupiny kanálů 1 a 2 pomocí příkazů no channel-group 1 a no channel-group 2, jinak, když se pokusíte použít režim channel-group 3 na příkaz, systém zobrazí zprávu, že rozhraní se již používá pro práci s protokolem jiného kanálu.
To samé uděláme s druhým přepínačem - vymažeme kanál-skupinu 1 a 2 a vytvoříme skupinu 3 se zapnutým příkazem channel-group 3 mode. Nyní přejdeme do nastavení SW0 a použijeme příkaz show etherchannel Summary. Uvidíte, že nový kanál Po3 je již spuštěn a nevyžaduje žádné předběžné operace jako PAGP nebo LACP.
Zapne se okamžitě, bez deaktivace a následného povolení portů. Pomocí stejného příkazu pro SW1 uvidíme, že zde Po3 nepoužívá žádný protokol, to znamená, že jsme vytvořili statický EtherChannel.
Cisco tvrdí, že aby byly sítě široce dostupné, musíme zapomenout na PAGP a použít statický EtherChannel jako spolehlivější způsob agregace odkazů.
Jak provádíme vyrovnávání zátěže? Vrátím se do okna SW0 switch CLI a zadám příkaz show etherchannel load-balance. Můžete vidět, že vyrovnávání zátěže se provádí na základě zdrojové MAC adresy.
Obvykle balancování používá tento parametr, ale někdy nevyhovuje našim účelům. Chceme-li tento způsob vyvažování změnit, musíme vstoupit do režimu globální konfigurace a zadat příkaz port-channel load-balance, po kterém systém zobrazí výzvy s možnými parametry pro tento příkaz.
Pokud zadáte parametr vyvažování zátěže portu-kanálu src-mac, to znamená, že zadáte zdrojovou adresu MAC, bude povolena funkce hash, která pak určí, které z portů, které jsou součástí daného EtherChannelu, by měly být použity k dopředný provoz. Kdykoli je zdrojová adresa stejná, systém použije toto specifické fyzické rozhraní k odeslání provozu.
Děkujeme, že s námi zůstáváte. Líbí se vám naše články? Chcete vidět více zajímavého obsahu? Podpořte nás objednávkou nebo doporučením přátelům, 30% sleva pro uživatele Habr na unikátní obdobu entry-level serverů, kterou jsme pro vás vymysleli:
Dell R730xd 2x levnější? Pouze zde
Zdroj: www.habr.com