Application layer is the top layer of the TCP/IP reference model. Concerned with the higher-level protocols used by the network application software's for communication purpose.
Some common application layer protocols used are :
Hyper Text Transfer Protocol (HTTP)
File Transfer Protocol (FTP)
Simple Management Transfer Protocol (SMTP)
Domain Name System (DNS)
Dynamic Host Control Protocol (DHCP)
User interacts directly with the application software, where application process creates user data and transmits this data to other application process on same or another host via one of the transport layer protocol (TCP or UDP).
Network application software's uses specific protocol and socket or port number for communication like web browser - http protocol - 80 port, file transfer - ftp protocol - 21 port, Logging on remote computer - telnet protocol - 23 port etc.
Following are the functions of application layer :
Formatting data - Text format may be in American Standard Code for Information Interchange (ASCII) or Extended Binary Coded Decimal Interchange Code (EBCDIC).
Representing data - Defines how data is to be represented to the end user.
Process-to-process communication - E.g. client and server application software.
Creating sessions - E.g. a web browser with one or more tabs, then its application layer responsibility to create and manage separate sessions for each tab.
Provides services like browsing, e-mail, file transfer, chatting, directory etc.