1 Lecture #1 DNS: Domain Name System HAIT Summer 2005 Shimrit Tzur-David.

Slides:



Advertisements
Similar presentations
EECS122 - UCB 1 CS 194: Distributed Systems: Naming Computer Science Division Department of Electrical Engineering and Computer Sciences University of.
Advertisements

Domain Name System. DNS is a client/server protocol which provides Name to IP Address Resolution.
 This Class  Chapter 9  Next Class  Wrap up this semester  Demo/discuss programming assignments  Review what we have learned  Questionnaire/Feedback.
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.
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). 2 DNS: Domain Name System Internet hosts, routers: –IP address (32 bit) - used for addressing datagrams –“name”, e.g., gaia.cs.umass.edu.
1 K. Salah Module 2.2: Domain Name System IP assigns 32-bit addresses to hosts (interfaces) –Binary addresses easy for computers to manage –All applications.
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.
1 An Overview of Applications Xin Liu ECS 152A Ref: slides by J. Kurose and K. Ross.
CPSC 441: DNS1 Instructor: Anirban Mahanti Office: ICT Class Location: ICT 121 Lectures: MWF 12:00 – 12:50 Notes derived.
DOMAIN NAME SYSTEM. Introduction  There are several applications that follow client server paradigm.  The client/server programs can be divided into.
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.
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.
Domain names and IP addresses Resolver and name server DNS Name hierarchy Domain name system Domain names Top-level domains Hierarchy of name servers.
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.
1 Application Layer Lecture 6 Imran Ahmed University of Management & Technology.
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.
CSE 524: Lecture 5 Application layer protocols. Where we’re at… ● Internet architecture and history ● Internet protocols in practice ● Application layer.
Chapter 29 Domain Name System (DNS) Allows users to reference computer names via symbolic names translates symbolic host names into associated IP addresses.
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.
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)
Lecture 5: Web Continued 2-1. Outline  Network basics:  HTTP protocols  Studies on HTTP performance from different views:  Browser types [NSDI 2014]
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,
1. Internet hosts:  IP address (32 bit) - used for addressing datagrams  “name”, e.g., ww.yahoo.com - used by humans DNS: provides translation between.
COMP 431 Internet Services & Protocols
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.
1 Chapter 10: Application Layer Reference: Chapter 7 - “Computer Networks”, Andrew S. Tanenbaum, 4th Edition, Prentice Hall, 2003.
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.
Networking Applications
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
Cookies, Web Cache & DNS Dr. Adil Yousif.
EE 122: Domain Name Server (DNS)
Domain Name System (DNS)
Chapter 19 DNS (Domain Name System)
DNS: Domain Name System
Domain Name System Refs: Chapter 9 RFC 1034 RFC 1035.
FTP, SMTP and DNS 2: Application Layer.
Presentation transcript:

1 Lecture #1 DNS: Domain Name System HAIT Summer 2005 Shimrit Tzur-David

2 Motivation Internet hosts, mailboxes, and other resources have a network address (IP). Imagine that in order to visit ‘ynet’ you would need to remember the ‘ynet’ server IP address. For that reason, any internet host, mailbox, and other resource has also a name. In the ‘ynet’ example –ynet.co.il.ynet.co.il IP address (32 bit) - used for addressing datagrams “name” - used by humans.

3 Motivation – Cont. Sending to means that if Yossi's ISP or organization moves the mail server to a different machine with a different IP address, his e- mail address has to change. ASCII names were introduced to decouple machine names from machine addresses. In this way, Yossi's address might be something like The network itself understands only numerical addresses, so some mechanism is required to convert the ASCII strings to network addresses. This is the role of the DNS.

4 History At the first solution, there was simply a file, hosts.txt, that listed all the hosts and their IP addresses. Every night, all the hosts would fetch it from the site at which it was maintained. For a network of a few hundred machines, this approach worked reasonably well. Few years later, thousands of minicomputers and PCs were connected to the net and this solution was no longer applicable for two reasons: –The size of hosts.txt –Host names conflicts

