Exp b
From Hak5
[edit] Getting the Most Out of Your Connection Speeding Up the Internet
By: Cooper
Published: January 20th, 2007
I'm sure you've seen the ads about "speeding up your internet". The products they try to sell you will vary from pure snake oil, to often rebranded free download managers. The one thing the offered products tend to have in common is that for the most part they simply do not work. Interestingly enough, there are programs out there that will give you a very real increase in the perceived speed of your internet connection. And best of all, it doesn't have to cost you a thing.
By far the most effective way to speed things up is to install a caching proxy server. When you're browsing a site, a large amount of images shown to you are repeated throughout that site. Clicking the back button tends to reload everything aswell. When you're running a proxy server, you're only grabbing that data once, and every subsequent load comes from your proxy server. Since that proxy server is on your local network, or even your own computer, it can respond much faster than the internet site, transmit the data much faster, and not use up any internet bandwidth, leaving more of it available for other stuff. I can highly recommend the Squid Proxy for all UNIX users. Windows users could give WWWOFFLE a go.
Another great way to speed up your internet is to run ad blocking software. A lot of you are probably running some form of ad blocking software already, but the key question to ask is 'how does it block the ad'. A popular ad blocking method involves using a .CSS to hide the ads from you. While that might improve your browsing experience by not having ads in your face all the time, it doesn't speed up anything as the ad still gets loaded. It's just not being shown to you. What you really want is something that prevents you from downloading the ad in the first place. While you can do this in the browser, the best place to put your ad blocking is in your proxy. It's really easy to make Squid not load ads, and even provide a transparent image as a replacement so that leaving out the ad doesn't automatically mess up the layout of the page you're viewing. The free WWWOFFLE proxy I mentioned earlier can be set up to do a similar thing. And since we're on the topic of filtering, you can make Squid take out cookie requests from certain sites. So if you don't trust, say, Google with your searching habits, and given the fact that Google will work perfectly when cookies aren't enabled, you can tell Squid to kill those cookie requests Google's servers are sending to your browser.
Next up is DNS. Ever notice that when you go to a page, it says 'Looking up whatever.com' in the status bar at the bottom? This means your browser is trying to get the IP address of the server it needs to contact, and the DNS server is slow to respond. Setting up a caching nameserver can speed this process up incredibly. As with a caching proxy server, a caching nameserver will forward your DNS request to your ISPs DNS server for the first lookup, and cache the response. Any subsequent requests for that domain name will be served from the cache. It won't make much of a dent in the bandwidth you use because these DNS requests use very little data, but sites will appear to respond much faster. Unix users will probably want to use either BIND or DJBDNS. Those who run Windows XP or newer don't have to do anything. Windows caches all DNS responses for 24 hours by default. This however is a bit much. Most DNS servers on the internet update their data every 4 hours these days,so you might want to shorten these caching times. To do this, open regedit and find the
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNSCache\Parameters
entry. There should be a MaxCacheEntryTtlLimit key there. If not, add it as a numerical value. The value is the caching time in seconds, so for 4 hours that would be 14400. Another key you'll want to change is the NegativeCacheTime key. Windows by default not only caches succesful DNS lookups, it also caches failures so any temporary DNS problems automatically will last 4 hours on your system due to this caching. To turn off the caching of the DNS failures, set the NegativeCacheTime to 0. While you're in there, add a key named QueryIpMatching with a value of 1. By default, Windows will accept and cache any DNS response it receives, including those from machines that it never even sent a DNS query to. This is an obvious security issue with Windows. This setting will make Windows accept and cache only DNS responses from servers it queried.
For more on this, see:
http://www.microsoft.com/technet/prodtechnol/winxppro/reskit/c24621675.mspx
There's one last thing you can do, but this is pretty advanced. Using a Quality of Service, or QoS package you can do traffic shaping on your network. Many of you will know and hate QoS software because it's typically used to slow down bittorrent downloads, or othr similarly useful services your network provider doesn't approve of. However, it can also be used to give you decent throughput while browsing, a very low ping when gaming, and acceptable speeds on your bittorrent traffic. It does this by prioritizing certain types of traffic, and limiting other types to prevent them from drowning out the rest. On top of this it can be used to prevent the normally rather excessive buffering that's performed by your modem or router. As this really is for the more hardcore networks guy, I'm going to skip that subject for this article. If you're really interested though, read the Linux Advanced Routing and Traffic Control Howto, which
can be found here:
http://lartc.org/lartc.html
I've yet to find a free QoS package for Windows, so for the time being your Windows guys are sadly out of luck.
-Cooper


