Domain Name System Richard T. B. Ma

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

DNS: Domain Name System

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

CMPE 80N: Introduction to Networking and the Internet

Chapter 2 Application Layer

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

Domain Name System (DNS)

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

The Application Layer: DNS

DNS and P2P File Sharing

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

DATA COMMUNICATOIN NETWORKING

internet technologies and standards

DNS: Domain Name System

Domain Name System DNS

Domain Name System (DNS) RFC 1034 RFC

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

FTP: the file transfer protocol

DNS. Spring 2016 CS 438 Staff 1

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

Domain Name System (DNS)

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

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

NET0183 Networks and Communications

DNS and electronic mail. DNS purposes

2.5 DNS The Internet s Directory Service

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

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

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

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

Chapter 2: outline. 2.6 P2P applications 2.7 socket programming with UDP and TCP

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

Computer Networks & Security 2014/2015

Internet-Praktikum I Lab 3: DNS

DNS Domain Name System

3. The Domain Name Service

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

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

FTP: the file transfer protocol

The Domain Name System

CSE/ISE 311: Systems Administra5on Networking 2

Application-layer protocols

HW2 Grade. CS585: Applications. Traditional Applications SMTP SMTP HTTP 11/10/2009

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

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

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

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

Chapter 23 The Domain Name System (DNS)

CS640: Computer Networks. Naming /ETC/HOSTS

Communicating Applications

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

DNS: Domain Name System

The Domain Name System

