CSE 123b Communications Software. Overview for today. Names and Addresses. Goals for a naming system. Internet Hostnames

Similar documents
Communications Software. CSE 123b. CSE 123b. Spring Lecture 11: Domain Name System (DNS) Stefan Savage. Some pictures courtesy David Wetherall

Naming Computer Networking. Overview. DNS: Domain Name System. Obvious Solutions (1) Obvious Solutions (2)

CE693: Adv. Computer Networking

CSE561 Naming and DNS. David Wetherall

Midterm Results Computer Networking. Outline. Midterm Distribution. Average Std.Dev. 13.9!!! Max 97 Min 40.

The Application Layer: Sockets, DNS

Outline Computer Networking. Naming. Obvious Solutions (1) DNS Design. Lecture 13 DNS DNS Today

IP ADDRESSES, NAMING, AND DNS

Lecture 05: Application Layer (Part 02) Domain Name System. Dr. Anis Koubaa

Application Layer. Applications and application-layer protocols. Goals:

Chapter 2 Application Layer. Lecture 5 DNS. Computer Networking: A Top Down Approach. 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012

Domain Name Service. DNS Overview. October 2009 Computer Networking 1

Lecture 6 Application Layer. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it

DNS and Modern Network Services. Amin Vahdat CSE 123b April 27, 2006

ECE 650 Systems Programming & Engineering. Spring 2018

Application Layer Protocols

Domain Name System.

EECS 122: Introduction to Computer Networks DNS and WWW. Internet Names & Addresses

CSE 124 January 27, Winter 2017, UCSD Prof. George Porter

Domain Name System (DNS) 김현철 ( 화 ) 정보통신융합서울대학교컴퓨터공학부

Lecture 7: Application Layer Domain Name System

Networking Applications

CS 43: Computer Networks. 10: Naming and DNS September 24, 2018

Protocol Classification

CS4/MSc Computer Networking. Lecture 3: The Application Layer

The Domain Name System

CSE/EE 461 DNS / HTTP / CDNs / BitTorrent

CSE 124 January 18, Winter 2017, UCSD Prof. George Porter

0 0& Basic Background. Now let s get into how things really work!

CSE 124 January 12, Winter 2016, UCSD Prof. George Porter

CSc 450/550 Computer Networks Domain Name System

Advanced Networking. Domain Name System

Advanced Networking. Domain Name System. Purpose of DNS servers. Purpose of DNS servers. Purpose of DNS servers

DNS Basics BUPT/QMUL

CS 3516: Advanced Computer Networks

Computer Network 1 1

CSCE 463/612 Networks and Distributed Processing Spring 2018

Distributed Systems /640

Computer Networks. Domain Name System. Jianping Pan Spring /25/17 CSC361 1

Distributed Systems. Distributed Systems Within the Internet Nov. 9, 2011

A DNS Tutorial

04 Identifiers. UUID URI Format Characteristics. Coulouris, Ch 9 rfc3986 Ahmed, 2005 Subharthi, 2009

ELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition

Objectives. Upon completion you will be able to:

Application Layer. Goals: Service models. Conceptual aspects of network application protocols Client server paradigm

Lecture 7 Application Layer. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it

DNS and CDNs : Fundamentals of Computer Networks Bill Nace

Chapter 19. Domain Name System (DNS)

CSE 265: System & Network Administration

Domain Name System (DNS) DNS Fundamentals. Computers use IP addresses. Why do we need names? hosts.txt does not scale. The old solution: HOSTS.

Chapter 2: Application layer

04 Identifiers UUID. Coulouris, Ch 9 URI. rfc3986 Format. Ahmed, 2005 Characteristics. Subharthi, 2009

Domain Name System (DNS) Session-1: Fundamentals. Joe Abley AfNOG Workshop, AIS 2017, Nairobi

CS519: Computer Networks. Lecture 6: Apr 5, 2004 Naming and DNS

DNS and HTTP. A High-Level Overview of how the Internet works

Computer Networking Introduction

FTP. Mail. File Transfer Protocol (FTP) FTP commands, responses. Electronic Mail. TDTS06: Computer Networks

S Computer Networks - Spring What and why? Structure of DNS Management of Domain Names Name Service in Practice

Domain Name System (DNS) Session-1: Fundamentals. Computers use IP addresses. Why do we need names? hosts.txt does not scale

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

Chapter 2 outline. 2.1 Principles of app layer protocols

The Domain Name System

Application Layer. Goals:

Application Layer. Applications and application-layer protocols. Goals:

DNS. Introduction To. everything you never wanted to know about IP directory services

CompSci 356: Computer Network Architectures. Lecture 20: Domain Name System (DNS) and Content distribution networks Chapter 9.3.1

