前回IPアドレスについて記事を書きました。今回はポート番号とは何か、IPアドレスと何が違うのかという視点でまとめてみました。
ポート番号とは?
ポート番号とは、TCP/IP通信において、 コンピュータが通信に使用するプログラムを識別するための番号です。 ポート番号は16ビットの整数であるため、2^16=65535 つまり、0番~65535番まであります。
IPアドレスとポート番号の違い
webサイトが読み込まれるまでのフロー
- PC(自分のIPアドレス)
- 送信先のIPアドレスを調べる
- PCのポート番号から出発
- 送信先のサーバに到着
- サーバのポート番号から入る
IPアドレス
IPアドレスは、インターネット上の住所のようなもの。下記のように、どこのPCからどのサーバーに送るのかIPアドレスを指定することで、送受信を行えます。
※PCのポート番号は、そのとき空いているポート番号が割り当てられます。そのためPCのポート番号は都度変化します。(ダイナミック/プライベートポート番号にて記載)
ポート番号
一方、ポート番号はプログラムの識別を行なっている。1つのコンピューターでできることはさまざまなプログラムが行なっており、例えば、「メールを送受信する」「Webページを閲覧する」といったものである。これをポート番号が識別を行っています。
ポート番号の種類
ポート番号は、範囲ごとに3つの名前があります。
1つ目は、「ウェルノウンポート番号:0~1023」です。
2つ目は、「登録済みポート番号:1024~49151」です。
3つ目は、「ダイナミック/プライベートポート番号:49152~65535」です。
ウェルノウンポート(Well-Known Port)番号とは?
一般的に特定のサービスやプロトコルに割り当てるために予約されている0番~1023番のことです。広く知られているため「ウェルノウンポート」と呼ばれています。特に有名なのはHTTP、FTP、AMTP、POP、DNSのポート番号です。
ポート番号 | TCP/UDP | 用途 |
---|---|---|
20 | TCP,UDP | ftp データ転送ポート |
21 | TCP,UDP | ftp コントロールポート |
22 | TCP | ssh, scp, sftp |
23 | TCP | telnet |
25 | TCP | smtp |
53 | TCP,UDP | dns |
80 | TCP | http |
88 | TCP | kerberos |
110 | TCP | pop3 |
111 | TCP,UDP | sunrpc |
123 | TCP,UDP | ntp |
137 | TCP,UDP | NetBIOS Name Service |
138 | TCP,UDP | NetBIOS Datagram Service |
139 | TCP,UDP | NetBIOS Session Service |
177 | TCP | X Display Manager Control Protocol (XDMCP) |
220 | TCP | imap3 |
389 | TCP | ldap |
443 | TCP | https |
445 | TCP,UDP | MS ファイル共有/プリンタ共有 |
465 | TCP | smtps |
レジスタードポート(登録済みポート)番号
1024番から49151番までが「レジスタードポート」「登録済みポート」(registered ports)あるいは「ユーザーポート」(user ports)と呼ばれ、インターネット資源の管理団体であるIANA(Internet Assigned Numbers Authority)が用途の受付・登録を行っています。
ポート番号 | TCP/UDP | 用途 |
---|---|---|
1433 | TCP | SQL Server |
1434 | UDP | SQL Server Browserサービス |
1521 | TCP | Oracle |
3306 | TCP | MySQL、MariaDB |
3389 | TCP | リモートデスクトップ |
5432 | TCP | PostgreSQL |
10050 | TCP | Zabbixエージェント |
10051 | TCP | Zabbixサーバ |
ダイナミック/プライベートポート番号
ダイナミック/プライベートポート番号は、エフェメラルポートとも呼ばれており、用途の決まっていないポート番号群です。サーバー側と通信する上でクライアント側が一時的に設定する番号となります。こちらは固定された番号ではありませんが、49152~65535番の範囲で使用することをIANAは推奨しています。