ポート番号 — 1つの住所、たくさんの号室
インターネット上のサーバーには IPアドレスという1つの住所があります。でも1台のサーバーは、Webサイトもメールもファイル転送も同時にこなします。届いたデータを「どのサービスに渡すか」をどうやって見分けているのでしょう。その答えがポート番号です。
サーバーを巨大なマンションだと思ってください。建物の住所(IPアドレス)は1つでも、中には番号のついた部屋がたくさんあり、それぞれ別の住人(サービス)が住んでいます。何号室のドアを叩くかで、応答する住人が変わります。下の図1で、ポート番号を選んでドアをノックしてみてください。
あなた
📦
サーバー (IP: 1つ)
22 🔧 SSH
25 ✉️ SMTP
80 🌐 HTTP
443 🔒 HTTPS
3306 🗄️ MySQL
ポート 80 を叩くと、Webサーバー(HTTP)が「いらっしゃい」と応答します。ブラウザはここを訪ねています。
図1 — 住所(IP)は1つ。叩くドア(ポート)で応答する住人が変わる
「よく使うドア」は番号が決まっている
どのサービスがどの部屋にいるかが毎回バラバラだと、訪ねる側が困ります。そこで主要なサービスには世界共通の番号が割り当てられています。これをウェルノウンポート(0〜1023)と呼びます。ブラウザが https://example.com を開くとき、あなたが番号を打たなくても、裏では自動的に443番のドアを叩いています。
一方、誰も住んでいない部屋(閉じたポート)を叩くと、返事はありません。これが「接続拒否(Connection refused)」です。図1で 9999 のように住人のいない番号を叩くと、どのドアも光らないのが分かります。
用語ミニ辞書
- ポート番号
- 1台のサーバー内でサービスを見分ける 0〜65535 の番号。「何号室か」を表す。
- ウェルノウンポート
- 0〜1023。HTTP=80, HTTPS=443, SSH=22 など主要サービス用に予約された番号。
- IP:ポート
- 「住所:号室」の組。
192.0.2.1:443のように書き、通信相手を一意に指す。 - 接続拒否
- 住人(待ち受けプロセス)のいないポートを叩いたときの応答。誰も出ない状態。
まとめ
ポート番号は、1つの住所(IP)の内側でサービスを呼び分けるための号室番号です。同じサーバーがWebもメールも提供できるのは、ドアが番号で分かれているから。よく使うサービスは番号が世界共通で決まっているので、私たちは番号を意識せずブラウザを使えています。図1でいろいろな番号を叩いて、応答する住人が入れ替わるのを確かめてみてください。