Top Ad unit 728 × 90

04: Application layer - layer 7 of OSI model

Application Layer - Layer 7 of OSI model

[post_ad] Application layer is the seventh one of the OSI reference model which provides the first step of getting data onto the network. This  layer, just like other layers, plays its role in the transmission of data, however, it has nothing to do with the flow of data over the network, it rather provides the first stage of preparing data to be sent over the network. Application layer has a number of functions, protocols, services, and applications that some computer's users are familiar with.  

Application layer function

This layer functions as an interface between the applications you use to communicate and the network over which your messages are transmitted or, in other words, it provides an interface between the user and the network via network application , wich means that it prepares human communication for transmission over the network. The following figure shows how the application layer provides the interface to the network:


To spell it out, when a user connected to the internet is chatting with his friend using, for example, skype, he is actually dealing with a software, on which he can type messages and send multimedia files, that is directly seen to him and at the same time interacting with the network. So, as long as the user can see, type on, or deal with the software (skype), it can then be said to interface with the network via skype.  

Application layer protocols (TCP/IP suite)

There are a plethora of protocols that work at Application Layer. DNS, HTTP, DHCP, SMTP, Telnet, FTP, omong others, are all protocols that reside at Application Layer.

- DNS (Domain Name System) is used to resolve Internet names to IP addresses (detailed explanation is in the DNS lesson).
- HTTP (Hypertext Transfer Protocol) is used to transfer files that make up the web pages of the World Wide Web(detailed explanation is in the HTTP lesson).
 - DHCP (Dynamic Host Configuration Protocol) is used dynamically assign and manage dynamic IP addresses to devices on a network detailed (explanation is in the DHCP lesson).
- SMTP (Simple Mail Transfer Protocol) is used for the transfer of mail massages and attachments (detailed explanation is in the SMTP lesson).
- Telnet is used to provide remote access to servers and networking devices (detailed explanation is in the Telnet lesson).
FTP (file transfer Protocol) is used to download a file from a server using the internet or to upload a file to a server (e.g., uploading a Web page file to a server) (detailed explanation is in the FTP lesson).

Application layer protocols are implemented within applications and services. It is noteworthy that one application running on a given device can use multiple protocols in the course of a single conversation ( e,g. via social media websites or applications). Each protocol has a specific purpose and contains the characteristics required to meet that purpose. For instance, one protocol may specify how to establish the network connection, and another might describe the process for the transmission of data when the message is passed down to the next lower layer. 

Additionally, a protocol implemented on the source device must be the same as the one implemented on the destination device so that communication occurs in a flawless manner. In other words, for the communications to be successful, the application layer protocols implemented on the source and destination host must match. Thus, it may be inferred that protocols on the application layer establish symmetrical rules for exchanging data between two hosts. Besides, they determine the type of messages transmitted between sender and receiver, and how data inside the messages is structured. Because messages may have different forms such as status messages, error messages, data messages, acknowledgments.

 Application layer software and services


Application layer software enables human to interface with the underlying data network. When you open a web browser like Mozilla Firefox, the application is said to be in process because of the fact that it is put into the device memory, where it is executed. So, when a software program is executed, it is referred to as a process. 

Software programs or processes, which provide access to the internet, within the application layer have two forms: applications and services. Services and applications are both software programs, but each one has some characteristics and distinctive traits. As for services, they perform a single or a few specialized operations and often accessed by other programs, whereas applications perform a wide range of operations and often accessed by humans. The following figure clarifies the concept:


Importantly, each software program or service uses protocols to govern their operations. Software programs using internet are called Network-Aware Applications. They are given this name because they implement the application layer protocols which are capable of directly communicating with the lower layers of the protocol stack (a group of protocols that work together or the protocols that run concurrently). It is important to mention that when software programs such as web browsers (e,g. Mozilla Firefox) are not connected to the internet or cannot access to the network, are no longer deemed to reside at the application layer because this layer comes into play only when internet is used or dealing with remote resources is needed. Simply put, take a network-aware program - let it be a browser or any other network program - and uninstall every trace of networking component, can the software program then access to the network ? absolutely no. firstly, it is no longer considered as a network-aware program, it is rather a normal software program. Secondly, you can still use the software program but the network cannot be accessed. Finally, in fact, browsers (or other network programs) do not truly reside within the application layer, they only interface with it when access to the network is going to be needed soon.

The following figure may help you visualize the how data is prepared, left the sender and received at the receiver.

On the whole, applications, services, and application layer protocols are all ingredients that must be taken into account when considering The layer 7 of the OSI reference model. Applications supply people with a means to create messages to be sent, services set up an interface to the network, and protocols provide the rules that control how data must be handled.
Client/Server Model & Peer-to-Peer (P2P) Model

For comprehensive knowledge of the layer seven (Application layer) of  the OSI reference model , it is crucially significant to be acquainted with these two models: Client/Server Model and Peer-to-peer (P2P) Model.

