Báječný svět počítačových sítí

1. 5. 2007

Sdílet

Část XXV: Architektura sítí Wi-Fi V čem se liší režimy ad-hoc a režimy infrastruktury, ve kterých mohou praco...


Část XXV: Architektura sítí Wi-Fi


V čem se liší režimy ad-hoc a režimy infrastruktury, ve kterých mohou pracovat Wi-Fi buňky? Co je přístupový bod (AP, Access Point), jak je vymezena buňka Wi-Fi sítě a čím celá Wi-Fi síť? Co je BSS a co ESS? K čemu slouží distribuční systémy a proč mohou být jak drátové, tak bezdrátové? Jaký význam mají identifikátory SSID a BSSID? Jak fungují bezdrátové opakovače a co jsou to mesh sítě?
Z předchozích dílů tohoto seriálu již víme, že Wi-Fi je vlastně pouze jakási nálepka, kterou mají právo se honosit jen některé konkrétní produkty, vycházející ze standardů IEEE 802.11. Konkrétně ty, které dokáží úspěšně projít předepsanými testy, jak dobře a důsledně dodržují příslušné standardy a jak jsou v praxi kompatibilní a interoperabilní mezi sebou navzájem.
V tomto dílu na toto na chvíli zapomeneme a budeme se tvářit, že Wi--Fi jsou všechny produkty, které vychází ze standardů IEEE 803.11. To proto, abychom se mohli obecněji pobavit o dalších zajímavých vlastnostech a funkcích těchto sítí a nemuseli přitom neustále zdůrazňovat, že to platí jak pro konkrétní produkty, které nálepku Wi-Fi získaly, tak i pro ty, které ji nezískaly.
Zdůrazněme přitom, že důvodem pro nezískání nálepky Wi-Fi nemusí být hned nějaká nekompatibilita či nedodržení standardu jako spíše skutečnost, že výrobci se nevyplatilo investovat určité peníze do jejího získání (které není zadarmo). Na druhou stranu stejně tak zdůrazněme, že nálepka Wi-Fi je zde především pro nás zákazníky a poskytuje určitou záruku toho, že u konkrétního produktu je vše tak, jak má být.
V další části tohoto dílu se již budeme zabývat architekturou Wi-Fi sítí a způsobem jejich fungování konkrétně. Řekneme si, co jsou to režimy ad-hoc a infrastruktury, co jsou přístupové body alias "apčka", k čemu slouží identifikátory SSIB a BSSID či co je ekvivalentem kabelového segmentu a kabelové sítě. A také co se rozumí pod pojmem distribuční systém a jak to vypadá, když je drátový či naopak bezdrátový.
Přímo nebo přes rozbočovač? Začněme principiálně nejjednodušší situací, kterou je vzájemné propojení dvou počítačů, zatím izolovaně od ostatního světa a dalších uzlů. Například propojení dvou stolních počítačů či dvou notebooků, nebo jednoho stolního počítače s jedním notebookem, či třeba dvou zařízení PDA mezi sebou, dvou smartphonů s podporu Wi-Fi apod.
Pokud bychom takovýto úkol řešili v prostředí "drátového" Ethernetu, na bázi kroucené dvoulinky či dokonce optických vláken (ale nikoli koaxiálních kabelů), měli bychom na výběr ze dvou možností. První, v praxi rozhodně častější, je propojení přes rozbočovač, tzv. hub (z angličtiny), viz horní část obrázku. U této varianty pak veškerá komunikace probíhá přes tohoto prostředníka (rozbočovač, alias hub).
Méně častou variantou je přímé propojení obou koncových zařízení bez jakéhokoli prostředníka (viz spodní část obrázku). Zde už obě koncová zařízení skutečně komunikují přímo mezi sebou, aniž by k tomu potřebovaly jakéhokoli prostředníka.
Zůstaňme ještě chvilku u "drátového" propojování a naznačme si, že pro oba případy potřebujeme různé propojovací kabely. V prvním případě, kdy veškerá komunikace probíhá přes rozbočovač, fakticky propojujeme mezi sebou dvě různá zařízení (koncový uzel a rozbočovač) s různě zapojenými konektory. Vystačíme proto s "běžným" typem kabelu, který propojuje své kontakty (tzv. PIN) jednotlivě stylem 1 : 1. Znamená to ale, že každé z propojených zařízení se na stejný kontakt (PIN) dívá opačně jeden jako na vstupní, druhý jako na výstupní (a naopak). Označení, použité v horní části výše uvedeného obrázku, pak odpovídá pohledu koncového zařízení například PIN TD (od: Transmit Data, alias vysílání dat) jsou z pohledu koncového uzlu výstupní, ale z pohledu rozbočovače naopak vstupní.
Pokud ale budeme potřebovat propojit mezi sebou dvě stejná zařízení, nejspíše dva koncové uzly (nebo třeba dva rozbočovače), budeme k tomu potřebovat jiný typ kabelu takový, který má jednotlivé PIN potřebným způsobem překříženy. Proto se mu také říká "překřížený" kabel (v angličtině: cross-over cable).
Režim infrastruktury a režim ad-hoc
V případě bezdrátových sítí Wi-Fi máme v zásadě stejné dvě možnosti propojení jako u drátového Ethernetu. Jen se jim pochopitelně říká jinak. Označují se totiž jako "režimy", a to:

