Applications and Layered architecture

Communication network must support wide range of services. Normally people use networks to communicate, send e-mails, transfer of files and so on. Industry people use communication network for transfer of funds, update information about the product and so on. Hence, to provide support for current service and future services, a complete plan is required. This necessitates developing a complete flexibility in network architecture.

communications functions are grouped into the following tasks
• The transport across a network of data from a process in one machine to the process at another machine.
• The routing and forwarding of packets across multiple hops in a network
• The transfer of a frame of data from one physical interface to another.

To reduce their design complexity, most networks are organized as a series of layers or levels, each one built upon its predecessor. The number of layers, the name of the each layer, the contents of each layer and the function of each layer differ from network to network.

Interaction between the layers must be defined precisely. Interaction is done with definition of the service provided by each layer and to the layer above. Interface between layers through which a service is requested and through which results are conveyed. New services that build on existing services can be introduced even at the later stage. The layered approach accommodates incremental changes readily.


We know , in all networks, the purpose of each layer is to offer certain services to the higher layers. The entities comprising the corresponding layers on different machines are called peer processes. Between each pair of adjacent layers there is an interface. The interface defines which primitive operations and services the lower layer offers to the upper one. The set of layers and protocols is called the network architecture.

A protocol is a set of rules that governs how two or more communicating devices are to interact. HTTP protocol enables retrieval of web pages and TCP protocol enables the reliable transfer of streams of information between computers.

HTTP

Let us consider a client/server architecture, a server process in a computer waits for incoming requests by listening to a port. Port is an address that identifies which process is to receive a message that is delivered to a given machine. The server provide response to the requests. The server process always runs a process in the background called daemon. httpd refers to server daemon for HTTP. The documents are prepared using Hyper Text Markup Language (HTML) which consists of text, graphics and other media are interconnected by links that appear within the documents. The www is accessed through a browser program that displays the documents and allows the user to access other documents by clicking one of these links. Each link provides the browser with a uniform resource Locator (URL) that specifies the name of the machine where the document is located and the name of the file that contains the requested document. The HTTP ( Hyper Text Transfer Protocol ) specifies rules by which the client and server interacts so as to retrieve a document.


In HTTP, we use two-way connection that transfer a stream of bytes in correct sequential order and without errors. The TCP protocol provides this type of communication service between two processes in two machines connected to a network. Each HTTP inserts its messages into a buffer and TCP transmits the contents of the buffer to the other TCP in blocks of information called segments. Each segment contains port number information in addition to the HTTP message information. The following figure shows how communication is carried between HTTP client and HTTP server.