Lec- 26 Domain Name System (DNS) Muhammad Waseem Iqbal.

Slides:



Advertisements
Similar presentations
TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 22 World Wide Web and HTTP.
Advertisements

Domain Name System. DNS is a client/server protocol which provides Name to IP Address Resolution.
PART 6 Application Layer
Kyung Hee University 1 1 Application Layer. 2 Kyung Hee University Position of Application Layer.
Hypertext Transfer Protocol Kyle Roth Mark Hoover.
The Internet Useful Definitions and Concepts About the Internet.
Web Servers How do our requests for resources on the Internet get handled? Can they be located anywhere? Global?
McGraw-Hill©The McGraw-Hill Companies, Inc., Chapter 25 Domain Name System.
Application Layer At long last we can ask the question - how does the user interface with the network?
World Wide Web1 Applications World Wide Web. 2 Introduction What is hypertext model? Use of hypertext in World Wide Web (WWW) – HTML. WWW client-server.
Domain Name System: DNS
Chapter 27 HTTP and WWW.
CP476 Internet Computing Browser and Web Server 1 Web Browsers A client software program that allows you to access and view Web pages on the Internet –Examples.
TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 19 Domain Name System (DNS)
1 System support & Management Protocols Lesson 13 NETS2150/2850 School of Information Technologies.
25.1 Chapter 25 Domain Name System Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
DOMAIN NAME SYSTEM. Introduction  There are several applications that follow client server paradigm.  The client/server programs can be divided into.
Domain Name System ( DNS )  DNS is the system that provides name to address mapping for the internet.
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.
Chapter 25 Domain Name System
Web Client/Server Communication A290/A590, Fall /09/2014.
Ch25 Ameera Almasoud 1 Based on Data Communications and Networking, 4th Edition. by Behrouz A. Forouzan, McGraw-Hill Companies, Inc., 2007.
INTRODUCTION TO WEB DATABASE PROGRAMMING
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
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.
Chapter 33 CGI Technology for Dynamic Web Documents There are two alternative forms of retrieving web documents. Instead of retrieving static HTML documents,
27.1 Chapter 27 WWW and HTTP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
25.1 Chapter 25 Domain Name System Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2000 Network Protocols Chapter 25 (Data Communication & Networking Book): Domain Name System (DNS) 1.
Chapter 17 Domain Name System
1 Application Layer Lecture 6 Imran Ahmed University of Management & Technology.
Sistem Jaringan dan Komunikasi Data #9. DNS The Internet Directory Service  the Domain Name Service (DNS) provides mapping between host name & IP address.
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.
Fall 2006Computer Networks25-1 Chapter 25. Domain Name System 25.1 Name Space 25.2 Domain Name Space 25.3 Distribution of Name Space 25.4 DNS in the Internet.
Domain Name System CH 25 Aseel Alturki
1 Kyung Hee University Chapter 18 Domain Name System.
TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 19 Domain Name System (DNS)
Chapter 29 World Wide Web & Browsing World Wide Web (WWW) is a distributed hypermedia (hypertext & graphics) on-line repository of information that users.
1 WWW. 2 World Wide Web Major application protocol used on the Internet Simple interface Two concepts –Point –Click.
27.1 Chapter 27 WWW and HTTP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
27.1 Chapter 27 WWW and HTTP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Internet Applications (Cont’d) Basic Internet Applications – World Wide Web (WWW) Browser Architecture Static Documents Dynamic Documents Active Documents.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Chapter 25 Domain Name System.
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.
27.1 Chapter 27 WWW and HTTP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
1 Chapter 22 World Wide Web (HTTP) Chapter 22 World Wide Web (HTTP) Mi-Jung Choi Dept. of Computer Science and Engineering
TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 22 World Wide Web and HTTP.
Domain Name System. McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 So what is DNS Resolution? DNS Resolution is the procedure used to resolve a IP.
TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Internet Protocol Version4 (IPv4)
Domain Name System: DNS To identify an entity, TCP/IP protocols use the IP address, which uniquely identifies the Connection of a host to the Internet.
1 Chapter 1 INTRODUCTION TO WEB. 2 Objectives In this chapter, you will: Become familiar with the architecture of the World Wide Web Learn about communication.
Networking Applications
CS 372 COMPUTER COMMUNICATION AND NETWORKS
Application layer Lecture 7.
Chapter 25 Domain Name System.
WWW and HTTP King Fahd University of Petroleum & Minerals
Chapter 25 Domain Name System.
Chapter 27 WWW and HTTP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Net 323 D: Networks Protocols
Chapter 19 Domain Name System (DNS)
Chapter 27 WWW and HTTP.
Application layer Lecture 7.
Chapter 25 Domain Name System
Chapter 25 Domain Name System.
Chapter 25 Domain Name System
Chapter 27 WWW and HTTP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Domain Name System: DNS
Computer Networks Primary, Secondary and Root Servers
Computer Networks Presentation
Presentation transcript:

Lec- 26 Domain Name System (DNS) Muhammad Waseem Iqbal

IP address identifies the connection of a host to the Internet. People prefer names instead of IP. Host file: maps name and address; stored in local disk; Any program can consult the host file. With large number of users, it is not possible to have all the host name mappings in a single file. Divide this huge amount of information into small parts and store each part on a different computer  DNS. Namespace: Names must be unique like IP addresses. A name space that maps each address to a unique name can be organized as: flat or hierarchical

Flat name space A name is assigned to an address. Name is a sequence of characters without structure Due to central control for ambiguity, this is not possible on huge networks like Internet. Hierarchical Name space Each name is made of several parts. 1 st part is nature of organization, 2 nd part is name, … Central authority takes control of 1 st and 2 nd part only. No need to worry of internal names or host names. Ex. Kfupm.edu.sa & ccse.kfupm.edu.sa

Figure-1 Domain Name Space Names are defined in an inverted-tree structure with the root at the top. Can have 128 levels: level 0 (root) to level 127. Label: Each node in the tree has a level Maximum of 63 characters. Root label is a null string (empty string). Children of a node have different labels.

Figure-2 Domain Names and Labels Full domain name is a sequence of labels separated by dots. Domain names are always read from the node up to the root. Last label is the label of root (null). So, full domain name always ends in a null label [means dot].

Figure-3 FQDN and PQDN Fully Qualified Domain Name (FQDN) Label is terminated by a null string. Contains the full name of a host. Partially Qualified Domain Name (PQDN) Not terminated by a null string. PQDN starts from a node, but it does not reach the root. Used when the name to be resolved belongs to the same site as the client. Resolver supplies the missing part called as suffix.

Figure-4 Domains Domain: Sub-tree of the domain name space. Name of the domain is the domain name of the node at the top of the sub-tree. A domain can be divided into sub-domains.

Distribution of Name Space If information is stored in one machine, the requests will overload the machine. Hierarchy of name servers Distribute among DNS servers. Let root stand alone and create as many domains (subtrees) as there are first-level nodes. Each server can be responsible (authoritative) for either a large or a small domain. Fig-5

Root Server: Server whose zone consists of the whole tree. It does not store any information about domains but delegates its authority to other servers. Keeps reference to other servers. There are 13 root servers. Primary server: A primary server loads all information from the disk file, for which it is an authority; Responsible for creating, maintaining, and updating the zone file. Secondary server loads all information from the primary server; Neither creates nor updates the zone files; create redundancy.

Figure-6 DNS in the Internet Generic Domains Registered hosts according to their generic behaviour. Each node in the tree defines a domain, which is an index to the domain name space database. First level in the generic domain section allows seven possible three-character labels.

Figure-7 Generic domains

Table-1 Generic Domain Labels LabelDescription comCommercial organizations eduEducational institutions govGovernment institutions intInternational organizations milMilitary groups netNetwork support centers orgNonprofit organizations

Table-2 New generic domain labels LabelDescription aeroAirlines and aerospace companies bizBusinesses or firms (similar to com) coopCooperative business organizations infoInformation service providers museumMuseums and other nonprofit organizations namePersonal names (individuals) proProfessional individual organizations

Figure-8 Country domains Country domain section follows the same format as the generic domains but uses two-character country abbreviations. Second level labels can be organizational or more specific, national designations.

Resolution Mapping a name to an address or an address to a name is called name-address resolution. Resolver A host that needs to map an address to a name or a name to an address calls a DNS client named a resolver. Resolver contacts the closest DNS server for mapping. If the server has the info, it replies; otherwise, it either refers to the resolver to other servers or asks other servers to provide the information. After the resolver receives the mapping, it interprets the response to see if it a real resolution or an error and finally delivers the result to the process that requested it.

Mapping names to addresses Resolver gives a domain name to the server and asks for the corresponding address. The server checks the generic domains or the country domains to find the mapping. Mapping addresses to names Client can send an IP address to a server to be mapped to a domain name. DNS uses inverse domain. Recursive Resolution Resolver can ask for a recursive answer from a name server Resolver expects the server to supply the final answer. If server is the authority, it checks its database and replies. If server is not the authority, it sends the request to another server (the parent usually) and waits for the response. If the parent is the authority, it responds; otherwise, it sends the query to yet another server. When the query is finally resolved, the response travels back until it finally reaches the requesting client.

Figure-9 Recursive resolution

