ポート番号とは?IPアドレスとの違い・役割・代表例を初心者向けに図解

ネットワーク初級編 11/全32記事

この記事は、 「ネットワーク初級編|通信の仕組みをゼロから学ぶ」 の第11回です。

前回学んだMACアドレスに続き、今回は通信先のアプリケーションを識別する ポート番号について学びます。

ポート番号とは?IPアドレスとの違い・役割・代表例を初心者向けに図解

ポート番号は、パソコンやサーバーの中で、 通信データをどのアプリケーションへ渡すのかを判断するための番号です。 この記事では、IPアドレスとの違い、送信元・宛先ポート、 代表的なポート番号、TCP・UDPとの関係を図解します。

対象レベル Level 1・初級
想定読了時間 約18分
身につく成果 IPアドレスとポート番号の役割を区別できる
前提知識 IPアドレス・MACアドレスの基礎
演習環境 ブラウザのみ

サーバーには、Webサイト、メール、ファイル共有など、 複数のサービスが同時に動いていることがあります。

IPアドレスだけでは通信先のサーバーを特定できても、 サーバー内のどのサービスへデータを渡すのかまでは判断できません。

そこで使われるのがポート番号です。

この記事を読み終えるとできること

  • ポート番号の役割を説明できる
  • IPアドレスとポート番号の違いを説明できる
  • 送信元ポートと宛先ポートを区別できる
  • 代表的なポート番号を確認できる
  • TCPとUDPでポート番号が使われることを説明できる
  • ファイアウォールとポート番号の関係を説明できる

ポート番号とは何か

最初に覚える定義

ポート番号とは、パソコンやサーバーの中で、 通信データをどのアプリケーションやサービスへ渡すのかを識別する番号です。

パソコンやサーバーでは、1つのアプリケーションだけが動いているとは限りません。

たとえば、1台のサーバーで次のようなサービスが同時に動作している場合があります。

  • Webサイトを提供するサービス
  • メールを受信するサービス
  • ファイルを転送するサービス
  • 遠隔操作を受け付けるサービス

ネットワークからデータが届いたとき、 サーバーはそのデータを適切なサービスへ渡す必要があります。

この振り分けに使用される番号がポート番号です。

ポート番号は、LANケーブルを接続する差し込み口の番号ではありません。

通信データの中に含まれる、アプリケーションを識別するための論理的な番号です。

会社の建物に置き換えて考える

ポート番号の役割は、会社の住所と部署名に置き換えると理解しやすくなります。

会社へ荷物を届ける場合 ネットワーク通信
会社の住所 IPアドレス
会社の建物 パソコンやサーバー
営業部・総務部などの部署 アプリケーションやサービス
部署を示す内線番号 ポート番号
荷物 通信データ

住所だけでは建物までは分かりますが、 建物内のどの部署へ届けるのかは分かりません。

同じように、IPアドレスだけでは通信先の機器までは分かりますが、 機器内のどのアプリケーションへデータを渡すのかは分かりません。

IPアドレスで機器を特定し、ポート番号でアプリケーションを特定します。

IPアドレスとポート番号の違い

IPアドレスとポート番号は、どちらも通信相手を識別するために使われます。 ただし、識別する対象が異なります。

項目 IPアドレス ポート番号
識別する対象 通信する機器やネットワークインターフェース 機器内のアプリケーションやサービス
役割のイメージ 建物の住所 部署や内線番号
代表例 192.168.1.10 443
主に扱われる場所 IPによる通信処理 TCP・UDPによる通信処理

IPアドレスとポート番号は組み合わせて使う

実際の通信では、IPアドレスとポート番号を組み合わせて通信先を表します。

IPアドレス
203.0.113.20
ポート番号
443
表記例
203.0.113.20:443

203.0.113.20:443という表記は、 「IPアドレスが203.0.113.20の機器で、443番ポートを使用するサービス」 を表しています。

IPアドレスとポート番号をコロンで区切って表す方法は、 設定画面、ログ、接続先情報、コマンド出力などでよく使われます。

通信の全体像を図で理解する

パソコンのWebブラウザから、WebサーバーへHTTPS通信を行う例を考えます。

WebブラウザからHTTPSサーバーへ接続する例

💻 クライアントPC IP:192.168.1.10 送信元ポート:52000
🌐 ネットワーク データを宛先へ転送
🗄️ Webサーバー IP:203.0.113.20 宛先ポート:443
192.168.1.10:52000 → 203.0.113.20:443

