Ethernet is a technology developed a Xerox PARC in 1973 and 1974 to support local area networking. It has since been expanded to include a whole family of technologies that support various network architectures and topologies as part of the IEEE 802.3 working group dedicated to supporting networking using physical connections and devices (i.e. not wireless).
Ethernet was built with the assumption that all computers on a network use a shared communication channel. The primary problem with using a shared connection is creating a sense of orderly traffic when an entire network of computers wants to constantly transmit data over the same channel. The core of that solution is sensing other node’s activity and waiting until the line is free and using collision detection to minimize the amount of traffic on the network.
Carrier Sense Multiple Access with Collision Detection (CSMA/CD)
Ethernet was designed in an era of shared communication channels. In this model, multiple computers share a coaxial cable connection that is the sole transmission medium for the computers. To handle the shared use of a single channel, Ethernet uses the carrier sense multiple access with collision detection (CSMA/CD) protocol to govern who is allowed to send traffic, and when.
With carrier sensing, when a node on the network wants to send data to another node, it senses any existing traffic on the channel (also known as the carrier), which is the main wire connecting all the devices. If it is free, meaning no one is sending anything, it sends the data packet on the network to all connected devices, and all other devices check the packet to see whether they are the recipient. The recipient consumes the packet. If there is already a packet on the channel, the device that wants to send waits for a small amount of time and tries again to send the data. With this algorithm, only one sender uses the channel at a time.
Carrier sensing is combined with collision detection to improve the performance of network traffic by halting any in-flight data transmission if a collision happens. With collision detection, if a node sending data detects a collision, the node stops transmitting the current frame, then waits for a random amount of time before trying to resend the packet. The exact method of detecting collisions depends on the physical media being used. On a typical 10Base5 wire, collisions can be detected by recognizing a higher than normal signal amplitude on the communication bus or by comparing data sent to data received to detect any transmission errors.
The following figure, from Wikipedia, shows a simplified CSMA/CD algorithm.
In a traditional shared deployment of Ethernet, all connected computers are subject to collisions from each other and all hosts have to be able to detect collisions anywhere on the network. As the network grows, this is not scalable. To alleviate this problem, bridging separates an Ethernet network into segments. The bridge works by observing network traffic and learning which MAC addresses are connected to which segments of the network. Once an address is learnt, the bridge forwards traffic destined to a MAC address only to the segment of the network that the MAC address resides within. This improves overall network performance by limiting the amount of unnecessary traffic being sent over the entire network and by reducing the number of collisions as the network scales.
Collision Free Ethernet
In a modern Ethernet network, computers do not typically use the same communication channel. Rather, each computer has a private cable that is connected to the network through an Ethernet switch. In this topology, the only communication channel for a node is between the node and the switch, meaning that collisions are only possible if a node and the switch attempt to communicate with each other at the same time. In addition, the full duplex Ethernet standards completely separate the send and receive channels so that they can run simultaneously. Combining full duplex standards with a switching topology means modern Ethernet networks can be completely collision free.
This article provides an introduction to Ethernet. If you want to learn more, there are several great resources to choose from:
- Carrier-sense multiple access with collision detection
- IEEE 802.3 Ethernet Working Group
- The Ethernet — A Local Area Network
- Carrier Sense Multiple Access Collision Detect (CSMA/CD) Explained