CS6551-Computer Networks

Unit – V

2 – Marks

1. What is POP3? (N - 2016)

POP3 (Post Office Protocol 3) is the most recent version of a standard protocol for receiving e-mail. POP3 is a client/server protocol in which e-mail is received and held for you by your Internet server. POP and IMAP deal with the receiving of e-mail and are not to be confused with the Simple Mail Transfer Protocol (SMTP), a protocol for transferring e-mail across the Internet.

2. Give the format of HTTP request. (M- 15)

  • A Request-line
  • Zero or more header (General|Request|Entity) fields followed by CRLF
  • An empty line (i.e., a line with nothing preceding the CRLF)
  • indicating the end of the header fields
  • Optionally a message-body

3. What is IMAP4? (N - 16)

IMAP (Internet Message Access Protocol) is a standard protocol for accessing e-mail from your local server. IMAP (the latest version is IMAP Version 4) is a client/server protocol in which e-mail is received and held for you by your Internet server.IMAP can be thought of as a remote file server. POP3 can be thought of as a "store-and-forward" service.

4. What is persistent HTTP? What are the advantages of allowing persistent TCP Connections in HTTP? (N - 16)

HTTP persistent connection, also called HTTP keep-alive, or HTTP connection reuse, is the idea of using a single TCP connection to send and receive multiple HTTP requests/responses, as opposed to opening a new connection for every single request/response pair.

5. Mention the types of HTTP messages.(N – 16)

There are four types of HTTP message headers:

  • General-header: These header fields have general applicability for both request and response messages.
  • Request-header: These header fields have applicability only for request messages.
  • Response-header: These header fields have applicability only for response messages.

6. State the difference between SMTP and MIME (N - 14)

MIME is a supplementary protocol that allows non-ASCII data to be sent through SMTP. MIME transforms non-ASCII data at the sender site to NVT ASCII data and deliverers it to the client SMTP to be sent through the Internet. The server SMTP at the receiving side receives the NVT ASCII data and delivers it to MIME to be transformed back to the original data.

7. List down the key lengths supported by PGP (N - 14)

The "length" is a formal characterization of one of the mathematical values that constitute the keypair.Thus, the public and the private key don't have independent lengths per se; the private/public key pairhas a length, which, by extension, is also said to be the length of the public key and of the private key.

The length is not the actual bit length of the encoding of either the public or private key, although there are correlations.

8. What is the function (Define) of SMTP? (N -15)

The TCP/IP protocol supports electronic mail on the Internet is called Simple Mail Transfer (SMTP). It is a system for sending messages to other computer users based on e-mail addresses. SMTP provides mail exchange between users on the same or different computers.

9. Define URL (M - 16)

A URL (Uniform Resource Locator), as the name suggests, provides a way to locate a resource on the web, the hypertext system that operates over the internet. The URL contains the name of the protocol to be used to access the resource and a resource name. The first part of a URL identifies what protocol to use. The second part identifies the IP address or domain name where the resource is located.

10. Mention the different levels in domain name space (M- 16)

  • Top Level Domains
  • Second Level Domains
  • Third Level Domains

16 Marks

1) Explain working of E-mail describe how SMTP is used E-mail application in detail.

(N - 15)

E-mail (electronic mail) is the exchange of computer-stored messages by telecommunication.

The model that works best for email is the Client-Server model.

Clients carry out user interactions with the email server.

Forms in which clients appear:

Application based - these are installed onto user’s machines and include Microsoft Outlook and the freely available Outlook Express and Eudora.

Web based - these appear in a web browser’s window and include Hotmail, Yahoo andOutlook web client.

Basic functions include: (Services)

Ability to create new emails.

Display and store received emails.

Hold address lists of contacts, a calendar, journal and other extra functions that help organize the user’s working day.

The client is also configured with the account information and names or IP addresses of the email servers with which it will be communicating.

An email server is typically a combination of processes running on a server with a large storage capacity it includes a list of users and rules, and the capability to receive, send and store emails and attachments.

Should process emails for months as sending, receiving and maintenance tasks are carried out at scheduled times. The client only has to connect to the email server when it sends and checks/receives new email.

Sometimes it may be permanently connected to the server to allow access to shared address books or calendar information – this is typical of a LAN-based email server.

Most email servers conduct email services by running two separate processes on the same machine.

One process is the POP3 (Post Office protocol 3) server, which holds emails in a queue and delivers emails to the client when they are requested.

The other is the SMTP (simple mail transfer protocol) server that receives outgoing emails from clients and sends and receives email from other SMTP servers.

These two processes are linked by an internal mail delivery mechanism that moves mail between the POP3 and SMTP servers.

When the client calls the email server to send or check for mail it connects to the server on certain TCP/IP ports:

SMTP on port 25

POP3 on port 110.

MAIL PROTOCOLS

SMTP - Simple Mail Transport Protocol is used on the internet, it is not a transport layer protocol butis an application layer protocol.

POP3 - Post Office Protocol version 3 is used by clients to access an internet mail server to get mail.It is not a transport layer protocol.

IMAP4 -Internet Mail Access Protocol version 4is the replacement for POP3.

MIME -Multipurpose Internet Mail Extensionis the protocol that defines the way files are attachedto SMTP messages.

2. i) What is HTTP protocol used for? (6) (OR) Discuss WWW (OR) Write notes on URLS (M - 16)

ii)What is the default port number of HTTP protocol? (5)

iii)Discuss the features of HTTP and also discuss how HTTP works. (5)

HTTP PROTOCOL

Protocol for transfer of data between Web servers and Web clients (browsers).

“The Hypertext Transfer Protocol (HTTP) is an application-level protocol for distributed, collaborative, hypermedia information systems.

Popular Web servers:

Apache HTTPD, JBoss and Tomcat

Popular Web clients:

Firefox and Opera

HTTP Properties

1) A comprehensive addressing scheme

The HTTP protocol uses the concept of reference provided by the Universal Resource Identifier (URI) as a location (URL) or name (URN), for indicating the resource on which a method is to be applied.

Every resource accessible through HTTP is identified by a Uniform Resource Location (URL), which is a location-specific identifier.

For example,

– ftp://ftp.cs.uct.ac.za/

A Uniform Resource Identifier (URI) is a standard format (<scheme>:<identifier>) generic identifier.

For example,

– mailto:

A Uniform Resource Name (URN) is one example of a location-independent URI.

For example urn:isbn:123-456-789

2)Client-Server architecture

The HTTP protocol is based on a request/response paradigm. The communication generally takes place over a TCP/IP connection on the Internet. The default port is 80, but other ports can be used. A requesting program (a client) establishes a connection with a receiving program (a server) and sends a request to the server in the form of a request method, URI, and protocol version, followed by a message containing request modifiers, client information, and possible body content. The server responds with a status line, including its protocol version and a success or error code, followed by a message containing server information, entity meta_information, and possible body content.

3)HTTP protocol is connectionless

This HTTP protocol is called connectionless because once the single request has been satisfied, the connection is dropped.

4) HTTP protocol is stateless

After the server has responded to the client's request, the connection between client and server is dropped and forgotten. There is no "memory" between client connections. The pure HTTP server implementation treats every request as if it was brand-new (without context), i.e. not maintaining any connection information between transactions.

Other HTTP Features

Persistent connections

Cache control

Persistent Connections

Persistent connections provide a mechanism by which a client and a server can signal the close of a TCP connection. With them, it is possible to establish a TCP connection, send a request and get a response, and then send additional requests and get additional responses. By amortizing the TCP setup and release over multiple requests, the relative overhead due to TCP is much less per request. It is also possible to pipeline requests, that is, send request 2 before the response to request 1 has arrived.

Persistent HTTP connections have a number of advantages:

By opening and closing fewer TCP connections, CPU time is saved in routers and hosts (clients, servers, proxies, gateways, tunnels, or caches), and memory used for TCP protocol control blocks can be saved in hosts.

HTTP requests and responses can be pipelined in a connection. Pipelining allows a client to make multiple requests without waiting for each response, allowing a single TCP connection to be used much more efficiently, with much lower elapsed time.

Caching

The goal of caching in HTTP is to eliminate the need to send requests in many cases, and to eliminate the need to send full responses in many other cases. That is, there are two main reasons that web caching is used:

To reduce latency because the request is satisfied from the cache (which is closer to the client) instead of the origin server, it takes less time for the client to get the object and display it. This makes Web sites seem more responsive.

To reduce traffic because each object is only gotten from the server once, it reduces the amount of bandwidth used by a client. This saves money if the client is paying by traffic, and keeps their bandwidth requirements lower and more manageable.

HTTP Methods

HTTP allows an open-ended set of methods to be used to indicate the purpose of a request. The three most often used methods are GET, HEAD, and POST.

Method / Description
OPTIONS / capabilities of resource/server
GET / retrieve resource
HEAD / retrieve headers for resource
POST / submit data to server
PUT / replace/insert resource on server
DELETE / remove resource from server
TRACE / trace request route through Web

The GET method

The GET method requests the server to send the page. The page is suitably encoded in MIME. The vast majority of requests to Web servers are GETs. The usual form of GET is GET filename HTTP/1.1 Where filename names the resource (file) to be fetched and 1.1 is the protocol version being used.

The Head Method

