0% found this document useful (0 votes)
23 views4 pages

Overview of Application Layer Functions

The Application Layer is the topmost layer in the OSI and TCP/IP models, facilitating communication between user applications and the network. It supports various functions such as user interface, security, file transfer, email, database access, and addressing, and can operate in either peer-to-peer or client-server models. Communication occurs through methods like sockets and Remote Procedure Calls (RPC), allowing processes to interact and exchange data effectively.

Uploaded by

pallavig
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
23 views4 pages

Overview of Application Layer Functions

The Application Layer is the topmost layer in the OSI and TCP/IP models, facilitating communication between user applications and the network. It supports various functions such as user interface, security, file transfer, email, database access, and addressing, and can operate in either peer-to-peer or client-server models. Communication occurs through methods like sockets and Remote Procedure Calls (RPC), allowing processes to interact and exchange data effectively.

Uploaded by

pallavig
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

Application Layer

Application layer is the top most layer in OSI and TCP/IP layered model. This layer exists in both
layered Models because of its significance, of interacting with user and user applications. This layer is
for applications which are involved in communication system.

A user may or may not directly interacts with the applications. Application layer is where the actual
communication is initiated and reflects. Because this layer is on the top of the layer stack, it does not
serve any other layers. Application layer takes the help of Transport and all layers below it to
communicate or transfer its data to the remote host.

When an application layer protocol wants to communicate with its peer application layer protocol on
remote host, it hands over the data or information to the Transport layer. The transport layer does
the rest with the help of all the layers below it.

There’is an ambiguity in understanding Application Layer and its protocol. Not every user application
can be put into Application Layer. except those applications which interact with the communication
system. For example, designing software or text-editor cannot be considered as application layer
programs.

On the other hand, when we use a Web Browser, which is actually using Hyper Text Transfer Protocol
(HTTP) to interact with the network. HTTP is Application Layer protocol.

Another example is File Transfer Protocol, which helps a user to transfer text based or binary files
across the network. A user can use this protocol in either GUI based software like FileZilla or CuteFTP
and the same user can use FTP in Command Line mode.

Hence, irrespective of which software you use, it is the protocol which is considered at Application
Layer used by that software. DNS is a protocol which helps user application protocols such as HTTP to
accomplish its work.

Functions of Application Layer


The functions of application layer are explained below −

 User Interface: It represents the user interface to low-level layers and multiple application
processes.

 Security: It is responsible for the execution of the security tests at the user entity points.

 File Transfer: The application layer supports the file transfer access and management
(FTAM). It enables customers to create files in a remote system to retrieve the documents
from a remote system and to handle or control the files in a remote system.

 E-mail: It supports a basis for email forwarding and string.

 Database Access: It supports distributed database sources and global data about several
objects and functions.

 Addressing: It is used for the connection between user and server. There is a requirement for
addressing. When a user requests the server, the request includes the server address and its
address. The server responds to the user request and the request consists of the destination
address, i.e., client address.

 Directory Services: An application includes a distributed database that supports the global
data about multiple objects and functions.

Two remote application processes can communicate mainly in two different fashions:

 Peer-to-peer: Both remote processes are executing at same level and they exchange data
using some shared resource.

 Client-Server: One remote process acts as a Client and requests some resource from another
application process acting as Server.

In client-server model, any process can act as Server or Client. It is not the type of machine, size of
the machine, or its computing power which makes it server; it is the ability of serving request that
makes a machine a server.
A system can act as Server and Client simultaneously. That is, one process is acting as Server and
another is acting as a client. This may also happen that both client and server processes reside on the
same machine.

Communication

Two processes in client-server model can interact in various ways:

 Sockets

 Remote Procedure Calls (RPC)

Sockets

In this paradigm, the process acting as Server opens a socket using a well-known (or known by client)
port and waits until some client request comes. The second process acting as a Client also opens a
socket but instead of waiting for an incoming request, the client processes ‘requests first’.
When the request is reached to server, it is served. It can either be an information sharing or
resource request.

Remote Procedure Call

This is a mechanism where one process interacts with another by means of procedure calls. One
process (client) calls the procedure lying on remote host. The process on remote host is said to be
Server. Both processes are allocated stubs. This communication happens in the following way:

 The client process calls the client stub. It passes all the parameters pertaining to program
local to it.

 All parameters are then packed (marshalled) and a system call is made to send them to other
side of the network.

 Kernel sends the data over the network and the other end receives it.

 The remote host passes data to the server stub where it is unmarshalled.

 The parameters are passed to the procedure and the procedure is then executed.

 The result is sent back to the client in the same manner.

Common questions

Powered by AI

The application layer is distinct because it directly interfaces with user applications involved in communication tasks. Unlike lower layers, which provide support functions, the application layer initiates communication, providing services like file transfer, email support, and directory services. It manages user interactions, security, file management, and database access, setting it apart from other layers that do not directly handle user interactions .

Remote Procedure Call facilitates interaction by enabling one process (the client) to execute a procedure on a remote system (the server). This involves the client calling a local stub, which marshals the parameters and transmits them across the network. On the server side, these parameters are unmarshalled, passed to the specified procedure, and executed. The results are then packed and sent back to the client in a similar fashion, enabling seamless process interaction over a network .

Sockets facilitate communication by allowing a server to bind to a specific port and wait for client requests. The client process also opens a socket but actively sends requests to the server's socket. Once a connection is made, data can be exchanged as needed. This system enables information sharing or resource requests to occur efficiently, with sockets acting as endpoints for network communication in the client-server model .

The application layer facilitates communication by allowing application layer protocols, such as HTTP or FTP, to interact with their peer protocols on remote hosts. These protocols hand over data to the Transport layer, which takes care of the transmission with the aid of layers beneath it. This ensures that communication is initiated and reflected at the application layer .

Addressing is crucial in the application layer for establishing connections between clients and servers. When a service like email or file transfer protocol is utilized, requests include the server's address to ensure they reach the correct destination. Similarly, servers respond with the client's address to facilitate bidirectional communication. This addressing mechanism ensures accurate routing and delivery of data packets between users and network services .

Peer-to-peer communication involves processes operating at equal levels, exchanging data directly using shared resources. In contrast, client-server interaction features a client requesting services or resources from a server. The client-server model is inherently hierarchical, whereas peer-to-peer is more decentralized and egalitarian, relying on equal distribution of process roles .

The application layer's independence from lower layers implies that it primarily acts as the interface for user interactions rather than serving network functionalities required by other layers. This independence allows it to focus on application-centric tasks such as managing protocols that support email, file transfers, and web interactions, thereby enhancing its ability to serve user application needs effectively .

DNS is part of the application layer because it provides a critical service necessary for other application layer protocols like HTTP to function. Its role is to resolve human-readable domain names into IP addresses, enabling network communications without users needing to remember numerical addresses. By providing this service, DNS indirectly supports the operation of user-centric applications and protocols .

In the client-server model, roles are based on the ability of processes to serve or request resources rather than the physical machine characteristics. Any machine can act as a server or client based on its functions at a given time. This model supports flexibility, allowing a machine to simultaneously perform as both client and server if required. The key factor is its capacity to handle requests or provide resources, rather than its hardware specifications .

The application layer supports distributed database access by enabling interaction with global data sources, ensuring users can access and manage remote databases efficiently. This support underlines the layer's role in providing high-level application services and user interaction interfaces. By facilitating distributed database operations, it enhances the network's ability to handle complex, data-driven tasks, crucial for modern web services and applications .

You might also like