NET 121b: Essentials of Networking

Chapter 11: Name Resolution

Objectives:

This chapter discusses standard methods of translating device names to network and device addresses. The topics of this chapter are:

  1. HOSTS files and Domain Name Systems
  2. NetBIOS name resolution
Concepts:

The chapter begins with a description of two methods for translation of host names to IP addresses. In order for your computer to connect to another computer on its own network or on the Internet, your computer has to determine the IP address to send information to. People find it easier to remember symbolic names for devices instead of IP addresses, so several methods were devised to convert those symbolic names to addresses. One is Domain Name Service (DNS), also called Domain Name System, and another is the use of host tables.

Before there was DNS, the Internet was a lot smaller and it was possible to keep one list of host names and the IP addresses that matched them. The list was just called the hosts table, and it was updated at the Stanford Research Institute Network Information Center (SRI-NIC). This was downloaded to each network. It is the ancestor of the hosts file on most computers.

This is the hosts file on my computer:

# Copyright (c) 1993-1999 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
# 102.54.94.97 rhino.acme.com # source server
# 38.25.63.10 x.acme.com # x client host

127.0.0.1 localhost

Note that there are no headings in it. There is only one actual line that is read and remembered by my computer. Each line starting with a # is a comment, or remark. Remarks are placed in files for documentation.

A host table is a list, saved as a simple text file, divided into three columns: IP address, official host name, and aliases that are also allowed for this host. Each line in the table describes one IP address and the host names that can be used for it by machines that read this table. This is a fine system for small networks in which changes do not happen often. Each device on the network must have its own copy of the hosts table, or must know where the host table is stored, and must read it to make use of host names.

  • On a Novell NetWare system, the hosts file is usually stored as SYS:ETC\HOSTS, which means it is called HOSTS, stored in the ETC directory, on the SYS volume.
  • On a UNIX system it is usually /etc/hosts
  • On a Windows workstation or server, the location varies by the version of Windows:
    • Windows 95 and 98: \Windows\HOSTS
    • Windows NT and 2000: \WINNT\SYSTEM32\DRIVERS\ETC\HOSTS
    • Windows Server 2003 and Windows XP: \WINDOWS\SYSTEM32\DRIVERS\ETC\HOSTS

Note that none of the examples uses a file extension. Regarding syntax for the host file itself, it must be an ASCII file, in which the "#" symbol marks the beginning of a remark or comment.

Using DNS is different. The information needed to find a host on the Internet is too complex and too fluid to assume it is saved on any single server. When the Internet became too large for any single file to hold all the information, a new system was needed, so DNS was invented. DNS uses a hierarchy, a tree shaped structure that branches as you go down the tree.

  • The DNS tree starts at what is called the root-level domain.
  • All root-level domain servers know how to get to all top-level domain servers. Top-level domain servers are the authorities of their domains, like .com, .net, and .org, as well as .ca, .au, .ch, and all the other top-level domains. Servers at this level can be called primary or master servers.
  • In its domain, each top-level server knows the addresses of each second-level domain server, such as microsoft.com. These are the registered domain servers. Registered domains can include subdomains, so they are included in this level as well. Servers at this level can be called secondary or slave servers.

DNS is a distributed database system, which means that many servers each hold part of the DNS system. What the system does is provide translation from Domain Names (names of web sites, for instance) to IP addresses. If I tell you to check out the information at server 64.236.16.84 this week, will you remember that address? Thanks to DNS, you don't have to remember the numbers. Its URL (Uniform Resource Locator) name is www.cnn.com. You can enter either the address or the name in the address line of a browser. Either will take you to the same web site.

Back to the distributed idea. The Internet is divided into Domains. Baker College, for example, has been assigned a subdomain (called Baker) in the edu domain, which is for colleges that offer 4-year degrees and more. edu is a top-level domain. A domain name is limited to 255 characters, and each label in it (the parts separated by dots) is limited to 63 characters.

Your book wants you to be familiar with several top-level domains:

com Commercial entities
edu Educational institutions
gov Agencies of the U.S. Federal government
mil US Military
net Computers of network providers
org Miscellaneous: for organizations that do not fit anywhere else
biz Businesses. This is essentially an alternative to .com
name Personal URLs. A person can apply for a subdomain for their own name.
pro Professional organizations.
Au Australia
ca Canada
de Germany (Deutschland)
uk United Kingdom

Most countries have two letter domain names. Some, like Germany, are not intuitive until you remember what the country is called in the language spoken there.

The DNS hierarchy is meant to be subdivided. Domains are divided into subdomains. A subdomain may be a zone that a company administers. This zone is subdivided into other, smaller zones that are administered by divisions of the company. A DNS server consults higher and higher level authorities, which consult zone authorities under them to resolve a DNS request. The machine asking the server for the translation of a host name to an IP address is called a DNS resolver. This seems odd, since the machine making the request provides no part of the name resolution, but it is the one called the resolver.

The chapter ends with a discussion of Windows Internet Naming Service (WINS) information. WINS is a system for translating NetBIOS names to IP addresses. This is done in Microsoft networks that use NetBIOS names instead of host names. Most Windows computers have a file called the lmhosts file, which is a table of NetBIOS names and IP addresses, similar to the host names and IP addresses found in hosts files. The first two letters of lmhosts stand for LAN Manager, an older Microsoft Network Operating System.

NetBIOS names can be given to computers, Windows domains, workgroups, and users. WINS and DNS accomplish different but similar functions. Older networks did not support DNS, but did support NetBIOS names, so the two systems coexist for backward compatibility.