cloud computing trends

Carrier Sense Multiple Access/Collision Detection

written by Nipuna Jayaweera
On Mar 19, 2023

Carrier Sense Multiple Access/Collision Detection is used in previous Ethernet technology or LANs in which the connection was in a Bus topology using coaxial cables. At present CSMA/CD is not often used since the Ethernet connections are in Full Duplex and use either Star Topology or Pont to Point connections. Although it is not used it still can be supported by the network.

CSMA/CD is a protocol to determine which station will send data so that there won’t be collisions among data when many stations start to send data at the same time. This approach makes sure that the sending data won’t get corrupted on the way by avoiding collisions. When a collision is detected, the station stops sending, sends a jam signal, and waits for a random time interval before resending.

Process of Carrier Sense Multiple Access/Collision Detection

First of all, the sending station checks whether the channel is idle or busy when the frame(data packets) is ready.

It checks this by constantly sensing broadcasts from other nodes. Dummy data is sent over the connection by the sender. If it does not receive any collision signals, it suggests the connection is now idle. Then it transfers the data if it detects that the carrier is free and there are no collisions. If a collision is detected, the station starts the collision resolution algorithm.

The station resets the retransmission counters and completes the frame transmission.

Collision Resolution Algorithm

To guarantee that all other stations identify collision, the station maintains transmission of the current frame for a set duration, accompanied by a jam signal.

The retransmission counter is increased by the station.

If the station’s maximum number of retransmission attempts is reached, the broadcast is terminated. Else, the station waits for a backoff period that is normally determined by the amount of collisions before restarting the main algorithm.

This approach, although detecting collisions, does not minimize the amount of collisions. It is not suitable for big networks since performance deteriorates exponentially as more stations are added.

Nipuna Jayaweera

As I sit here reflecting on my journey, I'm thrilled to say I have over six years of experience in the software engineering industry, and have been fortunate enough to have the opportunity to serve as a Senior Software Engineer. It's been an exhilarating ride, with a diverse range of experiences that have helped me build my skills and knowledge base. Whether it's back-end or front-end development, I am an expert in both, having mastered a wide technology stack that enables me to bring your vision to life. Over the years, I've had the privilege of working on multiple projects, building out applications that span across the web and mobile platforms. I've reviewed thousands of lines of code, gained valuable insights, and now stand ready to share the knowledge I've acquired to help you understand the most important software engineering concepts.

Related Posts

Routing

Routing

What is Routing? Routing is the method of choosing the most appropriate path for network traffic to travel between different networks or network devices. It involves determining the path that data should take through the network to reach its intended destination....

Network Address Translation

Network Address Translation

Network Address Translation or NAT gives the facility of accessing the internet by multiple devices through a single public IP address. To do this, the private IP address must be converted to a public IP address. Network Address Translation is the procedure that...

IP Address

IP Address

IP is abbreviated from Internet Protocol. So IP address also known as Internet Protocol address is a unique address used to identify a device on the internet or in a LAN. Generally, IP address enables the devices to exchange information between them since they contain...

Comments

0 Comments

Submit a Comment

Your email address will not be published. Required fields are marked *