9 September 2010

Why Is a Full Duplex Ethernet Connection Significantly Faster ?

A full duplex connection is more than twice as fast as half duplex ? Why ? The real point of this question is that a half duplex connection is much slower than full duplex connection.

Some Basics

Lets recap some of the basics.

Half Duplex

A half duplex Ethernet port must detect collisions on the broadcast medium. A small process in the network driver checks that the medium is free before transmitting thus adding a small amount of delay. The driver must also monitor for a collision and, if a collision occurs, must backoff for a random interval before checking availability and retransmitting the frame.

Full Duplex

A full duplex port has no requirement to check for collisions and thus immediately transmits the frame. And has no need to check for collisions (thus having a secondary benefit on driver and CPU performance). The driver can immediately transmit the frame without any delay.

Acknowledgements, Collisions and CPU

It is easy to forget that data transfer is a two way process. Consider a large file transfer where data is mostly flowing in a single direction. TCP/IP will transmit acknowledgements regularly, and these frames are returned to the sender. It is certain that some of these ACK’s will collide and cause a delay in the transmission. Any Ethernet collision will cause a pause in transmission, CPU will be expended to manage the buffers / queues will determining if the packet can be retransmitted.

In a full duplex connection, each direction has dedicated bandwidth and collisions cannot occur. This removes the delay and retransmissions that occur in a shared medium.

netw-gear-4.jpg

Conclusion

A Ethernet port at half duplex will be appreciably slower than a full duplex connection. This is a good illustration of the difference between bandwidth and speed. The speed of 100Mbps half duplex connection is still 100Mbps, but the [slider title="maximum bandwidth is about 60 Mbps"]I can’t provide you with exact numbers but it will be less than 70Mbps, and tends to vary according to the application. Small frames perform OK, big frames go slower in half duplex. Either way you will not be able to move as much data as a full duplex connection. [/slider]

You should always remember the difference when designing high performance networks.

Please rate this post:

1 Star - It\\\'s Crud2 Stars - It\\\'s Tosh3 Stars - Something\\\'s missing4 Stars - Needs works5 Stars - Good Enough6 Stars - Good7 Stars - Excellent8 Stars - Brilliant9 Stars - Astonishing10 Stars - Awesomely Godlike? (4 votes, average: 7.00 out of 10)
Loading ... Loading ...

About Greg Ferro
Greg is a Network and Security Architect / Designer / Engineer working freelance in the UK and worked for Resellers, DotCom's, Large Corporate's and Service Providers across a variety of products & Vendors. He prefers to work for end users, believes in the life cycle, total cost of ownership and that near enough is often good enough. He likes talking about himself in the first person to feel "royal", even when hosting the Packet Pushers Podcast on Data Networking. More about Greg at http://etherealmind.com/who-am-i/ and you can follow him on Twitter.

Speak Your Mind

*