Aktuality  |  Články  |  Recenze
Doporučení  |  Diskuze
Grafické karty a hry  |  Procesory
Storage a RAM
Monitory  |  Ostatní
Akumulátory, EV
Robotika, AI
Průzkum vesmíru
Digimanie  |  TV Freak  |  Svět mobilně

Jak zapojíme síť - 1. část: něco málo z teorie

31.8.2005, Martin Kuchař, článek
Jak zapojíme síť - 1. část: něco málo z teorie
Jistě se každý z vás s tím alespoň jednou setkal a nebo se dokonce o nějaké to vybudování sítě pokoušel. Ať už byl výsledek práce jakýkoli, přinášíme vám seriál, kde si v několika dílech ukážeme postupy, jak si místní síť vybudovat, co vše k tomu budeme potřebovat a kolik nás to bude stát.
Jak jsme si tedy v předešlé kapitole ukázali, tak díky switchům dokážeme budovat velmi rozsáhlé sítě s nezávislými segmenty a to bez obav, že nastane nějaké konfliktní prostředí. Nyní si vysvětlíme funkci switche trochu podrobněji.


Switch od společnosti ASUS pro zapojení 24 stanic.

Switch byl vytvořen později po tom, co v používání vešlo zařízení s názvem HUB, jelikož se časem ukázalo, že HUB je pro větší sítě a velké množství stanic nevhodný. Jejich rozdíl si dokážeme nejlépe předvést na principu křižovatek a automobilů. Představte si situaci, kdy na křižovatku přijedou ze všech směrů automobily, ale každý z nich musí zastavit kvůli dopravní značce STOP. V takovém případě by auta mohla čekat až skoro nekonečně dlouho, než by odjely, neboť by každé dávalo přednost tomu dalšímu zprava. A když si tuto křižovatku z našich čtyř směrů rozšíříme třeba na 20 směrů, pak by byla prakticky už úplně neřešitelná. Ale co byste řekli tomu, kdyby byl před nájezdem do křižovatky odbočovací pruh, ze kterého byste mohli najet do směru dle výběru po mostě bez jakéhokoliv čekání? To by byla věc. A přesně takto řeší situaci i switch - dokáže nechat packet projít k cílí bez toho, aniž by musel čekat, než projdou packety jiné. Velmi podstatným rozdílem také je, že HUB rozděluje šířku pásma mezi všechny připojené stanice, kdežto switch poskytuje každé stanici šířku pásma kompletní. U HUBu to tedy vypadá tak, že auta se musí podělit o maximální průjezdnost křižovatky, zatímco u switche se automobily dokáží této křižovatce vyhnout a tím pádem mají neustále maximální rychlost.


Takto vypadá topologie plně spínané sítě.

Již jsme si také řekli, že díky zcela spínaným sítím je možné využívat režimu full-duplex a tím pádem odesílat i přijímat pakety současně (je však potřeba použít kroucenou dvojlinku a nebo dvou vláknovou optiku) - pro každý směr lze využít nezávislé vodiče. Pokud je tedy rychlost sítě například 100Mbps, pak každá stanice v tu samou chvíli dokáže přijímat touto rychlostí. Především v nedávné minulosti se díky vysokým finančním nákladům na nákup aktivních prvků nebudovaly zcela spínané sítě ale vytvářely se kombinované síťové topologie.


Topologie mixované sítě.

Pomocí této techniky lze vybudovat velmi rozsáhlé a spolehlivé sítě při výhodných cenových podmínkách. Například v každém oddělení nebo učebně může být klasický HUB a pouze jednotlivé HUBy na každém patře pak následně spojeny do switche. Avšak díky velmi výraznému cenovému snížení cen aktivních komponentů, jakými switche právě jsou, se dnes už staví prakticky jen zcela spínané sítě.

Nyní si ukážeme, jak switch propouští jednotlivé packety na určená místa. Každý switch v sítí uskutečňuje spojení mezi dvěmi stanicemi pouze na nezbytně nutnou dobu pro přenesení potřebných dat. Příchozí packet je uložen do dočasné paměti (buffer), je přečtena MAC adresa obsažená v hlavičce packetu a poté je porovnána se seznamem připojených stanic, které má switch v paměťové tabulce. Jakmile má switch tyto údaje zjištěny a uloženy, může přeposílání uskutečnit pomocí tří různých metod.
  1. První z nich je cut-through (tyto názvy jsou tak zažité, že je zbytečné a skoro nemožné je objektivně přeložit) - tato metoda pracuje tak, že ihned po načtení a uložení MAC adresy z hlavičky je tento packet přeposlán na cílovou stanici i přes to, že další packety zrovna přicházejí.
  2. Druhou metodou je store-and-forward, kdy switch uloží celý packet do bufferu a zjistí, zda neobsahuje chyby. Pokud v něm nějaká chyba je, je okamžitě zahozen. Pokud je však v pořádku, je podle cílové MAC adresy odeslán tam, kam má být. Většina switchů kombinuje dvě doposud zmíněné metody a to tak, že propouští všechny packety do té doby, dokud není dosažena jistá míra chybovosti a teprve pak jsou špatné packety zahazovány.
  3. Třetí metodou pak zůstává fragment-free. Je prakticky stejná jako 1. metoda, ale z každého packetu uchovává prvních 64bytů a to z toho důvodu, že právě v nich je nejčastěji nějaká chyba.