Network(Security(Protocols(

Application Protocols in the TCP/IP Reference Model

Lecture 5: Network Attacks I. Course Admin

CS3600 SYSTEMS AND NETWORKS

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

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

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

The Domain Name System (DNS)

The Domain Name System

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

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

CS244A Review Session Routing and DNS

Types of hypertext. Hypertext documents can either be 1.Static 2.Dynamic

Domain Name System (DNS) Fundamentals

19 Domain Name System (DNS)

INTERNET DOMAIN NAME SYSTEM

416 Distributed Systems. Feb 24, 2016 DNS and CDNs

CS3250 Distributed Systems

Understanding DNS (the Domain Name System)

THE DOMAIN NAME SYSTEM DNS

The Domain Name System (DNS)

DNS : Domain Name System

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

DNS Basics. DNS Basics

Computer Networks: Domain Name System

1 Introduction: Network Applications

The Domain Name System

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

HTG XROADS NETWORKS. Network Appliance How To Guide: EdgeDNS. How To Guide

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

1. Domain Name System

Naming. Name Service. Why Name Services? Mappings. and related concepts

Transcription:

Domain Name System Richard T. B. Ma School of Computing National University of Singapore CS 3103: Compute Networks and Protocols

Names Vs. Addresses Names are easier for human to remember www.comp.nus.edu.sg vs. 137.132.90.2 Addresses can be changed without changing names move www.comp.nus.edu.sg to 203.126.100.199 Name could map to multiple addresses google.com maps to multiple replicas of the Web site and to different nearby addresses in different geographies to reduce latency Multiple names could map to the same address

Domain Name System (DNS) The Domain Name System is a distributed database implemented in a hierarchy of DNS servers, and an application-layer protocol that allows hosts to query the distributed database. The DNS servers are often UNIX machines running the Berkeley Internet Name Domain (BIND) software. The DNS protocol runs over UDP on port 53. Used by other application-layer protocols E.g., HTTP, SMTP, and FTP

A Typical Scenario User 1 Host name 2 Host name 6 IP address Transport layer 5 IP address 3 Query Response 4

DNS: Other Use Cases Host aliasing Canonical hostname alias hostname E.g., webserver1.abc.com www.abc.com Mail server aliasing Bob s account with Hotmail bob@hotmail.com Web and mail servers share the same Load distribution Load balancing among replicated servers Rotate among the set of IP addresses in replies

Hierarchical Name Space Maximum 128 levels (level 0 to level 127) The label for each level is a string with maximum of 63 characters The root label is a null string

Hierarchical Name Space Name allocation decentralized to domains host.sub-subdomain.....subdomain.domain[.root] host: machine name, can be an alias sub-subdomain: department (comp, eng, ceg, math) subdomain: institution, company, geography, provider domain: most significant segment (edu, com, org, net, gov) Domain: a sub-tree of the domain name space Domain name Fully Qualified Domain Name (FQDN) Partially Qualified Domain Name (PQDN)

Implementation Distributed database implemented in hierarchy of many name servers A distributed database storing resource records (RR) Client-server query-reply Host, routers and name servers communicate to resolve domain names core Internet function, implemented as application-layer protocol complexity at network s edge

Distributed, Hierarchical Database Root DNS Servers com DNS servers org DNS servers edu DNS servers yahoo.com DNS servers amazon.com DNS servers pbs.org DNS servers poly.edu umass.edu DNS servers DNS servers client wants IP for www.amazon.com; 1 st approx: client queries a root server to find com DNS server client queries com DNS server to get amazon.com DNS server client queries amazon.com DNS server to get IP address for www.amazon.com

Discussion: Design Choices Why not flat name space? Why not centralize DNS? Single point of failure Traffic volume Distant centralized database Maintenance Scalability!!

DNS: Root name servers 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 LA) d U Maryland College Park, MD g US DoD Vienna, VA h ARL Aberdeen, MD j Verisign, ( 21 locations) k RIPE London (also 16 other locations) i Autonomica, Stockholm (plus 28 other locations) e NASA Mt View, CA f Internet Software C. Palo Alto, CA (and 36 other locations) m WIDE Tokyo (also Seoul, Paris, SF) b USC-ISI Marina del Rey, CA l ICANN Los Angeles, CA 13 root name servers worldwide

TLD and 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: organization s DNS servers, providing authoritative hostname to IP mappings for organization s servers (e.g., Web, mail). can be maintained by organization or service provider

Local Name Server Does not strictly belong to hierarchy Like a client (the hierarchy is the server ) Each ISP (residential ISP, company, university) has one also called default name server When host makes DNS query, query is sent to its local DNS server acts as proxy, forwards query into hierarchy

DNS name resolution example Host at cis.poly.edu wants IP address for gaia.cs.umass.edu 2 root DNS server 3 TLD DNS server 4 5 iterated query: contacted server replies with name of server to contact I don t know this name, but ask this server local DNS server dns.poly.edu 1 8 requesting host cis.poly.edu 7 6 authoritative DNS server dns.cs.umass.edu gaia.cs.umass.edu

DNS name resolution example root DNS server recursive query: puts burden of name resolution on contacted name server heavy load? 2 local DNS server dns.poly.edu 7 6 5 3 4 TLD DNS server 1 8 requesting host cis.poly.edu authoritative DNS server dns.cs.umass.edu gaia.cs.umass.edu

DNS: caching and updating records Once (any) name server learns mapping, it caches the mapping cache entries timeout (disappear) after some time TLD servers typically cached in local name servers Thus root name servers not often visited Update/notify mechanisms proposed IETF standard RFC 2136

DNS records DNS: distributed db storing resource records (RR) RR format: (name, value, type, ttl) Type=A (Address) name is hostname value is IP address Type=NS (Name Server) name is domain (e.g., foo.com) value is hostname of authoritative name server for this domain Type=CNAME (Canonical NAME) 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 (Mail exchange) value is name of mailserver associated with name

DNS protocol, messages query and reply messages, both with same message format 2 bytes 2 bytes msg header identification: 16 bit # for query, reply to query uses same # flags: query or reply recursion desired recursion available reply is authoritative identification # questions # authority RRs flags # answer RRs # additional RRs questions (variable # of questions) answers (variable # of RRs) authority (variable # of RRs) additional info (variable # of RRs)

DNS protocol, messages 2 bytes 2 bytes identification # questions flags # answer RRs name, type fields for a query RRs in response to query records for authoritative servers additional helpful info that may be used # authority RRs # additional RRs questions (variable # of questions) answers (variable # of RRs) authority (variable # of RRs) additional info (variable # of RRs)

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 How do people get IP address of your Web site?