導入
住所(IP)が分かっても、まだ足りません。1台のサーバーは、Web も・メールも・データベースも、同時に提供できます。届いたデータを「どのサービス宛てか」で仕分ける番号が ポート、やりとりの作法を決めた約束事が プロトコル です。
説明
ポートは、1台のサーバーに開いた「複数の窓口」です。IP アドレスが建物の住所なら、ポート番号は部屋番号にあたります。
flowchart LR
C["クライアント"] -->|"93.184.216.34 : 80"| P80["ポート80<br/>Webサーバー"]
C -->|"93.184.216.34 : 22"| P22["ポート22<br/>SSH"]
C -->|"93.184.216.34 : 5432"| P5432["ポート5432<br/>データベース"]
subgraph SV["1台のサーバー(住所は1つ)"]
P80
P22
P5432
end
同じIPアドレスでも、ポート番号で行き先のサービスが変わるのがポイントです。よく使うポート番号(ウェルノウンポート)は世界共通で決まっています。
| ポート | サービス | 何のため |
|---|---|---|
| 22 | SSH | サーバーに安全に入る(第1章) |
| 80 | HTTP | ふつうの Web ページ |
| 443 | HTTPS | 暗号化された Web ページ |
| 53 | DNS | 名前からIPを引く(次のレッスン群) |
| 5432 | PostgreSQL | データベース |
| 3306 | MySQL | データベース |
プロトコルは、通信の「話し方・作法の取り決め」です。Web を見るなら HTTP/HTTPS、サーバーに入るなら SSH、名前を引くなら DNS——というように、目的ごとに決まった作法があります。人間でいえば「電話は『もしもし』から」「手紙は宛名と本文」といったマナーの共通ルールです。
さらにその土台には、データの運び方を決める2つのプロトコルがあります。
- TCP … 確実に届けることを重視。相手と「送るよ/受け取ったよ」と確認しながら運ぶ(Web・メール・SSH など、ほとんど)。
- UDP … 速さを重視。確認せず送りっぱなし(動画・音声・DNS など、多少欠けても速さが大事なもの)。
flowchart TD
A["届いたデータ"] --> Q{"どのポート宛て?"}
Q -->|":80"| W["Webサーバーが処理<br/>(HTTPの作法で)"]
Q -->|":22"| S["SSHが処理<br/>(SSHの作法で)"]
Q -->|":5432"| D["DBが処理<br/>(DBの作法で)"]
「IP(住所)+ポート(部屋番号)+プロトコル(作法)」の3点セットで、通信の宛先と方法がすべて決まります。あとで学ぶ
ss(開いているポートを見る)やcurl(HTTP で話す)、ファイアウォール(第8章:ポートの開け閉め)は、すべてこの3点セットの話です。
この章のまとめ
- ポートは1台のサーバーの「部屋番号」。IP が同じでもポートでサービスを出し分ける
- よく使う番号は世界共通(22=SSH, 80=HTTP, 443=HTTPS, 53=DNS)
- プロトコルは通信の作法。土台には確実な TCP と高速な UDP がある
- 宛先は「IP+ポート+プロトコル」で決まる