TL;DR
サーバ上の特定のサービスやアプリケーションにアクセスするために使う番号である。
仕組み
RFC 6335 によると、ポート番号には 2 つの役割がある。同じ 2 つのエンドポイント間の通信を区別することと、接続先のアプリケーションプロトコルやサービスを示すことである。ポート番号は 16 ビットの値なので、範囲は 0〜65535 になる。TCP、UDP、SCTP、DCCP がポート番号を使う。
同 RFC では、ポート番号を次の 3 つの範囲に分けている。System Ports と User Ports は IANA が割り当てて登録簿を管理し、Dynamic Ports は割り当てない。
- System Ports(Well Known Ports): 0〜1023
- User Ports(Registered Ports): 1024〜49151
- Dynamic Ports(Private Ports、Ephemeral Ports): 49152〜65535。ローカルで動的に使うために取ってあり、サービスの識別には使わない
URL ではポート番号を省略できる。省略した場合は、プロトコルごとに決められたデフォルトのポート番号(ウェルノウンポート)が使われる。
例
HTTP のデフォルトのポート番号は 80 である。RFC 6335 によると、ポート番号は http のようなサービス名と対になっている。
注意点
RFC 6335 は、ポート番号の空間は有限なので、できるだけポート番号ではなくサービス名を使うことを推奨している。