Figure-10 Iterative resolution If server is authority, it sends the answer. If server is not authority, it returns the IP address of the server that it thinks can resolve the query. The client is responsible for repeating the query to this second server.

HTTP and WWW

HTTP Hypertext Transfer Protocol (HTTP) is used mainly to access data on the World Wide Web. It can jump from one document to another Functions like FTP and SMTP Transfers files and uses services of TCP; Uses TCP port 80 Transfer data between client and server HTTP information is read and interpreted by HTTP server and HTTP client

Figure-11 HTTP Transaction HTTP itself is a stateless protocol Client initializes the transaction by sending a request message. Server replies by sending a response. Two types of HTTP messages Request Response

Figure -12 Request Message Request line Request type Uniform Resource Locator (URL): address of the web page Method: Protocol used to retrieve the document. Host computer: Name of the computer where the information is located Port: [Optional] Port number of server Path: Path name of the file where the information is located. Version: HTTP 1.1 OR 1.0 OR 0.9 Headers Body

Figure-13 Request line URL

Methods Request method is the actual command or request that a client issues to the server GET: Client wants to retrieve a document from server HEAD: client wants information about a document and not the document itself. POST: Client provides information to the server. PUT: Client provides a document to the server. PATCH: similar to PUT but only with differences that should be implemented in existing file. COPY: Copies a file to another location. Source is in request line and destination is in entity header. MOVE: Moves a file to another location. DELETE: Removes a document from server. LINK: Creates a link or links from a document to another location. UNLINK: Deletes links created by LINK method. OPTION: Used by client to ask the server about available options.

Proxy Server HTTP support Proxy server. Proxy server is a computer that keeps copies of responses to recent requests. If proxy server is present, HTTP client sends a request to proxy server and the proxy server checks its cache. If the response is not stored in cache, the proxy server sends the request to corresponding server. Incoming responses are sent to proxy server and stored for further requests from other clients. Reduces load on original sever, decreases traffic, and improves latency.

Figure-14 Distributed services World wide web (WWW) Repository of information spread all over the world. Unique combination of flexibility, portability and user friendliness. WWW today is a distributed client-server service, in which a client using a browser can access a service using a server. However, the service provided is distributed over many locations called websites.

Figure-15 Hypertext Linking of documents is done using pointers Hypertext documents only contain text, hypermedia documents can contain pictures, graphics, and sound Unit of hypertext or hypermedia available on web is called a page. The main page for an organization or an individual is called homepage.

Figure-16 Browser architecture Browser has three parts Controller: receives input from keyboard or mouse and uses the client programs to access the document. Client programs Interpreters: After the document has been accessed, the controller use one of the interpreters to display the document on the screen; HTML or Java.

Figure-17 Categories of Web documents Static documents Fixed-content documents that are created and stored in the server. Client can get only the copy of the document. The contents in the server can be changed, but the user cannot change it.

Figure-18 Static Document

Figure-19 Dynamic Document Dynamic documents do not exist in a predefined format. Dynamic document is created by a Web server whenever a browser requests the document. When a request arrives, the Web server runs an application program that creates the dynamic document. The server returns the output of the program as a response to the browser that requested the document. As fresh document is created for each request, the contents of a dynamic document can vary from one request to another. Example is getting date and time from the server.

Steps involved in handling dynamic documents. Server examines the URL to find if it defines a dynamic document. URL defines a dynamic document, the server executes the program. Sends the output of the program to the client (browser). Common Gateway Interface (CGI) Technology that creates and handles dynamic documents. CGI is a set of standards that defines how a dynamic document should be written, how input data should be supplied to the program, and how the output result should be used. Can use C, C++, Perl, … Use of common in CGI indicates that the standard defines a set of rules that are common to any language or platform. Gateway here means that a CGI program is a gateway that can be used to access other resources such as databases and graphics packages. Interface means that there is a set of predefined terms, variables, calls, and so on that can be used in any CGI program.

Figure-20 Active document For active documents, we need a program to be run at the client side. For example, to run animations. When a browser requests an active document, the server sends a copy of the document in the form of byte code. The document is then run at the client (browser) site; the client can store this document in its own storage area also. Active document is stored in binary code in the server.

Creation, compilation and execution At server site, programmer writes a program, in source code, and stores it in a file. Compile the code into byte code. Path name of the file is the one used by a URL to refer to the file. In this file, each program command (statement) is in binary form, and each identifier (variable, constants, function names, and so on) is referred to by a binary offset address. Client (browser) requests a copy of the binary code, which is probably transported in compressed form from the server to the client (browser). Client (browser) uses its own software to change the binary code into executable code. The software links all the library modules and makes it ready for execution. Client (browser) runs the program and creates the result that can include animation or interaction with the user.