Vyšlo v měsíčníku PC World, 5/2007
Vytištěno z adresy: http://www.earchiv.cz/b07/b0500001.php3

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

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

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 i bezdrátové? Jaký význam mají identifikátory SSID a BSSID? Jak fungují bezdrátové opakovače a co jsou 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 toho, 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 to ale na chvíli zapomeneme a budeme se tvářit, že „Wi-Fi“ jsou všechnu 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 si 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 skutečnost, že výrobci se nevyplatilo investovat určité peníze do jejího získání (které není zadarmo). Na druhou stranu si stejně tak zdůrazněme, že nálepka Wi-Fi je zde především pro nás zákazníky a poskytuje nám 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 konkrétně architekturou Wi-Fi sítí a způsobem jejich fungování. Ř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 pojmy jako je distribuční systém, a jak to vypadá když je drátový či naopak také 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 smartphonu 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č, alias tzv. hub (z angličtiny), viz horní část následujícího obrázku. U této varianty pak také 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.

 

Obr. 1: Představa přímého propojení a propojení přes rozbočovač, pomocí kabelů

Zůstaňme ještě na 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 jednotlivé své kontakty (tzv. PINy) 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í, a 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 PINy TD (od: Transmit Data, alias Vysílání dat) jsou z pohledu koncového uzlu výstupní, ale z pohledu rozbočovače jsou naopak vstupní.

Pokud ale budeme potřebovat propojit mezi sebou dvě stejná zařízení, nejspíše dva koncové  uzly (ale stejně tak třeba dva rozbočovače), budeme k tomu potřebovat jiný typ kabelu – takový, který má jednotlivé PINy 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 zde tzv. přístupový bod (v angličtině Access Point, zkratkou AP). Beze změny, oproti drátové variantě, je to ž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.

Obr. 2: Představa režimů infrastruktury a ad-hoc u Wi-Fi

Naopak v režimu ad-hoc žádný přístupový bod (AP) není, a 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í, ale 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í (vedením kabelů) pevně a jednoznačně dána vazba mezi koncovými uzly a rozbočovači. Případně mezi dvěma koncovými uzly, u přímého propojení.

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:

  • autentizace: 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á.
  • asociace: v rámci této 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.
  • de-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, a službu deasociace 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 také „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ě detailně 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).

Obr. 3: Příklad nastavení metody autentizace u přístupového bodu

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 mechanismy, 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 adresa je na seznamu), či s významem blacklistu, neboli seznamu nepovolených stanice (asociace se povolí, pokud adresa není na seznamu).

Obr. 4: Příklad nastavení seznamu MAC adres. Volba „accept“ z něj činí whitelist, volba „reject“ blacklist, a při „disable“ nebude MAC adresa stanice brána vůbec v úvahu

Identifikátory SSID

            Podívejme se nyní na celou věc z druhé strany, pohledem 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 následující 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 právě zobrazuje dostupné bezdrátové sítě, a identifikuje je právě pomocí identifikátorů SSID.

Obr.5: Představa využití identifikátoru SSID z pohledu přístupového bodu a koncové stanice

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 si popisovali v předchozím odstavci, je jménem (identifikátorem)  celé Wi-Fi sítě, která 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 o jednotkách BSS, z anglického Basic Services Set. Jde tedy o jakousi nejmenší „množinu se základními službami“.

Obr. 6: Představa Wi-Fi buňky, alias BSS

Jménem, resp. identifikátorem takovéto buňky (jednotky BSS) je identifikátor  BSSID (BSS Identifier). Ten bývá přímo roven linkové (tj. MAC) adrese přístupového bodu, kolem kterého buňka (jednotka BSS) vzniká. Takže je dán (generován) automaticky, a není nutné ho nějak explicitně nastavovat.

O buňce, alias 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ě.

Obr. 7: Představa Wi-Fi buňky, IBSS

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í 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 následující obrázek.

Obr. 8: Představa Wi-Fi sítě (ESS), složené z více buněk (BSS)

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:

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

Jménem sítě přitom je 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, v roli jména sítě, můžeme 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 si 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. Potom také spolupráce při přenosu dat z/do jiných sítí, i když zde standardy uvažují ještě jeden typ prvku, kterým je tzv. portál.

Obr 9: Představa (drátového) distribučního systému a portálu

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, tak také nepředepisují, ž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 následující obrázek.

Obr. 10: Obecná představa WDS (bezdrátového distribučního systému)

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 následující 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.

Obr. 11: Představa propojení dvou drátových sítí pomocí WDS

Klasické využití bezdrátových distribučních systémů (WDS) je ale pro 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), a 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).

Obr. 12: Představa bezdrátového opakovače

Použití bezdrátového opakovače je zajímavým a šikovným řešením 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 také jako bezdrátový opakovač. Umí to jen některé.

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ů, které 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íť, a 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 v roce 2008 dokončit pražský magistrát.

Obr. 13: Představa mesh sítě

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), nebo 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:

  • pohyb 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ě podmínek finančních). V praxi bývá takovéto přecházení mezi sítěmi relativně problematické.