Application Layer Introduction

Application layer is the highest most layer in OSI and TCP/IP layered model and. This layer exists in both layered Models because of its significance which is 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 these 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 hosts it hands over the data or information to the Transport layer. The transport layer does the rest of the things with help of all layers below it.
[Image: Application Layer]
There’s an ambiguity in understanding Application Layer and its protocol. Not every user application can be put into Application Layer. Only application which interacts with the communication system. For example, a 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 HTTP (Hyper Text Transfer Protocol) to interact with the network. So in this case, HTTP is Application Layer protocol which we take into consideration when we study layered models.
Another example is File Transfer Protocol, which helps a user to transfer a text based or binary file 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.
So it is not important what software you use, it the protocol which is considered at Application Layer used by that software. DNS is a protocol which helps user application protocols like HTTP to accomplish its work.