The Domain Name System (DNS) is a distributed database providing a hierarchical naming system for identifying hosts on the Internet. DNS was developed to solve the problems that arose when the number of hosts on the Internet grew dramatically in the early 1980s. The specifications for DNS are defined in RFCs 1034 and 1035. Although DNS might seem similar to WINS, there is a major difference: DNS requires static configuration for computer name-to-IP address mapping, while WINS is fully dynamic and requires far less administration.
The DNS database is a tree structure called the domain name space, where each domain (node in the tree structure) is named and can contain subdomains. The domain name identifies the domain's position in the database in relation to its parent domain, with a period (.) separating each part of the names for the network nodes of the DNS domain.
The root of the DNS database is managed by the Internet Network Information Center. The top-level domains were assigned organizationally and by country. These domain names follow the international standard ISO 3166. Two-letter and three-letter abbreviations are used for countries, and various abbreviations are reserved for use by organizations, as shown in the following example.
Table 12.3 Abbreviations Used in DNS Domain Names
DNS domain name abbreviation | Type of organization |
com | Commercial (for example, microsoft.com) |
edu | Educational (for example, mit.edu for Massachusetts Institute of Technology) |
gov | Government (for example, nsf.gov for the National Science Foundation) |
org | Noncommercial organizations (for example, fidonet.org for FidoNet) |
net | Networking organizations (for example nsf.net for NSFNET) |
Each DNS domain is administered by different organizations, which usually break their domains into subdomains and assign administration of the subdomains to other organizations. Each domain has a unique name, and each of the subdomains have unique names within their domains. The label for each network domain is a name of up to 63 characters. The fully qualified domain name (FQDN), which includes the names of all network domains leading back to the root, is unique for each host on the Internet. A particular DNS name could be similar to the following, for a commercial host:
accounting.trey.com
DNS uses a client-server model, where the DNS servers contain information about a portion of the DNS database and make this information available to clients, called resolvers, that query the name server across the network. DNS name servers are programs that store information about parts of the domain name space called zones. The administrator for a domain sets up name servers that contain the database files with all the resource records describing all hosts in their zones. DNS resolvers are clients that are trying to use name servers to gain information about the domain name space.
Windows NT includes the DNS resolver functionality used by NetBIOS over TCP/IP and by Windows Sockets connectivity applications such as ftp and telnet to query the name server and interpret the responses.
The key task for DNS is to present friendly names for users and then resolve those names to IP addresses, as required by the internetwork. Name resolution is provided through DNS by the name servers, which interpret the information in a FQDN to find its specific address. If a local name server doesn't contain the data requested in a query, it sends back names and addresses of other name servers that could contain the information. The resolver then queries the other name servers until it finds the specific name and address it needs. This process is made faster because name servers continuously cache the information learned about the domain name space as the result of queries.
All the resolver software necessary for using DNS on the Internet is installed with Microsoft TCP/IP. To use DNS for TCP/IP name resolution, you specify options in the DNS Configuration dialog box. For more information, see Chapter 11, "Installing and Configuring Microsoft TCP/IP and SNMP."
On computers with Windows NT Server 3.5, Windows NT Workstation 3.5, or Windows for Workgroups 3.11 with Microsoft TCP/IP-32 installed, Windows Socket applications can use either DNS or NetBIOS over TCP/IP for name resolution.
The following table compares DNS versus WINS name resolution.
Table 12.4 WINS Versus DNS Name Resolution
Name provider capabilities | WINS | DNS |
Provides scalable naming authority for large internetworks | Yes | Yes |
Provides a dynamic, distributed naming authority for TCP/IP network names | Yes | Not dynamic |
Supports MX records for electronic mail | No | Yes |
Supports recursion and referral for name resolution | No | Yes |
Provides hierarchical naming and resolution scheme | No | Yes |
Includes DNS name server | No | Yes |
Includes DNS name resolution client | Yes | Yes |
Provides static name resolution | Yes (optional) | Yes (only) |
Queries DNS servers | Yes1 | Yes |
Provides name server in operating system | Yes | No |
Resolves NetBIOS-compatible names | Yes | No |
Provides a name resolution solution for large peer-based TCP/IP networks (50,000+ systems) | Yes | No |
Supports automatic name registration | For WINS clients only | No |
Supports dynamic NetBIOS name registration and resolution | Yes | No |
Supports managing hosts configured via DHCP | Yes | No |
Supports easy administration, including browsing and managing dynamic and static registrations | Yes | No |
Centralizes management of the name database | Yes | No |
Defines server replication partners and policies | Yes | No |
Alleviates LMHOSTS management requirements | Yes | No |
Reduces IP broadcast traffic in Windows-based internetworks | Yes | No |
1 Queries DNS servers via Windows Sockets applications or, for Windows-based networking applications, via NetBIOS over TCP/IP (after using WINS first)