Webサーバーへ届いたデータには、宛先ポート番号として 443が含まれています。

サーバーはその番号を確認し、443番ポートで通信を待ち受けている HTTPSのサービスへデータを渡します。

同じサーバーで複数のサービスを提供できる

1台のサーバー内で複数サービスが動くイメージ

22番

SSH

サーバーを遠隔操作するための通信を受け付けます。

80番

HTTP

暗号化されていないWeb通信を受け付けます。

443番

HTTPS

暗号化されたWeb通信を受け付けます。

このように、同じIPアドレスを持つ1台のサーバーでも、 ポート番号を使い分けることで複数のサービスを同時に提供できます。

送信元ポートと宛先ポート

通信データには、通常、次の2種類のポート番号が含まれます。

  • 送信元ポート番号:送信側のアプリケーションを識別する番号
  • 宛先ポート番号:受信側のサービスを識別する番号

クライアントからWebサーバーへ送る通信情報

送信元IP 192.168.1.10
送信元ポート 52000
宛先IP 203.0.113.20
宛先ポート 443

クライアント側では一時的なポート番号を使う

Webサーバー側は、HTTPSの通信を受け付けるために443番ポートを使用します。

一方、クライアント側のWebブラウザは、通信を開始するときに 空いているポート番号を一時的に選択します。

このような一時的に使われるポート番号は、 動的ポートプライベートポートエフェメラルポートなどと呼ばれます。

クライアント側で実際に使用される一時ポートの範囲や選び方は、 OSや設定によって異なる場合があります。

戻りの通信では送信元と宛先が入れ替わる

Webサーバーが応答を返すときは、IPアドレスとポート番号の組み合わせが入れ替わります。

Webサーバーからクライアントへ返す通信情報

送信元IP 203.0.113.20
送信元ポート 443
宛先IP 192.168.1.10
宛先ポート 52000

クライアントPCは宛先ポート番号の52000を確認し、 応答データを通信を開始したWebブラウザへ渡します。

サーバーの443番ポートだけでなく、クライアント側の一時ポートも 通信相手を識別するために必要です。

複数のブラウザ通信を区別できる

1台のパソコンでは、複数のWebサイトを同時に開くことができます。

それぞれの通信で異なる送信元ポートを使用することで、 戻ってきたデータがどの通信に対する応答なのかを区別できます。

通信 クライアント側 サーバー側
WebサイトAへの通信 192.168.1.10:52000 203.0.113.20:443
WebサイトBへの通信 192.168.1.10:52001 198.51.100.30:443
WebサイトCへの通信 192.168.1.10:52002 192.0.2.40:443

ポート番号の範囲と分類

ポート番号は16ビットの数値で表され、 0番から65535番まで存在します。

ポート番号は、大きく次の3つの範囲に分けられています。

0~1023

システムポート

HTTP、HTTPS、SSH、DNSなど、 広く利用されている代表的なサービスに割り当てられています。

一般に「ウェルノウンポート」と呼ばれることもあります。

1024~49151

ユーザーポート

アプリケーションや製品固有のサービスなどに使用される範囲です。

一般に「登録済みポート」と呼ばれることもあります。

49152~65535

動的・プライベートポート

クライアントが通信を開始するときの一時ポートなどに利用される範囲です。

特定のサービスへ登録するための範囲ではありません。

合計

65536個

0を含むため、0~65535は合計65536個の番号です。

ただし、すべての番号が常に利用できるわけではありません。

ポート番号の分類と、実際にOSが使う一時ポートの範囲は同じとは限りません。

OSの種類や設定によっては、49152番より小さい番号を一時ポートとして使用する場合もあります。

代表的なポート番号

初級段階では、すべてのポート番号を暗記する必要はありません。

まずは、Web通信、名前解決、メール、遠隔操作などで使われる 代表的な番号を確認しましょう。

ポート番号 主なプロトコル・サービス 主な用途
20・21 FTP ファイル転送
22 SSH サーバーやネットワーク機器の安全な遠隔操作
23 Telnet 暗号化されない遠隔操作
25 SMTP メールサーバー間でのメール転送
53 DNS ドメイン名とIPアドレスの対応を確認する
67・68 DHCP 端末へIPアドレスなどの設定情報を配布する
80 HTTP 暗号化されていないWeb通信
110 POP3 メールサーバーからメールを受信する
123 NTP 機器の時刻を同期する
143 IMAP メールサーバー上のメールを管理・閲覧する
161・162 SNMP ネットワーク機器の監視や通知
443 HTTPS 暗号化されたWeb通信
445 SMB Windows環境などでのファイル共有
3389 RDP Windows端末やサーバーのリモートデスクトップ接続

