Domain Name System (DNS)

Slides:



Advertisements
Similar presentations
Domain Name System (DNS) Name resolution for both small and large networks Host names IP Addresses Like a phone book, but stores more information Older.
Advertisements

Domain Name System (or Service) (DNS) Computer Networks Computer Networks Term B10.
1 EEC-484/584 Computer Networks Lecture 5 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
EEC-484/584 Computer Networks Lecture 5 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
EEC-484/584 Computer Networks Lecture 5 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
Domain Name System (or Service) (DNS) Computer Networks Computer Networks Spring 2012 Spring 2012.
EEC-484/584 Computer Networks Lecture 5 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
2: Application Layer1 FTP, SMTP and DNS. 2: Application Layer2 FTP: separate control, data connections r FTP client contacts FTP server at port 21, specifying.
1 Domain Name System (DNS) Reading: Section 9.1 COS 461: Computer Networks Spring 2006 (MW 1:30-2:50 in Friend 109) Jennifer Rexford Teaching Assistant:
EEC-484/584 Computer Networks Lecture 5 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
1 Domain Name System (DNS). 2 DNS: Domain Name System Internet hosts, routers: –IP address (32 bit) - used for addressing datagrams –“name”, e.g., gaia.cs.umass.edu.
EEC-484/584 Computer Networks Lecture 5 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
2: Application Layer1 Chapter 2 Application Layer Computer Networking: A Top Down Approach, 4 th edition. Jim Kurose, Keith Ross Addison-Wesley, July 2007.
Application Layer session 1 TELE3118: Network Technologies Week 12: DNS Some slides have been taken from: r Computer Networking: A Top Down Approach.
Naming Jennifer Rexford Advanced Computer Networks Tuesdays/Thursdays 1:30pm-2:50pm.
CPSC 441: DNS1 Instructor: Anirban Mahanti Office: ICT Class Location: ICT 121 Lectures: MWF 12:00 – 12:50 Notes derived.
Jennifer Rexford Fall 2014 (TTh 3:00-4:20 in CS 105) COS 561: Advanced Computer Networks Domain.
Name Resolution and DNS. Domain names and IP addresses r People prefer to use easy-to-remember names instead of IP addresses r Domain names are alphanumeric.
2: Application Layer1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012.
CS 4396 Computer Networks Lab
1 Domain Name System (DNS). 2 DNS: Domain Name System Internet hosts: – IP address (32 bit) - used for addressing datagrams – “name”, e.g.,
Domain Name System (DNS)
Data Communications and Computer Networks Chapter 2 CS 3830 Lecture 10 Omar Meqdadi Department of Computer Science and Software Engineering University.
DNS. 2 DNS: Domain Name System DNS services Hostname to IP address translation Host aliasing – Canonical and alias names Mail server aliasing Load distribution.
CS 471/571 Domain Name Server Slides from Kurose and Ross.
DNS: Domain Name System
Review: –Which protocol is used to move messages around in the Internet? –Describe how a message is moved from the sender’s UA to the receiver’s.
1 DNS: Domain Name System People: many identifiers: m SSN, name, Passport # Internet hosts, routers: m IP address (32 bit) - used for addressing datagrams.
Chapter 2 Application Layer Computer Networking: A Top Down Approach, 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, April A note on the use.
DNS: Domain Name System People: many identifiers: – SSN, name, Passport # Internet hosts, routers: – IP address (32 bit) - used for addressing datagrams.
25.1 Chapter 25 Domain Name System Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Naming and the DNS. Names and Addresses  Names are identifiers for objects/services (high level)  Addresses are locators for objects/services (low level)
DNS. 2 DNS: Domain Name System DNS services Hostname to IP address translation Host aliasing – Canonical and alias names Mail server aliasing Load distribution.
2: Application Layer1 DNS: Domain Name System People have many identifiers: SSN, name, passport number Internet hosts, routers have identifiers, too: IP.
CPSC 441: DNS 1. DNS: Domain Name System Internet hosts: m IP address (32 bit) - used for addressing datagrams m “name”, e.g., - used by.
CS 3830 Day 10 Introduction 1-1. Announcements r Quiz #2 this Friday r Program 2 posted yesterday 2: Application Layer 2.
Discovery Jennifer Rexford COS 461: Computer Networks Lectures: MW 10-10:50am in Architecture N101
Lecture 5: Web Continued 2-1. Outline  Network basics:  HTTP protocols  Studies on HTTP performance from different views:  Browser types [NSDI 2014]
Lecture 7: Domain Name Service (DNS) Reading: Section 9.1 ? CMSC 23300/33300 Computer Networks
Spring 2015© CS 438 Staff1 DNS. Host Names vs. IP addresses Host names  Mnemonic name appreciated by humans  Variable length, full alphabet of characters.
1 EEC-484/584 Computer Networks Lecture 5 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer Networking book.
Chapter 2 Application Layer Computer Networking: A Top Down Approach, 4 th edition. Jim Kurose, Keith Ross Addison-Wesley, July 2007.
1 Kyung Hee University Chapter 19 DNS (Domain Name System)
2: Application Layer 1 Chapter 2: Application layer r 2.1 Principles of network applications r 2.2 Web and HTTP r 2.3 FTP r 2.4 Electronic Mail  SMTP,
Application Layer, 2.5 DNS 2-1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley.
CSEN 404 Application Layer II Amr El Mougy Lamia Al Badrawy.
Spring 2006 CPE : Application Layer_DNS 1 Special Topics in Computer Engineering Application layer: Domain Name System Some of these Slides are.
@Yuan Xue A special acknowledge goes to J.F Kurose and K.W. Ross Some of the slides used in this lecture are adapted from their.
@Yuan Xue A special acknowledge goes to J.F Kurose and K.W. Ross Some of the slides used in this lecture are adapted from their.
Internet Applications
CSE 486/586 Distributed Systems Web Content Distribution---1 DNS & CDN
CS590B/690B Measuring network interference (Fall 2016)
Chapter 17 DNS (Domain Name System)
Introduction to Networks
Chapter 19 DNS (Domain Name System)
Session 6 INST 346 Technologies, Infrastructure and Architecture
Chapter 9: Domain Name Servers
Introduction to Communication Networks
Domain Name System (DNS)
Chapter 7: Application layer
Cookies, Web Cache & DNS Dr. Adil Yousif.
Chapter 19 DNS (Domain Name System)
EEC-484/584 Computer Networks
DNS: Domain Name System
Domain Name System (DNS)
FTP, SMTP and DNS 2: Application Layer.
Chapter 2 Application Layer
CSE 486/586 Distributed Systems Case Study: Facebook Photo Stores
Naming and weak consistency
Naming in Networking Jennifer Rexford COS 316 Guest Lecture.
Presentation transcript:

