In this post we revisit another old friend that is used quite often in all of our modern networks, the Domain Name System (DNS). DNS is a hierarchical naming system for computers, services, or any other resource connected to the Internet or a private network. The DNS process associates database information with domain names that have been assigned to each of the participating devices. More importantly, DNS translates domain names that are meaningful to people into the numerical binary identifiers associated with networking equipment. This translation is for the purpose of locating and addressing these devices worldwide.
An often-used analogy to explain the DNS is that it serves as the “phone book” for the Internet by translating human-friendly language into IP addresses. For example, www.bikeshop.com could translate into an IP address such as 18.104.22.168.
A domain name is an identification label that defines a realm of administrative autonomy, authority, or control in the Internet. It is based on the DNS. The DNS makes it possible to assign unique and, in many cases, very descriptive domain names to groups of Internet users in a standard manner. This assignment can be totally independent of each user’s physical location. Because of this, World Wide Web (WWW) hyperlinks and Internet contact information can remain consistent and constant even if the current Internet routing arrangements change, or the participant uses a mobile device.
Internet domain names are easier to remember than 22.214.171.124 Internet Protocol Version 4 (IPv4) or 2001:db8:1f70::999:de8:7648:6e8 Internet Protocol Version 6 (IPv6). If a user had to remember the IP addresses of all of the Web sites they visit every day, they would all suffer memory overload. Humans just are not very well adapted at remembering strings of numbers.
However, most of us are good at remembering words or names. That is where domain names come in. You probably have hundreds of domain names stored in your head. For example:
- www.cisco.com – a typical name
- www.yahoo.com – one of the world’s best-known names
- www.mit.edu – a popular EDU name
- encarta.msn.com – a Web server that does not start with www
- www.bbc.co.uk – a name using four parts rather than three
- ftp.microsoft.com – an FTP server rather than a Web server
The COM, EDU, and UK portions of these domain names are called the top-level domain or first-level domain. There are several hundred top-level domain names, including COM, EDU, GOV, MIL, NET, ORG, and INT, as well as unique two-letter combinations for every country.
Characteristically, every organization that maintains a computer network will have at least one server handling DNS queries. That server, which is called a name server, will hold a list of all the IP addresses within its network. In addition, the server will build and hold a cache of IP addresses for recently accessed computers outside the network. Each computer on each network needs to know the location of only one name server.
When your computer requests a name to IP address translation, one of three things happens, depending on whether or not the requested IP address is within your local network.
- If the requested IP address is registered locally and is located within your organization’s network, your computer will receive a response directly from one of the local name servers listed in your workstation configuration. In this instance, there usually is little or no wait for a response.
- If the requested IP address is not registered locally and is physically located outside your organization’s network, but someone within your organization has recently requested the same IP address, then the local name server will retrieve the IP address from its cache and return it to your computer. In this case, there should be little or no wait for a response.
- If the requested IP address is not registered locally, and you are the first person to request information about this system in a certain period of time, usually ranging from 12 hours to one week, then the local name server will perform a search on behalf of your workstation. This search may involve querying two or more other name servers at potentially very remote locations. These queries can take anywhere from a second or two up to a minute.The delay will depend on how well connected you are to the remote network and how many intermediate name servers must be contacted. Sometimes, due to the lightweight protocol used for DNS, you may not receive a response. In these cases, your workstation or client software may continue to repeat the query until a response is received. Or, you may receive an error message.
When you use an application such as telnet to connect to another computer, you most likely type in the domain name rather than the IP address of that computer. The telnet application takes the domain name and uses one of the above methods to retrieve its corresponding IP address from the name server. A good analogy is to think of DNS as an electronic telephone book for a computer network. If you know the name of the computer in question, the name server will look up its IP address.
Within most Internet applications, you will not see the IP address of the computer to which you’re connecting. People take advantage of this when they input meaningful URLs and e-mail addresses without having to know how their machine will actually locate them.
In my next post, we will take a more in-depth look at how DNS and its associated applications and protocols actually perform their functions.
Author: David Stahl