
新Linux入門|プロトコルとは:通信のルールと仕組みを理解する
ネットワークの世界で欠かせないキーワードのひとつに「プロトコル(Protocol)」という言葉があります。
普段何気なく使っているWebブラウザ、メール、SSH接続など、すべての通信の裏側ではプロトコルが動いています。
この記事では、「プロトコルとは何か」 をやさしく、かつしっかり理解できるように解説します。
コマンド例や構造図を交えて学んでいきましょう💡

🌐 プロトコルとは?
プロトコルとは、コンピュータ同士が通信を行うための共通ルールや手順 のことです。
人間でいえば「共通の言語」や「会話のマナー」のようなものです。
たとえば、日本語で話しかけられたのに相手が英語で返したら、意思疎通ができませんよね。
コンピュータも同じで、共通のプロトコルに従って通信することで、データの正しい送受信が行われます。

| 項目 | 内容 |
|---|---|
| 意味 | データ通信のためのルールや手順 |
| 目的 | 異なる機器・OS間でのデータ交換を円滑に行う。 |
| 具体例 | TCP/IP、HTTP、FTP、SMTP、SSH など |
💬ポイント
つまりプロトコルは、「どんな順番で」「どんな形式で」「どんな方法で」通信するのかを決める約束ごとです。
🧭 プロトコルの役割
プロトコルは、通信を行う上で以下のような基本的な役割を持っています。
| 役割 | 説明 |
|---|---|
| データ転送の手順 | データをどの順番で送るかを決める。 |
| エラー制御 | 送信中にデータが壊れたときに検出・再送する。 |
| データ形式の統一 | 送受信データの形式を統一して誤解を防ぐ。 |
| 通信の開始・終了 | コネクションの確立と切断を管理する。 |
| セキュリティ | 通信データの暗号化や認証を行う。 |
💡ポイント
このような仕組みがあるからこそ、ブラウザでWebページを開いたり、SSHでサーバーにログインしたりできるのです。
🧱 プロトコルの階層構造
ネットワークのプロトコルは、階層構造(レイヤ構造) で設計されています。
これは「役割ごとに分担」して通信を管理する考え方です。
代表的なモデルが TCP/IPモデル(4階層) です👇

| 階層 | 主な役割 | 代表的なプロトコル |
|---|---|---|
| アプリケーション層 | データの内容を決定 | HTTP, FTP, SMTP, SSH |
| トランスポート層 | 通信の信頼性を確保 | TCP, UDP |
| インターネット層 | 経路の決定とアドレス指定 | IP, ICMP |
| ネットワークインターフェース層 | 実際の物理通信 | Ethernet, Wi-Fi など |
💬ポイント
このように、下位層が上位層を支えることで通信全体が成り立っています。
TCP/IPは“インターネット通信の基盤”とも呼ばれ、現在ほとんどのネットワークで使われています。
🔄 プロトコルの動作原理
通信は、基本的に クライアント(要求する側) と サーバー(応答する側) の間で行われます。
たとえば、Webブラウザが「HTTPリクエスト」をサーバーに送信し、サーバーが「HTTPレスポンス」を返すように、
“要求 → 応答” のやり取りを繰り返して通信が成立します。
この流れを簡単に表すと以下のようになります👇
| 通信の流れ | 内容 |
|---|---|
| 1. クライアントが接続要求を送信 | 例:WebブラウザがサーバーへHTTPリクエストを送る。 |
| 2. サーバーが接続を受理 | Webサーバーがリクエストを受け取る。 |
| 3. データ転送 | 必要なデータを送受信する。 |
| 4. 通信終了 | 双方が接続を切断して通信完了 |
💬ポイント
このように、プロトコルは「通信の始まりから終わりまで」の流れを細かく定義しているのです。
🌍 代表的なプロトコルの種類と用途
| プロトコル名 | 目的 | 主な使用場所 |
|---|---|---|
| HTTP (HyperText Transfer Protocol) | Webページの転送 | ブラウザとWebサーバー |
| HTTPS | 暗号化されたWeb通信 | セキュアなWebアクセス |
| FTP (File Transfer Protocol) | ファイル転送 | サーバーへのアップロード |
| SMTP (Simple Mail Transfer Protocol) | メール送信 | メールサーバー間の通信 |
| POP3 / IMAP | メール受信 | メールクライアントとサーバー間 |
| SSH (Secure Shell) | 安全なリモートログイン | サーバー管理やファイル転送 |
💬ポイント
これらのプロトコルはそれぞれ異なる目的を持ち、必要に応じて組み合わせて使われています。
🧩 実際にプロトコルの動作を確認してみよう
AlmaLinux 9.6 では、ping や curl コマンドを使って通信プロトコルの動作を確認できます。
➀ pingコマンド(ICMPプロトコルを利用)
[suzuki@AlmaLinux ~]$ ping -c 4 www.google.com
PING www.google.com (142.250.196.132): 56 data bytes
64 bytes from 142.250.196.132: icmp_seq=0 ttl=118 time=11.3 ms
64 bytes from 142.250.196.132: icmp_seq=1 ttl=118 time=10.9 ms
--- www.google.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss💬ポイント
ICMPは「ネットワーク疎通を確認する」プロトコルで、pingコマンドはその代表的な使い方です。
② curlコマンド(HTTPプロトコルを利用)
[suzuki@AlmaLinux ~]$ curl -I https://www.example.com
HTTP/2 200
content-type: text/html
etag: "bc2473a18e003bdb249eba5ce893033f:1760028122.592274"
last-modified: Thu, 09 Oct 2025 16:42:02 GMT
cache-control: max-age=86000
date: Sun, 30 Nov 2025 05:54:26 GMT
alt-svc: h3=":443"; ma=93600💬ポイント
curlコマンドはWebサーバーとの通信を行い、HTTPレスポンスヘッダーを確認できます。
| コマンド | 説明 | 主なオプション |
|---|---|---|
| ping | ネットワーク疎通を確認 | -c 回数(送信回数指定) |
| curl | HTTP/HTTPS通信を実行 | -I(ヘッダーのみ表示)、-L(リダイレクトを追跡) |
🌈 まとめ
- プロトコル は通信のルールブックであり、異なる機器間の正確な情報交換を可能にする。
- TCP/IP階層構造 により、役割ごとに分けて通信の効率と柔軟性を確保している。
- HTTP・SSH・SMTP など、用途に応じて多様なプロトコルが使われている。
- AlmaLinux上では、
pingやcurlを使ってプロトコルの動作を確認できる。
通信の世界では、「どんなデータを、どんな順番で、どんなルールでやり取りするか」こそが命。
そのルールを支えているのがプロトコルなんです💡
次にネットワークトラブルに出会ったときは、「この通信、どのプロトコルで話してるのかな?」と意識してみると、理解がぐっと深まります😉
