“Can anybody tell me what duplex is?” the network professor asked. “Big plastic colored blocks that my little brother plays with?” responded one of the students who always showed up late. The network professor slowly shook his head, once again questioning his choice to go into the teaching profession…
One of the more frustrating network performance issues that crops up with surprising frequency is that of duplex mismatches. In today’s post, we will take a quick look at what duplex is, how duplex affects Ethernet LAN connections, and why duplex mismatches occur so often.
In the original days of Ethernet, a single cable was used for both transmitting and receiving LAN packets. This single shared wire could only carry one signal at a time, which forced computers to take turns transmitting on the cable. (See image to the right.)
Forms of communication that must take turns using a single channel of communication are known as half-duplex. If you watch old-time movie actors use radios, you can see some of the limitations of half-duplex communications. “Car 51, this is HQ, come in please, over?” The word, ‘over’, was the dispatcher’s way of telling everyone listening on the radio that they had stopped talking and that they were now listening for somebody to transmit an answer. At no point could more than one person talk on the radio at a time.
10BaseT, Ethernet Switches, and some Wide Area Networking technologies introduced full-duplex communication to Ethernet networks. Full-duplex communication takes advantage of separate channels or wires, enabling Ethernet nodes to both listen (receive) and talk (send) at the same time.
Autonegotiation: Making life easier?
Manually setting each network device’s speed and duplex settings can be an administrative nightmare, especially if network devices are frequently plugged and unplugged (think hotel room network jacks). To ease network administrators’ pain, the manufacturers came up with the IEEE 802.3u autonegotiation standard which allowed a network device to send pulses to tell the other side of a network which speeds and duplex settings it is capable of supporting.
Autonegotiation was supposed to automatically configure network links to the correct speed and duplex settings. In this new ideal world, network administrators would no longer have to configure Ethernet ports and could use all of their spare time to solve bigger problems, such as world hunger and global peace.
As is often the case with technology, the reality fell just a little bit short of this. When the standard was originally defined, there was a little too much “wiggle-room” in the definition. A number of very large networking vendors implemented the autonegotiation standard differently, causing it to fail in some circumstances. These failures can lead to a duplex mismatch, with the device on one side of a network link operating in full-duplex and the other side operating in half-duplex (more on this later). While most of the vendors have cleaned up their interpretations so autonegotiation works better, there are many circumstances where user configuration induced duplex mismatches can occur.
The most common cause of duplex mismatch network problems occur when autonegotiation is enabled on one side of a link and not on the other (Case #5 in the table above). Usually when an autonegotiation device negotiates for full duplex and does not receive ANY duplex answer from the device on the other side, it must assume that it is talking to an original style Ethernet port which is only capable of half-duplex.
Effects of a Duplex Mismatch:
What symptoms occur when a duplex mismatch happens?
The low-level effects of a duplex mismatch are listed in Table 2. When administrators look at the effects on higher level protocols, they may see an IP link that is performing at a tiny fraction of the speed that it should. UDP protocols like Voice over IP will show a high amount of packet loss and callers may experience bad voice quality and dropouts. TCP based protocols will slow to a crawl since every time a packet is lost, TCP assumes that the link is too slow and “throttles” the stream down to an even slower rate.
Layer 3 network management tools may not be able to find duplex mismatches on your network since they typically operate by sending a single layer 3 PING packet and get a response. Since many of the packets DO go through, these layer 3 tests will frequently indicate that the network link is working properly, even though a very serious problem exists on the link.
PathSolutions Finds Duplex Mismatches
Ordinarily, many duplex mismatches go undetected although network administrators may receive user complaints of slow performance and poor network quality. As mentioned before, network management tools relying solely on Layer 3 Ping Packets will never notice these problems since most Layer 3 Ping packets will still get through the impaired connection.
By contrast, PathSolutions TotalView automatically provides a view of the high error rate and describes the root cause of the problem (Duplex mismatch) in plain-English in the Network Prescription section of the same page.
Fixing Duplex Mismatches
While finding and debugging duplex mismatches can be a challenge (if you’re not using PathSolutions TotalView), the fix for duplex mismatches can be quite simple. For network connections to servers and other critical hardware that is not often changed or unplugged, it may be more reliable to manually configure network speed and duplex settings. This manual configuration will ensure that the links are running at the desired speed and duplex setting. For user-level connections to offices (that may be frequently unplugged and re-arranged), it is usually easier to leave autonegotiation enabled on network ports and end-user devices.
With Great Power Comes Great Responsibility
You now possess the knowledge of what a duplex mismatch is and what causes it. You know how these mismatches slow traffic to a crawl and kill voice quality. Lastly, you have the power to find and correct duplex mismatches in your networks in order to speed up applications and improve your network performance.
Now use this knowledge and power to spread the word and hopefully save some poor network professor from having nightmares of trying to rescue clueless students from behind a wall of plastic bricks!
10Base5 / Thickwire: https://en.wikipedia.org/wiki/File:10Base5transcievers.jpg