Carrier Sense Multiple Access with Collision Detection (CSMA/CD) is a network protocol for carrier transmission that operates in the Medium Access Control (MAC) layer. It senses or listens whether the shared channel for transmission is busy or not, and defers transmissions until the channel is free. The collision detection technology detects collisions by sensing transmissions from other stations. On detection of a collision, the station stops transmitting, sends a jam signal, and then waits for a random time interval before retransmission.
The algorithm of CSMA/CD 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 starts transmitting and continually monitors the channel to detect collision.
If a collision is detected, the station starts the collision resolution algorithm.
The station resets the retransmission counters and completes frame transmission.
The algorithm of Collision Resolution is:
The station continues transmission of the current frame for a specified time along with a jam signal, to ensure that all the other stations detect collision.
The station increments the retransmission counter.
If the maximum number of retransmission attempts is reached, then the station aborts transmission.
Otherwise, the station waits for a backoff period which is generally a function of the number of collisions and restart main algorithm.
The following flowchart summarizes the algorithms:
Though this algorithm detects collisions, it does not reduce the number of collisions.
It is not appropriate for large networks performance degrades exponentially when more stations are added.