Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

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?

share|improve this question

1 Answer 1

up vote 16 down vote accepted

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.

If you're interested, Ethernet 10Base-2 is another example of shared media. Token Ring is yet another example, with a different way of solving the collision detection problem.

HTH!

share|improve this answer
1  
+1 - I love the smell of melting shared-collision-domain Ethernet in the morning. >smile< –  Evan Anderson Dec 28 '11 at 19:53
2  
How can these "hub" things you're referring to make you feel old? Real Ethernet runs on thick co-ax with vampire taps, transceivers, and AUI cables. –  Ward Dec 28 '11 at 23:12
    
I still have a tap coring tool gathering dust on a shelf somewhere. –  Iain Dec 28 '11 at 23:26
    
@Iain DEMPRs, DECserver 200s and 300s, DELNIs... </nostalgia> –  Ward Dec 28 '11 at 23:26
    
@ward I'll see your nostalgia and raise you DECNet, LAT, VT220, VXT2000 –  Iain Dec 28 '11 at 23:29

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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