DNS. DNS is an example of a large scale client-server application.

Linux Network Administration

Development of the Domain Name System

CSE 124: IP ADDRESSES, NAMING, AND DNS. George Porter Oct 4, 2017

DNS. dr. C. P. J. Koymans. September 16, Informatics Institute University of Amsterdam. dr. C. P. J. Koymans (UvA) DNS September 16, / 46

Information Network I: The Application Layer. Doudou Fall Internet Engineering Laboratory Nara Institute of Science and Technique

Client Server Concepts, DNS, DHCP

DNS Concepts. Acknowledgements July 2005, Thimphu, Bhutan. In conjunction with SANOG VI. Bill Manning Ed Lewis Joe Abley Olaf M.

DNS Management with Blue Cat Networks at PSU

Application Layer: , DNS

Lecture 4: Basic Internet Operations

DISTRIBUTED SYSTEMS [COMP9243] Lecture 9a: Naming WHAT IS NAMING? Name: Entity: Slide 3. Slide 1. Address: Identifier:

Operating Systems CS 571

DNS & Iodine. Christian Grothoff.

CSE 486/586 Distributed Systems

CSE 123b Communications Software

Naming. To do. q What s in a name q Flat naming q Structured naming q Attribute-based naming q Next: Content distribution networks

Domain Name System (DNS)

Today s class. CSE 123b Communications Software. Telnet. Network File System (NFS) Quick descriptions of some other sample applications

page 1 Plain Old DNS WACREN, DNS/DNSSEC Regional Workshop Ouagadougou, October 2016

Peer-to-Peer Networks and the DNS

DNS. A Massively Distributed Database. Justin Scott December 12, 2018

Introduction to the Domain Name System

Computing Parable. New Topic: Naming

CSEN 404 Introduction to Networks. Mervat AbuElkheir Mohamed Abdelrazik. ** Slides are attributed to J. F. Kurose

Goal of this session

Potential Name Syntax. Properties of Naming. Naming and system components. Naming and layering. Replicated storage, consistency

DNS. David Malone. 19th October 2004

New Topic: Naming. Differences in naming in distributed and non-distributed systems. How to name mobile entities?

DNS Hierarchical Name Space. BIND Terminology and DNS Name Servers. Distributed Hierarchical Database (1st Approx) Domain Name System (DNS)

CSEN 503 Introduction to Communication Networks

DOMAIN NAME SYSTEM (DNS) BEYAZIT BESTAMİ YÜKSEL

Chapter 2 Application Layer

Distributed Naming. EECS 591 Farnam Jahanian University of Michigan. Reading List

Transcription:

CSE 123b Communications Software Spring 2003 Lecture 11: Domain Name System (DNS) Stefan Savage Where we ve been & where we re going Low-level networking (so far) Internetworking architecture Packet Forwarding Reliable transport protocols Routing protocols (distance vector, link state, interdomain) Multicast & Mobile IP Building network services (rest of quarter) DNS, HTTP, E-mail, FTP Web caching and load balancing Content Distribution Networks (e.g. Akamai) Peer to Peer Systems Network Security Some pictures courtesy David Wetherall & Srini Seshan May 13, 2003 CSE 123b Lecture 11 -- DNS 2 Overview for today What is naming about? How Domain Naming System (DNS) works Namespace Data distribution Request/response protocol Caching Bootstraping Experience with DNS and new DNS uses Names and Addresses name address 35 Stefan Savage CSE Dept. University of California, San Diego Names are identifiers for objects/services (high level) Addresses are locators for objects/services (low level) Resolution is the process of mapping name to address May 13, 2003 CSE 123b Lecture 11 -- DNS 3 May 13, 2003 CSE 123b Lecture 11 -- DNS 4 Goals for a naming system How do we locate resources? Machine name -> IP address IP address -> Machine name How do we scale to the wide area? Global scope Robustness Consistency: additions, deletions, modifications Performance/overhead Different administrative authorities Internet Hostnames Hostnames are human-readable identifiers for endsystems based on an administrative hierarchy risk64.ucsd.edu is my desktop machine IP addresses are a fixed-length binary encoding for end-systems based on their position in the network 132.239.9.64 is risk64 s IP address May 13, 2003 CSE 123b Lecture 11 -- DNS 5 May 13, 2003 CSE 123b Lecture 11 -- DNS 6

