You are currently viewing The OSI Model – Layer 7: The Application Layer

The OSI Model – Layer 7: The Application Layer

My previous post explained the fundamentals of the OSI framework’s sixth layer: the presentation layer. This layer gives you independence from differences in the representation of (encrypted) data. Layer six does this by translating from application to network format and the other way around.

It structures and encrypts data sent across a network and eliminates the risk of compatibility problems. The layer transforms data into the form that an application accepts and understands. This post will give you insight into the OSI model’s final layer: the application layer. The application layer provides several ways to manipulate data (Information). This layer enables any user to access a network easily. To fully function, the application layer also requests the layer below, the sixth layer, the presentation layer. The OSI model uses the connection between the sixth and seventh layers to receive various types of information. The application layer interface interacts with applications and provides standard web application services. Layer seven is the highest level of open system and provides services directly for any application process.

The Application Layer functions

The Application Layer facilitates both mailing functions and storage functions. Both mailing (communication) and storage (archiving data) are critical functionalities for a user. A user is granted access by this layer to access, retrieve, and manage files you store on a remote device. Users can log onto that device as a remote host, after which they can obtain the information. Layer seven can do this locally, but nowadays, with the internet, this is mainly done globally.

Services provided by the Application Layer include transferring files, e-mail, distribution of results to the user, directory-related services, and network-related resources. All these services require specific protocols that allow the software to send and receive information while presenting meaningful data to its users. Layer seven is fully responsible for all these protocols. Its services need complete network transparency and define the allocation of resources. The application layer does this as well. On top of this, it serves as a window for users and applications to access network services required to run your applications without issues.

The application layer is not a function: it just performs tasks that are part of the application layer. The layer specifies specific shared protocols and is the interface of the hosts in a communication network. The application layer identifies all communication peers in a network and synchronizes all communication between these peers. This way, users can interact with other software applications.

Data is translated into visual form by this layer. These visual forms are essential because a binary format (0s and 1s) is not user-friendly and would make data not accessible for most users. Imagine that everyone would have to learn binary code and do all translation before obtaining data: I’m sure that the internet would not have been as big as it is now if binary language were the general language of data.

This layer is also responsible for interacting with Operating Systems (for instance, iOS, Linux, and Windows). Because there is a connection with an Operating System, you can adequately preserve data. It can also maintain data from its previous layer (the Presentation layer) that carries the information’s syntax and semantics.

Application Layer Protocols

The application layer uses different protocols, which depend on the type of information users wish to send and receive.

To ensure smooth communication, you must have specific protocols to streamline this communication process. You implement application protocols precisely the same way on both the source host and destination host. An application protocol defines a method for both parties involved in communication: sender and receiver. These protocols define the message sent from sender to receiver and represent a basic syntax of this message that the protocol forwards and retrieve.

Specific key protocols in the application layer allow the software to send and receive information quickly. Because of this, the application layer can present meaningful data to the users.

Telnet

Telnet is short for “Telecommunications Network.” You use the Telnet protocol to manage your files over the internet, granting Telnet clients access to the resources of Telnet servers. If you use Telnet, you do this over TCP port number 23. Applications don’t use Telnet a lot anymore because SSH has replaced it. Telnet is becoming obsolete because it has zero security, meaning that information like usernames and passwords submitted through it is not encrypted.

SSH

Secure Shell has replaced Telnet in almost every serious remote access tool that uses terminal emulation. SSH does the same as Telnet: it creates a terminal connection to a remote host. The big difference with Telnet is that SSH is far safer because it uses encryption and Telnet doesn’t. SSH uses TCP port 22.

DNS

DNS is a well-known common term in IT, and I think almost everyone has heard about this protocol. It stands for Domain Name System and translates the domain name into a corresponding IP address. A good analogy for a DNS is a phonebook. DNS connects a list of numbers (the IP address) with a name, making it easy for a user to remember a specific location on the internet. DNS is why you can type a character in your browser, not a number. The DNS protocol uses UDP port number 53.

DHCP

The Dynamic Host Configuration Protocol (DHCP) grants a unique IP address to a host. When a host wants to register for an IP address with a DHCP server, DHCP passes all required information to a host. It uses port numbers 67 and 68.

FTP

