Internet Guide Logo

Application Layer of the Internet protocol suite (TCP/IP)

Last Edit: 30/06/17

The Internet protocol suite (TCP/IP) is comprised of the protocols that generate the communications system of the Internet, and is based upon a four layer model. The application layer of the Internet protocol suite is the highest layer / level of the Internet protocol suite, and is technically defined as a abstraction layer / abstraction level. Within the Internet's four layer model, the lower the layer, the closer the layer is to the physical transmission of data: the application layer is therefore the furthest layer away from the physical transmission of data.

The protocols of the application layer provide the user services of the Internet. Some of the most popular protocols of the application layer are as follows:

  1. Hypertext Transfer Protocol (HTTP): World Wide Web
  2. File Transfer Protocol (FTP): File Downloading
  3. Simple Mail Transfer Protocol (SMTP): Electronic Mail
  4. Internet Relay Chat (IRC): Instant Messaging

Data generated by the application layer protocols is (typically) encapsulated by transport layer protocols. The TCP and UDP protocols of the transport layer convert application layer data into TCP and UDP data segments. Through encapsulation, TCP and UDP data segments are then encapsulated into IP data packets (Internet layer) and finally frame data units (Link layer). When the data has been passed through the four layers, data will have been transported from it's source to it's destination. To ensure that the data of application layer protocols is transported to the correct place IANA assigns port numbers to application layer protocols that are used by TCP and UDP. Application layer protocols view transport layer protocols - like TCP and UDP - as providing a service which allows them to communicate across the Internet and rely on the underlying data transmission protocols of the Internet to transport their data.

When communication software is designed for the Internet protocol suite, application layer protocols are expected to adhere to Jon Postel's law (Internet pioneer) "a general principle of robustness: be conservative in what you do, be liberal in what you accept from others." Another general consideration that application layer protocols are expected to acknowledge when being designed (RFC1123) is the continual evolution of the Internet: revision is characteristic of the network protocols of the Internet and software designed for TCP/IP is expected to be updated to take into account future revisions of the Internet protocol suite. Application layer protocols are typically associated with client-server model applications: web browsers, email clients, or ftp managers. However, application layer protocols are more expansive than that, providing services such as: remote login (telnet), naming system (dns), bootstrap and remote hosting. The most popular (used) application layer protocols are probably file sharing protocols: FTP, HTTP, FTPS (FTP over SSL), HTTPS (HTTP over SSL), SFTP (SSH File Transfer Protocol), AFTP (Accelerated File Transfer Protocol), TFTP (Trivial File Transfer Protocol), SCP (Secure Copy), OFTP (Odette File Transfer Protocol),

A list of popular application layer protocols is provided below (with their TCP and UDP port number):

- File Transfer Protocol (FTP) - Port Number 20/21
- Secure Shell (SSH) - Port Number 22
- Telnet - Port Number 23
- Simple Mail Transfer Protocol (SMTP) - Port Number 25
- WHOIS - Port Number 43
- Domain Name System (DNS) - Port Number 53
- Dynamic Host Configuration Protocol (DHCP) - Port Number 67/68
- Trivial File Transfer Protocol (TFTP) - Port Number 69
- Gopher - Port Number 70
- Hypertext Transfer Protocol (HTTP) - Port Number 80
- Post Office Protocol (POP) version 3 - Port Number 110
- Simple File Transfer Protocol (SFTP) - Port Number 115
- Network Time Protocol (NTP) - Port Number 123
- Network Time Protocol (NTP) - Port Number 123
- Internet Message Access Protocol (IMAP) - Port Number 143
- Simple Network Management Protocol (SNMP) - Port Number 161/162
- Border Gateway Protocol (BGP) - Port Number 179
- Internet Message Access Protocol (IMAP) - Port Number 220
- Border Gateway Multicast Protocol (BGMP) - Port Number 264
- Precision Time Protocol (PTP) - Port Number 319/320
- Lightweight Directory Access Protocol (LDAP) - Port Number 389
- Service Location Protocol (SLP) - Port Number 427
- Hypertext Transfer Protocol over SSL/TLS (HTTPS) - Port Number 443

Some popular examples of application layer software/protocols include: AppleTalk, Bitcoin, BitTorrent, eDonkey, FastTrack (Grokster, Kazaa, iMesh), and Tor.