From CSMA/CD to Full-Duplex Switching: How Ethernet Media Access Control Evolved

This article examines how Ethernet media access control evolved: from CSMA/CD on a shared bus, to bridges that split collision domains, to switches and full-duplex links that eliminate collisions altogether. It answers a core question: why modern Ethernet almost never uses CSMA/CD anymore. Keywords: CSMA/CD, full-duplex switching, collision domain.

Technical Snapshot

Parameter Details
Technical Topic Ethernet media access control sublayer
Layer Data Link Layer MAC sublayer
Core Protocols CSMA/CD, IEEE 802.3
Typical Media Coaxial cable, twisted pair
Operating Modes Half-duplex, full-duplex
Key Devices Hub, bridge, switch
Star Count Not provided in the source; cannot be determined
Core Dependencies MAC address learning, switching fabric, backoff algorithm

Shared-media LANs first exposed the problem of transmission timing conflicts

Early Ethernet used a single bus to connect multiple hosts. Any electrical signal sent by one node propagated across the entire link, so if multiple nodes transmitted frames at the same time, a collision occurred.

That means the MAC sublayer’s first job was not addressing, but deciding who could transmit and when. Without a central scheduler, Ethernet had to rely on a distributed contention mechanism to allocate access to the channel.

The nature of conflicts in shared media

Host A ----+---------------------+---- Host B
           |   Shared coaxial bus |
Host C ----+---------------------+---- Host D

A and C transmit at the same time -> signals overlap -> collision -> frame becomes invalid

This diagram shows that the root problem of shared media is not insufficient bandwidth, but the lack of natural isolation for concurrent transmissions.

CSMA/CD controls collisions through carrier sensing, detection, and backoff

The logic of CSMA/CD can be summarized as: listen before transmit, listen while transmitting, stop on conflict, then retry after a random delay. It does not prevent collisions. Instead, it handles them at relatively low cost.

Before transmitting, a host first checks whether the channel is busy. If the channel is idle, it starts transmitting. During transmission, it continues monitoring the medium. If the received signal no longer matches the transmitted signal, it concludes that a collision has occurred.

The core CSMA/CD workflow can be simplified as the following algorithm

def csma_cd_send(frame, max_retry=16):
    retry = 0
    while retry < max_retry:
        while channel_busy():
            pass  # Keep listening until the channel becomes idle

        start_transmit(frame)  # Start transmitting the frame

        if detect_collision():
            send_jam_signal()  # Send a jam signal so all stations detect the conflict
            retry += 1
            k = min(retry, 10)
            r = random_int(0, 2**k - 1)  # Select a random slot using binary exponential backoff
            wait_slot_times(r)
        else:
            return True  # No collision detected; transmission succeeded

    return False  # Exceeded the maximum retry count; transmission failed

This code captures the full CSMA/CD control loop: sense, transmit, detect collision, send jam, back off, and retransmit.

The minimum frame size fundamentally comes from the physical constraint of collision detectability

CSMA/CD is not a purely logical protocol. It is tightly constrained by propagation delay. If the one-way propagation delay between the two farthest endpoints is τ, then in the worst case the sender must still be transmitting for 2τ in order to receive collision feedback from the far end.

For that reason, Ethernet requires the minimum frame length to cover the collision detection window. In classic 10 Mbps Ethernet, that window is about 51.2 microseconds, corresponding to 512 bits, or 64 bytes.

The minimum frame size constraint can be understood like this

A starts transmitting -----> signal propagation -----> B
A still does not know of the collision <----- collision feedback <----- B transmits at the same time

Requirement: A must still be transmitting within 2τ
Conclusion: frame too short -> A finishes too early -> collision cannot be detected

This shows that the 64-byte minimum was not arbitrary. It came directly from the physical boundary conditions of shared-media Ethernet.

Binary exponential backoff improves convergence under high-conflict conditions

If stations retransmit immediately after a collision, multiple nodes may collide again at the same time. To reduce that risk, Ethernet expands the random waiting window as the number of collisions increases. This mechanism is called binary exponential backoff.

After the k-th collision, a station randomly chooses a waiting value from 0 to 2^k – 1 slot times. The more frequent the conflicts, the larger the backoff window, and the lower the probability that multiple nodes will collide again.

