[Prof. Rupesh G Vaishnav] Page 1

Similar documents
Chapter 7 (Week 13) The Application Layer ANDREW S. TANENBAUM COMPUTER NETWORKS FOURTH EDITION PP BLM431 Computer Networks Dr.

Computer Network 1 1

Outline. EEC-484/584 Computer Networks. Slow Start Algorithm. Internet Congestion Control Algorithm

The Application Layer

CCNA Exploration1 Chapter 3: Application Layer Functionality and Protocols

Chapter 7. The Application Layer. DNS The Domain Name System. DNS Resource Records. The DNS Name Space Resource Records Name Servers

EEC-682/782 Computer Networks I

Electronic Mail (SMTP)

OSI Model. Hybrid Model. Software outside the operating system Software inside the operating system. Only Internet addresses used

System: Basic Functionality

Electronic Mail. Electronic Mailboxes

APPLICATION LAYER APPLICATION LAYER : DNS, HTTP, , SMTP, Telnet, FTP, Security-PGP-SSH.

Chapter 10: Application Layer CCENT Routing and Switching Introduction to Networks v6.0

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

CCNA Exploration Network Fundamentals. Chapter 03 Application Functionality and Protocols

Traditional Internet Applications

2. Introduction to Internet Applications

Computing Parable. New Topic: Naming

Today: Naming. Example: File Names

FTP,HTTP. By Nidhi Jindal

Application Layer: OSI and TCP/IP Models

Chapter 10: Application Layer

Chapter 4. Internet Applications

Electronic Mail

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

Motivation For Networking. Information access Interaction among cooperative application programs Resource sharing

Oversimplified DNS. ... or, even a rocket scientist can understand DNS. Step 1 - Verify WHOIS information

WEB TECHNOLOGIES CHAPTER 1

New Topic: Naming. Approaches

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

Internet Architecture

Computer Networking: Applications George Blankenship. Applications George Blankenship 1

Lecture 25. Tuesday, November 21 CS 475 Networks - Lecture 25 1

Protocol Classification

Electronic Mail Paradigm

Electronic Mail. Three Components: SMTP SMTP. SMTP mail server. 1. User Agents. 2. Mail Servers. 3. SMTP protocol

A DNS Tutorial

Objective. Application Layer Functionality and Protocols. CCNA Exploration 4.0 Network Fundamentals Chapter 03. Universitas Dian Nuswantoro

Mail agents. Introduction to Internet Mail. Message format (1) Message format (2)

Application Level Protocols

Unit 28 Website Production ASSIGNMENT 1

Internet Architecture. Web Programming - 2 (Ref: Chapter 2) IP Software. IP Addressing. TCP/IP Basics. Client Server Basics. URL and MIME Types HTTP

Networking Revision. TCP/IP Protocol Stack & OSI reference model. Basic Protocols. TCP/IP Model ANTHONY KAO NETWORKING FINAL EXAM SPRING 2014 REVISION

is still the most used Internet app. According to some studies around 85% of Internet users still use for communication.

Computer Networks. More on Standards & Protocols Quality of Service. Week 10. College of Information Science and Engineering Ritsumeikan University

Networking Applications

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

DNS Basics BUPT/QMUL

FTP. Client Server Model. Kent State University Dept. of Computer Science. CS 4/55231 Internet Engineering. Server Models

Information Network Systems The application layer. Stephan Sigg

Introduction to Internet Mail. Philip Hazel. University of Cambridge Computing Service. Mail agents

ECE 435 Network Engineering Lecture 7

Naming. Naming entities

Produced by. Mobile Application Development. Higher Diploma in Science in Computer Science. Eamonn de Leastar

Web Mechanisms. Draft: 2/23/13 6:54 PM 2013 Christopher Vickery

DNS Management with Blue Cat Networks at PSU

CMPE 151: Network Administration. Servers

3. WWW and HTTP. Fig.3.1 Architecture of WWW

Applications & Application-Layer Protocols: (SMTP) and DNS

CHAPTER 22 DISTRIBUTED APPLICATIONS ANSWERS TO QUESTIONS ANSWERS TO PROBLEMS

Linux Network Administration

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

COSC 2206 Internet Tools. The HTTP Protocol

