The document discusses the Domain Name System (DNS) which maps human-readable domain names to IP addresses. DNS uses a hierarchical domain name space and resource records stored in name servers. When an application needs to resolve a name to an IP address, it queries a local DNS server which communicates with other name servers until the correct IP address is found. This recursive query process uses the DNS protocol over UDP port 53. DNS was developed to make managing Internet addresses easier as the number of hosts grew.
2. The Application Layer
Uses transport services to build distributed
applications
Physical
Link
Network
Transport
Application
3. DNS – Domain Name System
The DNS resolves high-level human readable names for computers
to low-level IP addresses
DNS name space »
Domain Resource records »
Name servers »
4. Why do we need DNS?
Too difficult to remember IP addresses and if a server is changed
everyone would need to be notified of the new IP address
Originally one file with names and IP addresses – became too large
Host name conflicts began to occur
DNS was developed to solve these problems
DNS is a hierarchical domain based naming scheme and a database
system for implementing it.
It is used primarily for mapping host names to IP addresses
5. How DNS works
To map a name to an IP address:
Application program calls a library procedure called a resolver, for
example gethostname, passing it the name as a parameter.
The resolver sends a query with the name to a local DNS server,
which looks up the name and returns the IP address.
The query and response are sent as UDP packets.
Once it has the IP address the host can now establish a TCP
connection or send UDP packets.
6. DNS Name Space
ICANN – (Internet Corporation for Assigned Names and Numbers)
Established in 1998 to manage naming hierarchy
Internet is divided into 250 top level domains, each partitioned into
subdomains
Top level domains are Generic ( originals from 1980’s as well as newer
additions ) or Countries (one entry per country)
Original 1985 domains were com, edu, gov, int, mil net, org
Top level domains are run by registrars appointed by ICANN
New domains have been added, but often with disagreements ( xxx, pro,
etc.) as to their use.
Domain names are NOT case sensitive
Registering a domain with the intent to sell it is called cybersquatting
7. The DNS Name Space
DNS namespace is hierarchical from the root down
Different parts delegated to different organizations
The computer robot.cs.washington.edu
8. The DNS Name Space
Generic top-level domains are
controlled by ICANN who
appoints registrars to run
them
This one was controversial
9. Domain Resource Records
Domains have a set of resource records associates with them
A resource record is a five tuple:
domain_name time_to_live class type value
TTL – large number indicates that this is a stable record
Class – for internet information – always IN
Type – what kind of record (see next slide)
Most important type is the Address type
Value – a number, domain name or string
10. Domain Resource Records
The key resource records in the namespace are IP addresses (A/AAAA)
and name servers (NS), but there are others too (e.g., MX)
11. Domain Resource Records
A portion of a possible DNS database for cs.vu.nl.
IP addresses of
computers
Name server
Mail gateways
12. Name Servers
Name servers contain data for portions of the name space called zones
(circled).
One zone
13. Name Servers
Finding the IP address for a given hostname is called resolution and is
done with the DNS protocol. ( Remember ARP?)
Resolution:
Computer requests local name server to resolve
Local name server asks the root name server
Root returns the name server for a lower zone
Continue down zones until name server can answer
DNS protocol:
Runs on UDP port 53, retransmits lost messages
Caches name server answers for better performance