Carrier Sense Multiple Access with Collision Detect (CSMA/CD)

Have you been in a meeting in which everyone has had something to say? It's difficult to get anything done when everyone is talking at the same time. When this happens, everyone eventually stops talking and lets one person talk. Ethernet works much the same way when using CSMA/CD.

With CSMA/CD, when an Ethernet device attempts to access the network to send data, the network interface on the workstation or server checks to see if the network is quiet. When the network is clear, the network interface knows that transmission can begin. If it does not sense a carrier, the interface waits a random amount of time before retrying. If the network is quiet and two devices try sending data at the same time, their signals collide. When this collision is detected, both devices back off and wait a random amount of time before retrying, much like two people starting to talk at the same time?both stop and wait a random amount of time before trying to speak again.

CSMA/CD Operation

In a half-duplex environment, Ethernet operates with CSMA/CD, such as found in 10BASE-T (10 Mbps) Ethernet LANs. Half-duplex Ethernet operation means that each device can send and receive data, but not at the same time.

In the framework of CSMA/CD, the computers on a network operate as follows.

  • Carrier sense? Each computer on the LAN is always listening for traffic on the wire to determine when gaps between frame transmissions occur.

  • Multiple access? Any computer can begin sending data whenever it detects that the network is quiet. (There is no traffic.)

  • Collision detect? If two or more computers in the same CSMA/CD network collision domain begin sending at the same time, the bit streams from each sending computer interfere, or collide, with each other, making each transmission unreadable. If this collision occurs, each sending computer must be able to detect that a collision has occurred before it has finished sending its frame.

    Each computer must stop sending its traffic as soon as it has detected the collision and then wait some random length of time, called the back-off algorithm, before attempting to retransmit the frame.

Collisions

Collisions are used by Ethernet to control network access and shared bandwidth among connected stations that are trying to transmit at the same time on a shared medium, such as the network segment. Because the network medium is shared, a mechanism must exist whereby the network stations can detect network availability so that they do not transmit at the same time; this mechanism is collision detection.

Collisions occur when two frames try to use the same network segment at the same time and both frames are lost, not unlike two people trying to talk at the same time. As you might suspect, collisions in networks and conversations are best avoided. However, collisions in a shared environment cannot be avoided, whether that shared environment is a network segment or the air of a conversation.

Figure 5-2 illustrates what happens when a collision occurs on a network segment.

  • Station A attempts to send a frame across the network. First, Station A checks to see if the network is available (carrier sense). If the network is not available, Station A waits until the current sender on the medium has finished.

  • Let's suppose that Station A believes the network is available and tries sending a frame. Because the network is shared (multiple access), other stations on the same network segment might also attempt to send at the same time (Station B, for instance).

  • Shortly after Station B attempts to send traffic across the line, both Station A and Station B realize that another device is attempting to send a frame (collision detection). Each station waits a random amount of time before sending again. The time after the collision is divided into time slots; Station A and Station B each pick a random slot for attempting a retransmission.

  • Should Station A and Station B attempt to retransmit at the same time, they extend the amount of time each waits before trying again, decreasing the chance of resending data in the same time slot.

Figure 5-2. Ethernet Collision

graphics/05fig02.gif


note

graphics/note_icon.gif

The maximum number of retransmissions for the same data frame is 16; if the transmission fails 16 consecutive times, the network is considered unavailable.


Reducing the number of collisions in a LAN is essential to the design and operation of the network just as reducing the amount of traffic in the city is crucial to reducing delays. Increased collisions result from too many users and devices on the network contending for network bandwidth. This contention slows the performance of the network from the user's point of view, yielding the most frequent call to the help desk: "The network is slow today." Breaking up, or segmenting, the network is the common way of reducing this network contention. Network segmentation occurs when a network is divided into different pieces joined together logically with a bridge, switch, or router.