Naming. Chapter 4. Naming (1) Name resolution allows a process to access a named entity. A naming system is necessary.

Computer Networks. Wenzhong Li. Nanjing University

Internet Content Distribution

Networking Basics. EC512 Spring /15/2015 EC512 - Prof. Thomas Skinner 1

Electronic Mail. Prof. Indranil Sen Gupta. Professor, Dept. of Computer Science & Engineering Indian Institute of Technology Kharagpur

How to Add Domains and DNS Records

Network Applications Principles of Network Applications

Computer Networking. Chapter #1. Dr. Abdulrhaman Alameer

Ciphermail Webmail Messenger Administration Guide

WWW: the http protocol

Computer Engineering II Solution to Exercise Sheet Chapter 4

Introduction to Network. Topics

Networking Fundamentals: IP, DNS, URL, MIME

DNS and SMTP. James Walden CIT 485: Advanced Cybersecurity. James WaldenCIT 485: Advanced Cybersecurity DNS and SMTP 1 / 31

Project 2 Implementing a Simple HTTP Web Proxy

Fig (1) sending and receiving s

CCNA R&S: Introduction to Networks. Chapter 10: The Application Layer

The Application Layer: & SMTP

Project 2 Group Project Implementing a Simple HTTP Web Proxy

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

Chapter 2. Application Layer

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

Lecture 3. HTTP v1.0 application layer protocol. into details. HTTP 1.0: RFC 1945, T. Berners-Lee HTTP 1.1: RFC 2068, 2616

Configuring DNS. Finding Feature Information

CCNA 1 v3.11 Module 11 TCP/IP Transport and Application Layers

How to Configure the DNS Server

Networking: Application Layer

How to Configure DNS Zones

Domain Name Service. Product Description. Issue 03 Date HUAWEI TECHNOLOGIES CO., LTD.

Session 2. Background. Lecture Objectives

Outline NET 412 NETWORK SECURITY PROTOCOLS. Reference: Lecture 7: DNS Security 3/28/2016

Documentation for: MTA developers

Parallelism. Master 1 International. Andrea G. B. Tettamanzi. Université de Nice Sophia Antipolis Département Informatique

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

Special expressions, phrases, abbreviations and terms of Computer Networks

Chapter 2: Application layer

Systèmes Distribués. Master MIAGE 1. Andrea G. B. Tettamanzi. Université de Nice Sophia Antipolis Département Informatique

Transcription:

Q-1 Explain DNS (Domain Name System) in detail with example. OR Explain : DNS and its advantages DNS is an internet service that translates domain names into IP addresses. Because domain names are alphabetic, they're easier to remember. The Internet however, is really based on IP addresses. Every time you use a domain name, therefore, a DNS service must translate the name into the corresponding IP address. For example, the domain name www.example.com might translate to 198.105.232.4. The DNS system is, in fact, its own network. If one DNS server doesn't know how to translate a particular domain name, it asks another one, and so on, until the correct IP address is returned. DNS is the invention of a hierarchical, domain-based naming scheme and a distributed database system for implementing this naming scheme. The DNS Name Space The Internet is divided into over 200 top-level domains, where each domain covers many hosts. Each domain is partitioned into subdomains, and these are further partitioned, and so on. All these domains can be represented by a tree, as shown in Figure. Figure: A portion of the Internet domain name space The leaves of the tree represent domains that have no subdomains (but do contain machines, of course). A leaf domain may contain a single host, or it may represent a company and contain thousands of hosts. The top-level domains come in two flavors: generic and countries. Each domain is named by the path upward from it to the (unnamed) root. The components are separated by periods (pronounced ''dot''). Thus, the engineering department at Sun Microsystems might be eng.sun.com., rather than a UNIXstyle name such as /com/sun/eng. Notice that this hierarchical naming means that eng.sun.com. 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. An absolute domain name always ends with a period (e.g., eng.sun.com.), whereas a relative one does not. Relative names have to be interpreted in some context to uniquely determine their true meaning. 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, so edu, Edu, and EDU mean the same thing. Component names can be up to 63 characters long, and full path names must not exceed 255 [Prof. Rupesh G Vaishnav] Page 1

