Extraordinary Thoughts
30Nov/093

Guide to Faster Internet

Introduction

I've taken quite the effort to put together a thorough guide to getting the most of your network connection.  My goal is to bring everything from hardware mods to software tweaks together into one organized document.

Every tweak and mod has been tested by non other than myself, and while these modifications are generally safe, I take no responsibility for the outcome of one following my guide.  So I wouldn't go flashing DD-WRT onto your router until you actually know the risk you are taking!

--- So all said, have fun and enjoy my guide!

Part 1 - Router Firmware & DNSMasq

First off, to make things easier, if you are using a router I recommend installing custom software for it if available.  I will be referring to DD-WRT in this guide time to time, you can check if you router is supported.  If your router is supported, I recommend to install DD-WRT.

With DD-WRT installed, we can enabled a DNSMasq.  The DNSMasq allows the router to cache DNS resolves, which can speed up various activity by avoiding repeated resoves.  To enable the DNSMasq open your router's configuration by going to 192.168.1.1 and open the Setup page and scroll down to Network Address Server Settings (DHCP), here you want to enable Use DNSMasq for DNS to enable DNS caching.

Now that DNSMasq is selected for use, we want to enable the service for it, find the DNSMasq settings in the Services tab and Enable DNSMasq & Local DNS.  I also recommend using DNSMasq as a DHCP server for better memory management in DD-WRT, but is completely optional.

Part 2 - Alternative DNS Servers

Whether or not you are using a router, you can take advantage of alternate DNS servers, we will be using OpenDNS for this guide.  Your internet provider happens to provide DNS servers, but those [of course] can be quite heavily used and slow down initial connections to anything using a domain name.  For this guide I will be instructing how to do such for your router.  While it can be done directly on your computer, running it through your router makes things much easier.

To get started we need to get the current DNS servers you are using from you internet provider, we can later merger these with the alternative servers for best connection stability.  Open up the networks connections list by holding the Windows Key and R, type ncpa.cpl in the run box and press Enter.

Mac Users: Open Application -> Utilities -> Terminal, and type "cat /etc/resolv.conf", write down the first two numbers including decimals.  These are your ISP's provided DNS

You should now see a list of your network connections, we now want to select your active connection.  If you are running wireless it may be titled Wireless Network Connection, if you are wired it should be Local Area Connection.  Open up your connection and open "Details...", in this list you will see a number of network settings.  Search the list for the [IPv4] DNS Server, write down the first address listed if you have more than one.  The address you wrote down is the primary DNS server for your internet provider.

Mac Users: Go to" System Preferences" and select "Network", and select your connection.  Click "Advanced" (if available) and select the "DNS" tab.  For the information below, you will need to add each DNS to the list.

Once we have our DNS server, we want to set our router to use a specific list of DNS servers, with OpenDNS as default and our original DNS as secondary.  We now want to go to the configuration page for our router.  If you are using DD-WRT the address should be 192.168.1.1, else you can find the administration settings for your router here (pdf).

We want to find the DNS servers list, by default they may list as 0.0.0.0, we want to change the DNS as follows:
Static DNS 1: 208.67.222.222
<- OpenDNS Server 1
Static DNS 2: # Original DNS # <- Your Internet Provider's DNS
Static DNS 3: 208.67.220.220 <- OpenDNS Server 2

Part 3 - TCP/IP Tweaks

Tweaking your TCP/IP connections settings within both your machine is an age-old method to get more power.  Windows [Vista/7] tries to tweak your settings automatically, but it's not always optimal.

First TCP/IP tweak is to remove QoS [and optionally other TCP/IP services] on your machine.  I don't recommend removing QoS if you like to do heavy network usage while using VoIP or similar streaming services, but for the latter this can give you full bandwidth power.  To disable/remove QoS, open the networks connections list by holding the Windows Key and R, type ncpa.cpl in the run box and press Enter.  Now select your active connection.  If you are running wireless it may be titled Wireless Network Connection, if you are wired it should be Local Area Connection.  Now click Properties, select QoS Packet Scheduler, and click Uninstall.  If you are quite picky and do not use local networks for filesharing or printer sharing, you can also uninstall all services with the exception of  TCP/IP[v4].   Please note that Client for Microsoft Networks is used for Windows Update, and TCP/IPv6 may provide enhancements in the future, but for 99.9% of the population has no effect at the current time.

Now that the QoS protocol is removed, we want to disable associated services.  To do this open the services manager by holding the Windows Key and R, type services.msc in the run box and press Enter.  Find QoS RSVP or Quality Window Audio Video Experience and set the Startup type to Manual.  You can disable these services, but manual does what we need and can cause less conflicts with any software that rely on these services.

After QoS is completely disabled, you may want to use TCP/IP Optimizer (XP) or Registry Patch (Vista/XP) to tweak your connection settings.  Instructions and information for both these files at SpeedGuide.net.

If you use applications with peer-to-peer filesharing or cloud networks, you may also want to patch tcpip.sys to allow most simultaneous pending connections.  Microsoft began limiting network connections in all consumer operating systems since XP Service Pack 1 to help limit the spread of viruses.  Doing such to your system does not make you more vulnerable to viruses, just allows you to start more internet connections simultaneously.

Mac Users:
Just run this code below to tweak protocol window settings and MTU.
To run, start Terminal and type sudo (login as root user).

/usr/sbin/sysctl -w net.inet.tcp.sendspace=256960
/usr/sbin/sysctl -w net.inet.tcp.recvspace=256960
/usr/sbin/sysctl -w net.inet.udp.recvspace=65535
/usr/sbin/sysctl -w net.inet.tcp.rfc1323=1
/usr/sbin/sysctl -w net.inet.tcp.delayed_ack=1
ifconfig en0 mtu 1500
ifconfig en1 mtu 1500

More tweaks to come!

Share and Enjoy:
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • StumbleUpon
  • Twitter
  • email
  • LinkedIn
  • Live
  • MySpace
  • Technorati
  • Tumblr

About Shawn K.

I'm a "Web Guy" with a sense of reality. I enjoy trying new things and meeting new people! You could call me an entrepreneur, I enjoy both business and the effort behind it.
Comments (3) Trackbacks (0)
  1. Awesome post. Just one note…if you could modify for mac users I am sure it could make a big difference in who shares this post.Let me know if you decide to make the adjustment so I can share it as well.

  2. Alternative DNS is a very good recommendation. It significantly reduced ping times on several applications that I use.
    Kindle´s last blog ..Changing the Feel of Kindle My ComLuv Profile


Leave a comment


CommentLuv Enabled

No trackbacks yet.

Categories

Comment Leaderboard

Links

Meta

Alexa Rank


Blog Directory - OnToplist.com
Clicky Web Analytics

This Blog is DoFollow!

Tags

1080p ajax album art better code cron dd-wrt dhcp dns dnsmasq dslr everun faster firefox gh1 good google graphics html5 laser logitech maximize mouse netbook note optimize panasonic php ping plugin plugins processor review router screen scripts search seo snapshots tcp/ip twitter upgrade video wordpress