I can visit a lot of web sites on the internet without a problem. But a few simply don’t work. The strange thing is that they work for other people, or from other machines. What’s going on?
I touched on several possibilities for this in a previous article: Why can I not access certain web sites?. I’d certainly recommend that as a starting point.
However, since that article was written, an additional reason for some web sites not being accessible has surfaced that’s worth looking into in a little more detail.
It’s very obscure, but the good news is that it might also resolve some other problems, most commonly problems with instant messaging.
The issue is an obscure setting called “MTU”, which stands for Maximum Transmission Unit, in the network configuration. I’ll describe it in a little more detail in a second, but first if you’re having a problem, let’s look at your current setting, and perhaps try tweaking it.
MTU is buried in the registry, but rather than edit the registry directly, there’s a small program you can download for free that will allow you to view and change the MTU settings: DrTCP. Download and run the latest version, and you should see something like this:
I know it looks a little intimidating, but don’t worry. We’re going to pay attention to only the two items in Adapter Settings. You can safely ignore the rest.
First we need to make sure that the correct network connection or “adapter” is selected. Even if you have only one network connection, there are often several others. In Adapter Settings the field on the left is a dropdown list of all the network adapters on your system:
Make sure that the adapter that corresponds to your internet connection is selected. Normally that’ll be the adapter that provides you your “Local Area Connection” – as you can see in my case it’s an Intel PRO/1000 card. Once it’s been selected, the field on the right within Adapter Settings will show the MTU setting currently in use for that adapter.
If the MTU setting is causing you problems accessing some web sites, it’s probably because it’s set too high. As you can see my default is 1500, which is appropriate for an ethernet connection, and probably the highest you’d ever want to see it. Unless you’re on a dial-up connection, larger numbers make for a somewhat faster network connection – unless it doesn’t work at all.
Write down the MTU value you found to start with, and then try these values
Do that by replacing the value in the MTU field (again, making sure that the correct adapter is selected), and clicking Save, and then Exit. You will then need to reboot and test to see if the new value has corrected the problem.
Important: if the smaller values don’t resolve your problem, then do remember to reset the MTU value to whatever it was when you started.
So that’s all been pretty much black magic and obscure numbers. What does it all mean?
When information is transferred across a network, it’s broken into chunks called “packets”. The Maximum Transmission Unit is related to the largest packet size that your computer will attempt to send.
Each packet has “overhead” – information that is not data, but rather information that says things like “I’m packet #13, coming from this IP address, heading for that IP address”. Larger packets are more efficient in reliable networks, because since the overhead is fixed per packet, you spend a higher percentage of your time sending actual data and less on overhead. A 1500 byte packet with 1460 bytes, or 97% real data is more efficient than a 576 byte packet with only 536 bytes, or 93% data. There are also other factors including latency, packet delays and the like that make larger packets more efficient.
Unless the network is unreliable. That’s why you’ll often see smaller maximum sizes on dial-up networks. If a packet gets lost, which does happen from time to time, a smaller packet is more efficient to re-send than a larger one.
You can see that it’s not just magic, but also fairly complex.
But it does boil down to the characteristics of the network between you and the site or service that you’re attempting to use. The “standard” values for MTU are typically:
- 1500: direct connection to an ethernet network, and many broadband connections. As you saw, this is the value my machine uses, connected to my LAN, which in turn is connected to a router and a DSL connection to the internet.
- 1492: certain types of connections (some types of PPPoE) require this value, and if you’re having a problem actually related to MTU, there’s a high likelihood that this value will in fact work for you.
- 576: the default value for most dial-up connections.
If you’re connected to the internet via equipment that requires a smaller value, or, while rare, the remote site you’re trying to access is connected via equipment that requires a smaller value, you’ll simply be unable to connect. Adjusting your MTU value is one thing to try.
Update: another common reason for not being able to visit certain websites is detailed here: Why did my home network stop working?
Update #2: another very common solution is to clear your browser cache. More here: What’s a browser cache, how do I “clear” it, and why would I want to?