What you will learn from this tip: What is duplex? How does duplex affect network transmission? What is a duplex mismatch? How you can resolve duplex mismatch issues?
Duplex Mismatch Primer
Note that this article was originally published at SearchNetworking.com.
When configuring Ethernet ports on PCs, laptops, servers, printers, or switches, one of your configuration choices will almost always be duplex. So what is duplex and what is a duplex mismatch? Let’s find out.
Duplex is the ability of a communications system to communicate in both directions at the same time. Think of a regular telephone call. Both parties can talk to each other at the same time. Telephone calls are duplex communications. On the other hand, a radio station is not duplex. You can only listen to the radio station; you cannot communicate back to them. The method of communication for a radio station is simplex.
Half-Duplex vs. Full-Duplex
What is the difference between half and full duplex? With half-duplex, only one party can communicate at a time. With full-duplex, both parties can communicate with each other at the same time. You could compare this to a one-way street vs. a two-way street. With a one-way street, cars can only travel in one direction at a time. With a two way street, traffic can flow down each side of the street and travel in both directions at the same time. Another analogy is a walkie-talkie. With a walkie-talkie, you have to push a button to talk. While you are talking, only you can talk at that time. Other listeners must wait until you are done to talk.
This comes into play with Ethernet because you can have half duplex and full duplex Ethernet. For example, say that you have a 100Mb Ethernet link. With half duplex, you can send OR receive 100Mb at any one time. With full duplex, you could send 100Mb AND receive 100Mb at any one time. Thus, you could, theoretically, get 200Mb out of a 100Mb Ethernet connection, if you could find a way to utilize both the sending and receiving paths at the same time.
What is Autonegotiation?
Autonegotiation is a process between two Ethernet devices where the devices exchange transmission parameters and agree upon those parameters. Autonegotiation was originally defined as IEEE 802.3u but was an optional standard for Ethernet equipment manufactures to follow. When Gigabit Ethernet came out, autonegotiation was required with IEEE standard 802.3af.
Autonegotiation is used so that two devices can decide upon the proper speed and duplex to communicate with. The speeds that are the devices are choosing between is 10Mb, 100Mb, or 1000Mb. The duplex options are either half-duplex or full-duplex. Once this information is shared, the two devices will decide upon the fastest speed and duplex that both can support.
What is a Duplex Mismatch?
Duplex mismatch is when the two Ethernet devices communicating, either due to manual settings or the autonegotiation process, end up with duplex settings that are not the same.
Unlike with a speed mismatch, the two devices will communicate with a duplex mismatch. However, devices with a duplex mismatch will suffer from poor performance. This can be confusing to many network administrators who see the two devices communicating. They would assume that because the devices can ping each other, there must not be an Ethernet issue. This leads them to troubleshooting all sorts of causes of application or operating system performance.
How do Duplex Mismatches Occur?
The logical question is, “with autonegotiation, how can a duplex mismatch occur?” Like most system admin’s you probably assume that as long as you use autonegotiation, you can’t have a duplex mismatch. While this seems like a logical assumption, it is an incorrect assumption.
Duplex mismatches occur when either the Ethernet device or the Ethernet switch is hard-coded to Full-Duplex and the other side is configured for autonegotiation. This happens because the switch, when not given any autonegotiation information, will default to half-duplex. Because the device is hard-coded to full-duplex, the switch and the device suffer a duplex mismatch.
While this is the common cause of a duplex mismatch, I won’t say that this is the only way a duplex mismatch can happen. I would check the duplex of Ethernet links anytime you a suffering performance issues on the LAN.
How can I prevent a duplex mismatch?
To prevent a duplex mismatch, you have two options:
- Set all devices to autonegotiation.
- Hardcode all device speed and duplex settings on both the switch and the device.
The first option of using autonegotiation is the best, in my opinion. This makes life easier. There are very few new devices today that will have problems or incompatibilities with autonegotiation.
The second option of hardcoding all device speed and duplex settings may be a good one for a server farm. This is because you will always know that your devices are operating at a certain speed and duplex, or not operating at all. However, I would never try to set all PCs, for example, to have hardcoded spe
ed and duplex settings, due to the management nightmare.
How do I configure Autonegotiation?
On a PC, you would go to your network interface’s properties. Click on the Configure button next to your network interface’s description. Then set the “link speed & duplex” on the Advanced tab to Auto. Here is a screenshot:
On a Cisco switch, you would go to the Interface’s configuration and just use the command speed auto, like this:
Enter configuration commands, one per line. End with CNTL/Z.
10 Force 10 Mbps operation
100 Force 100 Mbps operation
auto Enable AUTO speed configuration
In this article, you learned what duplex is and the difference between half & full duplex. You learned how autonegotiation can help or hurt your network. Incorrectly configured network interfaces, even when using autonegotiation, can cause duplex mismatches. The best way to configure your network interfaces is to use autonegotiation across all devices. This is typically the default on a new device but don’t count on autonegotiation being set properly on existing devices.
For more information, see the following:
About the author:
David Davis (CCIE #9369, CWNA, MCSE, CISSP, Linux+, CEH) has been in the IT industry for 15 years. Currently, he manages a group of systems/network administrators for a privately owned retail company and authors IT-related material in his spare time. He has written over one hundred articles, eight practice tests and three video courses and has co-authored one book. His website is at www.happyrouter.com.