characters. Each domain controls how it allocates the domains under it. For example, Japan has domains ac.jp and co.jp that mirror edu and com. The Netherlands does not make this distinction and puts all organizations directly under nl. Thus, all three of the following are university computer science departments: 1. cs.yale.edu (Yale University, in the United States) 2. cs.vu.nl (Vrije Universities, in The Netherlands) 3. cs.keio.ac.jp (Keio University, in Japan) Q-2 What is a resource record? How it is useful for DNS? Every domain, whether it is a single host or a top-level 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, what it gets back are the resource records associated with that name. Thus, the primary function of DNS is to map domain names onto resource records. A resource record is a five-tuple. Although they are encoded in binary for efficiency, in most expositions, resource records are presented as ASCII text, one line per resource record. The format we will use is as follows: Domain_name Time_to_live Class Type Value The Domain_name tells the domain to which this record applies. Normally, many records exist for each domain and each copy of the database holds information about multiple domains. This field is thus the primary search key used to satisfy queries. The order of the records in the database is not significant. The Time_to_live field gives an indication of how stable the record is. The third field of every resource record is the Class. For Internet information, it is always IN. For non-internet information, other codes can be used, but in practice, these are rarely seen. The Type field tells what kind of record this is. Type SOA A MX NS CNAME PTR Meaning The SOA record specifies that this server is authoritative for this zone. An authoritative server is the best source for data within a zone. The SOA record contains general information about the zone and reloads rules for secondary servers. There can be only one SOA record per zone. The A record specifies the IP address of this host. A record is used to resolve a query for the IP address of a specific domain name. The MX record defines a mail exchanger host for mail sent to this domain. These records are used by SMTP (Simple Mail Transfer Protocol) to locate hosts that will process or forward mail for this domain, along with preference values for each mail exchanger host. Each mail exchanger host must have a corresponding host address (A) records in a valid zone. The NS record specifies an authoritative name server for this host. The CNAME record specifies the actual domain name of this object. When DNS queries an aliased name and finds a CNAME record pointing to the canonical name, it then queries that canonical domain name. The PTR record specifies the domain name of a host for which you want a PTR record defined. PTR records allow a host name lookup, given an IP address. [Prof. Rupesh G Vaishnav] Page 2

HINFO TXT The HINFO record specifies general information about a host machine. The TXT record specifies multiple strings of text, up to 255 characters long each, to be associated with a domain name. TXT records may be used along with responsible person (RP) records to provide information about who is responsible for a zone. Q-3 E-mail systems contain which two subsystems? Write the five basic functions provided by e-mail system and explain SMTP protocol. Electronic mail, most commonly referred to as email or e-mail is a method of exchanging digital messages from an author to one or more recipients. An Internet email message consists of three components, the message envelope, the message header, and the message body. The message header contains control information, including, minimally, an originator's email address and one or more recipient addresses. Usually descriptive information is also added, such as a subject header field and a message submission date/time stamp. They normally consist of two subsystems: the user agents, which allow people to read and send e- mail, and the message transfer agents, which move the messages from the source to the destination. The user agents are local programs that provide a command based, menu-based, or graphical method for interacting with the e-mail system. The message transfer agents are typically system daemons, that is, processes that run in the background. Five basic functions of E-mail: Composition refers to the process of creating messages and answers. Transfer refers to moving messages from the originator to the recipient. Reporting has to do with telling the originator about the message delivery status. Displaying incoming messages is needed so people can read their e-mail. Disposition is the final step and concerns what the recipient does with the message after receiving it. Possibilities include throwing it away before reading, throwing it away after reading, saving it, and so SMTP - The Simple Mail Transfer Protocol It is an Internet standard for electronic mail (e-mail) transmission across Internet Protocol (IP) networks. SMTP is specified for outgoing mail transport and uses TCP port 25. While electronic mail servers and other mail transfer agents use SMTP to send and receive mail messages User-level client mail applications typically only use SMTP for sending messages to a mail server for relaying. For receiving messages, client applications usually use either the Post Office Protocol (POP) or the Internet Message Access Protocol (IMAP) to access their mail box accounts on a mail server. [Prof. Rupesh G Vaishnav] Page 3

