Module 16: Application Layer

The Client-Server Relationship

A server is a host running software that provides information or services to other hosts on a network. A common example is a web server, which delivers web pages to clients.

A client is a device or application, such as a web browser (e.g., Chrome, Firefox), that requests services from a server. A single computer can run multiple client applications simultaneously.

The client-server model operates on the principle that:

  1. The client sends a request to a server.
  2. The server processes the request and responds with the required data or service.

A key factor in ensuring smooth communication is the use of agreed-upon protocols and standards.

Uniform Resource Identifier (URI)

A URI is a string of characters that identifies a specific network resource. It has two main specializations:

  • URN (Uniform Resource Name): Identifies the namespace of a resource without specifying a retrieval method.
  • URL (Uniform Resource Locator): Specifies the exact location of a resource, including the protocol used to access it (e.g., HTTP, FTP, SSH).

Network Application Services

Most common internet services rely on the TCP/IP protocol suite to facilitate communication between clients and servers. These services include:

  • DNS (Domain Name System)
  • SSH (Secure Shell)
  • SMTP, POP3, IMAP (Email services)
  • DHCP (Dynamic Host Configuration Protocol)
  • HTTP/HTTPS (Web services)
  • FTP (File Transfer Protocol)

Domain Name System (DNS)

DNS is used to resolve domain names to IP addresses. High-level domains such as .com, .edu, .net categorize registered domain names.

  1. A host requests the IP address for a specific domain.
  2. The local DNS server checks its records.
  3. If no record exists, the request is forwarded to another DNS server.
  4. Once resolved, the IP address is returned to the host.

Web Clients and Servers

Web communication follows the HTTP protocol, where:

  1. A web client (browser) uses an IP address and port 80 to request web content.
  2. The server responds with the requested web page, formatted in HTML.
  3. If security is required, HTTPS (port 443) encrypts communication.

The HTML standard ensures interoperability between web clients and servers from different manufacturers.


FTP Clients and Servers

FTP (File Transfer Protocol) enables file exchange between a client and a server. Common functions include:

  • Uploading files
  • Downloading files
  • Remote file management (rename, delete, etc.)

FTP communication uses two ports:

  • TCP port 21: Establishes the control connection.
  • TCP port 20: Transfers data.

Most operating systems provide command-line FTP tools, while GUI-based FTP clients offer a user-friendly interface.


Virtual Terminals

Telnet

Telnet is a protocol for remote command-line access to servers. It operates on TCP port 23 and allows users to create virtual terminal (vty) sessions. However, Telnet is not secure, as data is transmitted in plaintext.

SSH (Secure Shell)

SSH provides an encrypted alternative to Telnet for secure remote login and network services. It offers:

  • Stronger authentication
  • Secure data transmission

Network administrators should always prefer SSH over Telnet.


Email and Messaging

Email services rely on various protocols to facilitate message exchange:

  • SMTP (Simple Mail Transfer Protocol) – Used by email clients to send messages (port 25).
  • POP3 (Post Office Protocol 3) – Downloads emails to a client but does not keep copies on the server (port 110).
  • IMAP4 (Internet Message Access Protocol 4) – Allows users to access emails stored on the server (port 143).

Instant Messaging & VoIP

  • Instant messaging services (e.g., direct messages, chat apps) facilitate real-time text-based communication.
  • VoIP (Voice over IP) converts voice signals into digital data and transmits them over a network.