Multiple Access with Collision Avoidance (MACA)

Multiple Access with Collision Avoidance (MACA) is a medium access control (MAC) layer protocol used in wireless ad hoc network. It is used to solve the hidden terminal problem and exposed terminal problem. It is an alternate to Carrier-sense multiple access (CSMA) which have the hidden terminal problem and the exposed terminal problem.

Working :-
The main condition for MACA to work, is that the stations are in sync with frame sizes and data speed. It includes transmission of two frame called RTS and CTS preceding information transmission. RTS means Request to Send and CTS means Clear to Send. Stations near to the transmitting station can hear RTS and remains silent to here the CTS.
Assume a transmission station A has data frame to send to a receiving station B.

The whole process will work as follows:

  • A will send RTS frame to the B
  • Then b will send CTS frame to A
  • When CTS frame is received by A then it will start sending dtat frame to B
  • Upon receiving data successfully it will send acknowledgement frame(ACK)

Solution to Hidden/Exposed Terminal Problem :
MACA protocol uses RTS and CTS to avoid hidden and exposed terminal problem. In hidden terminal problem two nodes try to contact same node at a same time which can create collision to combat this if two nodes send RTS to same node then the node which receives CTS will send the data not the other one which will avoid the collision.



In exposed terminal problem one node stop receiving because it assumes that it can cause interference and so stops its transmission attempts which will make the further nodes out of range. In this case RTS and CTS solves the problem and no terminal can stop transmission because of interference.

Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.

My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.