Table of Contents
ポート番号とは
ポート番号とは、TCP/IPのアプリケーションを識別するための識別番号で、TCPまたはUDPヘッダに記述されています。ポート番号によって、PC/サーバなどに届いたデータがどのアプリケーションのデータであるかを識別して、適切なアプリケーションへデータを振り分けます。

ポート番号の範囲
ポート番号は16ビットの数値なので、取りうる範囲は0~65535です。そして、以下のように範囲で意味が決められています。
名称 |
ポート番号の範囲 |
意味 |
ウェルノウンポート |
0~1023 |
サーバアプリケーション用に予約されているポート番号 |
登録済みポート |
1024~49151 |
よく利用されるアプリケーションのサーバ側のポート番号 |
ダイナミック/プライベートポート |
49152~65535 |
クライアントアプリケーション用のポート番号 |
ウェルノウンポート番号
特に重要なのがウェルノウンポート番号です。ウェルノウンポート番号は、あらかじめ決められています。サーバアプリケーションを起動すると、ウェルノウンポート番号でクライアントアプリケーションからの要求を待ち受けます。たとえば、Webサーバアプリケーションはアプリケーションプロトコルとして、HTTPを利用します。HTTPのウェルノウンポート番号は80なので、Webサーバアプリケーションはポート番号80でWebブラウザからの要求を待ち受けることになります。
主なアプリケーションプロトコルのウェルノウンポート番号は、次の表のようになります。
プロトコル |
TCP |
UDP |
HTTP |
80 |
– |
HTTPS |
443 |
– |
SMTP |
25 |
– |
POP3 |
110 |
– |
IMAP4 |
143 |
– |
DNS |
53 |
53 |
FTP |
20/21 |
– |
DHCP |
– |
67/68 |
Telnet |
23 |
– |
登録済みポート
登録済みポートは、ウェルノウンポート番号以外でよく利用されるサーバアプリケーションを識別するためのポート番号です。登録済みポートもあらかじめ決められています。たとえば、リモートからPCなどの操作を行うリモートデスクトップは、ポート番号3389を利用します。
ダイナミック/プライベートポート
ダイナミック/プライベートポートは、クライアントアプリケーションを識別するためのポート番号です。ウェルノウンポートや登録済みポートと異なり、あらかじめ決められているわけではありません。クライアントアプリケーションが通信するときに、ダイナミックに割り当てられます。また、Webブラウザならブラウザのタブ/ウィンドウごとに異なるポート番号が自動的に割り当てられます。これにより、Webブラウザのタブ/ウィンドウを識別できるようにしています。
フローはIPアドレスとポート番号の組み合わせで識別できる
アプリケーションの一連のデータのまとまりであるフローはIPアドレスとポート番号の組み合わせで識別できます。IPヘッダにあるIPアドレスでアプリケーションが動作しているPC/サーバなどがわかります。そして、TCP/UDPヘッダのポート番号でPC/サーバ上のアプリケーションがわかります。IPアドレスとポート番号の組み合わせを表記するときには、「10.0.0.1:80」のように」「:」で区切ります。