Domain Name System (DNS) Jennifer Rexford Fall 2017 (TTh 1:30-2:50 in CS 105) COS 561: Advanced Computer Networks http://www.cs.princeton.edu/courses/archive/fall17/cos561/

DNS Applies General CS Concepts Indirection Names in place of addresses Hierarchy Names: .com, .cnn.com, www.cnn.com Addresses: 12.0.0.0/8, 12.3.0.0/16, 12.3.4.0/24 Caching Of name-address mappings Typed data Hosts, name servers, mail servers, …

Strawman Solution #1: Local File Original name to address mapping Flat namespace /etc/hosts SRI kept main copy Downloaded regularly Count of hosts was increasing: moving from a machine per domain to machine per user Many more downloads Many more updates

Strawman Solution #2: Central Server One place where all mappings are stored All queries go to the central server Many practical problems Single point of failure High traffic volume Distant centralized database Single point of update Does not scale Need a distributed, hierarchical collection of servers

DNS Hierarchy

Domain Name System (DNS) Properties of DNS Hierarchical name space divided into zones Distributed over a collection of DNS servers Hierarchy of DNS servers Root servers Top-level domain (TLD) servers Authoritative DNS servers Performing the translations Local DNS servers and client resolvers 6

Distributed Hierarchical Database unnamed root com edu org ac uk zw arpa generic domains country domains bar ac in- addr west east cam 12 foo my usr 34 my.east.bar.edu usr.cam.ac.uk 56 12.34.56.0/24

