Build a scalable DNS infrastructure
Published: 09 May 2006 13:05 BST
DNS (the Domain Name System) is the Internet standard used for translating the "human-friendly" host names of computers on a TCP/IP network into their corresponding "machine-friendly" IP addresses. If you want users to be able to use host names to connect to computers on an IP network (for instance, by typing zdnet.co.uk into their browser's address window instead of the ZDNet UK Web server's public IP address), you must provide them with a DNS server that can resolve those names.
A central DNS database holds the information about registered top level domains (for example, .com) and public DNS servers on the Internet direct users' queries to the proper DNS server for a particular second level domain (for example, zdnet.co.uk). Most companies maintain their own DNS servers for their domains, making DNS a distributed database.
If your company has registered a domain name (or is planning to do so), you have two choices: you can host your own DNS servers or have a hosting service do it for you. If you use a web hosting company to host your Web servers, they will usually also host your DNS at no extra cost. If you choose to set up your own DNS servers, you need to register them with your domain registrar so they can point your domains to your servers.
Even if you don't make any servers available to the Internet, you still need DNS if your internal network is a Windows 2000 or later domain. Windows Active Directory requires DNS to resolve host (computer) names to IP addresses on the LAN.
If you're just setting up a new network, it pays to plan ahead for scalability as you design your DNS infrastructure.
The DNS hierarchy
The first step in creating a DNS infrastructure that will scale with your business is to understand how DNS works. The system is structured in a hierarchical manner, both logically and physically.
The logical hierarchy
On the logical side, the DNS namespace contains several levels:
- Root level. In a DNS address, this is represented by a dot (.) Top or first level. This represents a domain type (such as .com, .org, .net, .edu, .mil, .gov, etc.) or a country (such as .uk for the United Kingdom, .it for Italy, .fr for France, .cn for China, .ru for Russia, .au for Australia, etc.). Second level. This is the domain name that you can register for an annual fee with official registrars (accredited by ICANN) such as Network Solutions (the original registrar), GoDaddy.com, Joker, Tucows, Register.com, Dotster and many others.
Each second level domain must be unique within its top level domain. In other words, there can be only one mydomain.com, but there can also be a mydomain.net, mydomain.org, and so forth. Some top level domains are restricted. For instance, only educational institutions can register in the .edu domain, only US government agencies can register in the .gov domain, etc.
NOTE
Although technically all Internet domain names end with a dot to represent the root level of the namespace, DNS software in use today does not require you to enter the ending dot to resolve names.
The physical hierarchy
The physical machines that contain parts of the distributed DNS database are also structured in a hierarchical configuration:
- DNS root servers have responsibility for the . (root level) domain. They contain a database of servers in the next level down, those that are responsible for the top level domains such as .com or .net. The top level domain servers contain a database of name servers that are responsible for the second level domains. The second level domain servers (such as the DNS server or servers for your organisation's domain) handle queries for actual DNS addresses (such as www.mydomain.com, where "www" is the host name of a web server) and subdomains, such as accounting.mydomain.com.
Here's how this actually works: a client program, such as a Web browser, that needs to connect to another computer using a domain name (for example, www.mydomain.com), sends the query to the DNS server that the client computer is configured to use (for a business computer, this would probably be one of your organisation's DNS servers; for a home computer, it might be the ISP's DNS server). If the address you want to resolve is in the .com top level domain, your DNS server sends a query to the top level DNS server for .com. That top level server has in its database the server that handles the mydomain.com domain, so it queries the mydomain.com DNS server and asks for the IP address for www.mydomain.com. Then your browser can use the IP address to...