Většina switchů se tedy zcela jistě musí lišit svými technickými parametry. Ty nejobyčejnější switche používají pro všechny packety ze všech portů jednu velkou sdílenou paměť a po přečtení je opět posílají na potřebné porty. Druhý typ pak pomocí vestavěné mřížky spojuje porty podle potřeby - pokud přijde packet na port 1 a je určen pro port 10, pak switch tuto mřížku nastaví tak, aby byl průchod umožněn. A nakonec nám zbývá sběrnicová architektura, kdy namísto mřížky obsahuje switch jednu sdílenou cestu pro všechny porty, která je řízena pomocí TDMA. Switche s touto architekturou mají zvlášť paměť pro každý port.

Poslední a jednou z hodně zajímavých vlastností, kterou si vysvětlíme, je transparentní přemostění. Tato technika umožňuje switchi zjistit prakticky vše o síťových stanicích zcela automaticky bez nutnosti zásahu administrátora. Tato metoda má pět základních úrovní, ve kterých pracuje - Učení, Zaplavování, Filtrování, Přesměrovávání a Odměřování. Nyní si jednotlivé pracovní postupy, kterými switch projde, popíšeme hezky postupně.


Pro lepší orientaci budu odkazovat v popisu na tento obrázek.
  1. Switch přidáme do sítě a postupně do něj zapojíme jednotlivé segmenty se stanicemi.
  2. Počítač A ze segmentu 1 pošle data na počítač B v segmentu 2.
  3. Tím pádem přes switch prošel packet z jednoho segmentu do druhého a switch tedy jednoznačně ví (podle MAC adresy) kde najde počítač A. Tento záznam si přidá do tabulky. Tomuto procesu zjišťování se říká Učení (learning).
  4. Jelikož ale switch pořád neví, kde se nachází stanice B, vyšle packety do všech segmentů sítě (kromě již známého počítače A). Pokud tedy switch vysílá pakety do všech segmentů, říká se tomu Zaplavování (Flooding).
  5. Počítač B tedy dostane packet a okamžitě jej odešle na stanici A, aby mohl být identifikován a zapsán do tabulky.
  6. Tento packet tedy putuje až dojde do switche, kde je podle MAC adresy zapsán a switch má už tedy potřebnou informaci o počítači B. Jelikož ale packet ze stanice A do B jde přes rozdílné segmenty, musí switch tyto segmenty propojit, aby mohlo být odeslání kompletní. Tomu se říká přesměrování (forwarding).
  7. Jakékoliv packety ze stanice A do stanice B, které dojdou do switche, jsou automaticky přeposílány, neboť switch již má jejich adresy zapsány v tabulce.
  8. Nyní odešle stanice C packet pro stanici A. Tento packet dojde samozřejmě i do switche (HUB posílá packety do všech připojených segmentů) a ten si z MAC adresy zjistí, že stanice C náleží do segmentu 1. Jelikož ale pro tento segment již v tabulce záznam má, tak ví, že packety z C do A nemusí nikam přeposílat - bude je tedy ignorovat. Tento proces je označován pod názvem Filtrování (filtering).
  9. Pomocí těchto metod si switch za malou chvíli dokáže zapsat informace o všech připojených stanicích v celé síti. Jelikož ale velikost jeho paměti není neomezená, musí switch tyto záznamy kontrolovat a upravovat tak, aby při posílání nemusel hledat mezi neplatnými či odpojenými stanicemi. K tomuto jsou využívány techniky Odměřování (aging), kdy pro každou MAC adresu je přidán i záznam o jejím zapsání - časová známka. Pokaždé jak projde přes switch packet z jednoho počítače na druhý je patřičná známka obnovena - pokud ale je po nějaký (nastavitelný) čas překročena, je celý záznam o stanici smazán.

Jak jsme si tedy ukázali, je touto technikou možné velice rychle, spolehlivě a efektivně řídit celou síť a to bez nutnosti zasahovat jakkoliv do elektroniky. Samozřejmě že v dnešní době existují i managemovatelné switche, kde si může administrátor tyto parametry sám upravovat či vytvářet virtuální segmenty (VLAN), avšak stejně jako v předešlé kapitole je jejich kompletní rozbor zcela mimo rozsah tohoto seriálu.