Internet Connection Slow in Windows 7

I like tinkering with my operating systems. I change many settings from their defaults, and sometimes the settings improve things, while other times it may break something. After I recently began exploring Windows 7, I began tinkering with some connection settings to see what they do.

Unfortunately, I had changed several settings and then realized that my broadband Internet had slowed down to a crawl. My highspeed became dialup speed. In order to solve the problem I began to undo some of the changes until I found the culprit. I eventually found the problem, which I explain in this post.

The Need for Speed

While the networking settings for Windows 7 are good on their default settings, there are many that try to get every once of speed out of the connection. I am one of them. Many times changing a setting may increase the speed, marginally, while other times it would make it worse. I learn best when something breaks – such as I learn not to do it again.

I recently began changing some of the TCP settings within Windows 7, and brought my highspeed Internet down to dialup speed. It took forever for pages to be displayed in my web browser.

In order to fix the problem, I began to slowly reverse the settings I had change – luckily I had remembered what I changed. When I reset one setting back to the default value, I then tested my Internet to see the impact. It wasn’t until I changed the “ECN Capability” setting that my connection speed returned to normal.

Like everything else, I decided to look up the setting to see what it acually does.

ECN Capability

Explicit Congestion Notification, or ECN for short, provides routers with an alternate method of communicating network congestion. ECN assumes that router congestion is the cause of any packet loss, so it attempts to decrease the number of retransmissions.

This capability allows routers to mark packets, and allows clients to reduce their transfer rate to reduce any more packet loss. ECN-aware routers may set a bit in the IP-header, instead of dropping a packet, that signals network congestion. The sender must then react as if a packet had been dropped, once the congestion has been echoed by the receiver.

By default, ECN capability is disabled for both Windows Vista and Windows 7. The reason for this is because many outdated routers may drop the packets with the ECN bit set, instead of ignoring the bit.

Note:

If you are unsure if your router supports ECN capability, you can use Microsoft’s Internet Connectivity Evaluation Tool to find out.

In my case, in order to find out the problem with my Internet speed, I ran a tool that mapped out my connection on the Internet, and I noticed that each time I tried to download a web page, I would have unusually high packet loss. This was probably because my router dropped packets that had the ECN bit set.

Setting ECN Capability

In order to solve the problem, I reset the “ECN Capability” setting back to default using the following steps:

  1. I clicked the Windows button and then entered “cmd.exe” in the search bar. I pressed CTRL+Shift and ENTER to open the command prompt window..

    Note:

    I use CTRL+Shift to open the command prompt with administrator access so I can change the TCP settings.

  2. I typed the following to view my settings:
    netsh int tcp show global
  3. I then entered the following command to disable “ECN Capability”:
    netsh int tcp set global ecncapability=disabled
  4. I retyped the following to ensure “ECN Capbility” was disabled:
    netsh int tcp show global
  5. I then closed the command prompt.

After changing the setting, I noticed that the speed of my Internet connection was back to normal, without any problems. I will, of course, continue to change settings now and then, as that is the best way I learn.

Follow Me