Ethernet: CSMA/CD

Carrier Sense Multiple Access with Collision Detection (CSMA/CD) is an algorithm used to try and reduce the number of collisions from occurring on a shared collision domain.  The nature of a shared collision domain is that only one device can be sending or receiving traffic at any given time.  Otherwise when two frames from two devices overlap with each other on the transmission medium at the same instant a collision occurs and results in bit errors or lost frames.

collision

CSMA/CD was introduced to minimize the number of collisions that occurred on these types of networks.  It defined a specific set of rules for hosts to use when a collision was detected on the network in order to properly transmit data.

CSMA/CD Process:

  1. If a PC needs to send a frame it listens on the connection until it senses that its not busy (cannot sense carrier signal on the Ethernet connection)
  2. When the Ethernet is not busy, begin sending the frame
  3. The sender of the frame then listens to the connection to make sure that no collision occurred.
  4. If a collision occurred, all stations that sent a frame send a jamming signal to ensure all other stations are aware of a collision
  5. After the jamming is complete each sender of the collided frames randomizes a timer and waits that long before attempting to resend the frame.  Other stations that did not participate in the collision do not have to wait to send.
  6. After all timers expire, the original senders can begin again with Step 1

NICs operating in HDX mode use loopback circuitry when transmitting a frame.  This circuitry loops the transmitted frame back to the receive side of the NIC, so that when the NIC receives a frame over the cable, the combined looped-back signal and the received signal allows the NIC to notice that a collision has occurred.

This method of detecting collisions is what is referred to in step 3 of the CSMA/CD process.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s