Most of the application layer protocols provide user services. Application layer protocols are typically used for network management, file transfer, distributed file services, terminal emulation, and email. New user services are often added, such as VPNs and VoIP.
The figure shows the most widely known and implemented TCP/IP application layer protocols include:
- SSH/Telnet - Enables users to establish terminal session connections with remote hosts.
- HTTP - Supports the exchanging of text, graphic images, sound, video, and other multimedia files on the web.
- FTP - Performs interactive file transfers between hosts.
- TFTP - Performs basic interactive file transfers typically between hosts and networking devices.
- SMTP - Supports basic message delivery services.
- POP - Connects to mail servers and downloads email.
- Simple Network Management Protocol (SNMP) - Collects management information from network devices.
- DNS - Maps IP addresses to the names assigned to network devices.
- Network File System (NFS) - Enables computers to mount drives on remote hosts and operate them as if they were local drives. Originally developed by Sun Microsystems, it combines with two other application layer protocols, external data representation (XDR) and remote-procedure call (RPC), to allow transparent access to remote network resources.
The types of symptoms and causes depend upon the actual application itself.
Application layer problems prevent services from being provided to application programs. A problem at the application layer can result in unreachable or unusable resources when the physical, data link, network, and transport layers are functional. It is possible to have full network connectivity, but the application simply cannot provide data.
Another type of problem at the application layer occurs when the physical, data link, network, and transport layers are functional, but the data transfer and requests for network services from a single network service or application do not meet the normal expectations of a user.
A problem at the application layer may cause users to complain that the network or the particular application that they are working with is sluggish or slower than usual when transferring data or requesting network services.