1 / 21

Special Topics in Computer Engineering Application layer: Domain Name System

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. People: many identifiers: SSN, name, passport #

devaki
Download Presentation

Special Topics in Computer Engineering Application layer: Domain Name System

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Special Topics in Computer EngineeringApplication 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 CPE 0907532: Application Layer_DNS

  2. 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? DNS: Domain Name System CPE 0907532: Application Layer_DNS

  3. A directory service that translates hostnames to IP addresses DNS is a distributed database implemented in a hierarchy of DNS servers an application-layer protocol that allows hosts to query the distributed database Employed by other application-layer protocols to translate user-supplied host names to IP addresses DNS: Domain Name System CPE 0907532: Application Layer_DNS

  4. Example: A browser requests the URL: www.someschool.edu/index.html • Host must send an HTTP request message to the Web server www. someschool.edu • Host must obtain IP address of www. someschool.edu • Browser extracts hostname, www.someschool.edu from URL • Browser passes hostname client side of the DNS application • 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 • Browser receives IP address from DNS client • Initiates a TCP connection to HTTP Web server located at IP address CPE 0907532: Application Layer_DNS

  5. Hostname to IP address translation 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.orgwww.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. 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 Load distribution Replicated Web servers: set of IP addresses for one canonical name (e.g. cnn.com) DNS distributes traffic among all IPs DNS services CPE 0907532: Application Layer_DNS

  6. Why not centralize DNS? • single point of failure • traffic volume • handle all DNS queries (for all HTTP requests & e-mail messages from hundreds of millions of hosts). • distant centralized database • single DNS server cannot be “close to” all querying clients • maintenance • centralized database • huge • have to be updated frequently to account for every new host • doesn’t scale! CPE 0907532: Application Layer_DNS

  7. Root DNS Servers Top-Level Domain, TLD DNS Servers org DNS servers edu DNS servers com DNS servers Authoritative DNS Servers poly.edu DNS servers umass.edu DNS servers pbs.org DNS servers yahoo.com DNS servers amazon.com DNS servers Distributed, Hierarchical Database Client wants IP for www.amazon.com; 1st approx: • Client queries a root server to find IP of a com TLD DNS server • Client queries the com TLD DNS server to get IP of one amazon.com Authoritative DNS server • Client queries amazon.com DNS server to get IP address for www.amazon.com CPE 0907532: Application Layer_DNS

  8. contacted by local name server that can not resolve name root name server: contacts authoritative name server if name mapping not known gets mapping returns mapping to local name server 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) k RIPE London (also Amsterdam, Frankfurt) i Autonomica, Stockholm (plus 3 other locations) m WIDE Tokyo e NASA Mt View, CA f Internet Software C. Palo Alto, CA (and 17 other locations) 13 (a – m) root name servers worldwide b USC-ISI Marina del Rey, CA l ICANN Los Angeles, CA DNS: Root name servers CPE 0907532: Application Layer_DNS

  9. TLD and Authoritative Servers • 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 • 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 CPE 0907532: Application Layer_DNS

  10. Local Name Server • Does not strictly belong to hierarchy • Each ISP (residential ISP, company, university) has one. • Also called “default name server” • When a host makes a DNS query, query is sent to its local DNS server • Acts as a proxy, forwards query into hierarchy. CPE 0907532: Application Layer_DNS

  11. Host at cis.poly.edu wants IP address for gaia.cs.umass.edu local DNS server dns.poly.edu Example root DNS server 2 3 TLD DNS server 4 5 6 7 1 8 authoritative DNS server dns.cs.umass.edu requesting host cis.poly.edu gaia.cs.umass.edu CPE 0907532: Application Layer_DNS

  12. 1 is a recursive query the query asks contacted DNS server to obtain the mapping on its behalf Subsequent three queries (2, 4, 6) are iterative since all of the replies are directly returned to dns.poly.edu Recursive & Iterative queries root DNS server 2 3 TLD DNS server 4 5 local DNS server dns.poly.edu 6 7 1 8 authoritative DNS server dns.cs.umass.edu requesting host cis.poly.edu gaia.cs.umass.edu CPE 0907532: Application Layer_DNS

  13. root DNS server 2 3 6 7 TLD DNS server 4 local DNS server dns.poly.edu 5 1 8 authoritative DNS server dns.cs.umass.edu requesting host cis.poly.edu gaia.cs.umass.edu Recursive queries recursive query: • puts burden of name resolution on contacted name server • the query asks contacted DNS server to obtain the mapping on its behalf CPE 0907532: Application Layer_DNS

  14. In practice • query from the requesting host to the local DNS server is recursive • remaining queries are iterative CPE 0907532: Application Layer_DNS

  15. 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 update/notify mechanisms under design by IETF RFC 2136 DNS: caching and updating records CPE 0907532: Application Layer_DNS

  16. DNS: distributed db storing resource records (RR) Type=NS name is domain (e.g. foo.com) value is hostname of authoritative name server for this domain RR format: (name, value, type, TTL) Time to Live DNS records • Type=A • name is hostname • value is IP address • 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 • Type=MX • value is canonical name of mailserver associated with name CPE 0907532: Application Layer_DNS

  17. DNS Server Records • DNS server authoritative for a hostname • contains Type A record for the hostname • 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) } CPE 0907532: Application Layer_DNS

  18. DNS protocol :queryand reply messages, both with same message format DNS protocol: messages msg header • identification: 16 bit # for query, “reply to query” uses same # • flags: • query/reply (0/1) • recursion desired by client • recursion available (bit set in reply) • reply is from an authoritative server CPE 0907532: Application Layer_DNS

  19. 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) DNS protocol: messages CPE 0907532: Application Layer_DNS

  20. Inserting records into DNS • Example: just created startup “Network Utopia” • 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) • Put in authoritative server Type A record for www.networkuptopia.com and Type MX record for mail.networkutopia.com CPE 0907532: Application Layer_DNS

  21. Alice in Australia wants to view www. networkutopia . com • Alice PC sends a DNS query to local DNS server • Local DNS server contacts a com server • com server contains type NS and Type A RRs listed in previous slide • registrar had these RRs inserted into all com servers • com server sends reply to Alice’s local DNS server • Local DNS server sends a DNS query to 212.212.212. 1, asking for the Type A record corresponding to www. networkutopia. com. • Local DNS server passes IP back to Alice’s PC • Alice’s browser initiates a TCP connection to IP of web server then sends HTTP request CPE 0907532: Application Layer_DNS

More Related