5 DNS Definition Invention of a hierarchical, domain-based naming scheme and a distributed database system for implementing naming scheme. It is primarily used for mapping host names and destinations to IP addresses but can also be used for other purposes.

6 Mapping Name to IP Address An application program calls a library procedure called the resolver, passing it the name as a parameter. An example of a resolver is gethostbyname. The resolver sends a UDP packet to a local DNS server, which then looks up the name and returns the IP address to the resolver, which then returns it to the caller. The program can now establish a TCP/UDP connection with the destination.

7 Analogy In the postal system, name management is done by requiring letters to specify the country, state or province, city, and street address of the addressee. By using this kind of hierarchical addressing, there is no confusion between the Marvin Anderson on Main St. in White Plains, N.Y. and the Marvin Anderson on Main St. in Austin, Texas. DNS works the same way.

8 Main Idea The Internet is divided into over 200 top-level domains. Each domain covers many hosts. Each domain is partitioned into sub-domains, and these are further partitioned, and so on. The domains can be represented by a tree.

9 The Domains Tree The leaves of the tree represent domains that have no sub- domains. A leaf domain may contain a single host, or it may represent a company and contain thousands of hosts.

10 Architecture The top-level domains come in two flavors: –generic –countries The original generic domains were com (commercial), edu (educational institutions), gov (the U.S. Federal Government), int (certain international organizations), mil (the U.S. armed forces), net (network providers), and org (nonprofit organizations). The country domains include one entry for every country.

11 Domains Names Each domain is named by the path upward from it to the root. The components are separated by periods. This hierarchical naming means that eng.sun.com (the engineering department at Sun Microsystems) does not conflict with a potential use of eng in eng.yale.edu., which might be used by the Yale English department. Domain names can be either absolute or relative. In both cases, a named domain refers to a specific node in the tree and all the nodes under it. Domain names are case insensitive.

12 Name Servers Why can’t we have a single name server that contains the entire DNS database and respond to all queries about it? –single point of failure. –traffic volume. –distant centralized database. –maintenance If it ever went down, the entire Internet would be crippled. No server has all name-to-IP address mappings.

13 Name Servers – Cont. The DNS name space is divided into non-overlapping zones. Each zone has a local name server. local name servers: –each ISP has local (default) name server –host DNS query first goes to local name server authoritative name server: –for a host: stores that host’s IP address and name –can perform name/address translation for that host’s name

14 The Client Access to the DNS is through a resolver. On Unix hosts the resolver is accessed primarily through two library functions: –Gethostbyname : takes a hostname and returns an IP address. – Gethostbyaddr: takes an IP address and looks up a hostname. When a resolver has a query about a domain name, it passes the query to one of the local name servers to do the mapping.

15 Serving a Request If the domain being sought falls under the jurisdiction of the name server, such as ai.cs.yale.edu falling under cs.yale.edu, it returns the authoritative resource records. Authoritative record - a record that comes from the authority that manages the record and is thus always correct. If the domain is remote and no information about the requested domain is available locally, the name server sends a query message to the top-level name server for the domain requested (root domain).

16 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 b USC-ISI Marina del Rey, CA l ICANN Marina del Rey, CA e NASA Mt View, CA f Internet Software C. Palo Alto, CA i NORDUnet Stockholm k RIPE London m WIDE Tokyo a NSI Herndon, VA c PSInet Herndon, VA d U Maryland College Park, MD g DISA Vienna, VA h ARL Aberdeen, MD j NSI (TBD) Herndon, VA 13 root name servers worldwide

17 Recursive Query Each server that does not have the requested information goes and finds it somewhere, then reports back. The path of the response is the same as the path of the request. When a DNS client fails to get a response before its timer goes off, it normally will try another server next time. heavy load? Puts burden of name resolution on contacted name server.