May 13, 2003 CSE 123b Lecture 11 -- DNS 7 Original Hostname System When the Internet was really young Flat namespace Simple (host, address) pairs Centralized management Updates via a single master file called HOSTS.TXT Manually coordinated by the SRI s Network Information Center (NIC) You ftp d the file over each day Resolution process Look up hostname in the HOSTS.TXT file Scaling Problems Coordination Between all users to avoid conflicts Inconsistencies Between update and distribution of new version Reliability Single point of failure Performance Competition for centralized resources Size of HOSTS.TXT May 13, 2003 CSE 123b Lecture 11 -- DNS 8 Domain Name System (DNS) Designed by Mockapetris and Dunlap in the mid 80s Distributed database Namespace is hierarchical Allows much better scaling of data structures e.g., www.cs.ucsd.edu Namespace is distributed Decentralized administration and access e.g. xxx.ucsd.edu is managed only by UCSD DNS Design Administrative hierarchy. as separator Zone = contiguous section of name space with its own database and administrative control» E.g., Complete tree, single node or subtree Zones are created by convincing owner node to create/delegate a subzone E.g. cs.ucsd.edu could be a zone under ucsd.edu Resolution is by query/response With replicated servers for redundancy With heavy use of caching for performance May 13, 2003 CSE 123b Lecture 11 -- DNS 9 May 13, 2003 CSE 123b Lecture 11 -- DNS 10 DNS Hierarchy DNS Records DNS: distributed db storing resource records (RR) RR format: (name, value, type, ttl) edu ucsd ee cs com mil org au dot is the root of the hierarchy Top levels now controlled by ICANN Lower level control is delegated Usage governed by conventions FQDN = Fully Qualified Domain Name Type=A name is hostname value is IP address Type=NS name is domain (e.g. foo.com) value is IP address of authoritative name server for this domain Type=CNAME name is an alias name for some canonical (the real) name value is canonical name Type=MX value is hostname of mailserver associated with name May 13, 2003 CSE 123b Lecture 11 -- DNS 11 May 13, 2003 CSE 123b Lecture 11 -- DNS 12

