Internet Connection Running At Half Speed With Gigabit Switch

I have fiber internet into my house. When I plug directly into the fiber to Ethernet converter, I easily can pull down at 30 Mbps, as verified from trying speedtest.net. The ethernet jack on the fiber converter is 10/100 Base-T.

My problem is when I plug in an intermediate Gigabit switch or router between my laptop and the fiber converter. Once I do that ( fiber converter > gigabit switch > laptop ), the same speed test gives me results at around 9 Mbps.

All of the cables involved are known to be good. I've tried both a Netgear gigabit switch, as well as an Apple Airport Extreme router as the intermediate nodes, and they have both show similar speed drops.

Where did all the speed go? What can I do to get the full connection speed with an intermediate switch in the mix?


Solution 1:

It sounds like you may be having flow control problems. Ethernet flow control is generally more trouble than it's worth. It's better to just drop packets when the link gets overloaded than to let them pile up due to flow control; TCP watches for dropped packets to know when to throttle back. If you use link-layer flow control to decrease drop by increasing latency, you end up with a laggy link and TCP is kept in the dark about the problems, so it can't do the right thing. Try turning off Ethernet flow control on all devices on your network.

Solution 2:

Could be a duplex mismatch. If your switch doesn't support the IEEE standard 802.3u, then try forcing half-duplex on all clients/ports. See if that helps the speed issues.

I have seen speed issues similar to what you are describing on Cisco switches; auto-negotiation is often the culprate.