To start with, Client/Server Model is a network architecture in which two devices are connected togther in such a way that one device is referred to as client and the other as server. The former is a networking device that requests information (not necessarily information) from a server. The latter is a networking device that responds to the client's request. Servers are assorted by the services they provide. For example, a web server serves web pages and a file server serves computer files. Client and server processes are deemed to be at the application layer. These two kind of devices in networks are assigned fixed roles, either a client or a server, as opposed to Peer-to-Peer Model. One example of Client/Server Model is when someone logs in to his bank account online, for instance, to view his bank balance or for online transactions. The user first opens a web browser then he initiates a request to the bank's web server. The web server accesses the database as a client. After some operations of security, the server returns the results to the web server for display, and finally the user (client) gets the information desired.

Data can take two directions, from a server to a client or from a client to a server. When data flows from a client to a server is referred to as Upload, and data from a server to a client is Download. Data flow can be equal in both directions or greater in one direction. For example, when downloading a file from a server, the flow of data is greater going from the server to the client. the following figure shows the concept.


From computer networking perspective, any device that serves or responds to requests of other devices is functioning as a server. A server is usually a computer with high performance on which data (video, documents, audio, web pages, databases, pictures...) is stored ,sometimes with the aim of sharing it with clients. Of course not all servers are left without any protection, otherwise, users' data will be unsafe. So, some servers require authentication of user account information to verify whether the user has the permission to access the requested data. In addition, the users usually cannot access all data stored on a server. If it were otherwise, other users' data stored on the same server would easily be accessed, then the server is unsafe. That is why users with authentication account information are permitted to access only some specific information or data; accordingly, each user is subjected to the function of specifying access rights to resources which is authorization. An example of authentication and authorization is FTP (File Transfer Protocol), that is used to upload data from FTP client to FTP server. After puting your login information (which is authentication), you might have permission to write to your individual folder but not to read other files on the site (which is authorization).

Servers are characterised by automaticity or auto responding. Servers sometimes are called servers daemons because they run a service or a process that responds to clients' requests without the interference of human. Daemons, like most services, run in the background and are not under an end user's direct control. Daemons are programmed to automatically respond  whenever the server receives a request from a client.

Interestingly, one application may utilize a goup of supporting application layer services; therefore, the user may see only one request, whereas one request might consist of many individual requests . Furthermore, one server may serve many clients requesting the same service at the same time. The application layer along with the help of the lower layers can distinguish between all of these requests even if they are of the same type. See the following figure.


The above figure is composed of a Telnet server and Three clients. The three clients are seeking connection to the Telnet server simultaneously. However,  each client's request is handled separately and successfully.

Peer-to-Peer (P2P) Model

Peer-to-Peer (P2P) is another model for networking. In this model two computers have equal functions, meaning that a computer can be a server and a client at the same time. This model has another two forms which are Peer-to-Peer Networks and Peer-to-Peer Applications

To begin with, Peer-to-Peer Networks is a model in which two or more computers have equal functions. The computers can share resources like printers or files without having a dedicated server. Each computer is called a peer. One peer may play the role of a server and a client simultaneously. see the following figure.

In this figue, we have two computers connected together, one computer has a directly connected printer and the other one has files stored on its hard drive. Computer B sends a request to compuer A to use the printer. In this case, computer B is a client and computer A is a server, because the latter sends a request and the former responds to it. Conversly, computer A sends a request to computer B to download the files. In this case, computer A is a client and computer B is a server, because the latter sends a request and the former responds to it.

Therefore, unlike Client/Server Model, Peer-to-Peer Networks decentralize the resources on a network. Information can be located on any connected device instead of locating it to be shared on dedicated servers.

As for Peer-to-Peer Applications, it allows devices to function as both a client and a server within the same communication session. For example, when you use a network program for communication such as LAN messanger, which is an instant messaging application for communication over a local network, you are actually using a Peer-to-Peer application due to the fact that you can send and receive instant messages at the same time; thus, you are equal in the communication process. To put it another way, When you read a message coming from the other peer, your device is regarded as a client, but when you send a message to the other peer, your device is deemed as a server. 

Besides, there is another type of Peer-to-Peer Application, which is Peer-to-Peer hybrid system, in which a centralized directory called index server is used. It is when a user allocates part of his device for storing data to be shared with other peers. Importantly, Peer-to-Peer applications can be used in Client/Server Networks, on Peer-to-Peer networks and across the Internet. Finally, Peer-to-Peer applications require that each end device provide a user interface and run a background service.

[post_ad]
04: Application layer - layer 7 of OSI model Reviewed by BOUFTIRA on 4:54:00 PM Rating: 5

No comments:

All Rights Reserved by Computer Networks For All © 2015 - 2017

Contact Form

Name

Email *

Message *

Powered by Blogger.