Duplex describes how a network link handles two-way communication. In full duplex, both ends can transmit and receive at the same moment. In half duplex, they must take turns, because the medium or the hardware allows only one direction at a time.
Why it matters
Modern switched Ethernet links use separate wire pairs for each direction, so full duplex is the norm and gives each direction the full link speed. Half duplex survived from shared media such as hubs, where devices detected collisions and backed off. If two ends disagree, the result is a duplex mismatch: one side thinks it can send freely while the other expects to take turns, producing collisions, late collisions, CRC errors and very poor throughput that often shows up only under load.
Example
$ ethtool eth0 | grep -E "Speed|Duplex"
Speed: 1000Mb/s
Duplex: Full
If one side is forced to 100 Mbit/s full duplex while the other is left on auto-negotiation, auto-negotiation may fall back to half duplex. The link stays up and pings work, but file transfers run at a fraction of normal speed.
Common mistakes
- Hard-coding speed and duplex on one end only. Set both ends to auto or both to the same fixed value.
- Interpreting a "link up" light as proof that the settings are correct.
- Mixing up duplex with simplex, which is one-way only.
Related
Get notified when this term updates
Plus occasional practical tips on uptime and monitoring, nothing else. Unsubscribe anytime.
This page is general information written by our editorial team and updated when documentation changes. Servers and providers differ, so test changes safely first. See our editorial policy and disclaimer.