Repeat after me. I will not force a switch to 1000/Full, even if some idiot insists that I should.
Now we have that out of the way, let me give you a little background. I’ve had two instances where a “network” admin/engineer argued with me about hard coding Gigabit settings on a switch and server to 1000/Full. In both cases, I provided irrefutable proof that it is a bad idea and still they insisted.
Why Is Hard Setting Gigabit Ethernet to 1000 Full a Bad Idea?
Here’s the deal. Gigabit Ethernet is a very misunderstood standard.
Part of the problem comes from the previous implementation of Autonegotiation for 100Mb Ethernet. Without going into details, it
sucked. It was prone to problems and 100/Full to 100/Half was very common with 10/100 NIC’s connecting to 10/100 Switches. So, the
“standard” became you always forced servers and switches to 100/Full on both ends to prevent autonegotiation from creating a duplex mismatch.
I’ll dig into that another time.
The next problem comes from early adopters. A lot of hardware manufacturers wanted to increase their product lines and get the jump on
the competition, so they implemented Gigabit Network into their devices, even before the standard was ratified by the IEEE. The problem is the final standard looks slightly different than the working standard. For one, there is no such thing as 1000/Half. Nope, Nada, Zilch. It doesn’t exist, except for early hardware adopters who treated Gigabit like 100 megabit. So, you have some older Gigabit Hardware with a non standard configuration. Try plugging your brand new HP Server into that bad boy.
And it gets even better. In My Humble Opinion, the final ratification of Gigabit Ethernet greatly improved on it’s 10/100 predecessor and in
doing so, added a feature that does not exist in 10/100 auto negotiation. The concept is simple really. When 1000Mb is auto negotiating, one side determines it is the Master and the other side determines it is the Slave. (don’t get mad at me, I didn’t make up the terminology). This is called Clause 37 of the Gigabit Ethernet Standard and it goes a little something like this:
According to its interpretation of the standard, the option to operate with auto-negotiation disabled was included to ensure interoperability with Gigabit equipment produced prior to the adoption of Clause 37. This was to overcome the determination of the master/slave relationship. Equipment with auto-negotiation disabled would act as the master.
Equipment with auto-negotiation enabled would start the negotiation process as master. Thus, two masters could not communicate.
Source: Techworld – http://www.techworld.com/networking/features/index.cfm?featureid=2903
Did you catch that? Sure, it is possible to do, but it was only included as a way to fix older equipment that didn’t adhere to the final standard
in Clause 37. But, the really important part is the statement about the master/slave relationship established during the auto negotiation phase of Ethernet Gigabit. It’s important to understand this and not circumvent the standard.
I know, I’ve heard it before. But, if I set both ends to auto negotiate at 10/100/1000, the connect keeps negotiating down to 100/Half or
10/half or even develops a duplex mismatch. I call Bull Shit on this one, but not in a way you would imagine. Yes, I agree this can and will
happen from time to time, but the problem is not auto negotiation of Gigabit. The problem is something else that causes autonegotation to
fail and the switch and NIC are not doing a good job of negotiating properly. So, by forcing a NIC to Gigabit, you are taking away the only
mechanism the NIC and switch have to point out a larger problem or even worse, prevent data corruption or broadcast storms on your network.
You are in fact, being a lazy SOB and do not deserve the word Network in your job title.
Rather than masking the problem, try to figure it out. Is it an incompatibility between the Switch and NIC? Is it a NIC driver issue?
And in keeping to the golden rule of network troubleshooting, is it a Physical Layer problem? Come On! Dig deeper! Investigate! And if all
else fails and you must force the connection, force it to 100/Full. After all, that is considered best practice for a 100 Megabit connection
to a server and I’d much rather have a stable 100Mb connection than an unstable 1000Mb connection.