Marigold.cz         Chronomag.cz         Přehled.net         První Mac         Pipay         NetČíšník          Jagg          Stream TV          FotonMag     

problem_skryteho_uzlu

Problém skrytého uzlu

Standard 802.11 není určený pro venkovní sítě. Při jeho návrhu se počítalo s tím, že půjde o náhradu pro vnitřní ethernetové sítě a tedy také s tím, že všechny WiFi prvky na sebe „uvidí“. Tomu odpovídá i způsob, jakým se WiFi sítě brání kolizím – velmi nedokonale. 802.11 standard definuje CSMA/CA jakožto systém předcházení kolizím, kde se kvůli problému „skrytého uzlu“ používá RTS/CTS potvrzování.

Právě proto, že WiFi je optimalizováno pro nasazení, kde na sebe všichni klienti vidí a kde neexistuje problém skrytého uzlu, je třeba v případě venkovních sítí provést patřičné úpravy, které odstraní potenciální problémy s kvalitou datového přenosu. Je tedy dobré rovnou zdůraznit, že touto optimalizací nezískáte signál tam, kde není, ale můžete i výrazně zvýšit propustnost v síti.

Při používání WiFi ve venkovním prostředí je “skrytý uzel”, jak zní terminus technicus, velkým problémem. Skrytý uzel se prakticky vždy objevuje tam, kde se WiFi používá ve venkovním prostředí pro distribuci signálu způsobem Point – Multipoint. Příčinou je fakt, že zatímco přípojný bod vidí všechny stanice, protože používá všesměrovou nebo alespoň sektorovou anténu, klientské stanice (tedy uzly) se navzájem nevidí, protože je s přípojným bodem pojí směrová anténa.

To má za následek, že se klientské stanice snaží vysílat najednou domnívaje se, že „éter je volný“ a přípojný bod je jejich vysíláním zahlušen. Ačkoliv standard 802.11 definuje kombinaci CSMA/CA a RTS/CTS pro předcházení kolizím a potvrzování přístupu k médiu, znamená skrytý uzel snížení propustnosti sítě a nárůst chybovosti, ztrátovosti packetů. Taková síť se stává podstatně méně komfortní k používání – právě tak vznikají ona nejrůznější „zamrzání“, kdy sice detekujete dostatečný signál, ale data se nepřenáší, nebo přenáší pomalu.

Skrytý uzel skrytyuzel.jpg

Jak funguje RTS/CTS mechanismus bránící kolizím ve WiFi sítích?

  • stanice, která chce vysílat si ověří, zda-li je síť po určitou dobu (DIFS - Distributed Inter Frame Space) volná,
  • jestliže síť je (stane se) v průběhu DIFS obsazená, tak se přenos dat odloží,
  • v opačném případě je vyslán krátký packet RTS - Request To Send, který mimo jiné obsahuje informaci o době, kterou bude následující přenos trvat,
  • cílová stanice odpovídá (po krátkém okamžiku - SIFS) packetem CTS - Clear To Send, který opět mimo jiné obsahuje dobu, po kterou bude následující přenos trvat,
  • všechny stanice, které slyší RTS nebo CTS si nastaví vlastní indikátor NAV - Network Allocation Vector na dobu přenášenou v těchto packetech a nebudou se v jejím průběhu snažit přistupovat k síti,
  • CTS a RTS jsou krátké packety a výše uvedený mechanismus dovoluje podstatným způsobem snížit pravděpodobnost kolize,
  • celá transakce je (v případě úspěšného přenosu dat) ukončena zasláním packetu ACK - Acknowledge,
  • jestliže přenos není potvrzen packetem ACK, pak je situace vyhodnocena jako kolize a přenos se opakuje.

Hardwarové řešení problému skrytého uzlu

Nejúčinějším řešením problému skrytého uzlu je řešení hardwarové, jeho nevýhodou je cena a také to, že nemusí být vždy dostupné. Jednoduše nahraďte spoje point-to-multipoint spojem point-to-point, tedy přímým propojením dvou bodů. To ovšem znamená, že pro každou spojovou trasu vyhradíte dvojici WiFi adaptérů a dvojici směrových antén. Znamená to na každou přenosovou trasu náklady navíc ve výši zhruba 3000 Kč, navíc je problém, že pokud distribuujete signál do více lokalit z jednoho místa, záhy obsadíte všechny volné radiové kanály a ono centrální distribuční místo se bude ježit anténami. Výhodou hardware řešení je vyšší přenosová rychlost (každá přenosová trasa může využívat maximální rychlost), nevýhodou vyšší finanční nároky a nároky na údržbu trasy. Hardwarové řešení se vyplatí většinou jen do počtu cca 4 přenosových tras z vycházejících z jednoho bodu.

Tip: rušení snížíte, když všechny směrové antény nenamontujete na jeden jediný stožár, ale například tak, aby je od ostatních antén dělila zeď –třeba na opačné straně domu. Zadní vyzařovací laloky, které každá i směrová anténa má, tak pohltí zdivo. Na paneláku můžete s úspěchem využít montáž na různých stranách výtahové budky.

Softwarové řešení problému skrytého uzlu

