In ETHERNET, CSMA is used on a tapped coaxial cable to which all the communicating devices are connected. On the coaxial cable, in addition to sensing carrier, it is possible for the transceivers to detect collisions.
This variation of CSMA is referred to
as carrier sense multiple access with collision detection (CSMA-CD).
CSMA/CD (carrier sense multiple access/collision detection) is
a MAC (media access control) protocol. It defines how network
devices respond when two devices attempt to use a data channel simultaneously
and encounter a data collision. The CSMA/CD rules define how long the
device should wait if a collision occurs.
CSMA/CD is a modification of pure carrier-sense
multiple access (CSMA). CSMA/CD is used to improve CSMA performance by
terminating transmission as soon as a collision is detected, thus shortening
the time required before a retry can be attempted.
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
counters.
- 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.
This algorithm detects collisions but it does not
reduce the number of collisions. It is not appropriate for large networks;
performance degrades exponentially when more stations are added.