ITの教科書検索

第4章 通信の制御|4-3|コース全体 19本中15本目

入門読了 約8分更新日 2026-09-27

ポート番号とは ― IPアドレスとの役割分担

ポート番号は、1台のコンピュータの中でどのアプリ宛ての通信かを区別する番号です。Webは80番と443番、DNSは53番。0〜65535の範囲の根拠と、IPアドレスとの役割分担も整理。

目次
  1. IPアドレスは建物の住所、ポート番号は部屋番号
  2. なぜ0〜65535なのか
  3. 3つの区分
  4. 主要なポート番号
  5. 送信元ポートはどう決まるか
  6. TCPのポートとUDPのポートは別物
  7. 練習問題

ポート番号は、1台のコンピュータの中で「どのアプリ宛てか」を区別する番号

通信を届けるには、2段階の宛先指定が必要です。IPアドレスで「どのコンピュータか」を指定し、ポート番号で「そのコンピュータの中のどのアプリ宛てか」を指定します。IPアドレスだけでは、Webサーバ宛てなのか、同じ機器のメールサーバ宛てなのかを区別できません。

建物にたとえるとIPアドレスは建物の住所、ポート番号は部屋番号です。住所だけでは、建物の前までしか届きません。部屋番号がなければ、どの部屋に渡せばよいか分かりません。

ポート番号は0〜65535の数字で、TCPとUDPのヘッダにそれぞれ格納されています。

なぜ0〜65535なのか

ポート番号は、TCP・UDPヘッダの16ビットの領域に格納されます。16ビットで表せる値は2¹⁶ = 65536通りです。

0から数え始めるので、65536個目の値は65535になります。そのため、ポート番号の範囲は0〜65535で、個数は65536個です。

IPアドレスの各区切りが8ビットで256通り、範囲が0〜255になるのと同じ考え方です。

ポート番号の3つの区分

0〜65535のポート番号は、用途ごとに3つの範囲に分かれています。区分を定めているのは、インターネットの番号資源を管理する組織のIANAです。

01,02449,15265,535ウェルノウン 0–1023登録済み 1024–49151動的 49152–65535
ポート番号 0〜65535 のうち、ウェルノウンポートは先頭のごくわずかな範囲だけです。その数は1,024個です。残りの大部分を、登録済みポートと動的ポートが占めます。
区分範囲個数特徴
ウェルノウンポート0〜10231,024個IANAが代表的なプロトコル用に割り当てた番号
登録済みポート1024〜4915148,128個特定のソフトウェアやサービスがIANAに登録して使う番号
動的ポート49152〜6553516,384個特定の用途に固定せず、通信のたびにOSが一時的に割り当てる番号

図と表のとおり、ウェルノウンポートは全体のごくわずかな範囲です。HTTPやHTTPSなど、代表的なサービスの番号はこの狭い範囲に集まっています。

ウェルノウンポートは、代表的なサービス用に予約された番号です。Linuxなど一部のOSでは、0〜1023番でアプリを待ち受けさせるのに管理者権限が必要です。現在のWindowsやmacOSでは必要ありません。1024番以降は、どのOSでも一般ユーザーの権限で自由に使えます。

主要なポート番号

次の表は、代表的なサービスのポート番号です。いずれもウェルノウンポートで、サーバ側が待ち受ける宛先ポート番号です。

サービスプロトコルポート番号
HTTPTCP80
HTTPSTCP443
DNSUDP / TCP53
DHCP(サーバ側)UDP67
DHCP(クライアント側)UDP68
SSHTCP22
FTP(データ)TCP20
FTP(制御)TCP21
SMTPTCP25
POP3TCP110
IMAPTCP143
SNMP(エージェント側)UDP161
SNMPトラップ(マネージャ側)UDP162

FTPは、制御用の21番とデータ転送用の20番の2つを使います。ただし20番は待ち受けには使わず、アクティブモードでサーバがデータ用の接続を張るときの送信元になります。この違いはFTP・TELNET・NTPの記事で説明しています。22番のSSHがつながるまでの流れは、SSHの記事で説明しています。

