Redundancia a helyi hálózatban: STP, linkaggregáció, stack

Mi történik, ha kiesik egy kapcsoló vagy elszakad egy kábel? Hurokvédelem, linkaggregáció, stack és átjáró-redundancia a vállalati hálózatban.

Téma
Hálózat
Szerző
ARLITECH szakértői csapat
Megjelent

A helyi hálózatot ritkán veszi észre bárki, amíg működik. Ha egy maghálózati kapcsoló tápegysége megadja magát, vagy valaki a szerelés közben kihúz egy rossz kábelt, egyszerre áll le a fájlszerver elérése és a telefonközpont. A redundancia arra való, hogy egy ilyen hiba után a forgalom másik úton menjen tovább, lehetőleg úgy, hogy a felhasználók észre se vegyék.

A tartalék út viszont maga is gondot okoz: két kapcsoló között két kábel már hurkot jelent, és az Ethernet nem bírja a hurkot. Ezért a redundáns hálózat több, egymásra épülő mechanizmusból áll, és mindegyik másfajta hibát kezel.

Mi történik, ha kiesik egy kapcsoló

Egy tipikus vállalati hálózat két vagy három rétegből áll. A végpontok a hozzáférési kapcsolókhoz csatlakoznak, ezek felfelé egy elosztó- vagy maghálózati réteghez, ahol a VLAN-ok közötti útválasztás és az alapértelmezett átjáró is található. Hogy egy hiba mekkora kiesést okoz, azon múlik, hol történik és mi van mögötte tartaléknak.

  • Ha egy hozzáférési kapcsoló áll le, az összes rá kötött gép, telefon és hozzáférési pont kiesik. Egy egyetlen kábellel bekötött asztali gépnél ez ellen a hálózat oldalán nincs mit tenni, a cél a hiba gyors észlelése és a csere.
  • Ha a hozzáférési kapcsoló felfelé vezető kábele szakad el, és csak egy van, a kapcsoló minden végpontja elszigetelődik, pedig maga az eszköz ép.
  • Ha a maghálózati kapcsoló esik ki, és rajta van az összes VLAN alapértelmezett átjárója, az egész telephelyen leáll a szegmensek közötti forgalom és az internetelérés.

A tervezés első lépése ezért egy egyszerű lista: mely eszközök és kábelek kiesése állít le egynél több szegmenst. Ezek az egyedüli hibapontok. A felhasználói hozzáférésnél általában elfogadható egy kapcsoló kiesése, a felfelé vezető kapcsolatoknál, a maghálózatnál, a szerverek és a tárolók bekötésénél többnyire nem.

Az áramellátás is ide tartozik. Két tápegység ugyanarról az áramkörről, vagy két kapcsoló ugyanazon a szünetmentes tápon nem ad valódi tartalékot.

Hurokvédelem: STP és RSTP

Az Ethernet-keretben nincs élettartam-számláló, amely egy idő után eldobatná a körbe járó csomagot. Ha két kapcsoló között két párhuzamos út van, a szórásos keretek, például az ARP-kérések, végtelenül köröznek és sokszorozódnak. Pár másodperc alatt kialakul a szórásvihar: a linkek megtelnek, a kapcsolók MAC-táblája folyamatosan átíródik, mert ugyanazt a címet hol az egyik, hol a másik porton látják, és a hálózat használhatatlanná válik.

A feszítőfa-protokoll (Spanning Tree Protocol, STP, IEEE 802.1D) ezt úgy oldja meg, hogy a redundáns utak közül néhányat logikailag letilt, így a fizikai topológiában lévő hurkokból fa lesz. A kapcsolók először gyökérhidat választanak: a legkisebb híd-azonosítójú eszközt, amely a beállított prioritásból és a MAC-címből áll. Ezután minden kapcsoló kiválasztja a gyökérhez vezető legolcsóbb utat, a fölösleges portokat pedig blokkolt állapotba teszi. Ha egy aktív út megszakad, a blokkolt port átveszi a helyét.

Miért lassú a klasszikus STP

