| technology | networking - Graeme Messina
CSMA/CA vs CSMA/CD: What's the Difference?
It's amazing how multiple network computers send data to one another without catastrophic packet collisions. You might expect all kinds of problems, considering the millions of data packets transmitted on your average network. But most modern computer networks are rock solid.
Data collisions do happen, but CSMA dramatically reduces this using two different protocols: CA and CD. In this post, we will learn the difference between the two approaches.
Understanding Network Transmission: CSMA
The technology behind computer networks' consistent performance is something called Carrier Sense Multiple Access (CSMA). It is a protocol that helps data sending and receiving processes across a network. When transmitting packets of data, you want to minimize packet loss and maintain data integrity on the network. The desire here is to reduce the chance of corrupt data and other undesirable behavior like disconnections and network failures.
Without CSMA, a computer that wants to send data must first check the network and see if anything else is already transmitting data. If an existing transmission is detected, then the computer will wait for its turn, and then it will begin its transmission.
With CSMA, multiple computers or nodes can send and receive over the same network. When a computer transmits data, all other computers on the same network receive the same transmission.
This condition sets the stage for error handling. What should happen when collisions occur with network packets? Data collision is one of many errors that IT professionals grapple with.
When computers on a network want to exchange data, they need a set of rules to follow. For that, we need to look at the difference between the two CSMS wireless network protocols.
How CSMA/CA Works to Avoid Collisions
Collision Avoidance (CSMA/CA) avoids collisions by listening for a transmission signal before sending data. If a signal is detected, the sender starts a counter with a random value and then waits. Once this counter runs down, the sender will try again. This process repeats until the sender can send the data. The part where the transmission waits to send is Collision Avoidance in action.
Once the line is clear, the station sends out a set of test data, and if no collisions are detected, it then sends the full payload of data. After the transmission completes, the receiver sends an acknowledgment telling the sender that it has received all the data. If the sender does not receive an acknowledgment from the receiver, it will then start transmitting the data all over again. CSMA/CA is used mostly in wireless networks. This is because wireless networks often have multiple stations that can see an access point, but not one another.
A Wireless Access Point (WAP) is crucial when setting up a wireless network. A WAP is used with a CSMA/CA feature called Request to Send/Clear to Send (RTS/CTS). A station will send an RTS signal to a WAP to let it know that it is ready to transmit.
Once the WAP has received the RTS signal, it then responds with a CTS reply. The Wap and then halts all other traffic while the station sends its data. These things happen so quickly that we don't even know they are happening. This feature gives wireless users a smooth experience.
How CSMA/CD Works to Detect Collisions
Collision Detection (CSMA/CD) avoids collisions by waiting for an idle signal before sending data. This was a protocol that was used in slower and less complex early networks. On these networks, computers could only send or receive data in one direction.
Computers that used CSMA/CD would need to be sure that the coast was clear before transmitting data. If a transmission were already in progress, then the computer that wanted to send data would wait for a random amount of time before trying again.
Waiting to send data worked great. That is until the network media cleared. If two computers saw that it was safe to start sending data at the same time, problems could occur. If both computers sent data simultaneously, they could cause a collision. When this happened, the two computers that caused the collision would send out a jamming signal that would tell all the other computers to hold off on sending data until they straighten things out.
Simultaneously, the two offending computers would activate a random timer and then transmit data again once the counter ran down for each of them. One computer inevitably would reach the end of their counter first and would transmit first. The numbers would be completely random so that the transmission times would occur at different times. Randomizing start times avoided a repeat of the collision that just happened. Thankfully, although networking can still be difficult, it's gotten a lot better.
What's the Difference Between CSMA/CA and CSMA/CD?
Coming to an understanding of how CSMA/CD and CSMA/CA differ is quite straightforward once you look at how and where these protocols are used. Older networks that ran at half-duplex could only use one lane simultaneously, making traffic coordination a much slower process. If a modern network were to suffer from network collisions today, it usually indicates a hardware failure or another serious issue.
Modern switches employ a series of technologies that help to route traffic effectively, across multiple collision domains. Unmanaged devices like network hubs create one large collision domain, increasing the chance that packets will collide in transit. Considerations like these take place when setting up the perfect wireless network.
In the simplest terms, Collision Detection detects problems after they have happened, and then tries to clean up and try again. Collision Avoidance avoids issues altogether and acts as the network traffic controller for devices.