režim infrastruktury (infrastructure mode),
režim ad-hoc (ad-hoc mode).

V případě režimu infrastruktury je koncový uzel označován jednoduše jako "stanice" (či koncová stanice), zatímco analogií rozbočovače je tzv. přístupový bod (v angličtině Access Point, zkratkou AP). Beze změny oproti drátové variantě je, že v tomto režimu veškerá komunikace vždy prochází přes přístupový bod, zatímco koncové stanice nikdy nekomunikují přímo mezi sebou.
Naopak v režimu ad-hoc žádný přístupový bod (AP) není, jednotlivé koncové stanice zde komunikují mezi sebou přímo. Díky bezdrátovému charakteru může jít o komunikaci mezi více dvojicemi koncových uzlů (nikoli ale ve stejném čase). V případě drátového propojení by k něčemu takovému bylo zapotřebí u každého uzlu více ethernetových rozhraní, u bezdrátového řešení stačí jen jediné rádiové rozhraní. Proto si režim ad-hoc můžeme představit, v souladu s předchozím obrázkem, jako komunikaci mezi více koncovými stanicemi, ovšem vždy jen "po dvojicích" a přímo, bez prostředníka.

Autentizace a asociace u Wi-Fi

Drátové lokální sítě na bázi Ethernetu mají zajímavou přednost v tom, že u nich je už pouhým propojením (vedením kabelů) pevně a jednoznačně dána vazba mezi koncovými uzly a rozbočovači. Případně u přímého propojení mezi dvěma koncovými uzly.
U bezdrátových sítí Wi-Fi je ale všechno jinak. Zde je vazba mezi koncovými stanicemi a přístupovým bodem podstatně volnější a také dynamická, protože se může měnit v čase (s tím, jak se stanice mohou pohybovat). Jak ale tato vazba vlastně vzniká? Čím je nahrazena logická vazba mezi přístupovým bodem a koncovou stanicí, při absenci "drátu", který by ji jednoznačně určil? Přístupové body Wi-Fi jsou za tímto účelem vybaveny řadou služeb, mezi které patří (mimo jiné) schopnost: lAutentizace: v rámci této funkce přístupový bod zjišťuje, o jakou stanici jde, resp. zda je skutečně tím, za koho se vydává. lAsociace: v jejím rámci funkce dochází ke vzniku logické vazby mezi přístupovým bodem a konkrétní stanicí. Stanice je "přidružena" (tzv. asociována) k danému přístupovému bodu. lDe-asociace: opak asociace, dochází k uvolnění (zrušení) vazby mezi přístupovým bodem a koncovou stanicí.
Službu asociace si lze s trochou fantazie představit jako analogii propojení rozbočovače a koncového uzlu pomocí vhodného kabelu, službu deasociace pak naopak jako rozpojení takovéhoto kabelu. Jen místo fyzické manipulace s kabely jsou tyto funkce realizovány na logické úrovni.
Dalším rozdílem je pak to, že u fyzického propojení (pomocí kabelů) se o oprávněnosti provést takové propojení rozhoduje i "fyzicky" a lze jej účinně a efektivně blokovat zamezením přístupu k příslušným technickým prostředkům (například uzamknutím příslušné rozvodové skříně apod.). U bezdrátových sítí je to opět komplikovanější, neboť vše se musí řešit na logické úrovni. Proto se u Wi-Fi sítí setkáme s tím, že přístupové body musí poměrně podrobně a důsledně zjišťovat, co jsou zač stanice, které se s nimi chtějí asociovat (spojit a komunikovat). Právě k tomu slouží již zmiňované služby autentizace. Ty jsou nejčastěji řešeny dvěma základními způsoby:

