There are two parameters of an interface that could cause a lot of network performance related issues if not handled properly.
The first one is speed(do not confuse the speed with bandwidth, they are different.) and the other is duplex. The speed can be 10 Mbps or 100 Mbps or 1000 Mbps or 10,000 Mbps. We can not set the speed of an interface to any other values like 20 or 500 Mbps.
Duplex settings can be either “full duplex” or “half duplex”.
We can either keep the interface speed and duplex settings as auto or we can manually configure it to a particular value.
If the speed/duplex setting is “auto”, then the interface will share its capabilities to the other other interface of other device.
If the speed/duplex setting is manually configure it to a particular value, then the interface will not share its capabilities to other device.
By default, the speed and duplex settings of an interface are auto/auto.That means both sides exchange it’s capabilities to each other , and they choose the best values available, and everything will work perfect. If we manually set the parameters on both sides with similar values, then this will work fine as well.
If one side is set as auto and other side is manually set to a particular value. Then Auto-negotiation will fail.Now, we have an issue.
1. Auto negotiation failure on 10/100 Mbps copper link defaults to half- duplex mode.
2. Auto negotiation failure on 1000 Mbps copper link defaults to full- duplex mode.