EEC-484/584 Computer Networks - PowerPoint PPT Presentation


PPT – EEC-484/584 Computer Networks PowerPoint presentation | free to download - id: c6a62-ZDc1Z


The Adobe Flash plugin is needed to view this content

Get the plugin now

View by Category
About This Presentation

EEC-484/584 Computer Networks

Description: DNS servers. DNS servers. Hierarchy of DNS Servers. Root servers ... Register at Network Solutions ... – PowerPoint PPT presentation

Number of Views:55
Avg rating:3.0/5.0
Slides: 33
Provided by: wenbin


Write a Comment
User Comments (0)
Transcript and Presenter's Notes

Title: EEC-484/584 Computer Networks

EEC-484/584Computer Networks
  • Lecture 5
  • Wenbing Zhao
  • (Part of the slides are based on Drs. Kurose
    Rosss slides for their Computer Networking book)

  • Host name and IP addresses
  • DNS Domain name systems
  • Services provided
  • Name spaces
  • Name servers
  • DNS records and protocol

Host Names vs. IP addresses
  • Host names
  • Mnemonic name appreciated by humans
  • Variable length, alpha-numeric characters
  • Provide little (if any) information about
  • Examples
  • IP addresses
  • Numerical address appreciated by routers
  • Fixed length, binary number
  • Hierarchical, related to host location
  • Examples

Separating Naming and Addressing
  • Names are easier to remember
  • vs.
  • Addresses can change underneath
  • Move to
  • E.g., renumbering when changing providers
  • Name could map to multiple IP addresses
  • to multiple replicas of the Web

Separating Naming and Addressing
  • Map to different addresses in different places
  • Address of a nearby copy of the Web site
  • E.g., to reduce latency, or return different
  • Multiple names for the same address
  • E.g., aliases like and

DNS Services
  • Hostname to IP address translation
  • Host aliasing
  • Canonical and alias names
  • Mail server aliasing
  • Load distribution
  • Replicated Web servers set of IP addresses for
    one canonical name

The DNS Name Space
  • Each domain is named by the path upward from it
    to the unnamed root. The components are separated
    by period
  • E.g.,
  • Domain names can be absolute (end with period),
    or relative
  • Domain names are case insentive
  • Component names lt 63 chars
  • Full path names lt 255 chars
  • Domain names cannot be all numerical

Top level domain names
DNS Domain Name System
  • Properties of DNS
  • Hierarchical name space divided into zones
  • Distributed over a collection of DNS servers
  • Hierarchy of DNS servers
  • Root servers
  • Top-level domain (TLD) servers
  • Authoritative DNS servers
  • Performing the translations
  • Local DNS servers
  • Resolver software

Hierarchy of DNS Servers
Root servers
Top-level domain (TLD) servers
Authoritative DNS servers
DNS Root Name Servers
  • Contacted by local name server that cannot
    resolve name
  • Root name server
  • Contacts authoritative name server if name
    mapping not known
  • Gets mapping
  • Returns mapping to local name server

DNS Root Name Servers
  • 13 root name servers worldwide

a Verisign, Dulles, VA c Cogent, Herndon, VA
(also Los Angeles) d U Maryland College Park,
MD g US DoD Vienna, VA h ARL Aberdeen, MD j
Verisign, ( 11 locations)
k RIPE London (also Amsterdam, Frankfurt)
i Autonomica, Stockholm (plus 3 other locations)
m WIDE Tokyo
e NASA Mt View, CA f Internet Software C. Palo
Alto, CA (and 17 other locations)
b USC-ISI Marina del Rey, CA l ICANN Los
Angeles, CA
Top-Level Domain Servers
  • Generic domains (e.g., com, org, edu)
  • Country domains (e.g., uk, fr, ca, jp)
  • Typically managed professionally
  • Network Solutions maintains servers for com
  • Educause maintains servers for edu