表にある番号は代表的な既定値です。

実際のシステムでは、管理者が設定を変更し、 標準とは異なるポート番号を使用する場合があります。

最初に覚えたい5つ

22

SSH

安全な遠隔操作に使われます。

53

DNS

名前解決に使われます。

80

HTTP

暗号化されていないWeb通信に使われます。

443

HTTPS

暗号化されたWeb通信に使われます。

3389

RDP

Windowsの遠隔操作に使われます。

重要

暗記だけにしない

「何番か」だけでなく、 「何の通信に使うか」をセットで理解しましょう。

TCP・UDPとポート番号の関係

ポート番号は、主にTCPまたはUDPの通信で使用されます。

TCPとUDPは通信方法の異なる仕組みであり、 ポート番号もTCP用とUDP用で別々に扱われます。

項目 TCP UDP
通信の特徴 相手との接続状態を確認しながら、信頼性を重視して通信する 接続確認を簡略化し、速度やリアルタイム性を重視して通信する
ポート番号 TCP用のポート番号を使用する UDP用のポート番号を使用する
代表例 HTTP、HTTPS、SSHなど DHCP、NTP、DNSの一部通信など

同じ番号でもTCPとUDPでは別に扱われる

たとえば、TCPの53番ポートとUDPの53番ポートは、 番号は同じでも別の通信として扱われます。

TCP 53番
TCP/53
UDP 53番
UDP/53

そのため、ファイアウォールの設定や障害調査では、 ポート番号だけでなくTCPかUDPかも確認する必要があります。

「53番ポートを許可した」と書かれていても、 TCPとUDPのどちらを許可したのかが不明確な場合があります。

現場では、TCP/443UDP/53のように、 通信方式とポート番号をセットで表すことが重要です。

待ち受けポートとは何か

サーバーが外部からの通信を受け付けるためには、 アプリケーションが特定のポート番号で通信を待つ必要があります。

この状態を、ポートを待ち受けるリッスンするなどと表現します。

Webサーバーが443番ポートで待ち受けるイメージ

💻 クライアント 443番へ接続要求
🚪 443番ポート HTTPSサービスが待ち受け
⚙️ Webサーバー 要求を処理して応答

443番ポートへ通信が届いても、 Webサーバーのアプリケーションが停止していれば通信は成立しません。

また、アプリケーションが正常に待ち受けていても、 ファイアウォールが通信を遮断している場合は接続できません。

ポート番号が存在するだけでは通信できない

ポート番号は、常に開いた入口として存在しているわけではありません。

アプリケーションがその番号を使用して待ち受けているときに、 通信を受け付けられる状態になります。

状態 結果
アプリケーションが待ち受けている 通信を受け付けられる可能性がある
アプリケーションが停止している 対象ポートで通信を受け付けられない
ファイアウォールが遮断している アプリケーションまで通信が届かない
別のポートで待ち受けている 接続先のポート番号を変更する必要がある

ファイアウォールとポート番号

ファイアウォールは、IPアドレスやポート番号などを確認し、 通信を許可するか遮断するかを判断します。

許可する通信

利用者がWebサイトを見るため、 サーバー宛てのTCP/443を許可する。

遮断する通信

外部からの不要な遠隔操作を防ぐため、 TCP/23などを遮断する。

たとえば、WebサーバーでHTTPSだけを公開する場合、 外部からのTCP/443は許可し、 不要なポートへの通信は遮断する設計が考えられます。

ファイアウォールでは、ポート番号だけでなく、 送信元IPアドレス、宛先IPアドレス、TCP・UDPの種類、 通信方向などを組み合わせて制御します。

ポートを変更するだけでは安全にならない

SSHの待ち受けポートを22番から別の番号へ変更すると、 単純な自動探索を受けにくくなる場合があります。

しかし、ポート番号の変更だけで通信が暗号化されたり、 認証が強化されたりするわけではありません。

セキュリティ対策では、不要な通信の遮断、強い認証、 ソフトウェアの更新、アクセス元の制限、ログ監視などを組み合わせる必要があります。