Otevřenou autentizací (Open System Authentication): zde se fakticky nezkoumá, co je stanice zač.
Autentizaci pomocí sdíleného klíče (Shared Key Authentication): zde musí stanice prokázat, že vlastní požadovaný klíč (stejný, jaký vlastní přístupový bod, resp. jaký je na něm nastaven, proto "sdílený klíč", anglicky shared key).
Vedle těchto základních metod autentizace existují ještě další zdokonalené varianty, v rámci novějších schémat WPA (Wi-Fi Protected Access) a WPA2. O tom, zda požadavek konkrétní stanice na asociaci s přístupovým bodem bude přijat, však mohou v praxi rozhodovat ještě další kritéria a mechanizmy, používané pro zvýšení bezpečnosti. Oblíbené je například rozhodování podle seznamu linkových (MAC) adres, a to buď s významem tzv. whitelistu, neboli seznamu povolených adres (asociace je povolena jen v případě, kdy je adresa na seznamu), či s významem blacklistu, neboli seznamu nepovolených stanice (asociace se povolí, pokud adresa na seznamu není).

Identifikátory SSID

Podívejme se nyní na celou věc z druhé strany, z pohledu koncové stanice Wi-Fi. Jak ona a její uživatel poznají, které přístupové body jsou v dosahu a ke kterým by se mohli "přidružit" (asociovat)? Poznají to nejlépe podle identifikátoru SSID (Service Set IDentifier), který přístupové body standardně vysílají do svého okolí a programy na straně stanic, které detekují dostupnost různých bezdrátových sítí, je identifikují právě podle těchto identifikátorů.
Ukazuje to i další obrázek, na kterém vidíte malou montáž dvou pohledů: zadní (horní) obrázek ukazuje nastavení přístupového bodu a identifikátoru SSID. Přední (spodní) obrázek pak ukazuje pohled stanice, jejíž software zobrazuje dostupné bezdrátové sítě a identifikuje je právě pomocí identifikátorů SSID.

Wi-Fi buňky, BSS a BSSID

Položme si nyní důležitou otázku: je nějaký rozdíl mezi přístupovým bodem (AP, Access Point) a bezdrátovou sítí? Odpověď je kladná, rozdíl mezi nimi je, a poměrně velký. To ale otevírá ještě další otázku: jak je to potom s identifikátory SSID? Patří jednotlivým přístupovým bodům, nebo rovnou celým bezdrátovým sítím? Pro ujasnění si nejprve zaveďme jeden další pojem, a to Wi-Fi buňku. Tu tvoří vždy jeden přístupový bod a dále všechny stanice, které jsou s ním právě asociovány (sdruženy). Je to určitá analogie buňky v klasické mobilní síti (například v síti GSM), kde místo přístupového bodu vystupuje základnová stanice (tzv. BTSka). Celá mobilní síť je přitom tvořena velkým počtem takovýchto buněk, ale jméno má jen jedno.
Podobně je tomu i u Wi-Fi sítí. Identifikátor SSID, který jsme popisovali v předchozím odstavci, je jménem (identifikátorem) celé Wi-Fi sítě, jež také může být tvořena větším počtem Wi-Fi buněk, stejně jako mobilní síť. I když jich nejspíše bude podstatně méně než buněk mobilní sítě. V případě Wi-Fi sítí se o buňkách hovoří častěji jako o jednotkách BSS, z anglického Basic Services Set. Jde tedy o jakousi nejmenší "množinu se základními službami". Jménem, resp. identifikátorem takovéto buňky (jednotky BSS) je identifikátor BSSID (BSS Identifier). Ten bývá přímo roven linkové (tedy MAC) adrese přístupového bodu, kolem kterého buňka (jednotka BSS) vzniká. Je tedy dán (generován) automaticky a není nutné ho nějak explicitně nastavovat.
O buňce, tedy o jednotce BSS, se však hovoří i tam, kde jednotlivé stanice komunikují přímo mezi sebou, v režimu ad-hoc (viz výše). Zde se ale používá spíše termín IBSS (Independent BSS). "Nezávislý" proto, že na rozdíl od BSS s přístupovým bodem nebývá přímo napojen na vnější svět, resp. na okolní sítě.

