The highest-level protocols within the TCP/IP protocol stack are application protocols. They communicate with applications on other internet hosts and are the user-visible interface to the TCP/IP protocol suite.
All application protocols have some characteristics in common:
They can be user-written applications or applications standardized and shipped with the TCP/IP product. Indeed, the TCP/IP protocol suite includes application protocols such as:
Telnet for interactive terminal access to remote internet hosts
File Transfer Protocol (FTP) for high-speed disk-to-disk file transfers
Simple Mail Transfer Protocol (SMTP) as an internet mailing system
Recommend To Read: Overview Of OSI Reference Model
These are few of most widely implemented application protocols, there are many others. Each particular TCP/IP implementation will include a lesser or greater set of application protocols.
They use either UDP or TCP as a transport mechanism. Note that UDP is unreliable and offers no flow-control so in this case, the application has to provide its own error recovery, flow control, and congestion control functionality.
TCP is a reliable stream, connection-oriented, congestion-friendly, and flow control-enabled protocol. As a result, most application protocols will use TCP, but there are applications built on UDP to achieve better performance through increased protocol efficiencies.
Most applications use the client/server model of interaction.
Also Read: TCP/IP Protocol Suite