Az eredeti STP időzítőkre épül. A szabvány alapértékeivel egy port a hallgatózó és a tanuló állapoton át 2 × 15 másodperc alatt jut el a továbbításig, és ha a hibát közvetve kell észlelni, ehhez még a 20 másodperces max age is hozzájön. Egy kábelszakadás így közvetlen hibánál nagyjából 30, közvetett hibánál közel 50 másodperces kiesést okozhat. A gyors feszítőfa (RSTP, eredetileg IEEE 802.1w, ma az IEEE 802.1D-2004 része) a pont-pont kapcsolatokon a szomszédok közötti egyeztetéssel kapcsol át, ezért jóval gyorsabb. Ahol sok VLAN van, az MSTP (IEEE 802.1Q) VLAN-csoportonként külön fát tud építeni, így a terhelés két felfelé vezető ág között is megosztható.

Beállítások, amelyeken a stabilitás múlik

  • A gyökérhidat kézzel kell kijelölni. Alapértelmezésben minden kapcsoló azonos prioritással indul (32768), ilyenkor a legkisebb MAC-cím nyer, ami gyakran egy régi hozzáférési kapcsoló a szekrény sarkában. A gyökér a maghálózati kapcsoló legyen, a másik maghálózati eszköz pedig a tartalék gyökér.
  • A végpontokra néző portok edge portként fussanak. Így bekapcsoláskor azonnal továbbítanak, és nem okoznak topológiaváltozást, amikor egy gépet ki- vagy bekapcsolnak.
  • Ugyanezeken a portokon legyen BPDU-védelem. Ha valaki egy saját kapcsolót köt az asztali aljzatba, és az feszítőfát futtat vagy hurkot okoz, a port feszítőfa-üzenetet (BPDU) kap, és lekapcsol, így a behozott eszköz nem szólhat bele a fa felépítésébe. Egy feszítőfát nem futtató, egyszerű asztali kapcsolót a védelem csak akkor vesz észre, ha az hurkot hoz létre.
  • A gyökérvédelem (root guard) a hozzáférési réteg felé néző portokon megakadályozza, hogy egy onnan érkező, jobb (kisebb értékű) híd-azonosítót hirdető eszköz átvegye a gyökér szerepét.

Az STP-t akkor sem érdemes kikapcsolni, ha a hálózatban elvileg nincs hurok. Szórásvihart gyakran egy véletlenül két aljzat közé dugott patchkábel okoz, és ezt csak a hurokvédelem fogja meg.

Linkaggregáció (LACP)

Az STP a redundáns utak egy részét tétlenül hagyja. A linkaggregáció ehelyett több fizikai kapcsolatot egy logikai kapcsolattá fog össze: a két kapcsoló egyetlen portnak látja a köteget, az STP szempontjából nincs hurok, és minden tagport forgalmat visz. Ha egy kábel elszakad, a forgalom a megmaradt tagokon megy tovább, a feszítőfának nem kell újraszámolnia semmit.

A köteg kétféleképpen jöhet létre. Statikus beállításnál mindkét oldalon kézzel kötik össze a portokat, és egyik eszköz sem ellenőrzi, hogy a túloldal is így van-e beállítva. Az LACP (Link Aggregation Control Protocol, IEEE 802.1AX, eredetileg IEEE 802.3ad) üzeneteket cserél a két oldal között, és csak azt a portot veszi fel a kötegbe, amelyről a túloldal is megerősíti, hogy ugyanabba a kötegbe tartozik. Egy rossz helyre dugott kábel vagy egy hibás oldali beállítás így kimarad a kötegből, ahelyett hogy hurkot vagy fekete lyukat okozna. Ezért az LACP a jobb választás, ahol mindkét oldal támogatja.

Amit a köteg nem tud

A forgalom elosztása folyamatonként történik: a kapcsoló a címekből és portszámokból képzett érték alapján dönti el, melyik tagporton megy egy adott kapcsolat. Egy két 10 Gbit/s-os tagból álló köteg ezért összesen 20 Gbit/s-ot visz, de egyetlen fájlmásolás vagy mentési folyamat továbbra is csak egy tag sebességét kapja meg. A tagportok azonos sebességűek és azonos beállításúak legyenek, ugyanazzal a VLAN-listával.

A legfontosabb korlát: ha a köteg mindkét vége egy-egy kapcsoló, és az egyik kiesik, a köteg is megszűnik.

Stack és több eszközön átívelő linkaggregáció

Eszközkiesés ellen úgy lehet védekezni, hogy a köteg tagjai két különböző kapcsolón végződnek. Ehhez a két kapcsolónak a túloldal felé egy eszköznek kell látszania. Erre két elterjedt megoldás van.

Stack

