Back Lectures

DNS - Domain Name server - converts symbolic name to IP number.  Usually one 
  local DNS running on a network or known by IP to each network.  The DNS 
  service is structured as a hierarchical tree with the local DNS at the 
  lowest or leaf level.

  When user uses a name, 
 
  The application hands the name to the node's resolver.

  The resolver looks through a local table it maintains to see if has
    already resolved the Name <-> IP relation.
 
  If look-up info is cached on the user's machine,
    IP returned.
 
  Else resolver contacts local DNS server to see if has recently looked up the
    name. 

    If found, 
      it uses that data.

      Local DNS server is one or more systems maintained by the user's ISP.

      Some domains may have multiple DNS servers arrange in a hierarchy, 
        usually indicated by an ordered list. 
 
    Else the local DNS service asks the root DNS servers for the IP of the
      server cluster of the zone of interest. 

      To simplify search, the Internet is broken up into non-overlapping 
        zones.  com, edu, gov, etc.  which are further broken into sub-zones.

      The local Domain's DNS service then sends the DNS resolution query to 
        the zone servers.

      The zone server should respond with the IP of the DNS server of the 
        network of interest. In some cases, the DNS assignment my be tiered
        and additional requests will be sent to further resolve IP.

      The DNS server of the targeted domain then returns the IP of the system 
        of interest. The DNS service of the local domain then returns IP to
        requesting resolver. This ensures that the local DNS service now has 
        a copy for any new requests. 

  Because resolution comes from the top down if local resolver fails, it is 
    difficult to trick the DNS resolution scheme.

  It may be possible to hijack a DNS server within a local network. But only
    systems on that network will be affected.