ポート番号

ポート番号は、TCP(Transmission Control Protocol)とUDP(User Datagram Protocol)のそれぞれで決められたものがあります。

本項では、ポート番号について説明します。

ウェルノウンポート番号

基本編の第二話:配達人が運ぶでポート番号はサービスを示しており、それぞれの番号が何のサービスを示すか決まっていると説明しました。

このポート番号は、IANAのService Name and Transport Protocol Port Number Registryで管理されています。

この内、DNSなどシステムによって利用されるポート番号をウェルノウンポート番号(最新の定義ではシステムポート番号)と言います。

ウェルノウンポート番号は0〜1023までの番号が割り当てられており、それぞれどのサービスか決まっています。ウェルノウンポート番号は、定義された番号以外を割り当ててはいけません。

ポート番号の範囲

ウェルノウンポート番号以外では、以下が定義されています。

ユーザーポート番号
1024から49151が割り当てられています。アプリケーションを開発して、必要な場合はIANAに登録して使います。登録されていないユーザーポート番号は、使うべきではありません。
動的ポート番号(エフェメラルポート番号)
49152から65535が割り当てられています。IANAで管理されていません。パソコンがサーバーと通信する際、パソコン側の送信元ポート番号は49152から65535番の間でコネクションのたびにさまざまな値で割り当てられます。つまり、サービスで利用するポート番号と重複しないようになっています。

通常は各機器にポート番号とサービスの対応表があり、Windowsでは「インストールディレクトリ\System32\drivers\etc\services」、Linuxでは「/etc/services」に定義されています。

ポートの状態

ウェルノウンポート番号とユーザーポート番号は、以下のいずれかの状態です。

割り当て済み
IANAに登録されている状態です。
未割り当て
IANAに登録されておらず、申請によって新規に割り当てが可能です。
予約済み
現在、割り当てはできません。

また、1021(Experiment 1)と1022(Experiment 2)は実験用のポート番号とされています。

TCPポート番号一覧

TCPでよく見かけるポート番号は、以下のとおりです。

【TCPポート番号】
サービス ポート番号 説明
ftp-data 20 FTPでデータを転送する時に使う
ftp 21 FTPで接続する時等に使う
ssh 22 SSHで使う
telnet 23 TELNETで使う
smtp 25 メールを送る時に使う
domain 53 DNSでセカンダリにデータを送る時などに使う
http 80 Webサイトを参照する時に使う
pop3 110 パソコンがメールサーバーからメールを受信する時に使う
netbios-ns 137 Windowsが周辺のパソコンのIPアドレスを調べるために使う
netbios-ssn 139 Windowsが周辺のパソコンやプリンタと接続するために使う
imap 143 POP3の拡張版
bgp 179 BGPで使う
https 443 HTTPを暗号化して通信する
submissions 465 認証・暗号化してメールを送信する時に使う
submission 587 認証してメールを送信する時に使う
ftps-data 989 FTPで暗号化してデータを転送する
ftps 990 FTPの接続で暗号化する時に使う
imaps 993 IMAPを暗号化して通信する
pop3s 995 POP3を暗号化して通信する

UDPポート番号

UDPでよく見かけるポート番号は、以下のとおりです。

【UDPポート番号】
サービス ポート番号 説明
domain 53 DNSで問い合わせする時に使う
ntp 123 ネットワーク経由で時刻を合わせる時に使う
netbios-ns 137 Windowsが周辺のパソコンのIPアドレスを調べるために使う
netbios-dgm 138 Windowsが周辺のパソコンを調べるために使う
snmp 161 機器の管理情報を送受信するために使う
snmptrap 162 機器の異常等状態変化を通知するために使う
syslog 514 シスログを送信するために使う

関連ページ

応用編「サービス
各ポート番号で動作するサービスが、どのように動作するかを説明しています。