Problem solve Get help with specific problems with your technologies, process and projects.

Detecting duplex mismatches

How to detect and solve one of the more annoying performance issues on an Ethernet network.

One of the most common and most annoying causes of performance issues on Ethernet networks is the duplex mismatch. This condition occurs when either a host or a switch port is operating at "full duplex" while the other is operating at "half duplex" and it results in lots of errors because the half-duplex side is listening for collisions, while the full-duplex side doesn't because it has dedicated send and receive circuits that can operate at the same time.

If you have administrative access to both the switch and the host, it's usually easy to determine whether or not they're mismatched. However, it's more common for a network team to have access only to the switches while the server and desktop teams to only have access to the hosts. This tip will show you how to detect a mismatch when you only have control of half the circuit.

First, understand that mismatches most often occur because one side is set to autonegotiate and the other side is manually set to full-duplex. Don't believe any rumors you hear about autonegotiation not working or not being reliable. They just aren't true.

The next thing to understand is that there isn't really any negotiation involved. When you set an adapter to "autonegotiate" what you're really doing is telling it to broadcast its capabilities (i.e. advertise that it supports both full and half duplex, or only half duplex) and listen for similar advertisements (these are really messages inserted into the Fast Link Pulses). Conversely, when you set an adapter for anything other than "autonegotiate" you are disabling both its ability to send advertisements and receive them.

So, the quick way to tell is this:

  • If you set your side to auto and the link comes up at full-duplex, then you know the other side is also set to auto, because your side will only enter full-duplex mode if it receives an advertisement that the other side supports full-duplex, and the far side wouldn't have sent any advertisement if it were manually configured at full or half duplex.
  • If you set your side to auto and the link comes up at half-duplex, then you know the other side is manually configured, because it didn't send an advertisement.

Tom Lancaster, CCIE# 8829 CNX# 1105, is a consultant with 15 years experience in the networking industry, and co-author of several books on networking, most recently, CCSPTM: Secure PIX and Secure VPN Study Guide published by Sybex.

This was last published in July 2004

Dig Deeper on Network management and monitoring