ポート番号 - インターネットの「部屋番号」
IP アドレスが建物の住所だとすれば、ポート番号はその建物の中の部屋番号です。1 台のサーバーが Web サイト、メール、SSH、データベースなど複数のサービスを同時に提供できるのは、各サービスが異なるポート番号で「部屋分け」されているからです。
ポート番号は 0 から 65535 までの整数で、合計 65,536 個。この数字の中には、インターネットの歴史、技術者のユーモア、そして意外な物語が隠されています。
ウェルノウンポート (0-1023) - インターネットの「一等地」
0 から 1023 までのポート番号は「ウェルノウンポート (Well-Known Ports)」と呼ばれ、IANA によって特定のサービスに割り当てられています。Unix 系 OS では、これらのポートを使用するには root 権限が必要です。
ポート 80 (HTTP) と 443 (HTTPS)
Web の標準ポートです。ブラウザで URL を入力するとき、http:// ならポート 80、https:// ならポート 443 に接続します。ポート番号を省略できるのは、ブラウザがプロトコルに応じてデフォルトポートを自動補完するからです。
なぜ 80 なのか。Tim Berners-Lee が 1991 年に HTTP を設計した際、ポート 80 はまだ未割り当てでした。キリの良い数字で覚えやすく、当時の慣習で「空いている番号を使う」という程度の理由だったとされています。443 は HTTPS 用に後から割り当てられた番号で、80 のすぐ隣に確保されたわけではありません。80 と 443 の間には 110 (POP3) や 143 (IMAP) など別のサービスの番号が並んでいます。
ポート 22 (SSH)
SSH (Secure Shell) の作者 Tatu Ylönen は、1995 年にフィンランドのヘルシンキ工科大学で SSH を開発しました。Ylönen 自身が語ったところによれば、ポート 22 を選んだ理由は「21 (FTP) と 23 (Telnet) の間が空いていたから」です。FTP と Telnet はどちらも暗号化されていない古いプロトコルで、SSH はそれらの安全な代替として設計されました。21 と 23 の間に位置する 22 は、象徴的にも実用的にも完璧な選択でした。
ポート 25 (SMTP)
メール送信プロトコル SMTP のポートです。1982 年の RFC 821 で Jon Postel によって定義されました。2026 年 8 月時点では、スパム対策のために多くの ISP が家庭向け回線からポート 25 への外部接続を制限しており、メールソフトからの送信にはポート 587 (Submission) が使われます。
ポート 53 (DNS)
DNS のポートです。ブラウザが Web サイトにアクセスする際、最初にポート 53 で DNS サーバーに問い合わせ、ドメイン名を IP アドレスに変換します。DNS over HTTPS はこの通信をポート 443 (HTTPS) に移すことで、DNS クエリの暗号化を実現しています。
登録済みポート (1024-49151) - 申請すれば使える「準一等地」
1024 から 49151 までは「登録済みポート (Registered Ports)」で、IANA に申請すれば特定のサービスに割り当てられます。root 権限なしで使用できます。
ポート 3306 (MySQL)
MySQL のデフォルトポートです。1024 以上の登録済みポート帯にあるため、root 権限がなくても待ち受けを開始できます。開発用のマシンで一般ユーザー権限のままデータベースを起動できるのは、この帯域が選ばれているからです。
ポート 5432 (PostgreSQL)
PostgreSQL のデフォルトポート。3306 と離れた番号なので、1 台のサーバーに MySQL と PostgreSQL を同居させても衝突しません。同じホストで複数のインスタンスを動かすときは、5433、5434 と 1 ずつずらして起動するのが定石です。
ポート 8080
HTTP の代替ポートとして広く使われています。開発環境で Web サーバーを起動する際、ポート 80 は root 権限が必要なため、代わりに 8080 を使うのが慣習です。「80 の代替」であることが一目で分かる番号選びです。
ポート 6667 (IRC)
IRC (Internet Relay Chat) が事実上の標準として使い続けてきたポートです。IANA が IRC に公式に割り当てた番号は 194 (平文) と 994 (TLS) ですが、どちらもウェルノウンポートで root 権限を必要とするため、一般ユーザーがサーバーを立てられる 6667 が定着しました。暗号化する場合は 6697 が慣習で、RFC 7194 はこの 6697 を IRC の TLS 用ポートとして登録しています。
6667 の隣にある 6666 も接続先として受け付けるサーバーが多く、「悪魔の数字」(666) を避けるための番号選びだったという説が語られますが、確かな記録は公開されていません。IRC は 1988 年にフィンランドで Jarkko Oikarinen が開発し、インターネット初期のリアルタイムコミュニケーションの中心でした。
動的ポート (49152-65535) - 一時的な「仮住まい」
49152 から 65535 までは「動的ポート (Dynamic/Ephemeral Ports)」で、OS がクライアント側の通信に一時的に割り当てます。ブラウザが Web サーバーに接続するとき、サーバー側はポート 443 ですが、クライアント側は OS が自動的に割り当てた動的ポート (例: 52847) を使用します。
通信が終了すると、動的ポートは解放され、別の通信に再利用されます。
ポート番号にまつわる雑学
ポート 0 - 存在するが使えない
ポート 0 は「ワイルドカード」として予約されています。プログラムがポート 0 にバインドすると、OS が空いている動的ポートを自動的に割り当てます。テストやデバッグで「どのポートでもいいから空いているものを使いたい」場合に便利です。
ポートスキャン - 開いているドアを探す
攻撃者がサーバーの脆弱性を探す際、最初に行うのがポートスキャンです。nmap などのツールで全ポートをスキャンし、どのサービスが稼働しているかを調査します。不要なポートを閉じ、ファイアウォールで必要なポートのみを許可することが、サーバーセキュリティの基本です。
65535 の由来
ポート番号が 65535 までなのは、TCP/UDP ヘッダーでポート番号に 16 ビットが割り当てられているからです。2^16 = 65,536 で、0 を含めると 0〜65535 の範囲になります。この設計は 1981 年の TCP 仕様 (RFC 793) で決まり、RFC 793 を置き換えた 2022 年の RFC 9293 でも 16 ビットのまま変わっていません。
まとめ
ポート番号は、IP アドレスと並ぶインターネット通信の基本要素です。80 と 443 が Web を支え、22 が安全なリモートアクセスを提供し、53 が名前解決を担う。これらの数字の一つ一つに、インターネットの歴史と設計思想が刻まれています。
IP 確認さんで確認できる IP アドレスの先には、ポート番号で区切られた無数のサービスが稼働しています。次にブラウザで Web サイトを開くとき、その通信がポート 443 を通っていることを思い出してみてください。
この記事の関連用語
よくある質問
なぜ HTTP はポート 80 なのですか?
Tim Berners-Lee が 1991 年に HTTP を設計した際、ポート 80 は未割り当てで、キリの良い覚えやすい番号だったためです。深い技術的理由はなく、当時の慣習で空いている番号を使っただけとされています。
SSH のポート 22 はなぜ 22 なのですか?
作者の Tatu Ylönen が、FTP (21) と Telnet (23) の間が空いていたため選びました。SSH は FTP と Telnet の安全な代替として設計されたので、21 と 23 の間の 22 は象徴的にも完璧な選択でした。
ポート番号はなぜ 65535 までなのですか?
TCP/UDP ヘッダーでポート番号に 16 ビットが割り当てられているためです。2^16 = 65,536 で、0 を含めると 0〜65535 の範囲になります。この設計は 1981 年の TCP 仕様 (RFC 793) で決まり、RFC 793 を置き換えた 2022 年の RFC 9293 でも 16 ビットのまま変わっていません。