If you transfer files from one device to another, you use the File Transfer Protocol (FTP). This protocol promotes sharing files with a remote machine and ensures that the data is reliable and transferred efficiently. This protocol uses port number 20 for data access and TCP port number 21 for the control of data.

Mail protocols

When people send and receive an e-mail, they use a mail protocol. This protocol is part of the application layer. The most common protocols you use are:

  • SMTP. You use Simple Mail Transfer Protocol (SMTP) to send e-mails between clients and e-mail servers. SMTP uses TCP port 25 by default.
  • POP3. POP3 is short for Post Office Protocol version 3. This protocol is one of the two protocols that retrieves e-mail from e-mail servers and uses TCP port 110. POP3 is starting to become obsolete. Some applications still use it, but modern mail (Google, Hotmail, etc.) does not use it anymore. Within time, POP3 will be part of history and entirely obsolete. Good to know that it existed, but it is something for the history books.
  • IMAP4. The Internet Message Access Protocol, version 4, is the alternative to POP3 and is also why POP3 is starting to become obsolete. IMAP4 supports specific features like synchronization of mail among devices (this way, you get mail messages on all the platforms you use, like a Windows device, a Mac laptop, and an Android phone). POP3 does not support these IMAP4 features, which is why POP3 is becoming past tense. IMAP4 uses TCP port 143.

HTTPS

Hypertext Transfer Protocol Secure is the secured version of HTTP over TLS. Nowadays, most internet sites use HTTPS, and I think that HTTP will be (like POP3) something of the past in time. HTTPS works on the client-server model and is a protocol that transmits hypermedia documents (for instance, HTML). Its developers specifically designed the communication protocol between a web browser and a web server. You can use this protocol also for several other purposes because HTTPS is a stateless protocol: a network protocol in which a client can send and request to the server, and the server then responds as per the given state. Because HTTPS is stateless, the server itself is not responsible for maintaining previous requests of a client. HTTPS uses TCP port 443.

NFS

The Network File System is a protocol that allows a host to mount files over a network and to interact with those file systems in the same way as if they are mounted locally. When you “mount,” you make a group of files in a file system structure, accessible to a user or a group of users. If you mount locally, you connect disc drives/hard drives on one specific machine to be able to operate in a logical system. NFS allows it to do this over a network using port 2049, and NFS can use TCP or UDP protocols.

NTP/SNTP

The Network Time Protocol (NTP) and also tiny (lightweight) brother, the Simple Network Time Protocol (SNTP), use UDP to synchronize the clocks of devices on your network. A computer must use the same time to use specific authentication services (for instance, Microsoft Kerberos) to work correctly. NTP operates in a hierarchical fashion which is also called clock strata. Stratum 0 devices (for example, atomic clocks or GPS satellites) are running at near-perfect times. Servers connected to stratum 0 devices are called stratum one servers and synchronize within milliseconds of the stratum 0 times. Stratum 1 servers enable a connection by stratum two clients, and they synchronize a little less perfectly. These stratum two clients allow stratum three clients until stratum 15. After stratum 15, there is no synchronization of other devices with the clock. Every jump down leads to a little less perfect time, but this is not a big deal in most cases. NTP/SNTP operates on UDP port 123.

SNMP

The Simple Network Management Protocol (SNMP) gathers data by querying the devices from the network to the management station. SNMP uses agents (special client programs) to collect network information from a Management Information Base (MIB), SNMP’s version of a server. You require SNMP-capable devices and a tool to query them to be able to use SNMP. A widespread tool you can use is Zabbix. SNMP uses ports 161 (TCP) and 162 (UDP).

Final Thoughts

Layer seven supports all the application and end-user processes. It identifies communication partners and the quality of services offered to end users, safeguards user authentication and privacy, and identifies any constraints on data syntax. Everything that happens on this layer is application-specific, and file transfer services, e-mail, and other network software-related services are all provided by this layer.

This post concludes the series that I dedicated to the OSI layer. As stated before, the OSI layer is an indispensable part of networking, and network technicians worldwide use this framework as a handle in their daily work.

Feel free to contact me if you have questions or in case you have any additional advice/tips about this subject. If you want to keep in the loop if I upload a new post, make sure to subscribe, so you receive a notification by e-mail.

Leave a Reply