Authoritative DNS Servers
  • Provide public records for hosts at an
  • For the organizations servers (e.g., Web and
  • Can be maintained locally or by a service provider

Local Name Server
  • Does not strictly belong to hierarchy
  • Each ISP (residential ISP, company, university)
    has one
  • Also called default name server
  • When a host makes a DNS query, query is sent to
    its local DNS server
  • Acts as a proxy, forwards query into hierarchy
  • Query is often triggered by gethostbyname()

DNS Resolving Process
root DNS server
  • Host at wants IP address for

TLD DNS server
authoritative DNS server
requesting host
Recursive Queries
  • Recursive query
  • puts burden of name resolution on contacted name
  • heavy load?
  • Iterated query
  • contacted server replies with name of server to
  • I dont know this name, but ask this server

Show applet demo http//
DNS Caching
  • Performing all these queries take time
  • All this before the actual communication takes
  • E.g., 1-second latency before starting Web
  • Caching can substantially reduce overhead
  • The top-level servers very rarely change
  • Popular sites (e.g., visited
  • Local DNS server often has the information cached

DNS Caching
  • How DNS caching works
  • DNS servers cache responses to queries
  • Responses include a time to live (TTL) field
  • Server deletes the cached entry after TTL expires

Negative Caching
  • Remember things that dont work
  • Misspellings like www.cnn.comm
  • These can take a long time to fail the first time
  • Good to remember that they dont work
  • So the failure takes less time the next time

DNS Records
  • DNS distributed db storing resource records (RR)
  • TypeCNAME
  • name is alias name for some canonical (the
    real) name
  • is really
  • value is canonical name
  • TypeMX
  • value is name of mailserver associated with name
  • TypeA
  • name is hostname
  • value is IP address
  • TypeNS
  • name is domain (e.g.
  • value is hostname of authoritative name server
    for this domain

DNS Records - Example
DNS Protocol, Messages
  • DNS protocol query and reply messages, both
    with same message format
  • msg header
  • Identification 16 bit for query, reply to
    query uses same
  • Flags
  • query or reply
  • recursion desired
  • recursion available
  • reply is authoritative

DNS Protocol, Messages
Name, type fields for a query
RRs in response to query
records for authoritative servers
additional helpful info that may be used
  • DNS servers are replicated
  • Name service available if at least one replica is
  • Queries can be load balanced between replicas
  • UDP used for queries
  • Need reliability must implement this on top of
  • Try alternate servers on timeout
  • Exponential backoff when retrying same server
  • Same identifier for all queries
  • Dont care which server responds

Inserting Records into DNS
  • Example just created startup FooBar
  • Register at Network Solutions
  • Provide registrar with names and IP addresses of
    your authoritative name server (primary and
  • Registrar inserts two RRs into the com TLD
  • (,, NS)
  • (,, A)
  • Put in authoritative server
  • Type A record for
  • Type MX record for

DNS Query in Web Download
  • User types or clicks on a URL
  • E.g., http//
  • Browser extracts the site name
  • E.g.,
  • Browser calls gethostbyname() to learn IP address
  • Triggers resolver code to query the local DNS
  • Eventually, the resolver gets a reply
  • Resolver returns the IP address to the browser
  • Then, the browser contacts the Web server
  • Creates and connects socket, and sends HTTP

Multiple DNS Queries
  • Often a Web page has embedded objects
  • E.g., HTML file with embedded images
  • Each embedded object has its own URL
  • and potentially lives on a different Web server
  • E.g., http//
  • Browser downloads embedded objects
  • Usually done automatically, unless configured
  • E.g., need to query the address of

Web Server Replicas
  • Popular Web sites can be easily overloaded
  • Web site often runs on multiple server machines

Directing Web Clients to Replicas
  • Simple approach different names
  • But, this requires users to select specific
  • More elegant approach different IP addresses
  • Single name (e.g.,, multiple
  • E.g.,,,,
  • Authoritative DNS server returns many addresses
  • And the local DNS server selects one address
  • Authoritative server may vary the order of

Clever Load Balancing Schemes
  • Selecting the best IP address to return
  • Based on server performance
  • Based on geographic proximity
  • Based on network load
  • Example policies
  • Round-robin scheduling to balance server load
  • U.S. queries get one address, Europe another
  • Tracking the current load on each of the replicas

  • Q1. DNS typically uses UDP instead of TCP. If a
    DNS packet is lost, there is no automatic
    recovery. Does this cause a problem, and if so,
    how is it solved?
  • Q2. Although it was not mentioned in the text, an
    alternative form for a URL is to use the IP
    address instead of its DNS name. An example of
    using an IP address is http//
    html. How does the browser know whether the name
    following the scheme is a DNS name or an IP

  • Q3. Suppose within your Web browser you click on
    a link to obtain a Web page. The IP address for
    the associated URL is not cached in your local
    host, so a DNS look-up is necessary to obtain the
    IP address. Suppose that n DNS servers are
    visited before your host receives the IP address
    from DNS the successive visits incur an RTT of
    RTT1, , RTTn. Further suppose that the Web page
    associated with the link contains exactly one
    object, consisting of a small amount of HTML
    text. Let RTT0 denote the RTT between the local
    host and the server containing the object.
    Assuming 0 transmission time of the object, how
    much time elapses from when the client clicks on
    the link until the client receives the object?