Mail processing model Email is submitted by a mail client (MUA, mail user agent) to a mail server (MSA, mail submission agent) using SMTP on TCP port 587. From there, the MSA delivers the mail to its mail transfer agent (MTA, mail transfer agent). Often, these two agents are just different instances of the same software launched with different options on the same machine. Local processing can be done either on a single machine, or split among various appliances. In the former case, involved processes can share files In the latter case, SMTP is used to transfer the message internally, with each host configured to use the next appliance as a smart host. Q-4 Write short note on POP3 and MIME. MIME (Multi-Purpose Internet Extension) The problems include sending and receiving e-mail. 1. Messages in languages with accents (e.g., French and German). 2. Messages in non-latin alphabets (e.g., Hebrew and Russian). 3. Messages in languages without alphabets (e.g., Chinese and Japanese). 4. Messages not containing text at all (e.g., audio or images). MIME defines five new message headers, as shown in table. The first of these simply tells the user agent receiving the message that it is dealing with a MIME message, and which version of MIME it uses. Any message not containing a MIME-Version: header is assumed to be an English plaintext message and is processed as such. [Prof. Rupesh G Vaishnav] Page 4

Table: headers added by MIME The Content-Description: header is an ASCII string telling what is in the message. This header is needed so the recipient will know whether it is worth decoding and reading the message. If the string says: ''Photo of Barbara's hamster'' and the person getting the message is not a big hamster fan, the message will probably be discarded rather than decoded into a high-resolution color photograph. The Content-Id: header identifies the content. It uses the same format as the standard Message-Id: header. The Content-Transfer-Encoding: tells how the body is wrapped for transmission through a network that may object to most characters other than letters, numbers, and punctuation marks. POP3 (Post Office Protocol Version 3) Figure: (a) Sending and reading mail when the receiver has a permanent Internet connection and the user agent runs on the same machine as the message transfer agent. (b) Reading e-mail when the receiver has a dial-up connection to an ISP. POP3 begins when the user starts the mail reader. The mail reader calls up the ISP (unless there is already a connection) and establishes a TCP connection with the message transfer agent at port 110. Once the connection has been established, the POP3 protocol goes through three states in sequence: Authorization. Transactions. Update. The authorization state deals with having the user log in. The transaction state deals with the user collecting the e-mails and marking them for deletion from the mailbox. The update state actually causes the e-mails to be deleted. [Prof. Rupesh G Vaishnav] Page 5

This behavior can be observed by typing something like: telnet mail.isp.com 110 Where mail.isp.com represents the DNS name of your ISP's mail server. Telnet establishes a TCP connection to port 110, on which the POP3 server listens. Upon accepting the TCP connection, the server sends an ASCII message announcing that it is present. Usually, it begins with +OK followed by a comment. Q-5 Explain the architectural overview of the WWW (world wide web). Figure: Architecture of World Wide Web From the users point of view, the Web consists of a vast, worldwide collection of content in the form of Web pages, often just called pages for short. Each page may contain links to other pages anywhere in the world. Users can follow a link by clicking on it, which then takes them to the page pointed to. This process can be repeated indefinitely. The idea of having one page point to another, now called hypertext. Pages are generally viewed with a program called a browser. Some parts of the page are associated with links to other pages. A piece of text, icon, and image, and so on associated with another page is called a hyperlink. Each page is fetched by sending a request to one or more servers, which respond with the contents of the page. The request-response protocol for fetching pages is a simple text-based protocol that runs over TCP, just as was the case for SMTP. It is called HTTP (HyperText Transfer Protocol). The content may simply be a document that is read off a disk or the result of a database query and program execution. The page is a static page if it is a document that is the same every time it is displayed. In contrast, if it was generated on demand by a program or contains a program it is a dynamic page. The Client Side Each page is assigned a URL (Uniform Resource Locator) that effectively serves as the page s worldwide name. [Prof. Rupesh G Vaishnav] Page 6

