ポート番号
ポート番号は、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でよく見かけるポート番号は、以下のとおりです。
サービス | ポート番号 | 説明 |
---|---|---|
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でよく見かけるポート番号は、以下のとおりです。
サービス | ポート番号 | 説明 |
---|---|---|
domain | 53 | DNSで問い合わせする時に使う |
ntp | 123 | ネットワーク経由で時刻を合わせる時に使う |
netbios-ns | 137 | Windowsが周辺のパソコンのIPアドレスを調べるために使う |
netbios-dgm | 138 | Windowsが周辺のパソコンを調べるために使う |
snmp | 161 | 機器の管理情報を送受信するために使う |
snmptrap | 162 | 機器の異常等状態変化を通知するために使う |
syslog | 514 | シスログを送信するために使う |
関連ページ
- 応用編「サービス」
- 各ポート番号で動作するサービスが、どのように動作するかを説明しています。