At the top of the OSI model is the king of layers: the application layer. As you might expect, the application layer is the layer which all the applications resides in. Researching online, I have seen a few conflicts as far as what is considered an OSI layer 7 application and what is not. There are some applications, without a doubt, part of the OSI model. Some, however, are not. All I can do in this post is to explain this layer to the best of my ability.
In order to do this, I am going to divide this layer into two sub layers: client applications and network applications. Client applications are applications that run on a device locally. Examples of client applications are Microsoft Word, Internet Explorer, Firefox and Outlook. Some websites say that these applications are not part of the OSI model. Network applications, however, are services that use a network in order to send data. These services include HTTP, DNS, DHCP, FTP…. and just about any abbreviation you can think of.
Just because something is called an ‘application’ doesn’t mean it is an actual program. For example, there is no program on your computer called ‘HTTP.’ However, there are programs that use HTTP, such as a web browser. But, why are they called ‘applications?’ Would it be more correct to call them ‘protocols?’ Well, the answer to that is yes, they are protocols, and yes, it is appropriate to call them applications.
Layer 7 protocols are called applications because they provide a reason as to why a user uses a network instead of how. Every other layer of the OSI model is all about connectivity. E-mail, for example, is a reason why a user will use a network. Since e-mail’s purpose is to send mail ‘electronically’ from one person to another, it is considered an application. HTTP is used to display and format online documents to readers. So, it too is an application. Layer 7 is the layer that a user does much of the interface on.
In 0rder to access a network application, a client application must be used. As I explained earlier, you do not open up a program called ‘HTTP.’ Instead, you open up a web browser, which can use HTTP. However, not all client applications use network applications. You can open up Microsoft Word, type up a document, save it to your computer locally, and not have to use a network at all. Remember, the OSI model’s purpose is to network computers and devices together in an organized layered environment.
Each network application has its own port number on the transport layer via TCP and/or UDP. If you want to see a good table on port numbers, click here. As you look down the list, you will see some layer 7 application protocols listed. However, they are not layer 4 protocols. TCP and UDP are layer 4 protocols. They handle Layer 7 application port numbers, dissembles the the data into segments on the source computer, and puts the data back together again on the destination computer. NOTE- not all the protocols listed on that table are layer 7 protocols. Port numbers can be assigned to other protocols/utilities on other layers as well.
There are a lot of network applications that can be used, but I will just go over the most commonly used:
DNS (Domain Name System) - The primary use of DNS is to resolve a domain name (such as richardallenhughes.com) to an IP address. I discussed this in more detail during my reserved IP addresses post, even though it is considered to take place on layer 7.
HTTP (Hypertext Transfer Protocol) – HTTP is used to transfer a website from a web server to a client computer. HTTP is used for the transmitting purposes while HTML (hypertext markup language) is used for formatting and displaying the data.
HTTPS (Hypertext Transfer Protocol Secure) – HTTPS takes information from HTTP and encrypts it so that it is not transmitted via open text. USE THIS ESPECIALLY FOR DOING ONLINE PAYMENTS OR SENDING IDENTITY INFORMATION TO A WEBSITE. NOTE – SSL, which HTTPS uses is considered to be on layer 6.
FTP (File Transfer Protocol) – FTP is used to transfer files to and from a FTP server and a client. FTP uses TCP for reliability.
TFTP (Trivial File Transfer Protocol) – Used to transfer files. Unlike FTP, it uses UDP instead of TCP, so TFTP is faster but not as reliable.
SMTP (Simple Mail Transfer Protocol) – Used by a client to send e-mail to an e-mail server and across the Internet.
POP3 (Post Office Protocol 3) – Protocol used by a client to retrieve e-mail off a server.
IMAP (Internet Message Access Protocol) – Another protocol used by a client to retrieve e-mail off a server. Either POP3 or IMAP is used.
DHCP (Dynamic Host Configuration Protocol) - A protocol used to automatically assign an IP address to a client. A DHCP server is used to handle IP addressing assignments to all the devices on a LAN or subnet. I explained DHCP in more depth on my Internet Protocol post.
Well, that is it! We have went through all of the layers of the OSI model.
Resources
http://www.tcpipguide.com/free/t_ApplicationLayerLayer7.htm http://www.answers.com/topic/application-layer http://www.iana.org/assignments/port-numbers