At one time or another, most of us have typed a universal resource locator (URL) to get to one of our favorite websites. Before you can view the website stored on a web server, that URL you typed must be resolved to an IP address, and this is where DNS servers come into play. You might have also heard the term fully qualified domain name (FQDN). An FQDN contains both the hostname and a domain name. It uniquely identifies a host within a DNS hierarchy. For example, www.bayside.net is an FQDN. Every FQDN is broken down into different levels, each separated by a period. In the preceding example, .net is the top-level domain and bayside is the second-level domain. The top-level domain normally identifies the type of organization, such as a government organization (gov) or an educational organization (edu). The second-level domain indicates a specific domain within that top-level namespace, whereas the third level might indicate a specific host within that domain. In all cases, DNS servers are used to resolve FQDNs to IP addresses. DNS QueriesA DNS query is a request for name resolution. Name resolution requests can be initiated by both DNS clients and DNS servers. A DNS client sends a query to a DNS server and a DNS server can send a query to another DNS server on behalf of a client. DNS can use two different processes to resolve queries: recursive and iterative. With a recursive query, 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. The DNS server cannot refer the client to another DNS server if it cannot map the request to an IP address. When a DNS server receives a recursive request, it queries other DNS servers until it finds the information or until the query fails. With an iterative query, the DNS server uses zone information and its cache to return the best possible answer to the client. If the DNS server does not have the requested information, it can refer the client to another DNS server. An iterative query is typically performed by a DNS server once it has received a recursive query from a DNS client. For example, when a DNS client enters www.bayside.net into a browser, the following process occurs:
DNS ForwardersDNS servers often must communicate with DNS servers outside of the local network. A forwarder is an entry that is used when a DNS server receives DNS queries that it cannot resolve locally. It then forwards those requests to external DNS servers for resolution. By configuring forwarders, you can specify which DNS servers are responsible for handling external traffic. Otherwise, all DNS servers can send queries outside of the local network, possibly exposing DNS information to untrusted hosts on the Internet. Configuring forwarding adds another level of security to the network because only servers identified as forwarders are permitted to forward queries outside the local network. Additionally, if all DNS servers were allowed to forward queries outside the network, the result could be a large amount of unnecessary network traffic. This can become an important issue if the Internet connection is slow, costly, or already heavily used. Because a forwarder receives queries from local DNS servers, it builds up a large amount of cache information. This means that many of the queries received by the forwarder can be resolved from the cache instead of forwarding the requests outside the local network. This is obviously more efficient in terms of network traffic. When a DNS server configured to use forwarding receives a DNS query from a DNS client, the following process occurs:
Conditional ForwarderA DNS server can be configured to send all queries that it cannot resolve locally to a forwarder, and you can also configure conditional forwarders. With conditional forwarders, DNS servers are configured to forward requests to different servers based on the DNS name within the query. When configuring conditional forwarding, you must specify the following information:
Exam Alert You cannot configure a DNS server as a forwarder if a root zone exists. If you plan to configure your DNS server as a forwarder, you must delete the root zone. Open the forward lookup zone in the DNS console. The root zone entry is identified as ".". To delete the root DNS zone, right-click this entry and click Delete. DNS Server CachingCaching is designed to improve response times. A DNS server caches the queries that it resolves to improve response time and reduce network traffic. When performing a recursive query on behalf of a client, the DNS server caches all the information it receives from other DNS servers. Information is kept in the cache for a specified amount of time known as the Time to Live (TTL). The TTL is set by the administrator for the primary zone. When the data is cached, the TTL begins to count down. After the TTL expires, the data is deleted from the cache. DNS clients also maintain a cache. If a DNS server resolves a query from its cache, it returns the remaining TTL for the data to the DNS client. The DNS client in turn, caches the information and uses the TTL to determine when the entry expires. |