Network Layer Utilities: DNS

Although it doesn’t always seem that way, CCDAs and CCDPs, as network designers, usually try and make any network, no matter how complex, as simple as possible to use. And, we human beings often need to automate many networking tasks to provide a basic simplicity of network operation.

There are four tools that are used 24/7 in almost every TCP/IP network in the world to help the network layer (Layer 3) with its task of routing packets end-to-end through an internetwork. These automated tools are identified as:

  • Address Resolution Protocol (ARP)
  • Domain Name Service (DNS)
  • Dynamic Host Configuration Protocol (DHCP)
  • Ping

One of these tools is the Domain Name Service (DNS). We know that both hosts and routers participate in the IP routing process. This defines how an IP packet can be delivered from the host at which the packet is created to the destination host. However, it would be very difficult for all of us to remember every IP address of every network device with which we wish to communicate, either locally in our Local Area Networks or on the World Wide Web. Human beings are just are not that good at remembering strings of numbers. We are good at remembering words, however, and that is where DNS names come in. You probably have hundreds of domain names stored in your head.

An analogy to explain the Domain Name System that is easy to understand is to think of it as a phone book for networks that translates human-friendly computer host names into IP addresses. You might not even think that you need to know the name of another computer or device. For instance, when you open your Web browser you probably have configured a default home page that the browser immediately downloads using an assigned Universal Resource Locator (URL). You might not think of a URL string as a name, but the URL for the home page has a name embedded in it. For example, in a URL such as http://www.cisco.com/go/prepcenter, the www.cisco.com part is the name of the Cisco Web server.

To help manage networks, commonly accepted best practices dictate that we name or identify all the devices in a network. However, because hosts cannot send packets to a destination device’s name, most hosts use the Domain Name System (DNS) protocols to resolve the name into its associated IP address. The DNS process links, or associates, various information with names or identifiers assigned to each of the participants. Most importantly, it translates these names or identifiers that are meaningful to us humans into the numerical (binary) identifiers associated with networking equipment for the purpose of locating and addressing these devices.

The host that is originating a packet acts as a DNS client, sending messages to the unicast IP address of the DNS server. The DNS request lists the name, and the DNS server replies with the IP address that corresponds to that host name. After it is learned, the originating host can cache the name-to-address information, only needing to resolve that name again after the entry has timed out.

Because of the huge volume of requests generated by a system like DNS, the designers wanted to provide a mechanism to reduce the load on individual DNS servers. To this end, the DNS resolution process allows for caching for a given period of time after a successful answer. Caching is defined as “the local recording and subsequent consultation of the results of a DNS query”. How long a DNS response remains valid on the sending device’s machine is determined by a value called the Time to Live (TTL). The TTL is set by the administrator of the DNS server that is handing out the response. The period of validity may vary from just seconds to days or even weeks.

Author: David Stahl

In this article

Join the Conversation