ポート
別名: port / ポート番号 / port number
1 台のホスト上で通信の宛先を区別する 0〜65535 の番号。
IP アドレスが「どのマシンか」を、ポートが「その中のどのサービスか」を指す。
3000 や 5432 のような既定値がよく使われる。
公開:
定義
ポート(port) は、ネットワーク通信の終端を識別する 0〜65535 の番号。
IP アドレスが通信相手のホストを指すのに対し、ポート番号は同じホスト上で動く複数のサービスのうちどれ宛かを区別する。
1 つのポートは同時に 1 つのプロセスしか LISTEN できないため、重複すると起動に失敗する。
詳細
IANA(新しいタブで開く) は用途で範囲を分けており、0〜1023 がシステムポート(HTTP=80、HTTPS=443 など)、1024〜49151 が登録済みポート、49152〜65535 が動的・私用ポートとされる。
開発では 3000(Next.js 等)や 5432(PostgreSQL)のような既定ポートがよく使われる。
同じポートを 2 つのプロセスが握ろうとすると衝突する。
よくある誤解
- ポート番号は自由に決められる: 1024 未満は特権が必要で、既に使用中の番号は選べない。
- プロセスを止めれば即再利用できる: TCP の TIME_WAIT により、数十秒から数分はポートが握られたままになることがある。
関連
ポート衝突は EADDRINUSE や Docker Compose でポートが使用中 として表面化する。