May 13, 2003 CSE 123b Lecture 11 -- DNS 13 DNS Distribution One or more nameservers manage each zone Primary nameserver updated manaually Secondary nameservers updated using zone transfers performed between nameservers (uses TCP) Multiple nameservers provide redundancy Client resolvers query nameservers for specified records Multiple messages may be exchanged per DNS lookup to navigate the name hierarchy Servers/Resolvers Each host has a resolver Typically a library that applications can link to, sometimes in kernel (e.g. Windows XP) Local name servers hand-configured (e.g. /etc/resolv.conf) Name servers Typically responsible for some zone (e.g. cs.ucsd.edu) Local servers (also sometimes called caching servers)» Do lookup of distant host names for local hosts» Typically answer queries about local zone May 13, 2003 CSE 123b Lecture 11 -- DNS 14 Lookup Methods Iterative Server responds with as much as it knows (iterative) Recursive Server goes out and searches for more info (recursive) Only returns final answer or not found Local server typically does recursive Root/distant server does iterative DNS Lookup Example Recursive query: Puts burden of name resolution on contacted name server Iterative query: Contacted server replies with name of server to contact I don t know this name, but ask this server local name server dns.eurecom.fr 1 8 3 root name server 2 4 7 iterated query intermediate name server dns.umass.edu 5 6 authoritative name server dns.cs.umass.edu requesting host surf.eurecom.fr gaia.cs.umass.edu May 13, 2003 CSE 123b Lecture 11 -- DNS 15 May 13, 2003 CSE 123b Lecture 11 -- DNS 16 DNS Message Format DNS Header Fields 12 bytes Name, type fields for a query RRs in response to query Identification Flags No. of Questions No. of Answer RRs No. of Authority RRs No. of Additional RRs Questions (variable number of answers) Answers (variable number of resource records) Identification Used to match up request/response Flags 1-bit to mark query or response 1-bit to mark authoritative or not 1-bit to request recursive resolution 1-bit to indicate support for recursive resolution Records for authoritative servers Authority (variable number of resource records) Additional Info (variable number of resource records Additional helpful info that may be used May 13, 2003 CSE 123b Lecture 11 -- DNS 17 May 13, 2003 CSE 123b Lecture 11 -- DNS 18

May 13, 2003 CSE 123b Lecture 11 -- DNS 19 Caching Servers and clients cache results of DNS lookups Cache partial results too (e.g., server for princeton.edu) Greatly improves system performance; lookups the rare case Cache using time-to-live (TTL) value from provider higher TTL means less traffic, lower TTL means less stale info Negative caching is used too! errors can cause repeated queries for non-existent data Impact of caching DNS Lookup Example Client www.cs.cmu.edu Local www.cs.cmu.edu NS cmu.edu NS cs.cmu.edu www=ipaddr root & edu cmu.edu cs.cmu.edu DNS server May 13, 2003 CSE 123b Lecture 11 -- DNS 20 Impact of caching Subsequent Lookup Reliability s are replicated Client ftp.cs.cmu.edu Local ftp.cs.cmu.edu ftp=ipaddr root & edu cmu.edu cs.cmu.edu DNS server Name service available if at least one replica is up UDP used for queries Need reliability Why not TCP? Try alternate servers on timeout Exponential backoff when retrying same server Same identifier for all queries» Don t care which server responds May 13, 2003 CSE 123b Lecture 11 -- DNS 21 May 13, 2003 CSE 123b Lecture 11 -- DNS 22 Reverse Name Lookup 128.2.206.138? Lookup 138.206.2.128.in-addr.arpa Why is the address reversed? What if there is a many to one mapping? i.e. www.cs.ucsd.edu and www-cse.ucsd.edu are the same machine Reverse lookup should return primary name Mail Addresses MX records point to mail exchanger for a name E.g. mail.acm.org is MX for acm.org Addition of MX record type proved to be a challenge How to get mail programs to lookup MX record for mail delivery? Needed critical mass of such mailers May 13, 2003 CSE 123b Lecture 11 -- DNS 23 May 13, 2003 CSE 123b Lecture 11 -- DNS 24

May 13, 2003 CSE 123b Lecture 11 -- DNS 25 DNS Bootstrapping Need to know IP addresses of root servers before we can make any queries Addresses for 13 root servers ([a-m].root-servers.net) handled via initial configuration (named.ca file) DNS: Root Name Servers Responsible for root zone Approx. dozen root name servers worldwide Currently {a-m}.rootservers.net Local name servers contact root servers when they cannot resolve a name Configured with wellknown root servers May 13, 2003 CSE 123b Lecture 11 -- DNS 26 Building on the DNS Building on the DNS Other naming designs leverage the DNS Email: e.g., savage@cs.ucsd.edu is savage in the domain cs.ucsd.edu Uniform Resource Locators (URLs) name for Web pages e.g., http://www.cs.ucsd.edu/~savage/ Use domain name to identify a Web server Use / separated string to name path to page (like files) May 13, 2003 CSE 123b Lecture 11 -- DNS 27 Load balancing of Internet services If a name -> IP address mapping is one to many then can use DNS for load balancing RR DNS: provide set of answers Akamai/CDNs: provide different answer based on source address of local server and load on replicated content client 6 5 Nearby Cache 4 3 s for akamai.com Server May 13, 2003 CSE 123b Lecture 11 -- DNS 28 1 2 Future Evolution of the DNS Design constrains us in two major ways that are increasingly less appropriate Static host to IP mapping What about mobility (Mobile IP) and dynamic address assignment (DHCP) Location-insensitive queries What if I don t care what server a Web page comes from, as long as it s the right page? e.g., a yahoo page might be replicated DNS Experience One of the greatest challenges seemed to be getting good name server implementations Developers were typically happy with good enough implementation Challenging, large scale, wide area distributed system» Like routing, but easier to have broken implementations that work Common bugs Looped NS/CNAME record handling Poor static configuration (root server list) Lack of exponential backoff No centralized caching per site» Each machine runs own caching local server May 13, 2003 CSE 123b Lecture 11 -- DNS 29 May 13, 2003 CSE 123b Lecture 11 -- DNS 30

May 13, 2003 CSE 123b Lecture 11 -- DNS 31 Root Zone Generic Top Level Domains (gtld) =.com,.net,.org, etc Country Code Top Level Domain (cctld) =.us,.ca,.fi,.uk, etc Root server ({a-m}.root-servers.net) also used to cover gtld domains Load on root servers was growing quickly! Moving.com,.net,.org off root servers was clearly necessary to reduce load done Aug 2000 New gtlds.info general info.biz businesses.aero air-transport industry.coop business cooperatives.name individuals.pro accountants, lawyers, and physicians.museum museums Only new one actives so far =.info,.biz May 13, 2003 CSE 123b Lecture 11 -- DNS 32 New Registrars Network Solutions (NSI) used to handle all registrations, root servers, etc Clearly not the democratic way Large number of registrars that can create new domains However NSI still handle root servers Key Concepts The design of names, addresses and resolution has a significant impact on system capabilities Hierarchy, decentralization and caching allow the DNS to scale These are general techniques! May 13, 2003 CSE 123b Lecture 11 -- DNS 33 May 13, 2003 CSE 123b Lecture 11 -- DNS 34 For next time HTTP: Read 9.2.2 Assignment #2 has been posted May 13, 2003 CSE 123b Lecture 11 -- DNS 35