【ぽーとばんごう】

ポート番号 とは?

最終更新:
💡 IPアドレスの「部屋番号」、同じサーバ上の複数アプリを識別する

TCPやUDPの通信で、同じIPアドレス上の通信の窓口を区別する0〜65535の番号。送信元と宛先の両方に使われる。同じ番号でも、TCPとUDPでは別の窓口として扱われる。

📌 このページのポイント
同じIPの、通信の窓口を区別 同じサーバ:TCPでの例 80 HTTP 443 HTTPS 22 SSH IANAの分類 ウェルノウン 0〜1023 登録済み 1024〜49151 動的・私用 49152〜65535 0は予約・動的範囲はIANAの割当なし 一時ポートの範囲はOSと設定で変わる
上は代表的な番号の例で、実際のサービスは別の番号にも設定できます。下はIANAの分類であり、OSが一時的なポートを選ぶ範囲と一致するとは限りません。
ひよこ ひよこ
ポート番号って何のためにあるの?
ペンギン先生 ペンギン先生
同じIPアドレス上で、どの通信の窓口へ届けるかを区別するためだよ。Webやメールなどを同じサーバで扱うときに使う。TCPやUDPの通信では送信元と宛先の両方に番号があり、同じ数字でもTCPとUDPは別の窓口なんだ。
ひよこ ひよこ
よく使うポート番号を教えて。
ペンギン先生 ペンギン先生
HTTPは80、HTTPSは443、SSHは22、FTPの制御用は21、SMTPは25、DNSは53などが代表的だよ。ただし実際には別の番号を設定できる。番号が443というだけで、必ずHTTPSだと断定できるわけではないんだ。
ひよこ ひよこ
ウェルノウン、登録済み、ダイナミックって何が違うの?
ペンギン先生 ペンギン先生
IANAの分類では0〜1023がシステム(ウェルノウン)、1024〜49151がユーザー(登録済み)、49152〜65535が動的・私用の範囲だよ。0は予約されていて、通常のサービス用ではない。動的・私用の範囲ではIANAがサービスへの割り当てを行わないんだ。
ひよこ ひよこ
クライアントが一時的に使う番号は、必ず49152以上?
ペンギン先生 ペンギン先生
いいえ。エフェメラルポートと呼ばれる一時的な番号を選ぶ範囲は、OSや設定によるよ。たとえばLinuxのip_local_port_rangeの既定値は32768〜60999。IANAの分類と、OSが実際に選ぶ範囲は分けて考えよう。
ひよこ ひよこ
ファイアウォールでは、番号を閉じれば安全になる?
ペンギン先生 ペンギン先生
不要な窓口への通信を制限する助けにはなるけれど、それだけで安全が保証されるわけではないよ。IPアドレスやTCP・UDPの違い、通信方向などを組み合わせてルールを決める。許可したサービスの設定や認証も、別に確認する必要があるんだ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「ポート番号」って出てきたら「TCPやUDPで通信の窓口を区別する番号」と思えばだいたいOK!
📖 おまけ:英語の意味
「Port Number」 = 通信の窓口の番号
💬 portは「港」や「出入り口」を表す語。IPアドレスを建物の住所、ポート番号を窓口の番号にたとえると役割をつかみやすいよ。物理的な差し込み口の番号とは別なんだ。

参考資料

← 用語集にもどる