ルータやレイヤ2スイッチで、ただ単にアプリケーションのデータを転送するときには、ポート番号まで意識する必要はありません。セキュリティを確保するために、パケットフィルタリングを設定するときや、特定のアプリケーションの通信を優先するQoS(Quality of Service)の制御をするときにはポート番号まできちんと考えなくてはいけません。
ポート番号の確認(Windows)
Windows PCでコマンドプロンプトから「netstat」コマンドでTCPの通信状態をみて、PCがどんなアプリケーションの通信をしているかを確認できます。以下は、Windows PCのnetstatコマンドの出力例です。
C:\Users\gene>netstat -n アクティブな接続 プロトコル ローカル アドレス 外部アドレス 状態 TCP 127.0.0.1:5354 127.0.0.1:49669 ESTABLISHED TCP 127.0.0.1:5354 127.0.0.1:49670 ESTABLISHED TCP 127.0.0.1:9977 127.0.0.1:49955 ESTABLISHED TCP 127.0.0.1:27015 127.0.0.1:49823 ESTABLISHED TCP 127.0.0.1:49669 127.0.0.1:5354 ESTABLISHED TCP 127.0.0.1:49670 127.0.0.1:5354 ESTABLISHED TCP 127.0.0.1:49779 127.0.0.1:54418 ESTABLISHED TCP 127.0.0.1:49823 127.0.0.1:27015 ESTABLISHED TCP 127.0.0.1:49955 127.0.0.1:9977 ESTABLISHED TCP 127.0.0.1:50041 127.0.0.1:58385 ESTABLISHED TCP 127.0.0.1:54285 127.0.0.1:65001 ESTABLISHED TCP 127.0.0.1:54418 127.0.0.1:49779 ESTABLISHED TCP 127.0.0.1:58385 127.0.0.1:50041 ESTABLISHED TCP 127.0.0.1:58611 127.0.0.1:443 SYN_SENT TCP 127.0.0.1:65001 127.0.0.1:54285 ESTABLISHED TCP 192.168.1.169:54284 192.168.1.154:8009 ESTABLISHED TCP 192.168.1.169:54309 192.168.1.152:8009 ESTABLISHED TCP 192.168.1.169:54310 192.168.1.153:8009 ESTABLISHED TCP 192.168.1.169:54458 40.119.211.203:443 ESTABLISHED TCP 192.168.1.169:54460 77.79.249.197:443 ESTABLISHED TCP 192.168.1.169:54473 77.79.249.197:443 ESTABLISHED TCP 192.168.1.169:54481 77.79.249.197:443 ESTABLISHED TCP 192.168.1.169:54550 172.217.24.138:443 ESTABLISHED TCP 192.168.1.169:57493 40.119.211.203:443 ESTABLISHED TCP 192.168.1.169:57549 54.240.253.21:443 ESTABLISHED TCP 192.168.1.169:57620 151.101.2.49:443 ESTABLISHED TCP 192.168.1.169:57840 172.217.161.77:443 CLOSE_WAIT TCP 192.168.1.169:57924 157.7.107.52:443 ESTABLISHED TCP 192.168.1.169:58376 172.217.161.42:443 CLOSE_WAIT ~省略~
「ローカルアドレス」がPC自身の情報で、「外部アドレス」が宛先の情報です。IPアドレス:ポート番号というフォーマットで、TCPで通信を行っているIPアドレスとポート番号の組み合わせがわかります。
関連記事
「ネットワークのおべんきょしませんか?」内の記事を検索
TCP/IP
- TCP/IPの階層
- IP ~データを送り届ける~
- ICMP ~きちんとIPで転送できますか?~
- Ping ~きちんとデータは届きますか?~
- Windows OSのPingコマンド
- トレースルート ~データはどのルータを通っていますか?~
- tracertコマンド(Windows OS)
- ICMPリダイレクト
- トラブルはどこ? ~Pingとトレースルート~
- ARP ~IPアドレスとMACアドレスを対応付け~
- ARPフォーマット
- Gratuitous ARP(GARP)
- ポート番号 ~どのアプリケーションのデータなの?
- TCPの概要
- TCPの動作
- UDPの概要
- アプリケーションのデータが届くまでのまとめ
- DNS ~宛先IPアドレスを求める~
- nslookupコマンド ~DNSの名前解決の確認~
- DHCP ~IPアドレスを自動割り当て~
- Ciscoルータ DHCPサーバの設定例
- TCP/IPの設定のまとめ
- ipconfigコマンド ~Windows OSのTCP/IP設定を確認~
- Linux(Ubuntu)でのTCP/IP設定の確認
- Webサイト
- HTMLとCSS ~Webページを作る~
- URL ~Webサイト(Webページ)のアドレス~
- HTTP ~HTMLファイルを転送する~
- Webアプリケーション ~Webブラウザだけあればいい~
- HTTP Cookie
- Webアプリケーションのセッション管理
- Webプロキシサーバ ~Webアクセスを代わりに~
- Webアクセスのまとめ
- 電子メール
- SMTP ~メール送信用のプロトコル~
- POP3 ~メール受信用プロトコル~
- IMAP4 ~メールサーバでメールを一元管理~
- 電子メールのまとめ
- FTP ~代表的なファイル転送プロトコル~
- TFTP ~簡易的なファイル転送プロトコル~
- Windows10のTFTPクライアント
- ネットワークのトラブルの切り分け手順