Application Protocols - Computer Network (Full Explanation)
There are multiple protocols that function for users in the Application Layer. These protocols can be generally categorized into two groups:
1. Protocols utilized by users, such as email protocols like eMail.
2. Protocols that assist and support those used by users, for instance, DNS.
Below are a few Application Layer protocols explained:
Domain Name System
The Domain Name System (DNS) operates on a Client-Server model. It employs the UDP protocol for communication at the transport layer. DNS utilizes a hierarchical domain-based naming system. The DNS server is set up with Fully Qualified Domain Names (FQDN) and email addresses linked to their corresponding Internet Protocol addresses.
When a DNS server is queried with an FQDN, it replies with the associated IP address. DNS operates on UDP port 53.
Simple Mail Transfer Protocol
The Simple Mail Transfer Protocol (SMTP) facilitates the transfer of electronic mail between users. This process is carried out through email client software (User Agents) that the user employs. User Agents assist users in composing and formatting emails and store them until an internet connection is available. When an email is ready to be sent, the sending process is managed by a Message Transfer Agent, which is typically integrated into the email client software.
The Message Transfer Agent utilizes SMTP to relay the email to another Message Transfer Agent (on the server side). While end users use SMTP solely for sending emails, servers generally use it for both sending and receiving emails. SMTP operates on TCP port numbers 25 and 587.
Client software employs Internet Message Access Protocol (IMAP) or POP protocols to retrieve emails.
File Transfer Protocol
The File Transfer Protocol (FTP) is the most commonly used protocol for transferring files over a network. FTP communicates using TCP/IP and functions on TCP port 21. It operates on a Client/Server Model, where a client requests a file from the server, and the server sends the requested resource back to the client.
FTP operates using out-of-band control, meaning it utilizes TCP port 20 for the exchange of control information, while the actual data is transmitted over TCP port 21.
When a client requests a file from the server, the server establishes a TCP connection to facilitate the transfer of that file. Once the transfer is finished, the server terminates the connection. If the client needs a second file, it will make another request, prompting the server to open a new TCP connection.
Post Office Protocol (POP)
The Post Office Protocol version 3 (POP3) is a straightforward mail retrieval protocol that allows User Agents (client email software) to fetch emails from a mail server.
When a client wishes to retrieve emails from the server, it establishes a connection on TCP port 110. The user can then access and download their emails to their local computer. POP3 operates in two modes: the most prevalent is the delete mode, which removes emails from the remote server after they have been downloaded to local devices. The alternative is the keep mode, which retains the emails on the mail server, allowing users to access them later.
Hyper Text Transfer Protocol (HTTP)
The Hyper Text Transfer Protocol (HTTP) serves as the backbone of the World Wide Web. Hypertext is a well-structured documentation system that employs hyperlinks to connect pages within text documents. HTTP functions on a client-server model. When a user seeks to access an HTTP page online, the client machine at the user's end initiates a TCP connection to the server on port 80. Upon accepting the client's request, the server grants access to the web pages.
Typically, clients use web browsers to access web pages, which are responsible for initiating, maintaining, and closing TCP connections. HTTP is a stateless protocol, meaning the server does not retain any information about previous requests made by clients.
HTTP Versions
- HTTP 1.0 operates with non-persistent HTTP, allowing only one object to be transmitted over a single TCP connection.
- In contrast, HTTP 1.1 employs persistent HTTP, enabling multiple objects to be sent through a single TCP connection.