Wi-Fi sítě, ESS a ESSID

Skutečná Wi-Fi síť vzniká z jedné nebo několika W-Fi buněk (jednotek BSS) jejich vhodným seskupením, resp. propojením jejich přístupových bodů (viz dále). Výsledný celek, odpovídající síti, je pak označován jako ESS, což je zkratka z Extended Service Set. Vše naznačuje další obrázek.
Pamatujme si tedy, že:

BSS je Wi-Fi buňka, kterou tvoří jeden přístupový bod (a určitý počet právě asociovaných stanic).
ESS je Wi-Fi síť, kterou tvoří několik Wi-Fi buněk (BSS), případně i jedna jediná buňka (jedna BSS).

K tomu, aby několik buněk (BSS) vytvořilo síť (ESS), musí být splněny dvě hlavní podmínky:

všechny buňky BSS musí být vhodně propojeny, a to na úrovni linkové vrstvy (viz dále),
všechny buňky musí používat stejné jméno sítě.

Jménem sítě je přitom již výše zmiňovaný identifikátor SSID, který se nastavuje na přístupových bodech AP (viz výše) a který se zobrazuje na stanicích, jako identifikace dostupných Wi-Fi sítí. Snad netřeba dodávat, že hodnota identifikátoru SSID musí být na všech přístupových bodech, spadajících do stejné sítě (stejného ESS), nastavena stejně. Naopak identifikátory BSSID, identifikující přístupové body v jednotlivých buňkách (BSS), jsou odlišné (v každé buňce jiné). Někdy se místo identifikátoru SSID můžeme v roli jména sítě setkat i s jiným identifikátorem, a to ESSID (ve smyslu: ESS IDentifier). Hodnotou jde o stejný identifikátor, a i když jeho označení jako ESSID je logičtější (když označuje celou síť), přesto se v praxi používá pro jméno Wi-Fi sítě spíše označení SSID.
Distribuční systém Jak jsme již uvedli, důležitou podmínkou pro sestavení více Wi-Fi buněk (BSS) do celé Wi-Fi sítě (ESS) je také jejich vhodné propojení. Přesněji propojení jejich přístupových bodů (AP). K tomuto účelu slouží řešení, obecně označované jako tzv. distribuční systém (zkratkou DS, Distribution System). Mezi jeho úkoly patří zejména přenos dat mezi jednotlivými buňkami (BSS) a spolupráce na autentizaci a asociaci koncových stanic s jednotlivými přístupovými body. Dále pak spolupráce při přenosu dat z/do jiných sítí, i když zde standardy berou v úvahu ještě jeden typ prvku, kterým je tzv. portál.
Standardy IEEE 802.11 přitom nespecifikují, jak konkrétně má být distribuční systém (DS) realizován. Určují pouze to, jaké má plnit úkoly, resp. poskytovat funkce. A tak není explicitně předepsáno, že by distribuční systém musel pracovat na úrovni linkové vrstvy. V praxi, vzhledem k tomu, jaké úkoly plní, však pracuje snad vždy právě na úrovni linkové vrstvy. Už třeba proto, že musí šířit všesměrové vysílání (tzv. broadcast) po celé síti, neboli po celém ESS, a tedy mezi jednotlivými buňkami (BSS). Naproti tomu tzv. portál, který zajišťuje "přestup" do jiných sítí, obvykle funguje na úrovni síťové vrstvy, stejně jako klasický směrovač propojující různé sítě.

WDS, alias Wireless Distribution System

