Multiple Access with Collision Avoidance ist ein Verfahren für den Zugriff mehrerer Netzwerkstationen auf dasselbe Übertragungsmedium. Es wird bei drahtlosen Netzwerken (Wireless LANs) eingesetzt.
MACA setzt kleine Signalisierungspakete, die vor dem eigentlichen Paket gesendet werden, ein, um Kollisionen zu vermeiden. Diese Pakete sind 30 Byte groß und enthalten u.a. die Länge des folgenden Datenrahmens.
Protokollablauf
Möchte ein angeschlossenes Gerät ([I]) senden, so sendet er an den Empfänger ([II]) ein RTS (request to send), falls das Übertragungsmedium zur Zeit nicht besetzt ist. Gleichzeitig "hören" alle in dem Übertragungsbereich (im Beispiel durch die Kreise angedeutet) befindlichen Stationen dieses RTS, im Beispiel ist das [V]. Diese Stationen schweigen solange, bis die von [II] zurückkommende CTS-Antwort (clear to send, enthält die Länge des Datenrahmens kopiert aus dem RTS) konfliktfrei empfangen wurde und [I] die Daten versandt hat. CTS-Hörer im Übertragungsbereich von [II] warten entsprechend der im CTS stehende Länge.
Hört eine Station ein nicht für sich bestimmtes RTS (im Beispiel [III]), so wartet es auf das zurückkehrende CTS. Solange dieses nicht empfangen wird, muss sie schweigen.
Hört eine Station ein nicht für sich bestimmtes CTS (im Beispiel [IV]), so schweigt sie solange wie der im CTS vorhandene Datenlängenwert angibt.
[V] hört beide Signalisierungspakete und wartet wie [IV] ab, bis das Paket versandt wurde.
Mögliche Kollisionen
Trotz dieser Vorsichtsmaßnahme sind Kollisionen nicht ausgeschlossen: Es könnten [II] und [III] gleichzeitig RTS an [I] senden. Diese kollidieren dabei und gehen verloren. Die Sender wartet danach eine zufällige Zeitspanne ab und senden erneut RTS'. Der angewandte Algorithmus ist dabei das binäre exponentielle Backoff.
MACA unterliegt somit auch den gleichen Nachteilen bei "versteckten" und "ausgelieferten" Endgeräten wie CSMA/CA.
Siehe auch
CSMA/CA, Schiedsrichteralgorithmus
Eine Weiterentwicklung für Ad-Hoc Netzwerke ist das PAMAS-Protokoll