ポート番号
ポート番号は、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 | シスログを送信するために使う |
関連ページ
- 応用編「サービス」
- 各ポート番号で動作するサービスが、どのように動作するかを説明しています。