Zajímavé také je, že když standardy IEEE 802.11 nepředepisují, jak má být distribuční systém realizován, nepředepisují ani, že by nutně musel být "drátový". Stejně tak tedy může být (a skutečně i bývá) bezdrátový. Pak se o něm hovoří jako o bezdrátovém distribučním systému, zkratkou WDS (Wireless Distribution System). Jeho představu ukazuje další obrázek.
V praxi se bezdrátové distribuční systémy s oblibou používají všude tam, kde natažení drátových rozvodů není praktické nebo ekonomické. Dokonce se lze setkat i s tím, že bezdrátový distribuční systém propojuje dvě drátové lokální sítě, vlastně jako bezdrátová náhrada drátového propojení (viz obrázek). Někdy se o tomto řešení hovoří také jako o bezdrátovém mostu (wireless bridge) mezi dvěma sítěmi.
Klasickým využitím bezdrátových distribučních systémů (WDS) je ale propojování Wi-Fi buněk (BSS), resp. jejich přístupových bodů, do celých bezdrátových sítí. Nejjednodušší možný případ, s bezdrátovým propojením dvou přístupových bodů (dvou BSS) ukazuje následující obrázek. Jde o řešení, ve kterém jeden z přístupových bodů funguje současně i jako stanice ve druhé buňce (BSS), vysílání zdejšího přístupového bodu jakoby zesiluje a "prodlužuje" do vlastního přístupového bodu. Proto se o něm hovoří také jako o bezdrátovém opakovači (anglicky: Repeater, Repeating WDS).
Použití bezdrátového opakovače je zajímavé a šikovné řešení pro případy, kdy dosah jednoho přístupového bodu nepostačuje, je nutné ho nějak prodloužit, ale "drátové řešení" nepřipadá v úvahu. Pozor ale na to, že ne každý přístupový bod je schopen fungovat jako bezdrátový opakovač. Umí to jen některé z nich.
Mesh sítě Wi-Fi Poměrně časté je v poslední době také budování rozsáhlých Wi-Fi sítí s velkým počtem buněk (BSS), které mají systematicky pokrývat nějaké větší území. Například území nějaké městské čtvrti, nebo alespoň nějaký areál apod. Klasické řešení takovýchto "plošných" Wi-Fi sítí počítá s využitím drátových distribučních systémů, jež propojují mezi sebou jednotlivé přístupové body, kterých může být i větší počet. Ne vždy je ale vybudování příslušného drátového propojení možné, či alespoň ekonomicky únosné. Navíc je takovéto řešení typicky statické a neumožňuje dynamicky přeskupovat jednotlivé přístupové body podle momentálních potřeb.
A tak se i zde stále více prosazuje řešení s bezdrátovými distribučními systémy, kdy se "další" přístupové body napojují bezdrátově na "již existující" přístupové body a vznikají tak celé řetězce vzájemně provázaných přístupových bodů, resp. celých buněk (BSS). Takovéto řešení se označuje jako mesh síť, jeho výhodou není jen snazší realizace (nevyžadující pokládku kabelů), ale také možnost snadné a rychlé změny topologie sítě, s přemisťováním jednotlivých přístupových bodů. Na takovémto principu má být realizována například celopražská Wi-Fi síť, kterou chce pražský magistrát dokončit v roce 2008.

Wi-Fi handover

Na závěr si ještě řekněme o jednom významném aspektu, který souvisí s Wi-Fi buňkami (BSS) a sítěmi (ESS). Jde o to, co a jak se odehrává, pokud se nějaká koncová stanice pohybuje buď v rámci buňky jako takové, nebo přechází mezi buňkami téže sítě (mezi BSS v rámci stejné ESS), případně zda přechází mezi buňkami jiných sítí (mezi BSS v rámci různých ESS). Obecně by přitom mělo platit, že: lPohyb v rámci téže BSS nemá žádný vliv na asociaci koncové stanice s přístupovým bodem dané buňky BSS.

Přechod mezi různými buňkami (BSS) téže Wi-Fi sítě (stejné ESS) by měla zajistit tato síť. Konkrétně přístupové body příslušných buněk, s využitím distribučního systému, který je propojuje, a jeho funkcí. Přechod mezi buňkami by z pohledu uživatele koncové stanice měl probíhat automaticky. Je to obdoba tzv. handoveru v mobilních sítích.
Obdobou roamingu v mobilních sítích je přechod mezi buňkami (BSS) různých Wi-Fi sítí (různých ESS), který není těmito sítěmi ani distribučním systémem podporován. Vše je zde ponecháno na koncové stanici, jejíž programové vybavení (nebo sám uživatel) musí zajistit vše potřebné, od autentizace v nové síti až po asociaci s přístupovým bodem příslušné buňky (BSS). Důvodem, proč to nemůže být řešeno automaticky jako při pohybu v rámci téže sítě, jsou požadavky jednotlivých sítí na to, kdo je smí používat a za jakých podmínek (včetně finančních). V praxi bývá takovéto přecházení mezi sítěmi relativně problematické.