The backoff window grows as follows

1st collision: 0~1
2nd collision: 0~3
3rd collision: 0~7
...
10th collision: 0~1023

This mechanism improves overall system stability, but it does not guarantee absolute fairness. Some stations may remain unlucky and repeatedly back off.

Hubs changed the wiring layout but not the nature of contention

After twisted pair became widespread, Ethernet’s physical topology shifted from bus to star. But if the central device is a hub, the network’s essential behavior does not change. A hub only regenerates and repeats bits. It does not understand frames, and it does not isolate collisions.

As a result, all hosts connected to a hub still belong to the same collision domain. If any two ports transmit at the same time, a collision occurs across the entire logical shared medium.

Bridges and switches truly split collision domains

Bridges introduced the ability to forward traffic based on MAC addresses. They can buffer frames, learn addresses, and decide whether to forward traffic, which allows one large collision domain to be divided into multiple smaller ones.

A switch is the engineered multiport form of a bridge. Each port can send and receive independently, buffer independently, and forward independently. Collisions no longer propagate across ports. The network changes from everyone competing for one wire to each host having its own dedicated access link.

A switched network isolates collisions like this

Host A <--> Switch Port 1
Host B <--> Switch Port 2
Host C <--> Switch Port 3
Host D <--> Switch Port 4

Each port forms an independent link, so collisions do not spread across ports

This diagram shows that port-level isolation of collision domains is the key reason switched Ethernet delivers a major performance leap.

Full-duplex links effectively retired CSMA/CD in modern Ethernet

When a host and a switch use a full-duplex connection, transmission and reception use separate paths. The two endpoints no longer share a transmission medium, so there is no need for collision detection.

In that model, a host does not need to listen before transmitting, send a jam signal, or back off. Although CSMA/CD remains part of Ethernet’s historical standards context, it is almost never enabled in practical modern switched Ethernet.

Collision domains and broadcast domains became clearly separated in the switching era

In the shared-bus era, the collision domain and the broadcast domain often overlapped. Once switches appeared, the collision domain shrank to a single link, or in practical terms to a zero-collision design, while the broadcast domain could still span an entire VLAN.

As a result, switches solve Layer 2 concurrent transmission conflicts, but they do not automatically solve broadcast flooding. Broadcast domain control depends on mechanisms such as VLANs, Layer 3 gateways, and STP, not on CSMA/CD.

This evolution reveals a fundamental shift in Ethernet design priorities

The path from CSMA/CD to full-duplex switching is fundamentally a shift from time-based contention to spatial isolation. Early networks used protocol logic to coordinate conflicts. Modern networks use hardware port isolation to eliminate them.

That is also why CSMA/CD still matters conceptually: it explains why Ethernet once required a minimum frame size, why hubs delivered poor performance, and why switches became the standard form of the LAN.

C知道

FAQ

1. Why is CSMA/CD typically no longer used in modern switched networks?

Because hosts and switch ports usually operate over full-duplex links. The transmit and receive paths are separate, there is no shared medium, and therefore there are no collisions to detect or avoid with backoff.

2. Why do textbooks always emphasize the 64-byte minimum frame size?

Because it comes from the collision detection window requirement in half-duplex shared Ethernet. In the worst case, the sender must still be transmitting in order to detect collision feedback returning from the far end.

3. Can a switch eliminate broadcasts?

No. A switch primarily eliminates collisions and isolates collision domains, but broadcast frames and unknown unicast frames are still flooded within the same VLAN. The broadcast domain still exists.

References

  • IEEE 802.3-2018, Ethernet Standard.
  • Metcalfe, R. M., & Boggs, D. R. Ethernet: Distributed packet switching for local computer networks.
  • Spurgeon, C. E., & Zimmerman, J. Ethernet: The Definitive Guide.
  • Tanenbaum, A. S., & Wetherall, D. J. Computer Networks.

Core Summary: This article systematically reviews Ethernet’s technical evolution from shared media to switched full-duplex networking. It explains how CSMA/CD works, the physical constraints behind minimum frame size and the backoff algorithm, and how hubs, bridges, and switches progressively eliminated collision domains, ultimately separating collision domains from broadcast domains.