A lot of educational material does a poor job of distinguishing between original ethernet and modern ethernet.
Originally Ethernet 10BASE-2 and 10BASE-5 used a shared coaxial cable. The reach of the system and number of devices could be increased by deploying repeaters. Repeaters were pretty dumb devices, they simply detected which side was transmitting and amplified the signal. So on an ethernet network with repeaters it was still only possible for one device to succesfully transmit at a given time.
Then 10BASE-T came along, it has dedicated pairs for each direction, so in principle it could support full duplex. However in practice 10BASE-T was nearly always used in a half-duplex mode for two reasons.
- There was no way to indicate to the end device that full duplex mode was in use, and a mismatched duplex configuration could cause big problems.
- 10BASE-T was nearly always used with multiport repeaters known as hubs. These hubs were again dumb devices, so they could only support a single device transmitting at any given time.
In addition to repeater hubs, there also existed "bridges", these operated at a higher level, they could receive frames, filter them by destination mac address and queue them for further transmission. Initially bridges were implemented in software using general purpose computers, but around the same time that 10BASE-T appeared on the scene Kalpana introduced the "etherswitch", a fast hardware bridge. Initially, switches were expensive but over time they came down in price.
Then fast Ethernet came along, this changed a couple of things
- There was now an auto-negotiation protocol. So switches and end devices could negotiate full duplex mode without error-prone manual configuration.
- Connecting fast Ethernet to regular Ethernet required a bridge, a dumb repeater hub could only connect devices of the same speed.
In the early days of fast Ethernet there did exist some "dual-speed hubs", which essentially behaved like a 10 megabit hub and a 100 megabit hub connected by a two port bridge but over time, as hardware costs came down, these gave way to full 10/100 switches.
By the time gigabit Ethernet came along, hubs were pretty much obsolete. The gigabit Ethernet specification does contain support for hubs and a half-duplex mode for them but my understanding is it was included more for political than technical reasons (there were arguments about whether a standard that did not support CSMA/CD could still be considered part of Ethernet). If a gigabit hub was ever sold I can't find any evidence of it.
10 gigabit and newer Ethernet standards (including 2.5G and 5G) officially dropped support for hubs and half-duplex mode altogether.
The result of this is that while most Ethernet hardware generally does still support CSMA/CD, it rarely uses it.
Despite the lack of CSMA/CD, a full duplex Ethernet connection is still treated a multipoint network by the IP stack on a host or router. Yes it could be a direct link to another host or router router but it could also be connected to an Ethernet switch or switches with multiple other hosts or routers.