The HEAD method is used to ask only for information about a document, not for the document itself. HEAD is much faster than GET, as a much smaller amount of data is transferred. It's often used by clients who use caching, to see if the document has changed since it was last accessed. If it was not, then the local copy can be reused, otherwise the updated version must be retrieved with a GET.

The PUT method

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 POST method

The POST method is used to transfer data from the client to the server.

DELETE

DELETE does what you might expect: it removes the page. There is no guarantee that DELETE succeeds, since even if the remote HTTP server is willing to delete the page

TRACE

The TRACE method is for debugging. It instructs the server to send back the request. This method is useful when requests are not being processed correctly and the client wants to know what request the server actually got.

OPTION The OPTIONS method provides a way for the client to query the server about its properties orthose of a specific file. Telling whether the request was satisfied, and if not, why not.

Status / Reason / Description
200 / OK / Successful request
206 / Partial Content / Successful request for partial content
301 / Moved Permanently / Resource has been relocated
304 / Not Modified / Conditional GET but resource has not changed
400 / Bad Request / Request not understood
403 / Forbidden / Access to resource not allowed
404 / Not Found / URI/resource not found on server
500 / Internal Server Error / Unexpected error

HTTP Header Fields

An HTTP transaction consists of a header followed optionally by an empty line and some data. The header will specify such things as the action required of the server, or the type of data being returned, or a status code. The use of header fields sent in HTTP transactions gives the protocol great flexibility. These fields allow descriptive information to be sent in the transaction, enabling authentication, encryption, and/or user identification. The header is a block of data preceding the actual data, and is often referred to as meta information, because it is information about information.

Accept: Indicates which data formats are acceptable.

– Accept: text/html, text/plain

HTTP_User-Agent.

The browser the client is using to send the request.

General format: software/version library/version.

Content-Language: Language of the content

– Content-Language: english

Content-Length: Size of message body

– Content-Length: 1234

Content-Type: MIME type of content body

– Content-Type: text/html

Date: The Date header represents the date and time at which the message was originated

– Date: Tue, 15 Nov 1994 08:12:31 GMT

Expires: When content is no longer valid

– Expires: Tue, 15 Nov 1994 08:12:31 GMT

Host: Machine that request is directed to

– Host:

Location:

The Location response header field defines the exact location of the resource that was identified by the request URI. If the value is a full URL, the server returns a "redirect" to the client to retrieve the specified object directly.

– Location:

Retry-After: Indicates that client must try again in future

– Retry-After: 120

3)Discuss about web services (or) Discuss WSDL & SOAP message structure (M - 16)

Network applications, even those that cross organization boundaries, are not new—email and web browsing cross such boundaries. What is new about this problem is the scale. Not scale in the size of the network, but scale in the number of different kinds of network applications. Both the protocol specifications and the implementations of those protocols for traditional applications like electronic mail and file transferhave typically been developed by a small group of networking experts. To enable the vast number of potential network applications to be developed quickly, it was necessary to come up with some technologies that simplify and automate the task of application protocol design and implementation.

Two architectures have been advocated as solutions to this problem. Both architectures are called Web Services, taking their name from the term for the individual applications that offer a remotely accessibleservice to client applications to form network applications. The terms used as informal shorthand to distinguish the two Web Services architectures are SOAP and REST.

The SOAP architecture’s approach to the problem is to make it feasible, at least in theory, to generate protocols that are customized to each network application. The key elements of the approach are a framework for protocol specification, software toolkits for automatically generating protocol implementations from the specifications, and modular partial specifications that can be reused across protocols.

The REST architecture’s approach to the problem is to regard individual Web Services as World Wide Web resources—identified by URIs and accessed via HTTP. Essentially, the REST architecture is just the Web architecture. The Web architecture’s strengths include stability and a demonstrated scalability (in the network-size sense). It could be considered a weakness that HTTP is not well suited to the usual procedural or operation-oriented style of invoking a remote service. REST advocates argue, however, that rich services can nonetheless be exposed using a more data-oriented or document-passing style for which HTTP is well suited.

Custom Application Protocols (WSDL, SOAP)

The architecture informally referred to as SOAP is based on Web Services Description Language (WSDL) and SOAP. Both of these standards are issued by the World Wide Web Consortium (W3C). This is the architecture that people usually mean when they use the term Web Services without any preceding qualifier. As these standards are still evolving, our discussion here is effectively a snapshot.

WSDL and SOAP are frameworks for specifying and implementing application protocols and transport protocols, respectively. They are generally used together, although that is not strictly required. WSDL is used to specify application-specific details such as what operations are supported, the formats of the application data to invoke or respond to those operations, and whether an operation involves a response. SOAP’s role is to make it easy to define a transport protocol with exactly the desired semantics regarding protocol features such as reliability and security