Domain Name System DNS



Similar documents
Domain Name System (DNS) Reading: Section in Chapter 9

Naming and the DNS. Focus. How do we name hosts etc.? Application Presentation Topics. Session Domain Name System (DNS) /URLs

DNS: Domain Name System

Names vs. Addresses. Flat vs. Hierarchical Space. Domain Name System (DNS) Computer Networks. Lecture 5: Domain Name System

Domain Name System (or Service) (DNS) Computer Networks Term B10

Domain Name System Richard T. B. Ma

C 1. Last Time. CSE 486/586 Distributed Systems Domain Name System. Review: Causal Ordering. Review: Causally Ordered Multicast.

DNS. Spring 2016 CS 438 Staff 1

How To Map Between Ip Address And Name On A Domain Name System (Dns)

CMPE 80N: Introduction to Networking and the Internet

CS 355. Computer Networking. Wei Lu, Ph.D., P.Eng.

The Application Layer: DNS

Chapter 2 Application Layer

CS 43: Computer Networks Naming and DNS. Kevin Webb Swarthmore College September 17, 2015

DNS and P2P File Sharing

Domain Name System (DNS) RFC 1034 RFC

Domain Name System (DNS)

NET0183 Networks and Communications

internet technologies and standards

DNS: Domain Name System

FTP: the file transfer protocol

Domain Name System (DNS)

Network programming, DNS, and NAT. Copyright University of Illinois CS 241 Staff 1

Ch 6: Networking Services: NAT, DHCP, DNS, Multicasting

The Domain Name System

Ch 6: Networking Services: NAT, DHCP, DNS, Multicasting, NTP

Lecture 2 CS An example of a middleware service: DNS Domain Name System

DATA COMMUNICATOIN NETWORKING

CS640: Computer Networks. Naming /ETC/HOSTS

CS 348: Computer Networks. - DNS; 22 nd Oct Instructor: Sridhar Iyer IIT Bombay

