COMP 431 Internet Services & Protocols

Slides:



Advertisements
Similar presentations
Domain Name System. DNS is a client/server protocol which provides Name to IP Address Resolution.
Advertisements

Domain Name System (or Service) (DNS) Computer Networks Computer Networks Term B10.
Domain Name System (or Service) (DNS) Computer Networks Computer Networks Spring 2012 Spring 2012.
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.
20101 The Application Layer Domain Name System Chapter 7.
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.
Application Layer At long last we can ask the question - how does the user interface with the network?
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.
Domain Name System: DNS
CPSC 441: DNS1 Instructor: Anirban Mahanti Office: ICT Class Location: ICT 121 Lectures: MWF 12:00 – 12:50 Notes derived.
1 DNS,NFS & RPC Rizwan Rehman, CCS, DU. Netprog: DNS and name lookups 2 Hostnames IP Addresses are great for computers –IP address includes information.
Domain Name System ( DNS )  DNS is the system that provides name to address mapping for the internet.
DNS. Outline r Domain Name System r DNS Hierarchy r Resolution.
Application Layer 2-1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012.
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.
Electronic Mail Three major components: SMTP user agents mail servers
Chapter 2 Application Layer
2: Application Layer1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012.
NET0183 Networks and Communications Lecture 25 DNS Domain Name System 8/25/20091 NET0183 Networks and Communications by Dr Andy Brooks.
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.
Ch-9: NAME SERVICES By Srinivasa R. Gudipati. To be discussed.. Fundamentals of Naming Services Naming Resolution The Domain Name System (DNS) Directory.
Chapter 16 – DNS. DNS Domain Name Service This service allows client machines to resolve computer names (domain names) to IP addresses DNS works at the.
Fall 2005 By: H. Veisi Computer networks course Olum-fonoon Babol Chapter 7 The Application Layer.
CS 471/571 Domain Name Server Slides from Kurose and Ross.
DNS: Domain Name System
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.
Chapter 17 Domain Name System
1 Application Layer Lecture 6 Imran Ahmed University of Management & Technology.
25.1 Chapter 25 Domain Name System Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Chapter 29 Domain Name System (DNS) Allows users to reference computer names via symbolic names translates symbolic host names into associated IP addresses.
Domain Name System. CONTENTS Definitions. DNS Naming Structure. DNS Components. How DNS Servers work. DNS Organizations. Summary.
Netprog: DNS and name lookups1 Address Conversion Functions and The Domain Name System Refs: Chapter 9 RFC 1034 RFC 1035.
Internet and Intranet Protocols and Applications Lecture 5 Application Protocols: DNS February 20, 2002 Joseph Conron Computer Science Department New York.
1 Kyung Hee University Chapter 18 Domain Name System.
Domain Name System Refs: Chapter 9 RFC 1034 RFC 1035.
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.
EE 122: Lecture 20 (Domain Name Server - DNS) Ion Stoica Nov 15, 2001 (* based on the some on-line slides of J. Kurose & K. Rose and of Raj Jain)
TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 19 Domain Name System (DNS)
Lecture 5: Web Continued 2-1. Outline  Network basics:  HTTP protocols  Studies on HTTP performance from different views:  Browser types [NSDI 2014]
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,
Web Server Administration Chapter 4 Name Resolution.
1. Internet hosts:  IP address (32 bit) - used for addressing datagrams  “name”, e.g., ww.yahoo.com - used by humans DNS: provides translation between.
COMP2322 Lab 3 DNS Steven Lee Feb. 19, Content Understand the Domain Name System (DNS). Analyze the DNS protocol with Wireshark. 2.
TCP/IP Protocol Suite 1 Chapter 17 Upon completion you will be able to: Domain Name System: DNS Understand how the DNS is organized Know the domains in.
Internet Naming Service: DNS* Chapter 5. The Name Space The name space is the structure of the DNS database –An inverted tree with the root node at the.
Domain Name System INTRODUCTION to Eng. Yasser Al-eimad
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.
Networking (Cont’d). Congestion Control l Is achieved by informing nodes along a route that congestion has occurred and asking them to reduce their packet.
So DNS is A client-server application that maps domain names into their corresponding IP addresses with the help of name servers. Mapping domain names.
Ch 2. Application Layer Myungchul Kim
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.
Introduction to Networks
Session 6 INST 346 Technologies, Infrastructure and Architecture
Chapter 9: Domain Name Servers
Cookies, Web Cache & DNS Dr. Adil Yousif.
EE 122: Domain Name Server (DNS)
DNS: Domain Name System
Domain Name System Refs: Chapter 9 RFC 1034 RFC 1035.
The Application Layer: Sockets, DNS
FTP, SMTP and DNS 2: Application Layer.
Presentation transcript:

COMP 431 Internet Services & Protocols Applications & Application-Layer Protocols: The Domain Name System Jasleen Kaur February 23, 2016

