Auto-Negotiation, how does it work?
Auto-Negotiation is one of the most debated concepts in Ethernet. Is it a good thing, or a bad thing? As with a whole lot of things in the IT world, it just depends. Vendor implementation, driver version, and the choices of the administrator are all things to consider when using auto-negotiation on your network.
What is Auto-Negotiation?
Clause 28 of the 802.3 standard defines auto-negotiation as the function that allows a device to advertise modes of operation it possesses to a device at the remote end of a link segment, and to detect corresponding operational modes that the other device may be advertising. The objective of Auto-Negotiation function is to provide a means to exchange information between two devices that share a link segment and to automatically configure both devices to take maximum advantage of their abilities.
In regular English, auto-negotiation is simply the method used by two devices to achieve the best rate possible of transmission. It allows them to discuss in a sense, the possible rates of transmission, then pick the best one that they both share. They do this by swapping advertisements of their own abilities using pulses called Fast Link Pulses (FLPs). The FLP lets one link partner know what the other is capable of. As they swap FLPs, the two stations detect the highest common denominator between them, according to the following:
For example, if station A and B are auto-negotiating with each other, and A is capable of 10/100/1000 full or half duplex, but B is only capable of 10/100 full or half duplex, then the highest common link rate is 100, at full duplex. As long as both sides are negotiating, the link will operate at the highest possible connection rate between them.
- 100BASE-T2 Full Duplex
- 100BASE-TX Full Duplex
- 10BASE-T Full Duplex
What problems are associated with Auto-Negotiation?
Most problems with auto-negotiation occur because either one side or the other is not negotiating. When one station is auto-negotiating and the other is not, only one side is sending FLPs advertising the potential negotiation rates. The other station is already hard-set to a particular speed and duplex, and is not negotiating with the link partner. Hes already set on what he is going to do, regardless of who he is connected to.
Since the hard-set station will not tell the negotiating station what speed and duplex he is operating at, the negotiating station has to determine by himself the appropriate speed and duplex to match the link partner. This is called Parallel detection. The negotiating station listens to the link pulses on the line from the link partner and is able to determine what speed he is communicating at. 10, 100, and 1000 Mbps Ethernet all use different signaling methods, so the negotiating partner can tell the appropriate speed that the hard-set partner is already using.
Duplex, however, is another story. The negotiating partner has no way of knowing what duplex the hard-set station is operating at, since he will not negotiate! The negotiating partner does not want to be responsible for inducing a duplex mismatch, so according to the 802.3 standard, he must use the same speed as the hard-set device, but must connect at half duplex. Half Duplex is the default duplex for Ethernet, regardless of speed (excluding 10Gig). In many cases, this will generate a duplex mismatch between the two stations.
In order to achieve full duplex on both sides, either both have to be auto-negotiating, or both have to be hard set.
Do not have one side at Auto and one side hard-set. It will result in a duplex mismatch. It is recommended to leave the settings at Auto-Negotiate for both sides, as this leaves little room for human error.
How do I know if I have a duplex mismatch?
A duplex mismatch will create collisions on the link, because one machine can send and receive at the same time, and the other cannot. The full duplex machine will not play nicely with the half duplex machine. This will cause collisions for the half duplex side. Impacts to performance include slower links because of retransmissions, bad throughput, and high error counts on the effected ports. OptiView will display errors on the switch ports.
- Network Performance