Carrier sense multiple access with collision detection

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Simplified Algorithm of CSMA/CD. Station checks if another station is transmitting, if not it sends the first bit of information. If no collision is detected it will continue to send the other bits of information while continuously checking if a collision has been detected. If a collision is detected it will calculate a random amount of time to wait and start the process again. If the maximum amount of attempts is reached then no transmission is possible and it will be aborted.

Carrier sense multiple access with collision detection (CSMA/CD) is a media access control method used most notably in early Ethernet technology for local area networking. It uses a carrier sensing scheme in which a transmitting station detects collisions by sensing transmissions from other stations while transmitting a frame. When this collision condition is detected, the station stops transmitting that frame, transmits a jam signal, and then waits for a random time interval before trying to resend the frame.[1]



The following procedure is used to initiate a transmission. The procedure is complete when the frame is transmitted successfully or a collision is detected during transmission.[2]:33

  2. Is medium idle? If not, wait until it becomes ready.[note 1]
  3. Start transmitting and monitor for collision during transmission.
  5. Reset retransmission counters and end frame transmission.
Collision detected procedure

The following procedure is used to resolve a detected collision. The procedure is complete when retransmission is initiated or the retransmission is aborted due to numerous collisions.

  2. Increment retransmission counter.
  4. Calculate and wait the random backoff period based on number of collisions.
  5. Re-enter main procedure at stage 1.


Methods for collision detection are media dependent, but on an electrical bus such as 10BASE5 or 10BASE2, collisions can be detected by comparing transmitted data with received data or by recognizing a higher than normal signal amplitude on the bus.

Jam signal[edit]

The jam signal or jamming signal is a signal that carries a 32-bit binary pattern sent by a data station to inform the other stations of the collision and that they must not transmit.[3]




Late collision[edit]

A late collision is a type of collision that happens further into the packet than is allowed for by the protocol standard in question. In 10 megabit shared medium Ethernet, if a collision error occurs after the first 512 bits of data are transmitted by the transmitting station,[4] a late collision is said to have occurred. Importantly, late collisions are not re-sent by the NIC unlike collisions occurring before the first 64 octets; it is left for the upper layers of the protocol stack to determine that there was loss of data.

As a correctly set up CSMA/CD network link should not have late collisions, the usual possible causes are full-duplex/half-duplex mismatch, exceeded Ethernet cable length limits, or defective hardware such as incorrect cabling, non-compliant number of hubs in the network, or a bad NIC.

Channel capture effect[edit]

The channel capture effect is a phenomenon where one user of a shared medium "captures" the medium for a significant time. During this period (usually 16 frames)[clarification needed], other users are denied use of the medium. This effect was first seen in networks using CSMA/CD on Ethernet. Because of this effect, the most data-intense connection dominates the multiple-access wireless channel.[5] This happens in Ethernet links because of the way nodes "back off" from the link and attempt to re-access it. In the Ethernet protocol, when a communication collision happens (when two users of the medium try to send at the same time), each user waits for a random period of time before re-accessing the link. However, a user will wait ("back off") for a random amount of time proportional to the number of times it has successively tried to access the link. The channel capture effect happens when one user continues to "win" the link.

For example, user A and user B both try to access a quiet link at the same time. Since they detect a collision, user A waits for a random time between 0 and 1 time units and so does user B. Let's say user A chooses a lower back-off time. User A then begins to use the link and B allows it to finish sending its frame. If user A still has more to send, then user A and user B will cause another data collision. A will once again choose a random back-off time between 0 and 1, but user B will choose a back-off time between 0 and 3 – because this is his second time colliding in a row. Chances are A will "win" this one again. If this continues, A will most likely win all the collision battles, and after 16 collisions (the number of tries before a user backs down for an extended period of time), user A will have "captured" the channel.

The ability of one node to capture the entire medium is decreased as the number of nodes increases. This is because as the number of nodes increases, there is a higher probability that one of the "other" nodes will have a lower back-off time than the capturing node.

The channel capture effect creates a situation where one station is able to transmit while others are continually backing off, thus leading to a situation of short-term unfairness. Yet, the situation is long-term fair because every station has the opportunity to "capture" the medium once one station is done transmitting. The efficiency of the channel is increased when one node has captured the channel.

A negative side effect of the capture effect would be the idle time created due to stations backing off. Once one station is finished transmitting on the medium, large idle times are present because all other stations were continually backing off. In some instances, back-off can occur for so long that some stations actually discard packets because maximum attempt limits have been reached.






  1. ^ "Carrier Sense Multiple Access Collision Detect (CSMA/CD) Explained". Retrieved 2011-07-29. 
  2. ^ Heinz-Gerd Hegering; Alfred Lapple (1993). Ethernet: Building a Communications Infrastructure. Addison-Wesley. ISBN 0-201-62405-2. 
  3. ^ Forouzan, Behrouz A. (2010). TCP/IP protocol suite (4th ed.). Boston: McGraw-Hill Higher Education. p. 54. ISBN 0073376043. 
  4. ^ IEEE 802.3-2008 Section 1, IEEE section
  5. ^ Kopparty, S; Krishnamurthy, S. V.; Faloutsos, M.; Tripathi, S. K. (1998). "Split TCP for Mobile Ad Hoc Networks" (PDF). GLOBECOM -NEW YORK-. 1: 138–142.