Back Lectures

How a name is resolved.

Good description of resolution, see : 
    http://www.tcpipguide.com/free/t_TCPIPDomainNameSystemDNS.htm

User provides a symbolic DNS name to service of interest. 
(example www.wikipedia.org)

The application requests a name to IP translation from the local
  name resolver. Usually part of the systems OS.

The resolver checks to see if it recently resolved the name and,
If found
  It returns the ip to use.

Else (not found)
  The local machine then contact the listed local DNS server for lookup. 

  The local DNS server is maintained by the local domain's Internet Service
    Provider (ISP) and is assumed to be trustworthy. It is an important 
    responsibility of an ISP is to guard their DNS server(s).

  Some ISPs may have a single DNS server. A large ISP may implement several 
    parallel systems or a tiered system to distribute the work load.  

  If local DNS cannot resolve name
    DNS contacts top level of DNS system. These are the 'root' servers.
      There are 13 in the world and their IP@ are well known and static.

    * The local DNS server can attempt to contact an intermedary DNS 
      server but risks getting bad data. This is also one way DDOS,
      distributed denial of service, attacks are implemented.
  
     Check out  http://www.watchguard.com/infocenter/editorial/41649.asp

    As long as the local DNS server has not been hacked, by going to the top 
      of the DNS tree, user is fairly safe to get correct IP.

    The server at the root of the tree returns the IP of one of top level 
      DNS servers responsible for particular top level domain (example .org). 
      * This is done to limit the load on the root servers.
  
    The local DNS then contacts the top level domain server to get the IP of 
      a DNS that has more specialized knowledge of the name being resolved.

      It is possible this will lead to the DNS that can fully resolve the IP 
        or it may return another DNS system to query (fairly rare).    
        * 30 
      * dig +trace www.wikipedia.org
      * dig +trace www.microsoft.com
      * dig +trace +all www.math.niu.com

    Once a final ip is returned, if it exists, the session layer/protocol 
      now has source ip and port and destination ip and port.
   
    * The local DNS and the requesting system's resolver with both cache
      this information for a time to having to do this over.