URLs have three parts: the protocol (also known as the scheme), the DNS name of the machine on which the page is located, and the path uniquely indicating the specific page (a file to read or program to run on the machine). In the general case, the path has a hierarchical name that models a file directory structure. However, the interpretation of the path is up to the server; it may or may not reflect the actual directory structure. As an example, the URL of the page shown in Fig. is http://www.cs.washington.edu/index.html When a user clicks on a hyperlink, the browser carries out a series of steps in order to fetch the page pointed to. Let us trace the steps that occur when our example link is selected: 1. The browser determines the URL (by seeing what was selected). 2. The browser asks DNS for the IP address of the server www.cs.washington.edu. 3. DNS replies with 128.208.3.88. 4. The browser makes a TCP connection to 128.208.3.88 on port 80, the well-known port for the HTTP protocol. 5. It sends over an HTTP request asking for the page /index.html. 6. The www.cs.washington.edu server sends the page as an HTTP response, for example, by sending the file /index.html. 7. If the page includes URLs that are needed for display, the browser fetches the other URLs using the same process. In this case, the URLs include multiple embedded images also fetched from www.cs.washington.edu, an embedded video from youtube.com, and a script from googleanalytics.com. 8. The browser displays the page /index.html as it appears in Fig. 9. The TCP connections are released if there are no other requests to the same servers for a short period. MIME Types When a server returns a page, it also returns some additional information about the page. This information includes the MIME type of the page. Pages of type text/html are just displayed directly, as are pages in a few other built-in types. If the MIME type is not one of the built-in ones, the browser consults its table of MIME types to determine how to display the page. This table associates MIME types with viewers. The Server Side The server performs in its main loop are: 1. Accept a TCP connection from a client (a browser). 2. Get the path to the page, which is the name of the file requested. 3. Get the file (from disk). 4. Send the contents of the file to the client. 5. Release the TCP connection. Q-6 Describe the built in HTTP request methods. The standard web transfer protocol is Hyper Text Transfer Protocol (HTTP). The HTTP protocol consists of two fairly distinct items: The set of requests from browsers to servers and the set of responses going back the other way. All the newer versions of HTTP support two kinds of requests: Simple requests and full requests. A simple request is just a single GET line naming the page desired, without the protocol version. The response is just the raw page with no headers, no MIME, and no encoding. The page will be returned with no indication of its content type. This mechanism is needed for backward compatibility. Its use will decline as browsers and servers based on full requests become standard. Full requests are indicated by the presence of the protocol version on the GET request line. Requests may consist of multiple lines, followed by a blank line to indicate the end of the request. [Prof. Rupesh G Vaishnav] Page 7

The first line of a full request contains the command (of which GET is but one of the possibilities), the page desired, and the protocol/version. Although HTTP was designed for use in the web, it has been intentionally made more general than necessary with an eye to future object-oriented applications. For this reason, the first word on the full request line is simply the name of the method (command) to be executed on the web page (or general object). The built-in methods are listed below. When accessing general objects, additional object-specific methods may also be available. Method Description GET Read a Web page HEAD Read a Web page s header POST Append to a Web page PUT Store a Web page DELETE Remote the Web page TRACE Echo the incoming request CONNECT/LINK Connect through a proxy UNLINK Breaks an existing connection between two resources OPTIONS Query options for a page Table: The built-in HTTP request methods The GET method requests the server to send the page (by which we mean object, in the most general case), suitably encoded in MIME. However, if the GET request is followed by an If-Modified-Since header, the server only sends the data if it has been modified since the data supplied. Using this mechanism, a browser that is asked to display a cached page can conditionally ask for it from the server, giving the modification time associated with the page. The HEAD method just asks for the message header, without the actual page. This method can be used to get a page's time of last modification, to collect information for indexing purposes, or just to test a URL for validity. Conditional HEAD request do not exist. The PUT method is the reverse of GET: Instead of reading the page, it writes the page. This method makes it possible to build a collection of web pages on a remote server. The body of the request contains the page. Somewhat similar to PUT is the POST method. It too bears a URL, but instead of replacing the existing data, the new data is "appended" to it in some generalized sense. DELETE does what you might expect; it removes the page. As with PUT authentication and permission play a major role here. There is no guarantee that DELETE succeeds, since even if the remote HTTP server is willing to delete the page, the underlying file may have a mode that forbids the HTTP server from modifying or removing it. The LINK and UNLINK methods allow connections to be established between existing pages or other resources. [Prof. Rupesh G Vaishnav] Page 8