Hardware řešení nelze použít vždy. Někdy nejsou akceptovatelné vyšší finanční náklady, jindy je nežádoucí osazování více antén v přípojném bodě, nebo by byla problémem údržba, většinou však kombinace těchto faktorů přivede zřizovatele sítě k tomu, že je třeba pomocí nastavení software minimalizovat problémy vyvstávající z existence skrytých uzlů.

Na první pohled je software řešení velmi jednoduché. Většina klientských adaptérů a AP má k tomuto účelu dvě políčka pro nastavení: RTS threshold a Fragmentation threshold.

RTS/CTS threshold (někdy též RTS Threshold) udává minimální velikost přenášených datových paketů, po které se začne uplatňovat mechanismus RTS/CTS, tedy potvrzování. V praxi to vypadá tak, že po zadaném počtu odeslaných bytů pošle zařízení požadavek RTS. Tovární nastavení této hodnoty je zpravidla na maximu (2347 bytů, u některých zařízení jako Cisco až 4000 bytů). Hodnotu lze nastavovat většinou v rozmezí 0 až 2347 bytů, přičemž nastavení nulové hodnoty znamená příkaz vždy používat RTS/CTS, některá zařízení mají dolní mez omezenou třeba na 256 bytů, což výrobce oprávněně považuje za dolní smysluplnou mez. Vzhledem k tomu, že RTS/CTS

Druhou hodnotou, kterou lze u většiny zařízení nastavovat, je Fragmentation threshold. Ta určuje, do jaké maximální velikosti fragmentů se budou dělit rámce přenášené 802.11. Velikost fragmentů se typicky nastavuje v rozsahu od 256 do 2048 bytů a standardně je zpravidla nastavena maximální velikost. Fragmentem se rozumí násilně zkrácený paket.

Vzhledem k tomu, že standardní velikost paketů v ethernetových sítích je 1500 bytů (jde o standardní hodnotu Maximum Transmission Unit - MTU), nevyplatí se u vnitřních bezdrátových sítí bez skrytých uzlů snižovat hodnotu Fragmentation threshold tak, aby se při přenosu musela délka paketů násilně snižovat.

Pozor: pokud nastavíte vyšší hodnotu RTS Threshold než Fragmentation threshold, RTS/CTS mechanismus se nikdy neuplatní, protože mezní hodnota pro použití RTS/CTS bude vyšší, než maximální velikost přenášeného fragmentu v síti.

Pokud má vaše síť takovou charakteristiku, že v ní lze předpokládat problém skrytého uzlu, tedy se dá předpokládat, že na sebe některé stanice „radiově nevidí“, nebo vaše síť má přímo problémy se „zamrzáním“ přenosu nebo je podezřele pomalá, vyplatí se ladit hodnoty RTS a Fragmentation Threshold.

Jak analyzovat ideální velikost RTS a Fragmentation threshold

Nejlepší je, pokud jsem schopni hodnoty pro RTS a Fragmentation threshold exaktně změřit či spočítat. K tomu je určena řada specializovaného software pro analýzu paketů v bezdrátových sítích. Asi nejznámějším nástrojem je AiroPeek nebo AirMagnet, oba programy lze koupit i v ČR. Zatímco AiroPeek je vhodný zejména pro odhalování bezpečnostích slabin sítě, AirMagnet je zase lepší pro analýzu jejích technických problémů. Bohužel jde o drahý specializovaný software a nevyplatí se vám jej kupovat pro jednorázové nastavení sítě, většinou jej mají k dispozici firmy, které se výstavbou bezdrátových sítí živí, takže je možné si u nich proměření objednat nebo je zkusit přemluvit na zápůjčku. Lze si také stáhnout demoverzi z webu (www.wildpackets.com) – hledejte AiroPeek NX.

Na obrázku vidíte statistiku provozu v radiové síti

:airopeek-packetsize.gif

Z obrázku je zřejmé, že síť je velmi zarušená, protože 42% paketů má délku pod 64 bytů, což je velmi málo a hodně to zvyšuje nároky na opakování paketů a tedy nenosnou režii sítě.

Software pro analýzu sítě by vám měl být především schopen sdělit chybovost paketů – tedy tzv. Packet Error Rate. Pokud je tato chybovost větší než 5%, je nejvyšší čas začít se zabývat optimalizací velikosti RTS threshold.

Jak nastavit RTS a Fragmentation threshold odhadem

Většině zájemců o optimalizaci WiFi sítí asi nezbude, než hodnoty nastavit odhadem a metodou pokus-omyl. Tento postup je docela jednoduchý, jen zdlouhavý a je spíše na trpělivosti administrátora, jak přesně se hodnoty podaří zoptimalizovat.

Nepříjemné je, že obě hodnoty je třeba nastavit na všech klientských adaptérech v síti, pokud na jednom z klientských zařízeních tyto hodnoty nejsou nastavené, dělá to v síti zbytečný zmatek a účinek optimalizace to snižuje. Je tedy velmi vhodné počáteční odladění provést ještě před tím, než síť spustíte do ostrého provozu, jenže to se asi nepoštěstí každému. Navíc přidání každého dalšího klienta do sítě změní (mírně či spíše více) podmínky v síti a je potřeba provést optimalizaci znovu.

To všechno vede k tomu, že řada stavitelů menších venkovních bezdrátových sítí k optimalizaci vůbec nepřistupuje, což je chyba.

dopsat

 
problem_skryteho_uzlu.txt · Poslední úprava: 20. 8. 2012 21:33 autor: tangero