Carrier Sense Multiple Access with Collision Avoidance (CSMA/CA) is a network protocol for carrier transmission that operates in the Medium Access Control (MAC) layer. In contrast to CSMA/CD (Carrier Sense Multiple Access/Collision Detection) that deals with collisions after their occurrence, CSMA/CA prevents collisions prior to their occurrence.
The algorithm of CSMA/CA is:
When a frame is ready, the transmitting station checks whether the channel is idle or busy.
If the channel is busy, the station waits until the channel becomes idle.
If the channel is idle, the station waits for an Inter-frame gap (IFG) amount of time and then sends the frame.
After sending the frame, it sets a timer.
The station then waits for acknowledgement from the receiver. If it receives the acknowledgement before expiry of timer, it marks a successful transmission.
Otherwise, it waits for a back-off time period and restarts the algorithm.
The following flowchart summarizes the algorithms:
CMSA/CA prevents collision.
Due to acknowledgements, data is not lost unnecessarily.
It avoids wasteful transmission.
It is very much suited for wireless transmissions.
The algorithm calls for long waiting times.
It has high power consumption.