# CSMA/CA

CSMA/CA staat voor Carrier Sense Multiple Access met Collision Avoidance en is een onderdeel van CSMA. CSMA is een protocol dat controleert of er verkeer aanwezig of afwezig is op het medium. CSMA/CA is een methode voor gegevensoverdracht en zorgt voor een maximaal gebruik van de bus. CSMA/CA wordt gebruikt bij draadloze communicatie die gebaseerd is op IEEE 802.11 en bevindt zich op de datalinklaag van het OSI-model.
Bij draadloze communicatie kan niet gelijktijdig worden verzonden en ontvangen. Ook kunnen niet alle knooppunten van het netwerk alle pakketten in het medium ontvangen (hidden node problem). Door deze beperkingen kan er geen gebruik gemaakt worden van CSMA/CD bij WiFi.

## Werkwijzen

Er zijn twee werkwijzen die worden ondersteund door CSMA/CA:
* Het station wil zenden, dus luistert eerst naar de lijn. Wanneer er geen activiteit op de lijn is, begint het te versturen. Tijdens het versturen van data wordt er niet meer geluisterd. De volledige frame wordt in een keer verzonden. Wanneer er wel activiteit op de lijn is, blijft de zender luisteren tot er geen activiteit meer is. Dan kan hij beginnen met zenden. Wanneer er een botsing (collision) optreedt, wachten beide stations voor elk een willekeurig gegenereerde tijd en proberen opnieuw.
* De andere werkwijze is gebaseerd op MACAW (Multiple Access with Collision Avoidance for Wireless) en maakt gebruik van virtuele channel sensing en handshake om botsingen te voorkomen. Het idee achter het MACAW-protocol is dat de zender de ontvanger een korte frame laat verzenden, zodat stations in zijn omgeving deze transmissie kunnen detecteren en het - voor de duur van het zenden van de komende dataframe - onthouden. Het station dat wil zenden, stuurt eerst een RTS (Request To Send) frame om toestemming tot verzenden te vragen. Wanneer het ontvangende station dit ontvangt en akkoord gaat, stuurt het een CTS (Clear To Send) frame terug. Er wordt gebruikgemaakt van een ACK (Acknowledge) timer. Dit wil zeggen dat het pakket binnen een bepaalde tijd ontvangen moet worden. Wanneer de tijd verlopen is, begint het protocol terug opnieuw. Stations die binnen de range van de zender bevinden, wachten ook met versturen tot de transactie compleet is.

## Eigenschappen

CSMA/CA is grotendeels gebaseerd op de modulatie techniek die gebruikt wordt om data tussen de nodes te verzenden. Uit studies is gebleken dat, onder ideale omstandigheden, Direct Sequence Spread Spectrum (DSSS) de beste doorvoer heeft naar alle nodes van het netwerk. Dit is bij gebruik van CSMA/CA en IEEE 802.11 RTS/CTS-uitwisseling. Frequence Hopping Spread Spectrum (FHSS) is veel slechter op gebied van doorvoer. Dit verschil is duidelijk merkbaar bij zware belasting van het netwerk. Bij normale omstandigheden is het verschil amper merkbaar.

## Gebruik

CSMA/CA is in verschillende technieken en protocollen geïmplementeerd.
* GNET, een vroeger LAN-protocol;
* 802.11 RTS/CTS implementeert virtual carrier sensing door gebruik te maken van Request To Send en Clear To Send berichtjes voor WLAN's;
* IEEE 802.15.4 (Wireless PAN) zoals ZigBee;
* LocalTalk van Apple;
* NCR WaveLAN, een vroeger draadloos netwerk protocol;
* de ITU-T G.hn standaard. Dit biedt een manier om hoge-snelheid LAN's te maken, door gebruik te maken van de reeds bestaande bekabeling in huis. Snelheden tot 1Gigabit/seconde worden behaald.
* ↑ Tanenbaum, Andrew S. (2003). 'Computer Networks, Fourth Edition'
* ↑ Study of different CSMA/CA IEEE 802.11-based implementations