The application layer is the layer most developers work with. It’s where web frameworks like react, Flask, and others run. This is the highest layer of abstraction in both the OSI and TCP/IP model, meaning the data from this layer gets encapsulated by every other layer down the stack.
Popular Protocols
The most popular protocol at the application level is HTTP, which is what all modern browsers use to communicate over the internet. But there are a few others worth mentioning:
- SMTP (Simple Mail Transfer Protocol); Is the protocol used to send email, though sometimes parts of this process can be done in HTTP
- FTP/SFTP: The file transfer protocol (and it’s secured version SFTP), are a common protocol used to send files
- SMB (Server Message Block): A general communication protocol used to share various things over a network. Most commonly it’s used to share files, and especially files for printers
- SIP (Session Initiation Protocol): The protocol used to initiate and manage communication sessions (i.e. voice and video calls)
- IMAP/POP3: Standards for being able to read your email from an SMTP server
- SSH (Secure Shell Protocol): A protocol that allows you to start shell sessions on other computers, and execute commands in those environments
- DHCP (Dynamic Host Configuration Protocol): A protocol that helps assign IP addresses dynamically to new devices when they connect to a router
- NTP (network time protocol): Used to synchronize participating computers to within a few milliseconds
What about 5 and 6?
Depending on which OSI model you are using there are 5-7 layers. Layers 5 and 6 are the session and presentation layers. In the real world these layers are (typically) all rolled up as part of the 7th layer, and so we just call all of them together the application layer. However keep in mind that the OSI model is not meant to be a strict category system, more like a guideline to help understand networks.
Additional Resources
- SMB
- SSH
- FTP/SFTP
- NTP
- SIP
- IMAP/POP3
- SSH
- DHCP
- Jim Kurose