DNS === - Replaced hosts.txt. What's wrong with hosts.txt? - What are requirements of Domain Name system? - Huge number of records - Distributed control of database contents - Fault-tolerance - What properties can the implementation can take advantage of? - Loose consistency - Read-only (or rare updates) - Architecture of DNS - Break namespace into a bunch of zones root ("."), "edu.", "nyu.edu.", "cs.nyu.edu.", etc. - Each zone served from several replicated servers - Zones separately administered--delegation - Parent zones tell you how to find servers for dubdomains. - DNS protocol - TCP/UDP port 53. - Most traffic uses UDP. - Lightweight protocol has 512 byte UDP message limit. (retry w. TCP if UDP fails) - Clients typically query a local DNS server for all lookups - server "recurses" and asks other servers - Queries and answers are in terms of "resource records" - A record binds name to address (www.nyu.edu. A 128.122.108.9) - MX record says where to send mail (with priorities) - NS record gives name server for a zone nyu.edu. NS nyu.edu. nyu.edu. NS EGRESS.nyu.edu. nyu.edu. NS NYUNSB.nyu.edu. - CNAME is host alias (spunky.nyu.edu. CNAME dept.cs.nyu.edu.) - PTR record binds IP addresses to names (in-addr.arpa. / ip6.arpa.) - SOA - information about zone - HINFO, TXT (mostly useless) - How do you get name servers for root domain? Prime cache with them - How do you get name server for subdomain, given NS record - responses have "additional records" - response format: answers, authority records, additional records ;; QUESTIONS: ;; www.nyu.edu, type = A, class = IN ;; ANSWERS: www.nyu.edu. 60 CNAME WWWSERVER.nyu.edu. WWWSERVER.nyu.edu. 345600 A 128.122.108.9 ;; AUTHORITY RECORDS: nyu.edu. 345600 NS nyu.edu. nyu.edu. 345600 NS EGRESS.nyu.edu. nyu.edu. 345600 NS NYUNSB.nyu.edu. ;; ADDITIONAL RECORDS: nyu.edu. 60 A 128.122.253.92 nyu.edu. 60 A 192.76.177.18 EGRESS.nyu.edu. 60 A 128.122.128.24 NYUNSB.nyu.edu. 345600 A 128.122.253.37 - Name servers cache all records they see for good performance (security?) - How does consitency work? (TTL) - What about replicas (zone transfer, SOA): nyu.edu. 241165 SOA nyu.edu. HOSTMASTER.nyu.edu. ( 200104101 ; serial 86400 ; refresh (1 day) 7200 ; retry (2 hours) 2592000 ; expire (30 days) 345600 ) ; minimum (4 days) - Can have multiple resource records for a domain name - Name servers return records in round-robin order