DNS Root Servers 13 root servers (see http://www.root-servers.org/) Labeled A through M 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 (+ Amsterdam, Frankfurt) I Autonomica, Stockholm (plus 3 other locations) E NASA Mt View, CA F Internet Software C. Palo Alto, CA (and 17 other locations) m WIDE Tokyo B USC-ISI Marina del Rey, CA L ICANN Los Angeles, CA

TLD and Authoritative DNS Servers Global Top-level domain (gTLD) servers Generic domains (e.g., .com, .org, .edu) Country domains (e.g., .uk, .fr, .ca, .jp) Managed professionally (e.g., Verisign for .com .net) Authoritative DNS servers Provide public records for hosts at an organization For the organization’s servers (e.g., Web and mail) Can be maintained locally or by a service provider 9

Reliability DNS servers are replicated UDP used for queries Name service available if at least one replica is up Queries can be load balanced between replicas UDP used for queries Need reliability: must implement this on top of UDP Try alternate servers on timeout Exponential backoff when retrying same server Same identifier for all queries Don’t care which server responds

DNS Queries and Caching

Using DNS Local DNS server (“default name server”) Client application Usually near the end hosts who use it Local hosts configured with local server (e.g., /etc/resolv.conf) or learn the server via DHCP Client application Extract server name (e.g., from the URL) Do gethostbyname() or getaddrinfo() to get address Server application Extract client IP address from socket Optional gethostbyaddr() to translate into name 12

authoritative DNS server DNS Queries root DNS server for . Host a.cs.princeton.edu wants IP address for www.umass.edu Note Recursive vs. Iterative Queries 3 TLD DNS server for .edu 4 5 local DNS server dns.princeton.edu 6 2 7 9 8 local DNS server dns.cs.princeton.edu authoritative DNS server for umass.edu dns.umass.edu 1 10 requesting host a.cs.princeton.edu www.umass.edu 13

authoritative DNS server root DNS server for . DNS Caching DNS query latency E.g., 1 sec latency before starting a download Caching to reduce overhead and delay Small # of top-level servers, that change rarely Popular sites visited often Where to cache? Local DNS server Browser 3 TLD DNS server for .edu 4 5 6 2 7 9 8 authoritative DNS server for umass.edu dns.umass.edu 1 10 requesting host a.cs.princeton.edu www.umass.edu 14

DNS Cache Consistency Goal: Ensuring cached data is up to date DNS design considerations Cached data is “read only” Explicit invalidation would be expensive Avoiding stale information Responses include a “time to live” (TTL) field Delete the cached entry after TTL expires Perform negative caching (for dead links, misspellings) So failures are quick and don’t overload gTLD servers

Setting the Time To Live (TTL) TTL trade-offs Small TTL: fast response to change Large TTL: higher cache hit rate Following the hierarchy Top of the hierarchy: days or weeks Bottom of the hierarchy: seconds to hours Tension in practice CDNs set low TTLs for load balancing and failover Browsers cache for 15-60 seconds

RR format: (name, value, type, ttl) DNS Resource Records RR format: (name, value, type, ttl) Type=A Name: hostname Value: IP address Type=CNAME Name: alias for some “canonical” (the real) name: www.ibm.com is really srveast.backup2.ibm.com Value: canonical name Type=NS Name: domain Value: hostname of name server for domain Type=MX Value: name of mailserver associated with name

Discussion Replicating DNS servers Zone transfers IP anycast Use of DNS for geo-replicated content Customized responses to queries Inferring the user’s location Knowing the user’s IP address Policy issues Use of DNS to block access to Web sites (U.S., bodog) Collateral damage of DNS injection (China, roots/TLDs) Alternative DNS roots Redirecting DNS for ads and profit (e.g., Paxfire)

Discussion Games you can play with DNS Google Public DNS Measurement using DNS (e.g., King paper) Getting free WiFi Google Public DNS Automating adding records to DNS (RFC 2136) DNS security Cache poisoning (and Kaminsky vulnerability) DNSSEC