Application-Layer Protocols Outline transport network link physical The architecture of distributed systems Client/Server computing The programming model used in constructing distributed systems Socket programming Example client/server systems and their application-layer protocols The World-Wide Web (HTTP) Reliable file transfer (FTP) E-mail (SMTP & POP) Internet Domain Name System (DNS) local ISP company network regional ISP

Application-Layer Protocols The Domain Name System (DNS) Computers (hosts, routers) connected to the Internet have two forms of names: IP address — a 32 bit identifier used for addressing hosts and routing data to them Hostname — an ASCII string used by applications The DNS is an Internet-wide service that provides mappings between IP addresses and hostnames The DNS is a distributed database implemented in a hierarchy of name servers The DNS is also an application-layer protocol Hosts and routers use name servers to resolve names (address/name translation) Name resolution is an essential Internet function implemented as application-layer protocol

The Domain Name System Name Hierarchy in DNS com edu net org gov npr yahoo amazon unc cornell sprint bellsouth srv www cs med cs hostname = “dot” separated concatenation of domain names along path toward the root unc.edu cs.unc.edu classroom.cs.unc.edu

Name Hierarchy in the DNS Top level domains … com edu net org gov Generic domains: .com, .org, .net, .edu, .gov, .mil, .int .biz, .info, .name, .pro Special sponsored names .aero, .coop, .museum Country code domains .uk, .de, .jp, .us, etc.

