ポート番号

ポート番号とは、TCP/IP通信において、 サーバーが提供しているHTTPやFPTなどの各種サービス (プロトコル)を識別するための窓口番号です。

窓口番号は、役所や銀行をイメージするとわかりやすいと思います。 役所や銀行はいろんなサービスを提供していて、 サービスごとに窓口が複数用意されています。 そしてサービスを提供してもらう側は、 その窓口を通してサービスを受けます。

サーバーも同じです。 サーバーはHTTP、FTP、SSH、SMTPなど複数のサービス(プロトコル) を外部に提供しています。 IPアドレスからコンピュータを特定することはできますが、 どのサービス(プロトコル)にパケットを渡せばいいかまではわかりません。 どのサービス(プロトコル)を使うかを識別するための番号がポート番号です。

ポート番号の種類とプロトコル

ポート番号は16ビットの整数です。 0~65535まで用意されていて、 大きく3つに区別されます。

  • 0~1023: ウェルノウンポート番号
  • 1024~49151: 登録ポート番号
  • 49152~65535: ダイナミック・プライベートポート番号

ポート番号を調べたい場合は、 IANA(Internet Assigned Numbers Authority) のサイトでポート番号の一覧を確認できます。
Service Name and Transport Protocol Port Number Registry

「0~1023」までをウェルノウンポート番号(WELL KNOWN PORT NUMBERS)といい、 IANAによって利用するプロトコルが決められています。 例えばHTTPは「80」、HTTPSは「443」、SMTPは「25」です。

「1024~49151」までを登録ポート番号(REGISTERED PORT NUMBERS)といい、 特定のサービス(ソフトウェア)ごとに割り当てられます。 登録ポート番号についてはIANAが登録を受け付けて、公開しています。 データベースソフトとして有名な「MySQL」はポート番号「3306」、 「PostgreSQL」は「5342」です。

「49152~65535」までをダイナミック・プライベートポート番号 (DYNAMIC AND/OR PRIVATE PORTS)といい、自由に使える番号となっています。

関連記事

IT基礎知識