Title: ES 101. Module 3 Domain Name System (DNS)
1ES 101. Module 3Domain Name System (DNS)
2Last Lecture
- Routing and IP addressing
3This Lecture
4Domain Name System History
- DNS provides host IP address to mnemonic name
mapping - Originally this was accomplished by a set of
configuration files on each client and server - /etc/hosts
- /etc/networks
- These files at first were manually configured by
the System Administrator using a text editor - Highly subject to typographical errors
5DNS History (contd)
- In the early days of the Internet, the Network
Information Center (NIC) maintained a single
etc/hosts file, which could be downloaded for
host configuration - HOSTS.TXT
- ftpd by all hosts (RFC 952 and 953)
- The bandwidth consumed by this process is
proportional to the square of the number of hosts - Outgoing ftp load on the NIC host was very high
- Made worse by the astronomical number of hosts on
the Internet
6DNS History (contd)
- This situation caused the development of a
network-wide, distributed database system which
did this host name to IP address mapping - Originally known as Berkeley Internet Domain
Server, or BIND - Later renamed to Domain Name System (DNS)
- We will study the host configuration files to
gain insight into the operation of the DNS - Host files are still used for small private
networks on both Unix and Microsoft networks
7Internet Hosts vs. Time
Date No. Hosts 1984 1,000 1989 100,000 1992 gt
1.0 Million 1994 3.2 Million Today ????
8Internet Names
- With millions of Hosts on the Internet, how do
you easily specify the host that you want to
interact with? - IP addresses are very hard to memorize for humans
- DNS was developed to provide an easy to remember
addressing scheme - Originally specified in RFCs 1032, 1033, 1034,
and 1035
Checkout the following web site for access to all
RFCs http//www.cis.ohio-state.edu/cs/Services/rf
c
9/etc/hosts File
- Every computer on a TCP/IP network has an IP
address, canonical host name, and zero or more
host name aliases - The /etc/hosts file is the classical method for
mapping IP addresses to host names - Format of the hosts file consists of one IP
address per line - Note that the 127.0.0.0 address is the local
loopback IP address
10Host File Example
11/etc/networks File
- Networks and subnets are also named
- The handling of network address to network name
mapping is accomplished by the /etc/networks file
12Network File Example
13Introduction to DNS
- DNS is essentially a hierarchical, distributed
local hosts database - The DNS name provides an easily recognized
structure - DNS can be conceptually divided into three parts
- Domain name space
- Name servers
- Resolvers
- Each of these will be discussed in the following
charts
14Domain Name Space
- DNS is partitioned into different Domains
- It is organized hierarchically
- Top level domain names are globally specified
- Second-level domain names are unique to each
organization, and must be registered with via a
registrar - Domain names are not associated with a location
- You can search for a unique name using the
whois utility of the registrar - When you find no match, the name is available
- You can then register the name with a registrar
to reserve it
15Top Level Domain Names
16Fully Qualified Domain Names
- The highest level of the hierarchical structure
(root) is dot - The proper syntax for a fully qualified domain
name includes the trailing period - Standard practice is not to include it, since it
is understood
17Domain Name Hierarchy
18Second Level Domain Names
- These names are registered by qualified
registrars - www.networksolutions.com originally
- Many other registrars are now available, for
example - Domain Direct (http//www.domaindirect.com/)
- Each domain is given its own authority to create
subdomains - Example http//eecs.vuse.vanderbilt.edu
- A (sub)domain may contain an entire network, or
only parts of a network
19Domain Physical Representation
20Domain Name Tree
- The easiest representation of the DNS name is as
a tree - Each domain represents a branch of the tree
- The leafs of the tree are individual host
machines
21DNS Servers
- The DNS database is distributed among a number of
servers - These servers perform the DNS name to IP address
mapping - They are referred to as name servers
- Each domain is responsible for maintaining a
minimum of one primary and secondary DNS servers - This function can be subcontracted to others
- No single DNS server could hold the database for
the entire Internet
22DNS Servers (contd)
- DNS servers that are in different locations
operate cooperatively to resolve the name to IP
address mapping request - Distributed databases have the advantage that
they are efficient - If the names that are accessed most frequently
are in a local cache (DNS server), the DNS lookup
traffic across the Internet is greatly reduced
23DNS Servers (contd)
- Distributed databases are also more reliable than
a single machine - One failure cannot take down the network
24DNS Forwarding
- If you do not wish to host your own DNS server,
you can pay for a service known as DNS
Forwarding - Typically provided by the registrar
- What happens is that the registrar maintains the
redundant DNS servers - The URL of interest is locally controlled by the
registrar - A table entry is made into the registrars DNS
database to go to the IP address of a server that
is specified by you - This is done by a control panel
- Name resolution requests can then be referred to
any IP address on the Internet - Even your dorm PC, assuming that it has a static
IP address
25Static IP Addresses
- You may request a static IP address from your
ISP - However, this is becoming more difficult, since
ISPs like to manage their own IP address space - This is because IP addresses are in short supply
- When this is done, your PC requests an IP address
from a Dynamic Host Configuration Protocol
(DHCP) server - Your machine is then assigned an IP address
- This address ages and is changed periodically
- However, Vanderbilt does not change this often
26Dynamic Address Determination
- How would you determine your DHCP assigned IP
address? - ipconfig command
- Whats my IP web site
- http//www.whatismyip.com/
- If your IP address does not change often, you can
DNS forward to it - If the IP changes, you simply log onto the
registrars control panel and repoint the URL to
the new IP address
27Assignment
- Those of you willing to spend 30/year should
register a domain name of your choosing
28Web Servers
- Note that the DNS only points to an IP address
- A server that hosts many web sites, must still
resolve the URL to the proper index.htm file
for the web site of interest - This is done by a local DNS server process that
only points to the internal folders - No updates from the Internet
- This information is not distributed out to the
Internet - An example is the Helios server here at Vanderbilt
29DNS Name Resolution
- Each client executes a DNS client software
process known as a (DNS) name resolver - This software communicates with the DNS Server
established in the client by the network
administrator - Name servers are arranged in a tree structure
that corresponds to the naming hierarchy - Each lower-level server knows what the
higher-level servers are by their IP address
30DNS Name Server Registration
- An organization registers for a second-level
domain name - It is required to provide and maintain a two name
servers for that sub-domain - These servers are known as the Authority Name
Servers for the domain - The name server must be linked into the DNS
server tree
If you use an ISP, you can use their DNS servers.
31Name Server Modes
- Depending on the client request, the name server
operates in one of two modes - When the resolver queries a name server, the
message contains the following information - Name to be resolved
- Class code of the name
- Protocol group to be used, ie. IP, IPX, etc.
- For IP, the class code is IN
- Type of response desired, ie. IP address
- Action code that specifies whether the name
server should translate the name completely
32Object Types
- DNS servers can be used for multiple functions
- Translation of a host name to an IP address
- Look up a mail server address
- This information is differentiated by Object
Types - Also known as resource record types
33Common DNS Resource Record Types
34DNS Query Processing
- When a domain name server receives a query from a
client, it checks to see if the name is within
its subdomain - If so, it sends back the information to the
resolver - If the name server cannot resolve the name
completely, it checks the action code to see
what the client specified - Recursive resolution (complete lookup)
- Iterative resolution (non-recursive lookup)
35Recursive Resolution Schematic
Name server asks for assistance from other
higher level name servers
36Iterative Resolution
- Name server generates an error if it cannot
resolve the name - Client is informed of the name server that it
should query next
37Non-Recursive Resolution Schematic
38Name Caching
- Name resolution is performed from left to right
- Local authority up to higher levels
- Most efficient path for name resolution
- Each name server also keeps a cache of recently
resolved names and the mapping information - This information ages off the name server
- It is up to the clientsoftware to decide if the
returned information is good enough
39Name Resolution Sequence
- Client queries the name server
- Name server first checks for local resolution
- Next checks its name cache to see if the name was
recently resolved - If found, the name server reports back to the
resolver - If not, the name server follows the action code
provided - Recursive resolution
- Non-recursive resolution
40Next Lecture
- Basic Network Troubleshooting and Utilities