Growth of DNS Registrations July 2014: 1,028,544,414 Source: Internet Systems Consortium (http://www.isc.org/)

The Domain Name System Designing a distributed service Why not centralize the DNS A server process on a big, well connected supercomputer? Centralized systems do not scale! Poor reliability: centralized = single point of failure Poor performance: centralized = “remote access” for most users Difficult to manage: centralized = all customer traffic goes to one location, a large staff has to be present to handle registrations A centralized system is not politically feasible in an international network

Designing a Distributed Service DNS Name Servers Local name server bristol.cs.unc.edu No server has every hostname-to-IP address mapping Authoritative name server: Every host is registered with at least one authoritative server that stores that host’s IP address and name The authoritative name server can perform name/address translation for that host’s name/address Local name servers: Each ISP, university, company, has a local (default) name server authoritative for its own hosts Resolvers always query a name server local to it to resolve any host name Name resolution: Query and Reply Local host classroom.cs.unc.edu What if the name is not a local host (e.g., www.yahoo.com)?

DNS Name Servers Root name servers A root name server is contacted when a local name server that can’t resolve a name The root server either resolves the name or provides pointers to authoritative servers at lower level of name hierarchy There are approx. a dozen root name servers worldwide

DNS Name Servers Generic TLD servers (Verisign Corp.) 13 independent sites .com, .org, .net server locations (separated from root servers)

DNS Name Servers Using a server hierarchy for resolving names Root name server a.root-servers.net Example: Host swift.cs.unc.edu wants to know the IP address of www.yahoo.com Swift contacts its local DNS server bristol.cs.unc.edu 3 Authoritative name server dns.yahoo.com 4 www.yahoo.com 2 5 To resolve a non-local name the local name server queries the root server (if necessary) Local name server bristol.cs.unc.edu The root server contacts the authoritative server dns.yahoo.com (if necessary) 1 6 Results propagate back to swift Requesting host swift.cs.unc.edu

DNS Name Servers Using a server hierarchy for resolving names Root name server a.root-servers.net It’s possible that the root name server may not know the authoritative name server for a domain Intermediate name server dns.unc.edu 3 6 4 The root server contacts an intermediate name server that knows the authoritative name server 2 5 7 Authortative name server dns.cs.unc.edu The intermediate name server contacts the authoritative name server Local name server dns.yahoo.com 1 8 Results propagate back to the requesting host Requesting host estore.yahoo.com

DNS Name Servers Using a server hierarchy for resolving names Root name server a.root-servers.net The DNS supports two paradigms of queries: Recursive queries Iterative queries Intermediate name server dns.unc.edu 3 6 4 2 5 Recursive queries place the burden of name resolution (recursively) on the contacted server In an iterated query the contacted server simply replies with the name of the server to contact “I don’t know; try asking X” 7 Authoritative name server dns.cs.unc.edu Local name server dns.yahoo.com 1 8 Requesting host estore.yahoo.com

DNS Name Servers Iterated queries Root name server a.root-servers.net Swift wants to know the IP address of www.yahoo.com Swift contacts its local DNS server bristol.cs.unc.edu Authoritative name server dns.yahoo.com 3 www.yahoo.com 2 If necessary the local name server queries the root server “What server is the authority for www.yahoo.com?” Local name server bristol.cs.unc.edu The root server returns the name and IP address of the server it knows is the closest match to the query “Try dns.yahoo.com” 1 Requesting host swift.cs.unc.edu

DNS Name Servers Iterated queries Root name server a.root-servers.net The local DNS server sends the same query to the closest match server “What server is the authority for www.yahoo.com?” Authoritative name server dns.yahoo.com 3 www.yahoo.com 2 4 5 The process can be iterated until the local authoritative name server is found and responds Local name server bristol.cs.unc.edu 1 6 Requesting host swift.cs.unc.edu

DNS Name Servers Caching and updating DNS entries Root name server a.root-servers.net Every server caches all the mappings it learns Cache entries are “soft state” They timeout (are deleted) after some time period Authoritative name server dns.yahoo.com 3 www.yahoo.com 2 4 5 DNS cache update/notify mechanisms under design by the IETF See RFC 2136 Local name server bristol.cs.unc.edu 1 6 Requesting host swift.cs.unc.edu

DNS Name Servers DNS resource records RR format: <name, value, type, time_to_live> The DNS is a distributed database storing resource records (RRs) Type = A name is a hostname value is hostname’s IP address Type = CNAME name is an alias name for some “canonical” (the real) name value is canonical name Type = NS name is a domain value is name of authoritative name server for this domain Type = MX value is name of mail server host associated with name

DNS Protocol DNS query and reply messages DNS query and reply messages both have the same message format Identification Flags Number of questions Number of authority RRs Number of answer RRs Number of additional RRs Questions (variable number) Answers (variable number of records) Authority Additional Information 12 bytes Messages have a fixed length message header Identification — 16 bit query/reply identifier used to match relies to queries Flags: Query/Reply bit “Reply is authoritative” bit “Recursion desired” bit .... variable

DNS Protocol DNS query and reply messages Messages have a variable-length “question & answer” body Identification Flags Number of questions Number of authority RRs Number of answer RRs Number of additional RRs Questions (variable number) Answers (variable number of records) Authority Additional Information 12 bytes Questions: The name and type fields (type A or MX) for a query — hotmail.com MX Answers: One RR for each IP address answering query Authority: Resource records of other authoritative servers variable

DNS Resource Records nslookup query/reply message example (parris) 101> nslookup > set debug > www.yahoo.com Server: bristol.cs.unc.edu Address: 152.2.131.228 QUESTIONS: www.yahoo.com, type = A, class = IN

DNS Resource Records nslookup query/reply message example ANSWERS: -> www.yahoo.com canonical name = www.yahoo-ht3.akadns.net -> www.yahoo-ht3.akadns.net internet address = 69.147.114.210 AUTHORITY RECORDS: -> akadns.net nameserver = zc.akadns.org. nameserver = zd.akadns.org. nameserver = eur1.akadns.net. nameserver = use3.akadns.net. nameserver = use4.akadns.net. nameserver = usw2.akadns.net. nameserver = asia9.akadns.net. nameserver = za.akadns.org. nameserver = zb.akadns.org.

DNS Resource Records nslookup query/reply message example ADDITIONAL RECORDS: -> za.akadns.org internet address = 195.219.3.169 -> zb.akadns.org internet address = 206.132.100.105 -> zc.akadns.org internet address = 124.211.40.4 -> zd.akadns.org internet address = 63.209.3.132 -> eur1.akadns.net internet address = 213.254.204.197 -> use3.akadns.net internet address = 204.2.178.133 -> use4.akadns.net internet address = 208.44.108.137 -> usw2.akadns.net -> asia9.akadns.net internet address = 220.73.220.4 Non-authoritative answer: www.yahoo.com canonical name = www.yahoo-ht3.akadns.net. Name: www.yahoo-ht3.akadns.net Address: 69.147.114.210

DNS Example DNS processing for an iterated query Resolve the hostname in http://www.cnn.com QUERY: www.cnn.com root REPLY: com (NS) com QUERY: www.cnn.com edu REPLY: cnn.com (NS) net QUERY: www.cnn.com cnn REPLY: 207.25.71.28 QUERY: www.cnn.com REPLY: 207.25.71.28(A) Local Server com. NS A.ROOT-SERVERS.NET 198.41.0.1 cnn.com NS DNS.CNN.COM 128.2.232.1 www.cnn.com A 207.25.71.28

DNS Example DNS processing for an iterated query Resolve the hostname www2.cnn.com with a warm cache root com edu net QUERY: www2.cnn.com cnn REPLY: 66.40.26.232 QUERY: www2.cnn.com REPLY: 66.40.26.232(A) Local Server com. NS A.ROOT-SERVERS.NET 198.41.0.1 cnn.com NS DNS.CNN.COM 128.2.232.1 www.cnn.com A 207.25.71.28 www2.cnn.com A 66.40.26.232

The Domain Name System Summary F gets 270,000,000+ hits per day Other servers have comparable load The Verisign TLD servers answer 5,000,000,000 queries per day Clearly the DNS would collapse without: Hierarchy Distributed processing Caching If DNS fails, Internet services stop working!