Download presentation
Presentation is loading. Please wait.
Published byKelly Owens Modified over 8 years ago
1
Spring 2006 CPE 0907532: Application Layer_DNS 1 Special Topics in Computer Engineering Application layer: Domain Name System Some of these Slides are Based on Slides by Kurose and Ross Prepared for Section 2.5 of the Book Computer Networking: A Top Down Approach Featuring the Internet
2
Spring 2006 CPE 0907532: Application Layer_DNS 2 DNS: Domain Name System People: many identifiers: SSN, name, passport # Internet hosts: “Hostnames”, e.g., ww.yahoo.com - used by humans Provide little information about location of host Difficult to process by routers –Can consist of variable-length alphanumeric characters Hosts are also identified by so-called IP addresses (32 bit) used for addressing datagrams Q: How to map between IP addresses and Hostnames?
3
Spring 2006 CPE 0907532: Application Layer_DNS 3 DNS: Domain Name System r A directory service that translates hostnames to IP addresses r DNS is a distributed database implemented in a hierarchy of DNS servers an application-layer protocol that allows hosts to query the distributed database r Employed by other application-layer protocols to translate user-supplied host names to IP addresses
4
Spring 2006 CPE 0907532: Application Layer_DNS 4 Example: A browser requests the URL: www.someschool.edu/index.htmlwww.someschool.edu/index.html r Host must send an HTTP request message to the Web server www. someschool.edu Host must obtain IP address of www. someschool.edu r Browser extracts hostname, www.someschool.edu from URL r Browser passes hostname client side of the DNS application r User machine runs client side of the DNS application DNS client sends a query containing hostname to a DNS server DNS client receives a reply including IP address for hostname r Browser receives IP address from DNS client Initiates a TCP connection to HTTP Web server located at IP address
5
Spring 2006 CPE 0907532: Application Layer_DNS 5 DNS services r Hostname to IP address translation r Host aliasing For different reasons, a host could use alias hostnames Example 1: It has a complicated (“official” or “canonical”) hostname Example 2: It provides FTP and World Wide Web servers (ftp.machine.org www.machine.org )ftp.machine.org www.machine.org DNS can be invoked to obtain the canonical hostname for a supplied alias hostname as well as the IP address of the host. r Mail server aliasing The canonical hostname of a mail server could be complicated and much less mnemonic than desired An alias hostname is used DNS invoked by mail application to obtain the canonical hostname as well as the IP address of the host r Load distribution Replicated Web servers: set of IP addresses for one canonical name (e.g. cnn.com) DNS distributes traffic among all IPs
6
Spring 2006 CPE 0907532: Application Layer_DNS 6 Why not centralize DNS? r single point of failure r traffic volume handle all DNS queries (for all HTTP requests & e-mail messages from hundreds of millions of hosts). r distant centralized database single DNS server cannot be “close to” all querying clients r maintenance centralized database huge have to be updated frequently to account for every new host r doesn’t scale!
7
Spring 2006 CPE 0907532: Application Layer_DNS 7 Distributed, Hierarchical Database Client wants IP for www.amazon.com; 1 st approx: r Client queries a root server to find IP of a com TLD DNS server r Client queries the com TLD DNS server to get IP of one amazon.com Authoritative DNS server r Client queries amazon.com DNS server to get IP address for www.amazon.com Root DNS Servers com DNS servers org DNS serversedu DNS servers poly.edu DNS servers umass.edu DNS servers yahoo.com DNS servers amazon.com DNS servers pbs.org DNS servers Top-Level Domain, TLD DNS Servers Authoritative DNS Servers
8
Spring 2006 CPE 0907532: Application Layer_DNS 8 DNS: Root name servers r contacted by local name server that can not resolve name r root name server: contacts authoritative name server if name mapping not known gets mapping returns mapping to local name server 13 (a – m) root name servers worldwide b USC-ISI Marina del Rey, CA l ICANN Los Angeles, CA e NASA Mt View, CA f Internet Software C. Palo Alto, CA (and 17 other locations) i Autonomica, Stockholm (plus 3 other locations) k RIPE London (also Amsterdam, Frankfurt) m WIDE Tokyo a Verisign, Dulles, VA c Cogent, Herndon, VA (also Los Angeles) d U Maryland College Park, MD g US DoD Vienna, VA h ARL Aberdeen, MD j Verisign, ( 11 locations)
9
Spring 2006 CPE 0907532: Application Layer_DNS 9 TLD and Authoritative Servers r Top-level domain (TLD) servers: responsible for com, org, net, edu, etc, and all top-level country domains uk, fr, ca, jp. Network solutions maintains servers for com TLD Educause for edu TLD r Authoritative DNS servers: organization’s DNS servers, providing authoritative hostname to IP mappings for organization’s servers (e.g., Web and mail). Can be maintained by organization or service provider
10
Spring 2006 CPE 0907532: Application Layer_DNS 10 Local Name Server r Does not strictly belong to hierarchy r Each ISP (residential ISP, company, university) has one. Also called “default name server” r When a host makes a DNS query, query is sent to its local DNS server Acts as a proxy, forwards query into hierarchy.
11
Spring 2006 CPE 0907532: Application Layer_DNS 11 requesting host cis.poly.edu gaia.cs.umass.edu root DNS server local DNS server dns.poly.edu 1 2 3 4 5 6 authoritative DNS server dns.cs.umass.edu 7 8 TLD DNS server Example r Host at cis.poly.edu wants IP address for gaia.cs.umass.edu
12
Spring 2006 CPE 0907532: Application Layer_DNS 12 requesting host cis.poly.edu gaia.cs.umass.edu root DNS server local DNS server dns.poly.edu 1 2 3 4 5 6 authoritative DNS server dns.cs.umass.edu 7 8 TLD DNS server Recursive & Iterative queries r 1 is a recursive query the query asks contacted DNS server to obtain the mapping on its behalf r Subsequent three queries (2, 4, 6) are iterative since all of the replies are directly returned to dns.poly.edu
13
Spring 2006 CPE 0907532: Application Layer_DNS 13 requesting host cis.poly.edu gaia.cs.umass.edu root DNS server local DNS server dns.poly.edu 1 2 4 5 6 authoritative DNS server dns.cs.umass.edu 7 8 TLD DNS server 3 Recursive queries recursive query: r puts burden of name resolution on contacted name server the query asks contacted DNS server to obtain the mapping on its behalf
14
Spring 2006 CPE 0907532: Application Layer_DNS 14 In practice r query from the requesting host to the local DNS server is recursive r remaining queries are iterative
15
Spring 2006 CPE 0907532: Application Layer_DNS 15 DNS: caching and updating records r once (any) name server learns mapping, it caches mapping cache entries timeout (disappear) after some time ( often set to two days ) TLD servers typically cached in local name servers Thus root name servers not often visited r update/notify mechanisms under design by IETF RFC 2136
16
Spring 2006 CPE 0907532: Application Layer_DNS 16 DNS records DNS: distributed db storing resource records (RR) r Type=NS name is domain (e.g. foo.com) value is hostname of authoritative name server for this domain r Type=A name is hostname value is IP address r Type=CNAME name is alias name for some “canonical” (the real) name www.ibm.com is really servereast.backup2.ibm.com value is canonical name r Type=MX value is canonical name of mailserver associated with name RR format: (name, value, type, TTL) Time to Live
17
Spring 2006 CPE 0907532: Application Layer_DNS 17 DNS Server Records r DNS server authoritative for a hostname contains Type A record for the hostname r server not authoritative for a hostname, then it contains an NS record for the domain that includes the hostname {e.g. (umass.edu, dns.umass.edu, NS)} an A record that provides the IP address of the DNS server in the Value field of the NS record {e.g. (dns.umass.edu, 128.119.40.111,A) }
18
Spring 2006 CPE 0907532: Application Layer_DNS 18 DNS protocol: messages DNS protocol : query and reply messages, both with same message format msg header r identification: 16 bit # for query, “reply to query” uses same # r flags: query/reply (0/1) recursion desired by client recursion available (bit set in reply) reply is from an authoritative server
19
Spring 2006 CPE 0907532: Application Layer_DNS 19 DNS protocol: messages Information about query (e.g. Name, type) RRs in response to query records for authoritative servers additional “helpful” info that may be used If the answer field in a reply to an MX query contains a resource record providing the canonical hostname of a mail server, then the Additional section contains a Type A record (IP address for canonical hostname of mail server)
20
Spring 2006 CPE 0907532: Application Layer_DNS 20 Inserting records into DNS r Example: just created startup “Network Utopia” r Register name networkuptopia.com at a registrar (e.g., Network Solutions) Need to provide registrar with names and IP addresses of your authoritative name server (primary and secondary) Registrar inserts two RRs into the com TLD server: (networkutopia.com, dns1.networkutopia.com, NS) (dns1.networkutopia.com, 212.212.212.1, A) r Put in authoritative server Type A record for www.networkuptopia.com and Type MX record for mail.networkutopia.com
21
Spring 2006 CPE 0907532: Application Layer_DNS 21 Alice in Australia wants to view www. networkutopia. com r Alice PC sends a DNS query to local DNS server r Local DNS server contacts a com server r com server contains type NS and Type A RRs listed in previous slide registrar had these RRs inserted into all com servers r com server sends reply to Alice’s local DNS server r Local DNS server sends a DNS query to 212.212.212. 1, asking for the Type A record corresponding to www. networkutopia. com. r Local DNS server passes IP back to Alice’s PC r Alice’s browser initiates a TCP connection to IP of web server then sends HTTP request
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.