A stack több fizikai kapcsolót egyetlen logikai eszközzé kapcsol össze, jellemzően külön stackkábellel vagy erre kijelölt portokkal. Egy tag a vezérlő, a stacknek egy konfigurációja és egy kezelőfelülete van, a portok pedig tagonként számozódnak. A linkaggregáció tagjai így tetszőleges stacktagra köthetők: egy szerver két hálózati kártyája két külön fizikai kapcsolóra kerül, mégis egy kötegbe tartozik. Ha egy tag kiesik, a köteg a másikon fut tovább.

Mivel a stack egy vezérlősíkkal működik, egy szoftverhiba vagy egy elrontott konfigurációs parancs az összes tagot egyszerre érinti. A firmware-frissítés sok esetben az egész stack újraindításával jár. Ha pedig a tagok közötti kapcsolat megszakad, és a stack két részre esik szét, mindkét fél vezérlőnek tekintheti magát, azonos IP-címmel és konfigurációval. A gyártók ennek kezelésére külön észlelési mechanizmust kínálnak, ezt be kell állítani.

Több eszközön átívelő linkaggregáció

A másik megoldásnál két önálló kapcsoló marad két vezérlősíkkal, saját konfigurációval, és egy közöttük futó szinkronizáló kapcsolaton keresztül egyeztetik, hogy a túloldal felé egy LACP-partnernek látszanak. A végpont vagy a hozzáférési kapcsoló ebből annyit érzékel, hogy egy szokásos kötegben van. A két eszköz egymástól függetlenül frissíthető, és egyik szoftverhibája nem viszi magával a másikat. Cserébe a beállítás összetettebb, a két kapcsoló konfigurációját összhangban kell tartani, a megoldástól függően részben kézzel, és a megoldás gyártónként eltérő névvel és működéssel érhető el, két különböző gyártó eszköze között nem működik. Külön figyelmet kér a két kapcsoló közötti szinkronizáló kapcsolat: ha megszakad, miközben mindkét eszköz működik, mindkettő a saját feje szerint kezdheti kezelni a kötegeket. A megoldások ezért általában egy független életjel-kapcsolatot (keepalive) is használnak, amelyet a szinkronizáló kapcsolattól külön úton érdemes vezetni.

MechanizmusMi ellen védMi ellen nem
STP, RSTP, MSTPHurok, kábel- vagy eszközkiesés tartalék úttalLassú átkapcsolás (klasszikus STP), a tartalék út tétlen
Linkaggregáció két eszköz közöttKábel- vagy portkiesés, plusz sávszélességA túloldali kapcsoló kiesése
StackEgy tag kiesése, ha a kötegek tagokon átívelnekKözös szoftverhiba, frissítés, stack szétesése
Több eszközön átívelő linkaggregációEgy kapcsoló kiesése vagy frissítéseElcsúszott konfiguráció a két eszközön, a szinkronizáló és az életjel-kapcsolat egyidejű kiesése
VRRPAz alapértelmezett átjárót adó eszköz kieséseAz átjáró mögötti uplink kiesése, ha nincs követés

Átjáró-redundancia: VRRP

A végpontok egyetlen alapértelmezett átjáró címét ismerik, amelyet a DHCP oszt ki vagy kézzel állítottak be. Ha ezt a címet egy maghálózati kapcsoló adja, és az kiesik, hiába ép a második maghálózati eszköz, a gépek nem tudják, hogy oda kellene küldeniük a forgalmat. Az alapértelmezett átjárót ezért a harmadik rétegben is redundánssá kell tenni.

A VRRP (Virtual Router Redundancy Protocol, a 3-as verzió az IETF RFC 5798-ban, IPv4-re és IPv6-ra) egy virtuális IP-címet és egy hozzá tartozó virtuális MAC-címet hoz létre, amelyen két vagy több útválasztó osztozik. Közülük mindig egy a master, ez válaszol a virtuális címre és továbbítja a forgalmat, a többiek backupként figyelik a master rendszeres hirdetéseit. Ha a hirdetések elmaradnak, a legnagyobb prioritású backup átveszi a virtuális címet. A végpontok ebből semmit nem érzékelnek: az átjáró címe és MAC-címe ugyanaz marad, a kapcsolók pedig az új master első kereteiből megtanulják, melyik porton érhető el.