18 Example 1 host s urf.eurecom.fr wants IP address of gaia.cs.umass.edu 1. contacts its local DNS server, dns.eurecom.fr 2. dns.eurecom.fr contacts root name server, if necessary 3. root name server contacts authoritative name server, dns.umass.edu, if necessary authorititive name server dns.umass.edu requesting host surf.eurecom.fr gaia.cs.umass.edu root name server local name server dns.eurecom.fr

19 Example 2 Root name server: may not know authoritative name server may know intermediate name server: who to contact to find authoritative name server requesting host surf.eurecom.fr gaia.cs.umass.edu root name server local name server dns.eurecom.fr authoritative name server dns.cs.umass.edu intermediate name server dns.umass.edu 7 8

20 Iterated Queries When a query cannot be satisfied locally, the query fails, but the name of the next server along the line to try is returned. Contacted server replies with name of server to contact. “I don’t know this name, but ask this server” This is the default use of DNS. Why?

21 Example requesting host surf.eurecom.fr gaia.cs.umass.edu root name server local name server dns.eurecom.fr authoritative name server dns.cs.umass.edu intermediate name server dns.umass.edu 7 8 iterated query

22 DNS Services Name and IP addresses mapping Host aliasing - relay1.west-coast.enterprise.com (canonical)  enterprise.com mail server aliasing -  load distribution - directing traffic to different sites

23 Caching and Updating Records Once (any) name server learns mapping, it caches the mapping in case it will be needed later. This information is not authoritative (changes are not propagated to all the caches). Cache entries should not live too long. At each entry in the cache the is a Time_to_live field that tells remote name servers how long to cache records.

24 Resource Records Every domain can have a set of resource records associated with it. For a single host, the most common resource record is just its IP address, but many other kinds of resource records also exist. When a resolver gives a domain name to DNS, it gets back the resource records associated with that name. The primary function of DNS is to map domain names onto resource records.

25 Resource Records Format A resource record is a five-tuple: Domain_name Time_to_live Type Class Value Domain_name - the domain to which this record applies. Time_to_live - gives an indication of how stable the record is. Class – Always IN (for Internet) Value – the value of the record.

26 Resource Records Type Type – the type of the record.

27 Resource Records Type – Cont. Soa - the primary source of information. A – name is hostname, value is IP address. MX - value is name of mail-server associated with name NS - name is domain (e.g. foo.com), value is IP address of authoritative name server for this domain. CNAME - name is alias name for some “canonical” (the real) name, is really servereast.backup2.ibm.com, value is the canonical name. HINFO - what kind of machine and operating system a domain corresponds to. TXT - allow domains to identify themselves in arbitrary ways.

28 Resource Records - Example where the domain is located (2 lines) Basic information places to try to deliver Sun workstation running UNIX IP addresses places to try to deliver

29 Protocol & Messages DNS protocol : query and reply messages, both with same message format. msg header identification: 16 bit # reply to query uses same # as the query id. flags: –query or reply –recursion desired –recursion available –reply is authoritative

30 Protocol & Messages - Cont Name, Type & Class fields for a query RRs in reponse to query records for authoritative servers additional “helpful” info that may be used. For example, A RRs referred by new NS should be presented here.

31 DNS query example A query for the IP-address of pc2.cs.ucdavis.edu: Name Type: A = 1 Class: IN = 1

32 LDAP DNS is extremely important to the correct functioning of the Internet. DNS does not help locate people, resources, services, or objects in general. LDAP (Lightweight Directory Access Protocol) - locating these things. It organizes information as a tree and allows searches on different components. It can be regarded as a ''white pages'' telephone book.

33 LDAP-Aware A client programs that can ask LDAP servers to look up entries in a wide variety of ways. LDAP servers index all the data in their entries, and "filters" may be used to select just the person or group the client want For example, here's an LDAP search translated into plain English: "Search for all people located in Chicago whose name contains "Fred" that have an address. Please return their full name, , title, and description."

34 LDAP Permissions "Permissions" are set by the administrator to allow only certain people to access the LDAP database. There is an option to keep certain data private. LDAP servers also provide "authentication" service, so that web, , and file-sharing servers can use a single list of authorized users and passwords.