Name resolution requests, such as navigating in studentserver. college. edu, can be initiated by both DNS clients and DNS servers. There are two ways to resolve queries in the FQDN: recursive (where the DNS client requires the DNS server to respond with the IP address of the request or an error message that the requested name does not exist) and iterative (which uses zone information and its cache to return the best possible answer to the client and can be referred to another DNS server). The process of resolving DNS to resolve the FQDN involves:
1. sending a recursive query to the local DNS server; 2. checking its local cache to determine whether the name has recently been resolved. If there is an entry in the local cache, the IP address is returned to the client before forwarding the request to a root server; 3. sending an iterative query to a root name server if no entry exists in the cache for a hostname; 4. the root name server referring the DNS server to a name server responsible for the first-level domain within the hostname; 5.
referring the original DNS server to second-level DNS servers, and then third-level DNS servers, until one of them can resolve the hostname to an IP address and return the results back to the client. For DNS forwarders, the following process is followed: 1. The DNS server attempts to resolve the request using its local cache and zone information 2. If it can’t be resolved locally, the DNS server sends a recursive query to the forwarding DNS server 3. If the forwarder does not respond in its attempt to resolve the query, the DNS server attempts to resolve the request by contacting the appropriate DNS server, as specified in the root hints.