6

So considering that CSMA/CD is for detecting collisions, mostly in a bus scenario with a lot of stations, then is CSMA/CD still used?

Because right now most of the connections are point to point (for example one router getting connected to another router using cable) and there are no bus stations, and furthermore most of the cables are full duplex (i think?) so is CSMA/CD still used? if not then is there any collision detection in Ethernet?

Also i said mostly because I'm not 100% sure, but are bus networks still a thing in developed countries? i mean why would anyone use it?

1
  • In some places, hubs (UTP that requires half duplex) are still used, and they are popular for places that monitor traffic, but they are only used on 10BASE-T and 100BASE-TX. The 1000BASE-T standard provides for half duplex and hubs, but I'm not aware of any hubs produced for that. Standards from 10GBASE-T on have eliminated half-duplex.
    – Ron Maupin
    Commented Jul 16, 2018 at 14:02

2 Answers 2

8

Generally, no. CSMA/CD is all but extinct.

CSMA/CD is required for half-duplex links but these are only possible for 10 and 100 Mbit/s. Practically all 100 Mbit/s interfaces support full-duplex mode and autonegotiation, so they negotiate for and link at full duplex.

Half duplex was the only operating mode for links connected by repeater hubs but these have practically all been replaced by switches.

For Gigabit Ethernet, half-duplex mode was defined in the standard but gigabit repeaters didn't surface and there's practically zero support for half-duplex mode with GbE on existing devices. Multi-gigabit standards dropped half-duplex operation and repeaters altogether, and use full duplex exclusively.

So, while early Ethernet's single-wire shared medium was inherently half-duplex and CSMA/CD was mandatory, later generations introduced full-duplex capable media (10BASE-F, 10BASE-T, ...) and subsequently full-duplex concentrators (switches instead of repeater hubs). These rendered half-duplex mode and CSMA/CD obsolete.

As a result, to actually see CSMA/CD in action you'd need a 10 or 100 Mbit/s link and either dig up an obsolete repeater hub or force the switch and NIC ports to use half duplex. Practically anything built in the last twenty years is able to use full duplex and will do so unless you don't let it.

2
  • 2
    So basically in the modern day Ethernet like gigabit Ethernet there are no collisions and therefore no need for collision detection, correct?
    – John P
    Commented Jul 16, 2018 at 7:10
  • 1
    Practically, yes.
    – Zac67
    Commented Jul 16, 2018 at 7:16
1

is CSMA/CD still used?

Almost certainly yes, nowhere near as widely as it once was but I find it highly doubtful it has disapeared completely.

So considering that CSMA/CD is for detecting collisions, mostly in a bus scenario with a lot of stations

CSMA/CD is used when links are running in half-duplex mode. There are several reasons links may be running in half duplex mode.

  1. The device doesn't support full duplex operation. Hubs are an obvious example but other legacy devices may also lack support.
  2. The device does support full duplex mode but doesn't support autonegotiation so it ends up running in half duplex mode by default. (for example the ENC28J60)
  3. The network segment is a multipoint bus.
  4. Some network admin manually forced the settings.

Scenario 3 went away years ago, and scenario 4 has become far less common now that autonegotiation works reliablly.

Scenarios 1 and 2 are becoming increasingly uncommon but I doubt they will disapear completely for a while. There is loads of legacy equipment out there still doing important jobs and there are also loads of embedded devices out there for which even 10M/half is overkill.

What may exert some pressure is the rise of 2.5G/5G/10G twisted pair standards. If/when those standards really take off we may see more ports that don't support 10M forcing embedded device manufacturers to install 100M controllers even if they have no need for the speed.

3
  • "CSMA/CD is used when links are running in half-duplex mode" do you know why we consider simultaenous transmission a collision in eg 10baseT where there is no shared medium? (ie, there's a pair in each direction, where is the collision?) I can only see the internal bus of a "pure transistor" hub as a candidate. Reason for asking is that the /CD mechanism of "listen and check while transmitting" doesn't work directly on separate pairs.
    – jonathanjo
    Commented Jul 17, 2018 at 15:02
  • I think there are two factors here. Firstly 10BASE-T was designed to be a drop-in replacement for coax Ethernet. Secondly dumb repeater hubs were the normal way to build networks, the modern trend of using switches everywhere came much later. Given that context it makes perfect sense to make half duplex mode the default. Commented Jul 17, 2018 at 15:16
  • Unfortunately duplex mismatches lead to terrible performance (much worse than correctly operating half duplex mode). So simply changing the default is not really an option. Autonegotiation is the soloution but it is generally only found on 100Mbps and higher controllers. Commented Jul 17, 2018 at 15:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.