In essence, DNS is simply a database that links meaningful names (known as host names), such as http://www.microsoft.com, to a specific IP address, such as 192.168.124.1. Simply linking addresses to names is just the beginning, though, because DNS has many more features in addition to host-name-to-address mapping.
- Mappings of addresses to names and vice versa (known as records) are stored in a database.
- The DNS database is distributed.
- A DNS database also stores additional records.
Although DNS is a database, most importantly it’s a distributed database. Each DNS server contains only a small portion of the host name to IP address mappings (relative to the number of records for the entire Internet). Each DNS server is configured with a special record that tells the DNS server where (the IP address of another DNS server) it will perform a lookup for records it doesn’t have in its portion of the DNS database. Because of this arrangement, each DNS server maintains only a small portion of the total DNS host to IP address mappings. The collection of host-name-to-IP-address mappings contained with the DNS database is also known as a namespace. Essentially, when looking for a name in DNS, the DNS client first checks a top-level DNS server database. That server tells the client which DNS server hosts the next part of the DNS name, and the client then queries that server. This lookup-and-handoff process continues until the client finds the DNS server that hosts the DNS record in question, and that server provides the IP address.