Protocol

Protocols in Linux are standardized rules for communication – be it between processes, between computers, or between devices. They help to make the system synchronized, secure, and easily extensible.

Protocols in Linux are a set of rules and standard formats that help components (applications, services, systems, devices) communicate, exchange data, or coordinate activities** with each other in a consistent and compatible way.

There are 2 common types of protocols in Linux:

1. Network Protocols:

These are the rules for transmitting data over a network.

Protocol Role
TCP/IP Reliable data transmission over the Internet
UDP Fast data transmission, unreliable
HTTP/HTTPS Web access
SSH Secure remote control connection
FTP/SFTP Network file transfer
DNS Domain name lookup
ICMP Network test communication (ping...)

📌 Linux uses all these protocols through the kernel and user programs such as curl, ssh, ping, wget...


2. System/Internal Protocols:

These are the rules for communication between internal components such as:

Protocol Description
Wayland Modern display protocol between compositor and application
X11 Old graphics protocol
D-Bus IPC (inter-process communication) protocol between processes
PulseAudio protocol Transmit audio between applications and audio servers
MTP/PTP Protocol for communicating with devices such as phones, cameras via USB

How does a protocol work?

Suppose you use the command:

curl https://example.com

👉 Then:

  • Linux uses HTTPS protocol (on top of TCP/IP) to:

  • Open a connection (TCP)

  • Send a request (HTTP GET)

  • Receive web data

Everything works smoothly thanks to complying with the protocol rules between the parties.