This layer makes the communication between programs and the transport protocols. There are several different protocols that work on the Application layer. The most known are HTTP (HyperText Transfer Protocol), SMTP (Simple Mail Transfer Protocol), FTP (File Transfer Protocol), SNMP (Simple Network Management Protocol), DNS (Domain Name System) and Telnet. You may have already seen these names before.
When you ask your e-mail program (called e-mail client) to download e-mails that are stored on an e-mail server, it will request this task to the TCP/IP Application layer, being served by the SMTP protocol. When you type in a www address on your web browser to open a web page, your browser will request this task to the TCP/IP Application layer, being served by the HTTP protocol (that is why web pages start with “http://”). And so on.
The Application layer talks to the Transport layer through a port. Ports are numbered and standard applications always use the same port. For example, SMTP protocol always use port 25, HTTP protocol always use port 80 and FTP protocol always use ports 20 (for data transmission) and 21 (for control).
The use of a port number allows the Transport protocol (typically TCP) to know which kind of contents is inside the packet (for example, to know that the data being transported is an e-mail) allowing it to know, at the reception side, to which Application protocol it should deliver the received data. So, when receiving a packet target to port 25, TCP protocol will know that it must deliver data to the protocol connected to this port, usually SMTP, which in turn will deliver data to the program that requested it (the e-mail program).
In Figure 2 we illustrate how the Application layer works.