Application Layer

2.5 DNS--The Internet's Directory Service

Home
Introduction
2.1 Principles of Network Applications
2.1.1 Network Application Architectures
2.1.2 Processes Communcating
2.1.3 Application-Layer Protocols
2.1.4 What Services Does an Application Need?
2.1.5 Services Provided by the Internet Transport Protocols
2.2 The Web and HTTP
2.2.1Overview of HTTP
2.2.2 Nonpersistent and Persistent Connections
2.2.3 HTTP Message Format
2.2.4 User-Server Ineraction: Cookies
2.2.5 HTTP Content
2.2.6 Web Caching
2.2.7 The Conditional GET
2.3 File Transfer: FTP
2.3.1 FTP Commands and Replies
2.4 Electronic Mail in the Internet
2.4.1 STMP
2.4.2 Comparison with HTTP
2.4.3 Mail Message Formats and MIME
2.4.4 Mail Access Protocols
2.5 DNS--The Internet's Directory Service
2.5.1 Services Provided by DNS
2.5.2 Overview of How DNS Works
2.5.3 DNS Records and Messages
2.6 P2P File Sharing
2.7 Socket Programming with TCP
2.7.1 Socket Programming with TCP
2.7.2 An Example Client/Server Application in Java
2.8 Socket Programming with UDP

2.5.1 Services Provided by DNS

Ther are two ways to identify a host--by a hostname and by an IP address.  People prefer the more mnemonic hostname identifier, while routers preferfix-ed-length, hierarchically structured IP addresses.  In order to reconcile these preferences, we need a directory service that translates hostnames to IP addresses.  This is the main task of the Internet's domain name system (DNS).  The DNS is (1) a distributed database implemented in a hierarchy of DNS servers and (2) an application-layer protocol that allows hosts to query the distributed database.  The DNS servers are often UNIX machines running the Berkeley Internet Name Doamin (BIND) software.  The DNS protocol runs over UDP and uses port 53.
 
DNS is commonly employed by other applicatio-layer protocols--including HTTP, SMTP, and FTP--to translate user-supplied host names to IP addresses.  IN order for the user's host to be able to send an HTTP request message to the Web server the user's host must first obtain the IP address.
 
  • Host aliasing.  A host with a complicated hostname can have one or more alias names.
  • Mail server aliasing.  For obvious reasons, it is highly desirable that e-mail addresses be mnemonic.
  • Load distribution.  DNS is also used to perform load distribution among replicated servers, such as replicated Web servers.

The DNS is dated in serveral additional RFC's.  It is a complex system, and we only touch upon key aspects of its operation here.