Multiple devices share a single communication channel (like Ethernet). If two devices transmit simultaneously, their signals collide and data is lost. A mechanism is needed to minimize collisions.
A protocol where devices listen to the channel (carrier sense) before transmitting, and wait if the channel is busy, reducing but not eliminating collisions.
- Device wants to transmit: first listens to the channel (carrier sense)
- If channel is idle: transmit the data
- If channel is busy: wait for a random time, then check again
- If channel becomes idle: transmit
- Collision can still occur if two devices sense idle at the same time and both start transmitting
- “Listen before talk” approach
- Reduces collisions compared to pure ALOHA
- Does not eliminate collisions completely
- Used in wireless and wired shared media
- Built from: Carrier Sense — the listening mechanism
- Builds into: CD — adds collision detection
- Contrasts with: CA — collision avoidance vs detection
- Related: Multiple Access — broader category of protocols
- Related: Collision — what CSMA tries to avoid
- Propagation delay causes collisions: device may sense idle while a transmission is in progress but hasn’t arrived yet
- “Hidden terminal” problem in wireless (not solved by CSMA alone)
- Efficiency depends on propagation delay vs packet transmission time