A DNS client (sometimes called a resolver) uses a DNS server to resolve name queries and to locate resources on TCP/IP networks.
Note
Computers running under Windows NT Workstation or Windows NT Server version 4.0 automatically use DNS name resolution when a name query contains a name that is greater than 15 characters in length. If the name is less than or equal to 15 characters, either NetBIOS or DNS name resolution may be attempted. See Chapter 6, "TCP/IP Implementation Details," for additional details about DNS and NetBIOS name resolution.
There are three types of name queries that a DNS client can make. These types of name queries are recursive, iterative, and reverse (also called inverse).
A recursive name query is one in which the DNS client requires that the DNS server either respond to the client with the requested name –to-IP-address mapping or an error message stating that the data or domain name does not exist. The DNS server can not just refer the DNS client to a different DNS server.
Recursive name queries are generally made by a DNS client to a DNS server or by a DNS server that is configured to pass unresolved name queries to another DNS server. (Keep in mind that a DNS server can be a client to another DNS server.)
An iterative name query is one in which the queried DNS server returns the best answer it can give based on its cache or zone data. What this means is that if the queried DNS server does not have an exact match for the queried name, the best possible information it can return is a pointer to an authoritative DNS server in a higher level of the domain name space. This process will continue up through the DNS hierarchy to the next authoritative DNS server until the query reaches a DNS server that can provide a referral down the hierarchy to a lower-level DNS server in a different branch of the domain name space, until a DNS server is located that has data that is an exact match for the queried name, or an error or timeout condition is met.
This process is sometimes referred to as "walking the tree" and this type of query is typically initiated by a DNS server that attempts to resolve a recursive name query for a DNS client.
A reverse name query is one in which the DNS client provides the IP address and requests the name that matches that IP address. For example, to find a host name for the IP address 172.16.48.1, the DNS client would query the DNS server for a PTR record for 1.48.16.172.in-addr.arpa. If this IP address is outside the local domain, the DNS server would need to connect to the in-addr.arpa root server and sequentially resolve the in-addr.arpa domain nodes until it locates the DSN server that is authoritative for that IP address.