現場でポート番号を確認する場面

ポート番号の知識は、通信障害を切り分けるときに重要です。

たとえば、「サーバーへpingは通るが、Web画面が表示されない」 という状況を考えます。

  1. IPアドレスへの到達性を確認する pingなどを使い、対象サーバーまで通信できるかを確認します。
  2. 接続先のポート番号を確認する HTTPSであれば、通常はTCP/443へ接続しているかを確認します。
  3. サーバー側の待ち受け状態を確認する Webサーバーのアプリケーションが443番ポートで待ち受けているかを確認します。
  4. ファイアウォールを確認する 途中経路やサーバー自身のファイアウォールで、TCP/443が遮断されていないかを確認します。
  5. アプリケーションの状態を確認する Webサーバーのサービス停止、設定不備、証明書エラーなどを確認します。

pingが通ることと、特定ポートへ接続できることは別です。

pingはICMPという仕組みを使用しており、 TCPやUDPのポート番号を使用しません。

Windowsで特定ポートへの接続を確認する例

Windows PowerShellでは、次のように接続先とポート番号を指定して確認できます。

Test-NetConnection 203.0.113.20 -Port 443

実行結果のTcpTestSucceededTrueであれば、TCP接続が成功したことを確認できます。

待ち受け状態を確認する例

Windowsでは、次のようなコマンドで使用中のポート番号を確認できます。

netstat -ano

実際のコマンドの詳しい使い方は、 初級編第27回「Windowsで確認するネットワークコマンド」で解説します。

コマンドを実行するときは、対象システムの運用ルールや権限を確認してください。

ポート番号に関するよくある勘違い

ポート番号はLANケーブルを挿す場所の番号

スイッチなどの物理的な接続口も「ポート」と呼ばれますが、 ポート番号は通信データの中でアプリケーションを識別する論理的な番号です。

IPアドレスが分かれば通信先のサービスも分かる

IPアドレスで機器は識別できますが、 機器内のどのサービスへ接続するかを判断するにはポート番号が必要です。

Web通信ではクライアントも443番ポートを使う

サーバー側の宛先ポートは通常443番ですが、 クライアント側では一時的に選ばれた送信元ポートを使用します。

ポート番号を変更すれば通信は安全になる

ポート番号を変更しても、通信内容の暗号化や強い認証が自動的に行われるわけではありません。

pingにもポート番号がある

pingで使われるICMPは、TCPやUDPのようなポート番号を使用しません。

IPアドレスとポート番号を組み合わせて通信先を識別する

IPアドレスで機器を識別し、 ポート番号で機器内のアプリケーションやサービスを識別します。

理解度チェック

記事の内容を確認するため、次の5問に答えてください。 解答を見る前に、一度自分で考えてみましょう。

問題1.ポート番号の役割として最も適切なものはどれですか。

  1. ネットワーク上の機器を識別する
  2. 機器内のアプリケーションやサービスを識別する
  3. LANケーブルの種類を識別する
  4. データを暗号化する
解答を見る
正解:B

ポート番号は、パソコンやサーバーの中で、 通信データをどのアプリケーションへ渡すのかを識別します。

問題2.HTTPSで一般的に使用されるポート番号はどれですか。

  1. 22
  2. 53
  3. 80
  4. 443
解答を見る
正解:D

HTTPSでは、一般的にTCPの443番ポートを使用します。

問題3.クライアントPCからHTTPSサーバーへ通信するとき、 宛先ポートが443番であれば、送信元ポートも必ず443番になりますか。

解答を見る
正解:なりません。

クライアント側では、通常、空いている一時的なポート番号が送信元ポートとして選ばれます。

問題4.次の通信情報で、サーバーが提供しているサービスを判断するために 主に確認する項目はどれですか。

192.168.1.10:52000 → 203.0.113.20:443

  1. 送信元IPアドレス
  2. 送信元ポート番号
  3. 宛先IPアドレス
  4. 宛先ポート番号
解答を見る
正解:D

サーバー側でどのサービスへデータを渡すかは、 主に宛先ポート番号を確認して判断します。 この例では443番なので、HTTPS通信と考えられます。

問題5.次の文章の空欄を埋めてください。

IPアドレスは通信先の「( A )」を識別し、 ポート番号はその中で動作する「( B )」を識別します。

解答を見る
A:機器 B:アプリケーションまたはサービス

IPアドレスとポート番号を組み合わせることで、 通信先をより具体的に特定できます。

