Speeding Up Your Home / Small Office Network
This will be the first in a multi-part post targeted at making suggestions as to how you can improve the performance of your home and / or small office network.
None of these recommendations require a rocket scientist, and if there are questions on any of these topics I’ll try and take the time to put together a HOW-TO post to cover those areas.
__________
The Intenet, and your home network use TCP/IP, and while it was designed to withstand a nuclear attack, it isn’t necessarily always the most efficient protocol.
DNS (Domain Name Service) is built on top of TCP/IP and it’s purpose is to provide a way to refer to nodes on the “network” by name rather than remembering the address (in dotted quad notation).
Most modern computers are capable of caching DNS resolutions, so that you don’t have to continually resolve the addresses, and that’s important for a browser since it will often load many parts of a page from the same address. However, if you have more than one computer on your network, those computers do not share the information they have (some routers will also do DNS caching).
A good way to improve the performance of your network is to implement a local caching DNS server; that type of server basically only knows how to do resolutions, it doesn’t have any addresses stored locally (that makes it easy to install and maintain — since you really don’t need to do anything to it once it’s setup except check for security updates).
If you happen to have a Windows server machine (2000, 2003, or 2008) then you can just install Microsoft’s DNS server and use it. However if you only have Windows workstations (home, professional, etc) then a good option is BIND from ISC – it’s totally free, and is the reference platform for DNS. For a novice BIND can be a little daunting, but you can download everything you need to setup a caching only name server. If you have a *nix machine around (that’s BSD, Linux, OS-X) then you can also run BIND on it, and odds are there are some ready to run configuration files with your distribution.
After you have BIND installed you will need to tell each of your machines to use your local DNS server rather than the current server they use; odds are your router does DHCP (Dynamic Host Configuration Protocol) and issues IP addresses as well as gateways and dns information to each of your machines. Just change your router so that it provides the address of your local dns server rather than the ones it currently does and you should be good to go.
Now with BIND installed locally, you can also create your own zone and name your machines — but more about that in a future post.

Related posts:
- Synchronizing Time on Your Home Network If you’ve got a home network, and you happen to have a server machine you should consider setting up one of your machines as an...
- DHCP DHCP, or Dynamic Host Configuration Protocol, is an internet standard defined by RFC1541 and later by RFC2131(as well as a few other RFCs relevant to other physical...
- Dynamic DNS Most broadband users have an IP address that is issued by their provider via DHCP or PPP (PPPoE technically); that address, generally, will not change...
- The Media Home It may come as a shock to you, but computers are here to stay, and there’s at least one in almost every home in the...
- Remote Access I’ve been using a combination of bitvise WinSSHD and Tunnelier for remote access to my home network. It basically allows me to tunnel a RDP...
- Hyper-V I started to switch my virtualization hosts over to Server 2008 about two weeks ago; and I’ll give you some feedback on my experience. The...
- Office 2008 mac I just upgraded my Macs to Office 2008 mac Home and Student Edition. I recommend this update for anyone with an Intel based Mac since this...
- Hackers I’ve noticed that here lately my SSH server has had an increasing number of hackers trying to log in. Mostly they’re from the APNIC (Asia-Pacific)...
- Windows 7 – Which edition is right for you? So you want to upgrade to Microsoft® Windows™ 7, but you’re not sure which version is the right choice… Essentially there are only three choices...
- rsync I’ve gotta ask the question why no one has ever invested the time and energy into making a port of the client code in rsync...

