Chapter 28 of 28

Application Layer Protocols

When we use the Internet, we interact with applications such as web browsers, email clients, file-sharing tools, and messaging apps. But these applications need a common set of rules to communicate over a network.

These rules are provided by Application Layer Protocols.

An application layer protocol is a set of rules that defines how applications communicate and exchange data over a network.

For example, when you open a website, your browser uses HTTP or HTTPS to communicate with the web server.

Browser
   ↓
HTTP / HTTPS
   ↓
Web Server

There are many application-layer protocols, and each one is designed for a particular purpose.


Common Application Layer Protocols

Some important application layer protocols are:

Protocol

Main Purpose

Common Port

HTTP

Web communication

80

HTTPS

Secure web communication

443

DNS

Domain name resolution

53

DHCP

Automatic network configuration

67/68

FTP

File transfer

20/21

SMTP

Sending email

25

POP3

Downloading email

110

IMAP

Accessing and synchronizing email

143

SSH

Secure remote access

22

Telnet

Remote terminal access

23

NTP

Time synchronization

123

Let's understand the most important ones.


1. HTTP

HTTP (HyperText Transfer Protocol) is used for communication between web browsers and web servers.

For example, when you visit a website, your browser can send an HTTP request:

Browser → HTTP Request → Server
Browser ← HTTP Response ← Server

HTTP commonly uses TCP port 80.

Modern web applications can also use newer versions such as HTTP/2 and HTTP/3.


2. HTTPS

HTTPS (HTTP Secure) is HTTP protected using TLS (Transport Layer Security).

It provides:

  • Encryption

  • Integrity protection

  • Server authentication

HTTPS is commonly associated with port 443.

For example:

Browser ═══ TLS + HTTP ═══→ Server

This is why modern websites normally use URLs beginning with:

https://

3. DNS

DNS (Domain Name System) translates domain names into IP addresses and provides other information about domains.

For example:

example.com
     ↓
    DNS
     ↓
IP Address

DNS commonly uses port 53.

It can use both UDP and TCP, depending on the operation and circumstances. Modern DNS can also operate over encrypted transports such as DNS over HTTPS and DNS over TLS.


4. DHCP

DHCP (Dynamic Host Configuration Protocol) automatically provides network configuration to devices.

For example, when your laptop connects to a network, DHCP can provide:

  • IP address

  • Subnet information

  • Default gateway

  • DNS server information

The common IPv4 DHCP ports are:

  • UDP 67 → Server

  • UDP 68 → Client

A common way to remember the initial DHCP process is DORA:

Discover
   ↓
Offer
   ↓
Request
   ↓
Acknowledgment

5. FTP

FTP (File Transfer Protocol) is designed for transferring files between systems.

It uses separate control and data connections and traditionally uses:

  • TCP 21 → Control

  • TCP 20 → Data in traditional active mode

FTP does not provide encryption by itself, so it is generally not suitable for transferring sensitive information over an untrusted network.

Secure alternatives include SFTP, which runs over SSH, and FTPS, which adds TLS to FTP.


6. SMTP

SMTP (Simple Mail Transfer Protocol) is primarily used for sending and relaying email.

For example:

Email Client
     ↓
   SMTP
     ↓
Mail Server
     ↓
Destination Mail Server

Common SMTP ports include:

  • 25 → Mail server-to-server transfer

  • 587 → Message submission

  • 465 → Commonly used for SMTP submission with TLS


7. POP3

POP3 (Post Office Protocol version 3) is used by email clients to retrieve messages from a mail server.

A traditional POP3 workflow generally downloads messages from the server to the client.

Common ports:

  • 110 → POP3

  • 995 → POP3 over TLS

POP3 is useful when simple email retrieval is required, but it is less suited to keeping mail synchronized across multiple devices.


8. IMAP

IMAP (Internet Message Access Protocol) is also used to access email stored on a mail server.

Unlike the traditional POP3 model, IMAP is designed to keep messages and mailbox state synchronized with the server.

Common ports include:

  • 143 → IMAP

  • 993 → IMAP over TLS

This makes IMAP useful when you access the same mailbox from multiple devices.


9. SSH

SSH (Secure Shell) provides secure remote access to computers and servers.

It can be used for:

  • Remote command-line access

  • Secure file transfer through related protocols/tools

  • Secure administration

  • Tunneling

SSH commonly uses TCP port 22.

For example:

Your Computer
      │
      │ SSH
      ↓
Remote Server

Unlike Telnet, SSH encrypts the communication.


10. Telnet

Telnet is an older protocol used for remote terminal access.

It commonly uses TCP port 23.

The major problem is that traditional Telnet sends communication without modern transport encryption, making it unsuitable for sensitive remote administration over untrusted networks.

SSH is normally preferred instead.


11. NTP

NTP (Network Time Protocol) is used to synchronize clocks between computers over a network.

Accurate time is important for many things, including:

  • Logs

  • Authentication

  • Distributed systems

  • Security systems

NTP commonly uses UDP port 123.

Computer ─────→ NTP Server
       Time Synchronization

Application Layer Protocols in Everyday Life

Let's say you open a website on your laptop.

Several protocols may work together:

DHCP
 ↓
Get Network Configuration

DNS
 ↓
Find Website IP Address

HTTPS
 ↓
Communicate with Web Server

TCP / QUIC
 ↓
Transport Communication

IP
 ↓
Route Packets

You don't normally see these protocols working, but they are essential for modern network communication.


Application Protocol vs Transport Protocol

It is important not to confuse application-layer protocols with transport-layer protocols.

Application Layer

Defines what the application wants to communicate and how the application-level messages are structured.

Examples:

  • HTTP

  • DNS

  • SMTP

  • SSH

Transport Layer

Provides communication between application endpoints.

Examples:

  • TCP

  • UDP

A simplified view is:

Application
HTTP / DNS / SMTP / SSH
          ↓
Transport
TCP / UDP
          ↓
Internet
IP
          ↓
Network Access
Ethernet / Wi-Fi

Why Are Application Layer Protocols Important?

Application protocols make it possible for software from different vendors and systems to communicate using common rules.

They define things such as:

  • Message formats

  • Requests and responses

  • Commands

  • Error messages

  • How data should be interpreted

Without common protocols, a web browser and web server would have no agreed way to communicate.

Conclusion

Application Layer Protocols are rules that allow applications to communicate over a network.

Some important protocols include:

  • HTTP/HTTPS → Web communication

  • DNS → Domain name resolution

  • DHCP → Automatic network configuration

  • FTP → File transfer

  • SMTP → Sending email

  • POP3/IMAP → Email retrieval and synchronization

  • SSH → Secure remote access

  • NTP → Time synchronization

The easiest way to understand them is to remember that each protocol solves a particular communication problem at the application level.

For example:

Want a website? → HTTP/HTTPS

Need to find an IP from a domain name? → DNS

Need automatic network configuration? → DHCP

Need to send email? → SMTP

Need secure remote access? → SSH