実践演習:Web通信のポート番号を読み取ろう

次の通信情報を確認し、送信元と宛先の役割を考えてみましょう。

演習用の通信情報

送信元IP 192.168.10.25
送信元ポート 53120
宛先IP 198.51.100.50
宛先ポート 443

課題1.クライアントとサーバーを判断する

どちらのIPアドレスがクライアントで、 どちらがWebサーバーと考えられるでしょうか。

クライアント:__________
Webサーバー:__________
課題1の解答を見る
  • クライアント:192.168.10.25
  • Webサーバー:198.51.100.50

クライアントからサーバーの443番ポートへ通信していると判断できます。

課題2.それぞれのポート番号の役割を答える

53120番と443番は、それぞれ何のために使われているでしょうか。

53120番:________________
443番:________________
課題2の解答を見る
  • 53120番:クライアント側で一時的に使用される送信元ポート
  • 443番:サーバー側でHTTPS通信を受け付ける宛先ポート

課題3.戻りの通信情報を書く

Webサーバーからクライアントへ応答を返す場合の、 送信元IP、送信元ポート、宛先IP、宛先ポートを書いてください。

送信元IP:__________
送信元ポート:________
宛先IP:___________
宛先ポート:_________
課題3の解答を見る
  • 送信元IP:198.51.100.50
  • 送信元ポート:443
  • 宛先IP:192.168.10.25
  • 宛先ポート:53120

戻りの通信では、送信元と宛先のIPアドレス・ポート番号が入れ替わります。

課題4.障害原因を考える

サーバーへのpingは成功しますが、 TCP/443への接続は失敗します。 考えられる原因を3つ挙げてください。

例:サーバーのWebサービスが停止している
課題4の解答例を見る
  • Webサーバーのアプリケーションが停止している
  • Webサーバーが443番以外のポートで待ち受けている
  • 途中のファイアウォールがTCP/443を遮断している
  • サーバー自身のファイアウォールがTCP/443を遮断している
  • Webサーバーの設定に誤りがある

pingが成功していても、特定のTCPポートへ接続できるとは限りません。

自分の言葉で説明する課題

最後に、次の質問へ自分の言葉で答えてください。

「IPアドレスがあるのに、なぜポート番号も必要なのですか?」 と質問されました。30秒程度で説明してください。

IPアドレスは________________________。
ポート番号は________________________。
説明例を見る

IPアドレスは、通信先となるパソコンやサーバーを特定するための情報です。 ただし、1台のサーバーではWebやメールなど複数のサービスが動くため、 IPアドレスだけではどのサービスへデータを渡すか判断できません。 そこで、ポート番号を使って機器内のアプリケーションやサービスを識別します。

模範解答と一字一句同じである必要はありません。

「IPアドレスは機器」「ポート番号はアプリケーション」 という役割の違いを説明できれば、この記事の目標は達成です。

まとめ

  • ポート番号は、機器内のアプリケーションやサービスを識別するための番号
  • IPアドレスは通信先の機器を識別し、ポート番号は機器内のサービスを識別する
  • 実際の通信では、送信元IP、送信元ポート、宛先IP、宛先ポートを組み合わせて使用する
  • サーバー側では443番などの決まったポートを使い、 クライアント側では一時的な送信元ポートを使用することが多い
  • ポート番号は0番から65535番まで存在する
  • TCPとUDPでは、同じポート番号でも別の通信として扱われる
  • アプリケーションがポートを待ち受けていても、 ファイアウォールに遮断されると通信できない
  • pingが通ることと、TCP/443など特定ポートへ接続できることは別

ポート番号を理解すると、 「サーバーまでは到達できるのにサービスを利用できない」という障害を、 IP通信とアプリケーション通信に分けて考えられるようになります。

次の記事:プロトコルとは何か

今回は、機器内のアプリケーションやサービスを識別する ポート番号について学びました。

しかし、通信相手と番号が分かるだけでは、 データを正しくやり取りすることはできません。

機器同士が通信するためには、 データの形式や送信手順について共通のルールが必要です。

次の記事では、この通信ルールである プロトコルについて解説します。

参考情報

ネットワーク初級編 11/全32記事

初級編では、ネットワークの全体像からIPアドレス、MACアドレス、 ポート番号、通信プロトコル、DNS、TCP、基本コマンド、 障害切り分けまでを順番に学びます。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次