Network(Security(Protocols(

DNS and electronic mail. DNS purposes

2.5 DNS The Internet s Directory Service

3. The Domain Name Service

DNS Domain Name System

Chapter 23 The Domain Name System (DNS)

Distributed Systems. 09. Naming. Paul Krzyzanowski. Rutgers University. Fall 2015

Motivation. Domain Name System (DNS) Flat Namespace. Hierarchical Namespace

416 Distributed Systems. Feb 24, 2016 DNS and CDNs

CS3600 SYSTEMS AND NETWORKS

Domain Name System (DNS) Fundamentals

Application Layer. Abusayeed Saifullah. CS 5600 Computer Networks. These slides are adapted from Kurose and Ross

The Domain Name System

Resilient Networking. Overview of DNS Known attacks on DNS Denial-of-Service Cache Poisoning. Securing DNS Split-Split-DNS DNSSEC.

The Domain Name System (DNS)

FTP: the file transfer protocol

Internet-Praktikum I Lab 3: DNS

Applications & Application-Layer Protocols: The Domain Name System and Peerto-Peer

DNS : Domain Name System

Domain Name System. DNS is an example of a large scale client-server application. Copyright 2014 Jim Martin

Domain Name Servers. Domain Types WWW host names. Internet Names. COMP476 Networked Computer Systems. Domain Name Servers

The Domain Name System (DNS)

CSE/ISE 311: Systems Administra5on Networking 2

DNS records. RR format: (name, value, type, TTL) Type=NS

Chapter 25 Domain Name System Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

CS3250 Distributed Systems

DNS: Domain Names. DNS: Domain Name System. DNS: Root name servers. DNS name servers

Domain Name System (DNS) Session-1: Fundamentals. Ayitey Bulley

Hostnames. HOSTS.TXT was a bottleneck. Once there was HOSTS.TXT. CSCE515 Computer Network Programming. Hierarchical Organization of DNS

An Introduction to the Domain Name System

The Domain Name System

DNS Basics. DNS Basics

DNS. The Root Name Servers. DNS Hierarchy. Computer System Security and Management SMD139. Root name server. .se name server. .

CS244A Review Session Routing and DNS

Understanding DNS (the Domain Name System)

Names & Addresses. Names & Addresses. Names vs. Addresses. Identity. Names vs. Addresses. CS 194: Distributed Systems: Naming

ECE 4321 Computer Networks. Network Programming

Application Protocols in the TCP/IP Reference Model

Computer Networks: Domain Name System

- Domain Name System -

Internetworking with TCP/IP Unit 10. Domain Name System

THE DOMAIN NAME SYSTEM DNS

Domain Name System (DNS) Omer F. Rana. Networks and Data Communications 1

DNS. Outline. What is DNS? How resolve name IP addr? DNS (Domain Name Service) is primarily used to. usable addresses, e.g., IP addresses.

DNS - Domain Name System

Application Protocols in the TCP/IP Reference Model. Application Protocols in the TCP/IP Reference Model. DNS - Concept. DNS - Domain Name System

Introduction to Network Operating Systems

DNS Domain Name System

Understand Names Resolution

Computer Networks Prof. S. Ghosh Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture - 34 DNS & Directory

Part 5 DNS Security. SAST01 An Introduction to Information Security Martin Hell Department of Electrical and Information Technology

The Domain Name System

The Domain Name System

Transcription:

CE443 Computer Networks Domain Name System DNS Behnam Momeni Computer Engineering Department Sharif University of Technology Acknowledgments: Lecture slides are from Computer networks course thought by Jennifer Rexford at Princeton University. When slides are obtained from other sources, a reference will be noted on the bottom of that slide. A full list of references is provided on the last slide.

Separating Names and IP Addresses Names are easier (for us!) to remember www.cnn.com vs. 64.236.16.20 IP addresses can change underneath Move www.cnn.com to 173.15.201.39 E.g., renumbering when changing providers Name could map to multiple IP addresses www.cnn.com to multiple replicas of the Web site Map to different addresses in different places Address of a nearby copy of the Web site E.g., to reduce latency, or return different content Multiple names for the same address E.g., aliases like ee.mit.edu and cs.mit.edu 3

Domain Name System (DNS) Proposed in 1983 by Paul Mockapetris 8

Outline: Domain Name System Computer science concepts underlying DNS Indirection: names in place of addresses Hierarchy: in names, addresses, and servers Caching: of mappings from names to/from addresses DNS software components DNS resolvers DNS servers DNS queries Iterative queries Recursive queries DNS caching based on time-to-live (TTL) 9

Strawman Solution #1: Local File Original name to address mapping Flat namespace /etc/hosts Someone keeps 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 10

Strawman Solution #2: Central Server 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 11

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 Resolver software 12

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

TLD and Authoritative DNS Servers Top-level domain (TLD) servers Generic domains (e.g., com, org, edu) Country domains (e.g., uk, fr, ca, jp, ir) Typically managed professionally Network Solutions maintains servers for com Educause maintains servers for edu IPM maintains servers for ir 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 14

Distributed Hierarchical Database unnamed root com edu org ac uk ir foo generic domains country domains ac west east cam you my my.east.foo.edu usr usr.cam.ac.uk

Using DNS Local DNS server ( default name server ) 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() to trigger resolver code Server application Extract client IP address from socket Optional gethostbyaddr() to translate into name 16

Example Host at ce.sharif.edu wants IP address for mail.umass.edu local DNS server ns.sharif.edu 2 root DNS server 3 TLD DNS server 4 5 1 8 7 6 requesting host ce.sharif.edu authoritative DNS server dns.umass.edu mail.umass.edu 17

Recursive vs. Iterative Queries Recursive query Ask server to get answer for you E.g., request 1 and response 8 Iterative query Ask server who to ask next E.g., all other request-response pairs local DNS server ns.sharif.edu 1 2 8 requesting host ce.sharif.edu root DNS server 3 4 5 7 TLD DNS server 6 authoritative DNS server dns.umass.edu 18

DNS Caching Performing all these queries take time And all this before the actual communication takes place E.g., 1-second latency before starting Web download Caching can substantially reduce overhead The top-level servers very rarely change Popular sites (e.g., www.cnn.com) visited often Local DNS server often has the information cached How DNS caching works DNS servers cache responses to queries Responses include a time to live (TTL) field Server deletes the cached entry after TTL expires 19

Negative Caching Remember things that don t work Misspellings like www.cnn.comm and www.cnnn.com These can take a long time to fail the first time Good to remember that they don t work so the failure takes less time the next time around 20

DNS Resource Records DNS: distributed db storing resource records (RR) RR format: (name, value, type, ttl) Type=A name is hostname value is IP address Type=NS name is domain (e.g. foo.com) value is hostname of authoritative name server for this domain 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 21

DNS Protocol DNS protocol : query and reply messages, both with same message format Message header Identification: 16 bit # for query, reply to query uses same # Flags: Query or reply Recursion desired Recursion available Reply is authoritative 22

Reliability DNS servers are replicated 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 23

Inserting Resource Records into DNS Example: just created startup FooBar Register foobar.com at Network Solutions Provide registrar with names and IP addresses of your authoritative name server (primary and secondary) Registrar inserts two RRs into the com TLD server: (foobar.com, dns1.foobar.com, NS) (dns1.foobar.com, 212.212.212.1, A) Put in authoritative server dns1.foobar.com Type A record for www.foobar.com Type MX record for foobar.com Play with dig on *NIX 24