Lectures‎ > ‎


a distributed database that maps domain names to IP addresses using a series of distributed DNS servers.

TLD = top-level domain like .com, .net, .us, .cn
second level: cnn.com, google.com
machine level: www.cnn.com, foo.google.com
caching on local box, then dns server
DNS server
Root server, 13 root servers have globally well-known IP addresses
Authority, can set TTL, propagation delay
TTL: forcing another look up. DNS used for load balancing

from Wikipedia:

DNS Cache poisoning. Spoofing with paypa1.com vs paypa1.com. Unicode issues: "o" in a foreign language looks like zero in english. micr0s0ft.com

DNS is a strategic national concern for all nations, which is why other countries want the root servers to become managed by the UN. Currently managed by the US Department of Commerce.

To register new domain:

  • pick second-level name within a top-level domain, foo.com
  • pay a fee, 6$ of which goes to ICANN; the rest is profit for the registrar
  • no alteration of the root server is necessary, only the .com TLD table needs to be updated to include foo.com, which points at the authority for foo.com
  • identifies the authority for the second-level name, usually the registrar such as Go Daddy or enom.com will manage this for you.
  • The authority is different than the actual IP target of your foo.com. The authority has the data that translates foo.com to an IP. Modifying the authority means modifying zone files. A and MX records indicate how to translate domain names to IP and also who the mail handler is for a domain. this is where you set the TTL