dns: domain name system cmpsci 491g: computer networking lab v. arun slides adapted from liebeherr &...

Click here to load reader

Post on 22-Dec-2015

212 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

  • Slide 1
  • DNS: Domain Name System CMPSCI 491G: Computer Networking Lab V. Arun Slides adapted from Liebeherr & Zarki, Kurose & Ross, Kermani
  • Slide 2
  • Domain Name System: distributed database implemented in hierarchy of many name servers application-layer protocol: hosts, name servers communicate to resolve names addresses note: core Internet function, implemented as application- layer protocol complexity at networks edge Application Layer 2-2 DNS: domain name system people: many identifiers: SSN, name, passport # Internet hosts, routers: IP address (32 bit) - used for addressing datagrams name, e.g., www.yahoo.com - used by humans Q: how to map between IP address and name, and vice versa ?
  • Slide 3
  • Application Layer 2-3 DNS: services, structure why not centralize DNS? single point of failure traffic volume distant centralized database maintenance DNS services Resolution hostname IP address Aliasing canonical, alias names mail server aliasing Load balancing with replicated web servers: many addresses map to one name doesnt scale!
  • Slide 4
  • Before there was DNS . . there was the HOSTS.TXT file Before DNS (until 1985), name resolution was done by FTPing a single file (hosts.txt) from a central server. Names in hosts.txt are not structured. hosts.txt still works on most operating systems. It can be used to define local names.
  • Slide 5
  • Design principle of DNS DNS naming system based on a hierarchical and logical tree structure called domain namespace. An organization obtains authority for parts of the name space, and can add additional layers of the hierarchy Names of hosts can be assigned without regard of location on a link layer network, IP network or autonomous system In practice, allocation of the domain names generally follows the allocation of IP address, e.g., All hosts with network prefix 128.143/16 have domain name suffix virginia.edu All hosts on network 128.143.136/24 are in the Computer Science Department of the University of Virginia
  • Slide 6
  • Managed by UofT DNS Name hierarchy DNS hierarchy can be represented by a tree Root and top-level domains are administered by an Internet central name registration authority (ICANN) Below top-level domain, administration of name space is delegated to organizations Each organization can delegate further Managed by ECE Dept.
  • Slide 7
  • Domain name system Each node in the DNS tree represents a DNS name Each branch below a node is a DNS domain. DNS domain can contain hosts or other domains (subdomains) Example: DNS domains are., edu, virginia.edu, cs.virginia.edu
  • Slide 8
  • Top-level domains Three types of top-level domains: Organizational: 3-character code indicates the function of the organization Used primarily within the US Examples: gov, mil, edu, org, com, net Geographical: 2-character country or region code Examples: us, va, jp, de Expanded top-level domains (gTLDs) Essentially arbitrary TLDs Reverse domains: A special domain (in-addr.arpa) used for IP address-to-name mapping
  • Slide 9
  • Organizational top-level domains comCommercial organizations eduEducational institutions govGovernment institutions intInternational organizations milU.S. military institutions netNetworking organizations orgNon-profit organizations
  • Slide 10
  • Hierarchy of name servers The resolution of the hierarchical name space is done by a hierarchy of name servers Each server is responsible (authoritative) for a contiguous portion of the DNS namespace, called a zone. Zone is a part of the subtree DNS server answers queries about hosts in its zone
  • Slide 11
  • Authority and delegation Authority for the root domain is with the Internet Corporation for Assigned Numbers and Names (ICANN) ICANN delegates to accredited registrars (for gTLDs) and countries for country code top level domains (ccTLDs) Authority can be delegated further Chain of delegation can be obtained by reading domain name from right to left. Unit of delegation is a zone.
  • Slide 12
  • DNS domain and zones Each zone is anchored at a specific domain node, but zones are not domains. A DNS domain is a branch of the namespace A zone is a portion of the DNS namespace generally stored in a file (could consist of multiple nodes) A server can divide part of its zone and delegate it to other servers
  • Slide 13
  • Primary and secondary name servers For each zone, there must be a primary name server and a secondary name server The primary server (master server) maintains a zone file which has information about the zone. Updates are made to the primary server The secondary server copies data stored at the primary server. Adding a host: When a new host is added (gold.cs.virginia.edu) to a zone, the administrator adds the IP information on the host (IP address and name) to a configuration file on the primary server
  • Slide 14
  • Application Layer 2-14 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 DNS resolution: distributed, hierarchical client wants IP for www.amazon.com; 1 st approx: client queries root server to find.com TLD DNS server client queries.com TLD DNS server for amazon.com auth server client queries amazon.com DNS auth server to get IP address for www.amazon.com Top-level domain servers Authoritative name servers
  • Slide 15
  • Application Layer 2-15 DNS: root name servers contacted when no info about top-level or auth server root name server can: return top-level or auth name server address or contact auth server and return final resolved address 13 root name servers worldwide a. Verisign, Los Angeles CA (5 other sites) b. USC-ISI Marina del Rey, CA l. ICANN Los Angeles, CA (41 other sites) e. NASA Mt View, CA f. Internet Software C. Palo Alto, CA (and 48 other sites) i. Netnod, Stockholm (37 other sites) k. RIPE London (17 other sites) m. WIDE Tokyo (5 other sites) c. Cogent, Herndon, VA (5 other sites) d. U Maryland College Park, MD h. ARL Aberdeen, MD j. Verisign, Dulles VA (69 other sites ) g. US DoD Columbus, OH (5 other sites)
  • Slide 16
  • Application Layer 2-16 TLD, authoritative servers top-level domain (TLD) servers: responsible for com, org, net, edu, aero, jobs, museums, and all top-level country domains, e.g.: uk, fr, ca, jp Network Solutions maintains servers for.com TLD Educause for.edu TLD authoritative DNS servers: organizations own DNS server(s), providing authoritative hostname to IP mappings for organizations named hosts can be maintained by organization or service provider
  • Slide 17
  • Application Layer 2-17 Local DNS name server does not strictly belong to hierarchy deployed by ISP (residential, company, university) also called default name server acts as proxy between host and DNS hierarchy has local cache of recent name-to-address translation pairs (but may be out of date!)
  • Slide 18
  • Application Layer 2-18 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 DNS name resolution example host at cis.poly.edu wants IP address for gaia.cs.umass.edu iterated query: contacted server replies with name of server to contact I dont know this name, but ask this server
  • Slide 19
  • Application Layer 2-19 4 5 6 3 recursive query: puts burden of name resolution on contacted name server heavy load at upper levels of hierarchy? requesting host cis.poly.edu gaia.cs.umass.edu root DNS server local DNS server dns.poly.edu 1 2 7 authoritative DNS server dns.cs.umass.edu 8 DNS name resolution example TLD DNS server
  • Slide 20
  • Application Layer 2-20 DNS: caching, updating records any name server can cache learned mappings cache entries timeout (disappear) after some time (TTL) TLD servers typically cached in local name servers, so root name servers not often visited cached entries may be out-of-date (best effort name-to-address translation!) if name host changes IP address, may not be known Internet-wide until all TTLs expire update/notify mechanisms proposed IETF standard RFC 2136
  • Slide 21
  • Application Layer 2-21 DNS records 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) 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 name of mailserver associated with name
  • Slide 22
  • Application Layer 2-22 DNS protocol, messages query and reply messages, both with same message format msg header identification: 16 bit # for query, reply to query uses same # flags: query or reply recursion desired recursion available reply is authoritative identificationflags # questions questions (variable # of questions) # additional RRs # authority RRs # answer RRs answers (variable # of RRs) authority (variable # of RRs) additional info (variable # of RRs) 2 bytes
  • Slide 23
  • Application Layer 2-23 name, type fields for a query RRs in response to query records for authoritative servers additional helpful info that may be used identificationflags # questions questions (variable # of questions) # additional RRs # authority RRs # answer RRs answers (variable # of RRs) authority (variable # of RRs) additional info (variable # of RRs) DNS protocol, messages 2 bytes
  • Slide 24
  • Application Layer 2-24 Inserting records into DNS example: new startup Network Utopia register name networkuptopia.com at DNS registrar (e.g., Network Solutions) provide names, IP addresses of authoritative name server (primary and secondary) registrar inserts two RRs into.com TLD server: (networkutopia.com, dns1.networkutopia.com, NS) (dns1.networkutopia.com, 212.212.212.1, A) create authoritative server type A record for www.networkuptopia.com; type MX record for networkutopia.com
  • Slide 25
  • Resource Records The database records of the distributed data base are called resource records (RR) Resource records are stored in configuration files (zone files) at name servers. Resource records for a zone:
  • Slide 26
  • Resource Records Max. age of cached data in seconds * Start of authority (SOA) record. Means: This name server is authoritative for the zone Mylab.com * PC4.mylab.com is the name server * [email protected] is the email address of the person in charge Name server (NS) record. One entry for each authoritative name server Address (A) records. One entry for each hostaddress
  • Slide 27
  • Lab 7 (DHCP/NAT) review
  • Slide 28
  • Exercise 1(B)-3 28 NAT Table on Router2 Router2#show ip nat translations Pro Inside global Inside local Outside local Outside global --- 200.0.0.2 10.0.1.2 --- --- Which ping works and why? PC3% ping c3 10.0.1.3 PC3% ping c3 128.143.136.1 Router3% ping c3 10.0.1.2 Router3% ping c3 128.143.136.1 PC4% ping c3 10.0.1.2 PC4% ping c3 200.0.0.2 Configuration: Router2(config)#ip nat inside source static 10.0.1.2 200.0.0.2.. PC4% route add net 200.0.0.0 netmask 255.255.255.0 gw 128.195.7.32
  • Slide 29
  • Exercise 1(B)-3 29 NAT Table on Router2 Router2#show ip nat translations Pro Inside global Inside local Outside local Outside global --- 200.0.0.2 10.0.1.2 --- --- Which ping works and why? PC3% ping c3 10.0.1.3 PC3% ping c3 128.143.136.1 Router3% ping c3 10.0.1.2 Router3% ping c3 128.143.136.1 PC4% ping c3 10.0.1.2 PC4% ping c3 200.0.0.2 Configuration: Router2(config)#ip nat inside source static 10.0.1.2 200.0.0.2.. PC4% route add net 200.0.0.0 netmask 255.255.255.0 gw 128.195.7.32
  • Slide 30
  • Exercise 1(B)-4 30 NAT Table on Router2 Router2#show ip nat translations Pro Inside global Inside local Outside local Outside global --- 200.0.0.1 10.0.1.1 --- --- --- 200.0.0.2 10.0.1.2 --- --- --- 200.0.0.3 10.0.1.3 --- --- Which ping works and why? PC3% ping c3 10.0.1.3 PC3% ping c3 128.143.136.1 Router3% ping c3 10.0.1.2 Router3% ping c3 128.143.136.1 PC4% ping c3 10.0.1.2 PC4% ping c3 200.0.0.2 Configuration: Router2(config)#ip nat inside source static 10.0.1.2 200.0.0.2 Router2(config)#ip nat inside source static 10.0.1.1 200.0.0.1 Router2(config)#ip nat inside source static 10.0.1.3 200.0.0.3
  • Slide 31
  • Exercise 1(B)-4 31 NAT Table on Router2 Router2#show ip nat translations Pro Inside global Inside local Outside local Outside global --- 200.0.0.1 10.0.1.1 --- --- --- 200.0.0.2 10.0.1.2 --- --- --- 200.0.0.3 10.0.1.3 --- --- Which ping works and why? PC3% ping c3 10.0.1.3 PC3% ping c3 128.143.136.1 Router3% ping c3 10.0.1.2 Router3% ping c3 128.143.136.1 PC4% ping c3 10.0.1.2 PC4% ping c3 200.0.0.2 Configuration: Router2(config)#ip nat inside source static 10.0.1.2 200.0.0.2 Router2(config)#ip nat inside source static 10.0.1.1 200.0.0.1 Router2(config)#ip nat inside source static 10.0.1.3 200.0.0.3
  • Slide 32
  • Exercise 1(B) 32 Before Router2: Src: 10.0.1.2 (10.0.1.2), Dst: 128.143.136.1 (128.143.136.1) Show IP source/destination addresses before/after Router2 PC3% ping c3 128.143.136.1 After Router2: Src: 200.0.0.2 (200.0.0.2), Dst: 128.143.136.1 (128.143.136.1) NAT Table on Router2 Router2#show ip nat translations Pro Inside global Inside local Outside local Outside global --- 200.0.0.1 10.0.1.1 --- --- --- 200.0.0.2 10.0.1.2 --- --- --- 200.0.0.3 10.0.1.3 --- ---
  • Slide 33
  • Exercise 1(C)- NAT/PAT/Masquerade 33 telnet commands; which one successful? PC1% telnet 10.0.1.3 (Router1) PC1% telnet 128.143.136.1 (PC4) Router1# telnet 10.0.1.2 (PC1) Router1# 128.143.136.1 (PC4) PC4: telnet 10.0.1.2 (Router2)
  • Slide 34
  • Exercise 1(C)- NAT/PAT/Masquerade 34 telnet commands; which one successful? PC1% telnet 10.0.1.3 (Router2) PC1% telnet 128.143.136.1 (PC4) Router1# telnet 10.0.1.2 (PC1) Router1# 128.143.136.1 (PC4) PC4: telnet 10.0.1.2 (Router2)
  • Slide 35
  • Exercise 1(C)- NAT & telnet 35 PC1% telnet 128.143.136.1 (PC4) Before translation (PC2) Internet Protocol Source: 10.0.1.2 Destination: 128.143.136.1 Transmission Control Protocol Source port: 32774 Destination port: telnet (23) Sequence number: 1857633137 After translation (PC2) Internet Protocol Source: 128.143.136.22 Destination: 128.143.136.1 Transmission Control Protocol Source port: 32774 Destination port: telnet (23) Sequence number: 1857633137
  • Slide 36
  • Exercise 1(C)- PAT & ICMP (ping) 36 PC1% ping 128.143.136.1 (PC4) Internet Protocol, Src Addr: 10.0.1.2, Dst Addr: 128.143.136.1 Identification: 0x0000 Protocol: ICMP (0x01) Source: 10.0.1.2 Destination: 128.143.136.1 Internet Protocol, Src Addr: 128.143.136.22, Dst Addr: 128.143.136.1 Identification: 0x0000 Protocol: ICMP (0x01) Source: 128.143.136.22 Destination: 128.143.136.1 Ping (ICMP) does not use port number Identification is used to help with NAT
  • Slide 37
  • Exercise 1(D)- NAT & FTP FTP uses 2 ports Control connection, port 21 Data connection port 20 No problem with NAT & control connection. For data connection, the server initiates a connection from its port 20 to a (random) port on client Causes problem with NAT Only client can initiate connection PASSIVE mode solves this problem 37
  • Slide 38
  • Exercise 1(D)- NAT & FTP 38 PC3% ftp 128.143.136.22 (PC2)