Wi-Fi Site Survey's, Analyse, Probleemoplossing draait op een MacBook (macOS 11+) of elke laptop (Windows 7/8/10/11) met een standaard 802.11be/ax/ac/n/g/a/b draadloze netwerkadapter. Lees meer over de ondersteuning van 802.11be hier.
De rol van CSMA/CA in WiFi-communicatie
In de wereld van WiFi-standaarden is efficiënte gegevensoverdracht van groot belang voor het behouden van betrouwbare draadloze verbindingen. Een van de belangrijkste protocollen die dit mogelijk maken, is Carrier Sense Multiple Access with Collision Avoidance (CSMA/CA). Laten we bekijken hoe het werkt.
Wat is CSMA/CA?
Stel je voor dat je een drukke koffiezaak binnenloopt tijdens de ochtendspits. Je probeert je bestelling te plaatsen, maar drie andere klanten schreeuwen tegelijkertijd die van hen. De arme barista achter de toonbank kan door de chaos geen enkele complete bestelling verstaan. Dit is precies wat er zou gebeuren in draadloze netwerken zonder een systeem dat regelt hoe apparaten communiceren.
De oplossing? Een protocol genaamd CSMA/CA, wat staat voor:
- Carrier Sense (CS): Apparaten moeten "luisteren" om te detecteren of het draadloze kanaal momenteel door een ander apparaat wordt gebruikt.
- Multiple Access (MA): Dit betekent dat veel apparaten hetzelfde draadloze kanaal delen, vergelijkbaar met hoe meerdere auto's dezelfde weg delen.
- Collision Avoidance (CA): Het protocol voorkomt actief datadbotsingen voordat ze plaatsvinden, net als een verkeerslicht dat ervoor zorgt dat auto's niet op elkaar botsen bij kruispunten.
In de kern werkt CSMA/CA door van elk apparaat te eisen dat het controleert of het draadloze kanaal vrij is voordat het data verstuurt, met behulp van een gecoördineerd systeem van verzoeken en toestemmingen dat voorkomt dat meerdere apparaten tegelijkertijd zenden. Wanneer een apparaat gegevens wil versturen, moet het eerst naar het kanaal luisteren, wachten op zijn beurt, en vervolgens expliciete toestemming van het toegangspunt ontvangen voordat het verder kan gaan.
Deze zorgvuldige coördinatie voorkomt draadloze interferentie en de ernstige negatieve gevolgen ervan, zoals beschadigde datapakketten die volledig opnieuw verzonden moeten worden, drastisch verminderde netwerkdoorvoer, verhoogde vertraging voor tijdgevoelige toepassingen zoals videogesprekken en gamen, overmatig batterijverbruik op mobiele apparaten door herhaalde zendpogingen, en slechtere prestaties voor alle verbonden apparaten naarmate het aantal botsingen toeneemt.
CSMA-variaties
De CSMA-familie omvat verschillende variaties die geschikt zijn voor verschillende netwerkomgevingen, maar de twee belangrijkste zijn CSMA/CA en CSMA/CD:
Aspect | CSMA/CD | CSMA/CA |
Netwerktype | Bedraad (Ethernet) | Draadloos (WiFi) |
Botsingsstrategie | Detecteert na het optreden | Voorkomt vóór het optreden |
Mechanisme | Monitort spanning tijdens transmissie | Gebruikt RTS/CTS-handshake |
Overhead | Minimaal (alleen bij botsing) | Hoger (coördinatie-berichten) |
Efficiëntie | Beter voor omgevingen met weinig botsingen | Beter voor omgevingen met veel botsingen |
Verborgen-knooppunt-probleem | Niet van toepassing | Wordt aangepakt via coördinatie |
CSMA/CD (Collision Detection) is de oudere variant, ontwikkeld voor traditionele bekabelde Ethernet-netwerken. Bij CSMA/CD zenden apparaten direct data uit zodra ze merken dat het kanaal vrij is, en controleren ze tijdens de transmissie op botsingen. Als er een botsing wordt gedetecteerd (door ongebruikelijke spanningsniveaus op de draad te meten), stoppen beide apparaten met zenden, wachten een willekeurige backoff-tijd, en proberen het opnieuw.
CSMA/CA (Collision Avoidance), onze hoofd focus, is een preventieve benadering die speciaal is ontworpen voor draadloze netwerken. In plaats van botsingen te detecteren nadat ze zijn gebeurd, gebruikt CSMA/CA een request-to-send/clear-to-send (RTS/CTS)-mechanisme om het kanaal voor de transmissie te reserveren, zodat botsingen vanaf het begin kunnen worden voorkomen.
Naast deze twee belangrijkste varianten omvat de CSMA-familie verschillende persistentiestrategieën die bepalen hoe agressief apparaten proberen te zenden. Deze strategieën kunnen gecombineerd worden met zowel collision detection (CD) als collision avoidance (CA):
- 1-Persistent CSMA: Je kunt 1-persistent CSMA zien als een agressieve variant waarbij apparaten continu een druk kanaal monitoren en direct uitzenden zodra het vrij komt, wat kan leiden tot een hoge kans op botsingen als meerdere apparaten wachten.
- Non-Persistent CSMA: Een minder agressieve benadering is om apparaten een willekeurige tijd te laten wachten voordat ze het kanaal opnieuw controleren, wat botsingen vermindert maar misschien waardevolle tijd verspilt als het kanaal daadwerkelijk vrij is. Dat is precies wat non-persistent CSMA doet.
- P-Persistent CSMA: Deze versie van CSMA gebruikt waarschijnlijkheid om te bepalen wanneer te zenden; apparaten zenden met een bepaalde kans ‘p’ wanneer ze een vrij kanaal vinden. Zo wordt een middenweg gevonden tussen agressieve en voorzichtige benaderingen.
Elk van deze variaties is ontwikkeld om specifieke netwerkuitdagingen te adresseren, maar CSMA/CA is de ster van de show als het gaat om draadloze omgevingen, waarop wij bij NetSpot ons richten. Als ontwikkelaars van een gebruiksvriendelijke softwareapplicatie voor het beoordelen, scannen en uitvoeren van surveys van draadloze netwerken, zien we uit eerste hand hoe belangrijk het mechanisme van botsingsvermijding van CSMA/CA is voor een soepele WiFi-prestatie die NetSpot je helpt te analyseren en optimaliseren.
Hoe werkt CSMA/CA?
We hebben al besproken wat CSMA/CA op hoog niveau doet, maar je bent misschien ook geïnteresseerd om meer te leren over hoe het daadwerkelijk werkt. In de kern dwingt CSMA/CA elk apparaat om een specifieke reeks stappen te doorlopen voordat er gegevens worden verzonden:
- Luisteren voor spreken: Het apparaat voert dragerdetectie uit en controleert of er al een andere transmissie gaande is op het draadloze kanaal.
- Wachten op stilte: Als het kanaal bezet is, wacht het apparaat door een binair exponentieel backoff-algoritme te gebruiken, waarbij de wachttijden verdubbelen na elke mislukte poging.
- Observeer de IFS-periode: Zelfs wanneer het kanaal vrij lijkt, wacht het apparaat een Inter-Frame Space (IFS) periode om er zeker van te zijn dat de vorige transmissie volledig is afgerond.
- Voeg willekeurige backoff toe: Het apparaat wacht nog een extra willekeurige periode om te voorkomen dat meerdere apparaten tegelijkertijd gaan zenden zodra het kanaal vrij is.
- Gegevens verzenden: Tot slot stuurt het apparaat zijn gegevensframe en wacht op een ontvangstbevestiging van de ontvanger.
Dit basisproces werkt goed voor kleine gegevensoverdrachten in licht belaste netwerken. Voor draadloze netwerken met grotere overdrachten of drukke omgevingen zijn echter meer geavanceerde oplossingen nodig:
- RTS/CTS (Request to Send/Clear to Send): Voor drukke netwerken of grote datatransfers kunnen apparaten een optioneel handshakeprotocol gebruiken voordat ze uitzenden. De zender stuurt eerst een kort RTS-frame om toestemming te vragen. Het toegangspunt antwoordt met een CTS-frame dat toestemming verleent en tegelijkertijd alle andere apparaten binnen bereik waarschuwt om stil te blijven.
- Network Allocation Vector (NAV): Dit virtuele dragerdetectiemechanisme voegt een extra laag van botsingsvermijding toe, bovenop fysieke signaaldetectie. Elk frame dat wordt uitgezonden bevat informatie over de duur, zodat andere apparaten precies weten hoelang het kanaal bezet zal zijn. Apparaten die deze frames ontvangen, stellen hun NAV-timer in en beschouwen het kanaal voor die duur als "virtueel bezet".
- Intelligente timing: Moderne CSMA/CA gebruikt verschillende Inter-Frame Space (IFS) perioden om verkeer te prioriteren en orde te houden in drukke netwerken. Kritieke ontvangstbevestigingsframes krijgen de kortste wachttijd (SIFS) voor snelle bevestiging van geslaagde transmissies. Reguliere gegevens gebruiken standaardafstanden (DIFS), terwijl foutafhandeling de langste tijd krijgt (EIFS).
Samen maken deze mechanismen het mogelijk dat CSMA/CA alles aankan, van rustige thuisnetwerken tot drukke luchthaven-WiFi-netwerken die duizenden apparaten bedienen.
Natuurlijk kan CSMA/CA op zichzelf geen perfecte WiFi-prestaties garanderen; factoren zoals signaalsterkte, storing en netwerkconfiguratie spelen ook een belangrijke rol. Daar komen tools zoals NetSpot van pas voor zowel netwerkbeheerders als thuisgebruikers, omdat ze kunnen helpen bij het visualiseren en optimaliseren van de fysieke aspecten van je draadloze netwerk, van het identificeren van dode zones tot het vinden van de minst drukbezette kanalen.
Conclusie
CSMA/CA is een fundamenteel protocol dat databotingen in WiFi-netwerken voorkomt door apparaten te verplichten te controleren of het kanaal vrij is voordat ze verzenden. Het protocol combineert meerdere technieken die samenwerken om verschillende netwerkcondities aan te kunnen, van eenvoudige thuissituaties tot omgevingen met een hoge dichtheid en honderden concurrerende apparaten.
Veelgestelde vragen
CSMA/CA voorkomt gegevensbotsingen in WiFi-netwerken door apparaten te laten controleren of het draadloze kanaal vrij is voordat ze verzenden.
Er zijn twee belangrijke verschillen tussen CSMA/CD en CSMA/CA. Ten eerste detecteert CSMA/CD botsingen nadat ze hebben plaatsgevonden door spanningsveranderingen op de kabel te monitoren, terwijl CSMA/CA botsingen voorkomt voordat ze plaatsvinden door gebruik te maken van coördinatiemechanismen zoals RTS/CTS. Ten tweede wordt CSMA/CD uitsluitend gebruikt in bekabelde Ethernet-netwerken waar alle apparaten elkaar kunnen horen, terwijl CSMA/CA is ontworpen voor draadloze netwerken.
Ja, CSMA/CA wordt vandaag de dag nog steeds actief gebruikt in elk WiFi-netwerk, van de nieuwste Wi-Fi 7 standaard (die verbeteringen heeft toegevoegd zoals Orthogonal frequency-division multiple access voor betere efficiëntie) tot oudere 802.11 implementaties.
802.11 gebruikt CSMA/CA omdat draadloze apparaten niet tegelijkertijd kunnen zenden en ontvangen op dezelfde frequentie, waardoor ze tijdens het verzenden geen botsingen kunnen detecteren. Daarnaast hebben draadloze netwerken te maken met unieke uitdagingen zoals verborgen knooppunten (apparaten die elkaar niet kunnen horen maar wel storen bij het toegangspunt), waardoor botsingsdetectie onpraktisch is en het vermijden van botsingen noodzakelijk is.