Amire figyelni kell

  • Uplink-követés. Ha a master kapcsoló működik, de az internet vagy a tűzfal felé vezető kapcsolata megszakad, a VRRP magától nem vált át, mert a master továbbra is küldi a hirdetéseit. A felfelé vezető interfész vagy útvonal követésével a master ilyenkor csökkenti a saját prioritását, és átadja a szerepet.
  • Preempció. Ha a hiba után a korábbi master visszatér, a preempció beállításán múlik, hogy visszaveszi-e a szerepet. Érdemes némi késleltetést adni neki, hogy csak az útválasztó táblák felépülése után vegye vissza a forgalmat.
  • Összhang a feszítőfával. Ugyanabban a VLAN-ban a VRRP master és az STP gyökérhíd ugyanaz a kapcsoló legyen. Ha nem az, a forgalom fölösleges kerülővel, a két maghálózati kapcsoló közötti kapcsolaton át jut el az átjáróig.

Ha a két maghálózati kapcsoló egy stacket alkot, az átjárót egyetlen logikai eszköz adja, és egy tag kiesésekor a stack maga viszi tovább, külön VRRP nélkül. Több eszközön átívelő linkaggregációnál viszont a két kapcsoló két önálló vezérlősík marad, ezért az átjárót ott is redundánssá kell tenni: VRRP-vel, vagy a gyártó erre épülő, mindkét kapcsolón egyszerre aktív átjáró-megoldásával, amely közös virtuális címet és MAC-címet használ.

Tesztelés: kihúzott kábel, kikapcsolt eszköz

Egy félresikerült LACP-beállítás, egy rossz helyre kerülő gyökérhíd vagy egy hiányzó uplink-követés a normál üzemben semmilyen tünetet nem okoz, csak akkor derül ki, amikor egy valódi hiba miatt átkapcsolásra lenne szükség. Ezért a próbát karbantartási ablakban, előre megírt forgatókönyv szerint érdemes elvégezni, amíg a hiba még nem élesben jön elő.

  1. Előtte rögzíteni kell a kiinduló állapotot: a feszítőfa gyökerét és a blokkolt portokat, a kötegek tagjait, a VRRP master szerepét, a stack vezérlőjét.
  2. Több végpontról folyamatos pinget kell indítani a saját átjárójukra, egy szerverre és egy internetes címre. A kimaradt válaszok száma mutatja, mennyi ideig tartott az átkapcsolás.
  3. Egyszerre egy hibát kell előidézni: kihúzni egy kötegtagot, majd egy uplink kábelt, aztán kikapcsolni egy stacktagot, végül a VRRP master kapcsolót. Minden lépés után meg kell várni, hogy a hálózat visszaálljon az eredeti állapotba, és csak utána jöhet a következő.
  4. A naplóban ellenőrizni kell, hogy a kapcsolók azt csinálták-e, amit a terv szerint kellett, és nem zajlott-e le fölösleges topológiaváltozás a hálózat más részén.
  5. Az eredményt dokumentálni kell: melyik hiba mennyi kiesést okozott, és mi tért el a várttól.

A tesztnek van egy kevésbé látványos része is. Egy redundáns hálózat a hiba után tartalék nélkül működik tovább, a felhasználók pedig ebből semmit nem vesznek észre. Ha a monitorozás nem riaszt egy kiesett kötegtagra, egy blokkolt állapotból továbbítóvá váló portra vagy egy VRRP-szerepcserére, a második hiba már teljes leállást okoz. A próba során ezért azt is meg kell nézni, megérkezett-e minden riasztás. Hogy a hálózatból milyen adat gyűjthető ehhez, arról a hálózati monitorozásról szóló cikk szól.

Gyors önteszt: kérdezze le a maghálózati kapcsolón, melyik eszköz a feszítőfa gyökere. Ha nem maga a maghálózati kapcsoló, vagy senki nem tudja megmondani, miért éppen az, a redundancia átnézése innen indulhat.

Kapcsolódó szolgáltatás: Switching és routing →

Kapcsolat

Készen áll a kritikus rendszerei védelmére?

Szakértőink felmérik biztonsági helyzetét, és egy szervezetéhez illő útitervet dolgoznak ki.

Az ARLITECH gödöllői irodája

Látogasson meg minket

Gödöllői irodánkban személyesen is várjuk.

Cím
Centrum Irodaház, 2100 Gödöllő, Dózsa György út 13, 3. emelet 309
Helyi ügyfélfogadás
H–P 9:00–17:00
Útvonaltervezés (új lapon nyílik)