I'm currently learning about Ethernet standards, auto negotiation and duplex mismatch. That made me wondering why half-duplex operations is allowed in 10BASE-T and 100BASE-TX networks. Wouldn't it have been easier to enforce full-duplex operation in the IEEE standard?
Stop it, you're making me feel old. ;)
Ethernet was originally designed to connect to shared media. There used to be devices called "hubs." Outwardly, hubs look almost the same as switches do today, but the way that they forward frames is fundamentally different.
Nearly every Ethernet switch will build a database that maps MAC addresses to RJ-45 ports. It builds that database by learning what is connected to its port. It deduces what is connected from the source MAC addresses observed on the connected wires. When a switch receives a frame on a port, it does a lookup in this database to find where it should send the frame. If there is no database entry, it "floods" the frame - sends it to all ports in an attempt to elicit a response. The key to remember here is that switches try to send traffic only where it needs to go.
Hubs don't bother with any of that. It simply sends every frame, every bit received on a port, to all other ports as soon as it is received. The implication here is that two stations cannot send frames to the network at exactly the same time. If they did, they would garble each other's frames. There is an in-built mechanism in Ethernet to deal with this situation called collision detection. (You may have seen the term CSMA/CD - this is the CD part of that term.)
To answer your question, duplex becomes an issue when connecting to hubs. Hubs cannot speak to stations in full duplex because, in full duplex operation, there is no way for a station to apply collision detection. The full-duplex station expects traffic to flow in and out concurrently, and the station assumes that it should not stop transmitting when it receives a frame. In short, half-duplex operation enables collision detection; full duplex operation disables it.
An Ethernet hub provides 10 or 100 Mbits of shared bandwidth for all connected stations. In other words, the sum total bandwidth usage of all stations on a hub cannot exceed that 10 or 100 Mbits. Switching technology is clearly far superior when you consider that the total bandwidth usage on any one switch port cannot exceed 10 or 100 Mbits.
Gigabit Ethernet was developed after switches became ubiquitous and half-duplex operation was no longer needed.
|show 1 more comment|