What is DNS?

DNS stands for Domain Name System

DNS is the way computers find each other for things like websites (other computers, and servers) and services like email, webmail and a range of other services.

Computers use numbers to identify each resource on the Internet, but numbers are hard for most humans to remember.

Since names provide a more “friendly” way to find these services, by making it easier to remember addresses; a system was created that converts names to host numbers (IP addresses). For example, when you want to get the news, you can point your browser to www.newsmax.com instead of 64.29.200.227. Add a couple of hundred other addresses to your frequent site list, and you can see that host names are a lot easier on the brain than IP addresses.

But converting host names to IP addresses doesn’t happen by magic. It needs some form of translation to make it happen, and the mechanism that enables that translation is the Domain Name System, or DNS.

DNS originated in the early days of the Internet when the Internet was a small network established by the United States Department of Defense for research purposes. The host names of the computers in this network were managed through the use of a single HOSTS file located on a centrally administered server. Each site that needed to resolve host names on the network downloaded this file. As the number of hosts on the Internet grew, the traffic generated by the update process increased, as well as the size of the HOSTS file. The need for a new system, which would offer features such as scalability, decentralized administration, support for various data types, became more and more obvious.

The Domain Name System is implemented as a hierarchical and distributed database containing various types of data, including host names and domain names. The names in a DNS database form a tree structure called the domain namespace. Domain names consist of individual labels separated by dots, for example: mydomain.microsoft.com. Microsoft provides a good reference here.

The Domain Name System is maintained by a distributed database system, which uses the client-server model. The nodes of this database are the name servers. Each domain has at least one authoritative DNS server that publishes information about that domain and the name servers of any domains subordinate to it. The top of the hierarchy is served by the root nameservers, the servers to query when looking up (resolving) a Top Level Domain (TLD).

When you purchase a domain, the registrar creates a Master DNS record in their Domain Name Servers for the respective TLD. Your domain registrar (the company you paid for the honor of owning your domain name) points to your web host’s DNS server as being the master authority of your domain.

So people can enter the name of your domain and their computer will look up the location by asking a series of questions to the DNS around the world, to find the server hosting your website.

What is DNS Caching?

To make viewing the web faster for their customers, ISPs cache all of their DNS records. Caching means that the ISPs read and display website addresses from their local files instead of looking them up on the Internet each time their customers want to view a website. This is similar, on a massive scale, to the way the browser on your computer caches websites to speed up browsing.

This caching process is helpful at reducing traffic, but has a down side and that is called Propagation Delay. This delay affects new changes to domains.

Why does propagation delay take so long?

The reason it takes so long for your site to be visible to everyone once you launch it, is that each ISP has an automated process that updates and caches DNS records every few days. Until their cache is reset, it will not display your launched website. There is not any kind of standard for this process, and they can set propagation time anywhere from a few hours up to 72.

Can you speed the process up?

Unfortunately, no. There is nothing that you, or anyone else can do to reduce DNS propagation time. It is simply a case of waiting for this automated process to complete.

However there are things you can do to make sure that changes take effect quickly.

1. If you know about a change ahead of time, you can adjust the TTL values of your domains zone file (the DNS entry) which will speed up the time it takes for DNS to replicate your changes.

2. You can work with a responsive ISP, and hosting company that understands how to manage changes and make the happen quickly.

3. You can use Open DNS for you and all your friends. Opendns.com offers quite a few other benefits as well, such as security, hot words and parental controls.

4. If you find you are still waiting for changes after others report that it is working you can try clearing your browser cache and DNS cache of your system. To clear browser cache (not history) check the browsers help, or click here… After clearing browser cache close the browser then open it again and re try your site..

Still no love? Clear the DNS cache…

To clear DNS cache, in Windows XP and most of other Windows versions, open a command prompt. Type the command ipconfig /flushdns and press enter. For a MAC…

This will clear DNS cache. After clearing DNS cache open the browser and try to browse your domain name again.