CSMA/CA

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání
Zjednodušený algoritmus CSMA/CA.

Carrier Sense Multiple Access with Collision Avoidance (CSMA/CA) patří v počítačových sítích do třídy protokolů označovaných jako metody s vícenásobným přístupem a nasloucháním nosné (CSMA). Jejich charakteristikou je, že před začátkem vysílání paketu stanice určitý čas poslouchá, zda je přenosové médium volné. Pokud ano, může zahájit vysílání. V opačném případě čeká na konec právě probíhajícího vysílání.

Protokoly skupiny CSMA/CA na rozdíl od CSMA/CD nezjišťují výskyt kolizí (současného vysílání více stanic). Jednotlivé varianty se od sebe mírně odlišují. V CSMA/CA protokolu použitém v síti LocalTalk stanice při volném médiu nejprve ohlásí ostatním, že bude vysílat a médium si tak „zamluví“. Následně odvysílá datový rámec. Bezdrátové sítě standardu 802.11 používají jiný přístup − zde stanice při volném médiu počká náhodně zvolenou dobu a pokud do té doby neobsadí médium někdo jiný, odvysílá datový rámec a následně čeká na jeho potvrzení.

Detaily[editovat | editovat zdroj]

CSMA/CA je jednou z modifikací čistého CSMA. Předcházení kolizím slouží ke zvýšení přenosového výkonu, stanice díky němu nejsou tak „hladové“ při přístupu k přenosovému médiu. Pokud před vysíláním zjistí, že je obsazeno, počkají náhodnou dobu a snižují tak pravděpodobnost kolize.

CSMA/CA se používá tam, kde vzhledem k vlastnostem komunikačního kanálu nelze použít CSMA/CD. Uplatnil se například v bezdrátových sítích standardu 802.11 (a, b, g, n), pro nějž je charakteristický poloduplexní režim práce − stanice buď naslouchá, nebo vysílá, a to na tomtéž kanálu, nikoliv obojí naráz. Detekce kolizí zde proto není možná. Navíc by vysílání jedné stanice v některých částech sítě mohlo kolidovat s vysíláním stanice jiné, jejíž vysílání však sama přímo neslyší.

Standard 802.11 předepisuje následující (zjednodušené) chování stanice při vysílání datového rámce:

  1. Je-li médium volné po určenou dobu, může stanice zahájit vysílání. Pokud je vysílání neúspěšné (druhá strana nepotrvdí příjem), zahájí exponenciální čekání.
  2. Pokud je médium obsazeno, počká na jeho uvolnění a následně zahájí exponenciální čekání, stejně jako při neúspěšném odvysílání.
  3. Exponenciální čekání znamená odložený pokus o vysílání. Stanice si náhodně vybere dobu z intervalu, jehož velikost se během opakovaných pokusů zdvojnásobuje. Tuto náhodnou dobu čeká a zároveň sleduje, zda nezačal vysílat někdo jiný. Pokud ano, vrátí se ke kroku 2. Zůstalo-li médium volné, odvysílá rámec. Jestliže vysílání neuspěje, opakuje exponenciální čekání. Náhodný výběr čekací doby z rychle rostoucího intervalu má za cíl snížit pravděpodobnost, že kolidující stanice spolu budou při dalším pokusu kolidovat znovu.
  4. Je možno využít výměny RTS/CTS (RTS - Request To Send - Dotaz na vysílání, CTS - Clear To Send - Volno k odeslání). To způsobí, že stanice po průchodu testem zjištění volného média odešle na přístupový bod nejprve RTS a pouze po přijetí potvrzení CTS začne odesílat data. Využití RTS/CTS do jisté míry snižuje pravděpodobnost kolize prostřednictvím problému skrytého uzlu.

Použití[editovat | editovat zdroj]

CSMA/CA najdete v následujících protokolech:

  • 802.11Wi-Fi, tj. protokol bezdrátových lokálních sítí v režimu distribuovaného řízení (DCF)
  • 802.15 − protokol bezdrátových osobních sítí
  • LocalTalk firmy Apple
  • GNET − raný firemní protokol pro LAN
  • WaveLAN − raný protokol pro bezdrátové sítě firmy NCR