Outline: DNS Design
Outline: DNS Design
Outline
3 4
Why not use /etc/hosts, i.e. fully distributed? z Basically a wide-area distributed database
z Original Name to Address Mapping z Scalability
» Flat namespace z Decentralized maintenance
» /etc/hosts
z R b
Robustness
» SRI kept main copy
» Downloaded regularly z Global scope
z Count of hosts was increasing: machine per » Names mean the same thing everywhere
domain Æ machine per user z Do not need
» Many more downloads
» Atomicity
» Many more updates
» Strong consistency
z Does not scale! » Simplifies management
5 6
1
2/23/2008
z Flags
FOR IN class:
»1-bit to mark query or response
z Type=A • Type=CNAME
»1-bit to mark authoritative or not » name is hostname • name is an alias name for some
“canonical” (the real) name
»1-bit to request recursive resolution » value is IP address
• value is canonical name
z Type=NS
»1-bit to indicate support for » name is domain (e.g. foo.com)
• Type=MX
• value is hostname of mailserver
recursive resolution » value is name of authoritative associated with name
name server for this domain
9 10
11 12
2
2/23/2008
13 14
3
2/23/2008
ns1.cmu.edu cmu.edu
Local DNS server Local DNS server
Client Client
DNS server DNS server
ns1.cs.cmu.edu cs.cmu.edu
DNS DNS
server server
21 22
4
2/23/2008
27 28
5
2/23/2008