ストーリー
プロトコルとは
一言で言うと
通信するときの約束事(ルール)
プロトコル(Protocol)= 「手順」「規約」「約束事」
なぜプロトコルが必要なのか
人間の場合
日本人とアメリカ人が会話するには、共通の言語(英語など)が必要です。
[日本人] --- 日本語 ---> [アメリカ人] ← 通じない
[日本人] --- 英語 ---> [アメリカ人] ← 通じる!
コンピュータの場合
メーカーも機種も違うコンピュータ同士が通信するには、共通のルールが必要です。
[Windows PC] --- ??? ---> [Mac] ← ルールなしだと通じない
[Windows PC] --- TCP/IP ---> [Mac] ← 共通ルールで通じる!
郵便の例え
手紙を送るにも「ルール」があります。
1. 封筒に宛先を書く → IPアドレス(送り先の指定)
2. 切手を貼る → 回線使用料
3. ポストに入れる → ネットワークに送信
4. 郵便局が仕分けする → ルーターが経路選択
5. 届け先に配達される → サーバーに到着
プロトコルは、この「手紙の送り方ルール」のコンピュータ版です。
主要なプロトコル
TCP/IP
インターネットの基盤となるプロトコル群。
| プロトコル | 役割 | 例え |
|---|---|---|
| IP | データの宛先を指定する | 封筒の宛先 |
| TCP | データを確実に届ける | 書留郵便(届いたか確認する) |
| UDP | データを素早く届ける | 普通郵便(確認なし、でも速い) |
アプリケーション層のプロトコル
| プロトコル | 役割 | 用途 |
|---|---|---|
| HTTP/HTTPS | Webページの通信 | ブラウザでの閲覧 |
| DNS | ドメイン名をIPアドレスに変換 | www.example.com → 93.184.216.34 |
| SMTP | メールの送信 | メールを送る |
| FTP | ファイルの転送 | ファイルをアップロード・ダウンロード |
| SSH | 安全なリモート接続 | サーバーに安全にログイン |
TCPとUDPの違い
TCP(Transmission Control Protocol)
確実にデータを届ける プロトコル。
送信側: 「データ1を送ります」
受信側: 「データ1を受け取りました」
送信側: 「データ2を送ります」
受信側: 「データ2を受け取りました」
- データが届いたか確認する(信頼性が高い)
- 届かなかった場合は再送する
- 用途:Webページ、メール、ファイル転送
UDP(User Datagram Protocol)
素早くデータを届ける プロトコル。
送信側: 「データ1を送ります」
送信側: 「データ2を送ります」
送信側: 「データ3を送ります」
(届いたかの確認はしない)
- 確認しないので速い
- データが一部失われる可能性がある
- 用途:動画ストリーミング、オンラインゲーム、音声通話
使い分け
| 状況 | プロトコル | 理由 |
|---|---|---|
| Webページを見る | TCP | 内容が正確に届く必要がある |
| メールを送る | TCP | メールが欠けては困る |
| 動画を見る | UDP | 多少乱れても速さが重要 |
| オンラインゲーム | UDP | リアルタイム性が重要 |
| ファイルをダウンロード | TCP | データが完全である必要がある |
ポート番号
IPアドレスが「住所」なら、ポート番号は「部屋番号」です。
IPアドレス: 192.168.1.1 (マンションの住所)
ポート番号: 80 (部屋番号)
よく使われるポート番号
| ポート番号 | プロトコル | 用途 |
|---|---|---|
| 80 | HTTP | Web(暗号化なし) |
| 443 | HTTPS | Web(暗号化あり) |
| 22 | SSH | リモート接続 |
| 53 | DNS | 名前解決 |
| 25 | SMTP | メール送信 |
| 3306 | MySQL | データベース |
URLとポート番号
graph LR
URL["http://www.example.com:80/index.html"]
P["http:// → プロトコル"]
D["www.example.com → ドメイン名"]
Port[":80 → ポート番号(省略可)"]
F["/index.html → ファイルパス"]
URL --- P
URL --- D
URL --- Port
URL --- F
style URL fill:#1e293b,stroke:#475569,stroke-width:2px,color:#f8fafc
style P fill:#dbeafe,stroke:#2563eb,color:#1e40af
style D fill:#d1fae5,stroke:#059669,color:#065f46
style Port fill:#fef3c7,stroke:#d97706,color:#92400e
style F fill:#fee2e2,stroke:#dc2626,color:#991b1b
通常、HTTPの80番とHTTPSの443番は省略されます。
まとめ
| ポイント | 内容 |
|---|---|
| プロトコル | 通信の約束事(ルール) |
| TCP | 確実にデータを届ける(Webページ、メール) |
| UDP | 素早くデータを届ける(動画、ゲーム) |
| ポート番号 | アプリケーションを識別する「部屋番号」 |
チェックリスト
- プロトコルが「通信の約束事」であると理解した
- TCP と UDP の違いを説明できる
- 主要なプロトコル(HTTP, DNS, SSH)を知っている
- ポート番号の役割を理解した
次のステップへ
プロトコルの基本が分かりましたね。
次のセクションでは、これらのプロトコルがどのように「層」として積み重なっているのか、ネットワークの階層モデル を学びます。
推定読了時間: 25分