● For some sites, e.g. google, facebook, zing, no single hardware (server) can handle such big traffic
– Multiple server for one domain
– Fault tolerance
● Question
– Choose this or that?
– or keep them equal (load balancing)
Reliability
● DNS servers are replicated
– Name service available if ≥ one replica is up
– Queries can be load balanced between replicas
● UDP used for queries
– Need reliability → must implement this on top of UDP!
– Why not just use TCP?
● Try alternate servers on timeout
– Exponential backoff when retrying same server
● Same identifier for all queries
– Don’t care which server responds
Prefetching
● Name servers can add additional data to response
● Typically used for prefetching
– CNAME/MX/NS typically point to another host name
– Responses include address of host referred to in “additional section”
Email Address
● MX records point to mail exchanger for a name– E.g. mail.acm.org is MX for acm.org
● Addition of MX record type proved to be a challenge
– How to get mail programs to lookup MX record formail delivery?
– Needed critical mass of such mailers
Root zone
● Generic Top Level Domains (gTLD)
= .com, .net, .org, etc...
● Country Code Top Level Domain (ccTLD)
= .vi, .us, .ca, .fi, .uk, etc...
● Root server ({a-m}.root-servers.net) also used to
cover gTLD domains
– Load on root servers was growing quickly!
– Moving .com, .net, .org off root servers was clearly
necessary to reduce load → done Aug 2000
gTLDs
● Unsponsored
– .com, .edu, .gov, .mil, .net,
.org
– .biz → businesses
– .info → general info
– .name → individuals
● Sponsored (controlled by a particular association)
– .aero → air-transport industry
– .cat → catalan related
– .coop → business
cooperatives
– .jobs → job announcements
– .museum → museums
– .pro → accountants, lawyers,
and physicians
– .travel → travel industry
● Starting up
– .mobi → mobile phone
targeted domains
– .post → postal
– .tel → telephone related
– .asia, .cym, .geo, .kid,
.mail, .sco, .web, .xxx
Tracing hierarchy
● Dig Program
– Allows querying of DNS system
– Use flags to find name server (NS)
– Disable recursion so that operates one step at a time
dig +norecurse @a.root-servers.net NS fit.hui.edu.vn
;; AUTHORITY SECTION:
vn. 172800 IN NS f.dns-servers.vn.
vn. 172800 IN NS b.dns-servers.vn.
vn. 172800 IN NS vn.cctld.authdns.ripe.net.
vn. 172800 IN NS e.dns-servers.vn.
vn. 172800 IN NS d.dns-servers.vn.
vn. 172800 IN NS a.dns-servers.vn.
vn. 172800 IN NS c.dns-servers.vn.
All .edu names handled by set of servers
$dig +norecurse @b.dns-servers.vn NS fit.hui.edu.vn
;; AUTHORITY SECTION:
hui.edu.vn. 43200 IN NS hcm-server1.vnn.vn.
hui.edu.vn. 43200 IN NS vdc-hn01.vnn.vn.
vdc-hn01 is the master NS for this zone
$ dig +norecurse @vdc-hn01.vnn.vn NS fit.hui.edu.vn
;; AUTHORITY SECTION:
hui.edu.vn. 86400 IN SOA vdc-hn01.vnn.vn.
postmaster.vnn.vn. 2012072701 10800 3600 604800 86400
DNS (Summary)
● Motivations → large distributed database
– Scalability
– Independent update
– Robustness
● Hierarchical database structure
– Zones
– How is a lookup done
● Caching/prefetching and TTLs
● Reverse name lookup
● What are the steps to creating your own domain?
– Multiple server for one domain
– Fault tolerance
● Question
– Choose this or that?
– or keep them equal (load balancing)
Reliability
● DNS servers are replicated
– Name service available if ≥ one replica is up
– Queries can be load balanced between replicas
● UDP used for queries
– Need reliability → must implement this on top of UDP!
– Why not just use TCP?
● Try alternate servers on timeout
– Exponential backoff when retrying same server
● Same identifier for all queries
– Don’t care which server responds
Prefetching
● Name servers can add additional data to response
● Typically used for prefetching
– CNAME/MX/NS typically point to another host name
– Responses include address of host referred to in “additional section”
Email Address
● MX records point to mail exchanger for a name– E.g. mail.acm.org is MX for acm.org
● Addition of MX record type proved to be a challenge
– How to get mail programs to lookup MX record formail delivery?
– Needed critical mass of such mailers
Root zone
● Generic Top Level Domains (gTLD)
= .com, .net, .org, etc...
● Country Code Top Level Domain (ccTLD)
= .vi, .us, .ca, .fi, .uk, etc...
● Root server ({a-m}.root-servers.net) also used to
cover gTLD domains
– Load on root servers was growing quickly!
– Moving .com, .net, .org off root servers was clearly
necessary to reduce load → done Aug 2000
gTLDs
● Unsponsored
– .com, .edu, .gov, .mil, .net,
.org
– .biz → businesses
– .info → general info
– .name → individuals
● Sponsored (controlled by a particular association)
– .aero → air-transport industry
– .cat → catalan related
– .coop → business
cooperatives
– .jobs → job announcements
– .museum → museums
– .pro → accountants, lawyers,
and physicians
– .travel → travel industry
● Starting up
– .mobi → mobile phone
targeted domains
– .post → postal
– .tel → telephone related
– .asia, .cym, .geo, .kid,
.mail, .sco, .web, .xxx
Tracing hierarchy
● Dig Program
– Allows querying of DNS system
– Use flags to find name server (NS)
– Disable recursion so that operates one step at a time
dig +norecurse @a.root-servers.net NS fit.hui.edu.vn
;; AUTHORITY SECTION:
vn. 172800 IN NS f.dns-servers.vn.
vn. 172800 IN NS b.dns-servers.vn.
vn. 172800 IN NS vn.cctld.authdns.ripe.net.
vn. 172800 IN NS e.dns-servers.vn.
vn. 172800 IN NS d.dns-servers.vn.
vn. 172800 IN NS a.dns-servers.vn.
vn. 172800 IN NS c.dns-servers.vn.
All .edu names handled by set of servers
$dig +norecurse @b.dns-servers.vn NS fit.hui.edu.vn
;; AUTHORITY SECTION:
hui.edu.vn. 43200 IN NS hcm-server1.vnn.vn.
hui.edu.vn. 43200 IN NS vdc-hn01.vnn.vn.
vdc-hn01 is the master NS for this zone
$ dig +norecurse @vdc-hn01.vnn.vn NS fit.hui.edu.vn
;; AUTHORITY SECTION:
hui.edu.vn. 86400 IN SOA vdc-hn01.vnn.vn.
postmaster.vnn.vn. 2012072701 10800 3600 604800 86400
DNS (Summary)
● Motivations → large distributed database
– Scalability
– Independent update
– Robustness
● Hierarchical database structure
– Zones
– How is a lookup done
● Caching/prefetching and TTLs
● Reverse name lookup
● What are the steps to creating your own domain?