DNSは、通常の問い合わせにUDPの53番を使います。応答が大きくなるゾーン転送などでは、TCPの53番も使います。この使い分けはTCPとUDPの違いの記事で説明しています。

80番のHTTPと443番のHTTPSの違いはHTTPとHTTPSの記事で、SMTP・POP3・IMAPの使い分けはメールの記事で説明しています。

SNMPは、向きによって使うポート番号が変わります。マネージャがエージェントに問い合わせるときは、161番を使います。エージェントがマネージャへトラップを通知するときは、162番を使います。

送信元ポートはどう決まるか

ここまでのポート番号は、すべてサーバ側の宛先の番号でした。一方、通信を始めるクライアント側のポート番号はOSが決めます。

OSには、一時的な割り当て用の番号の範囲があります。この範囲をエフェメラルポートと呼びます。PCがサーバへ新しく接続するたびに、OSはこの範囲から空いている番号を1つ選びます。

選ばれた番号は、送信元ポート番号として自動的に割り当てられるので、人が指定する必要はありません。接続を確立する3ウェイハンドシェイクの手順は、1つ前の記事で説明しています。

どの範囲を使うかはOSによって異なります。49152〜65535はIANAが定めた動的ポートの区分で、Windowsなどはこの範囲を使います。

一方、Linuxの初期設定では、32768〜60999をエフェメラルポートとして使います。これはIANAの区分とは別の範囲ですが、その中から空いている番号を選ぶ考え方は共通です。

この仕組みのおかげで、同じPCから同じサイトへ2つのタブで同時にアクセスしても、通信は混ざりません。2つの通信は、宛先IPアドレスと宛先ポート番号(サーバ側の443番)までは同じです。

しかし、OSがタブごとに別の送信元ポート番号を割り当てるので、戻ってきたデータがどちらのタブ宛てかを区別できます。

PC192.168.10.25タブA52001タブB52002サーバ203.0.113.50:443宛先は共通宛先443へ宛先443へ
どちらの通信も、送信元IPアドレス・宛先IPアドレス・宛先ポート番号は同じです。違うのは、52001と52002という送信元ポート番号だけです。この違いによって、PCは戻ってきた通信をタブAとタブBに振り分けられます。

この送信元ポートは、家庭用ルータでさらに書き換えられることがあります。この仕組みがNAPTで、プライベートIPアドレスとNATの記事で説明しています。

外部から自宅のサーバにアクセスしたいときは、ポート番号を指定して転送するポート開放の設定が必要です。

ファイアウォールのパケットフィルタリングは、宛先ポート番号なども見て、通信を許可するかどうかを判断します。詳しくはファイアウォールの記事で説明しています。

TCPのポートとUDPのポートは別物

ポート番号の領域は、TCPヘッダとUDPヘッダにそれぞれ独立してあります。TCPの80番とUDPの80番は、番号が同じだけで、無関係の別々の窓口です。TCPの80番が使用中でも、UDPの80番にはまったく影響しません。

例:DNSDNSは53番という番号を、UDPとTCPの両方で使っています。ただし、1つのポート番号を2つのプロトコルで共有しているわけではありません。UDPの53番とTCPの53番は別々の窓口で、DNSは用途に応じて使い分けています。

次はDNSの記事で、ドメイン名をIPアドレスに変える仕組みを説明します。

練習問題(全5問)

Q1ポート番号の範囲として正しいものは?
Q2ウェルノウンポートの範囲は?
Q3HTTPSの通信で使われるポート番号は?
Q4同じPCで同じWebサイトを2つのタブで開いても通信が混ざらないのはなぜ?
Q5TCPのポート80番とUDPのポート80番の関係として正しいものは?

選んでから「採点する」を押すと、解説つきで答え合わせができます。

おすすめの本 PR

ネットワークを初めて学ぶ人向けの入門書です。

目的別の本の選び方を見る

入門コースを読み進める

入門コース 全19本中15本目