FTPやメールで使用するポートってなに?

MAMPを使用したり、FTPソフトを使用したりするときに設定する「ポート」って何ですか?
という話がありましたので、よくみるものではありますが改めて記載したいと思います。

インターネット通信とは

インターネット通信は、WindowsやMac、スマートフォン、はたまた通信可能な家電機器など様々な機器(IOTですね!)から同じように通信できるように、TCP/IPというプロトコル(通信するためのルール・規約)を利用したコンピュータネットワークで成立しています。

「IP(Internet Protocol)」と「TCP(Transmission Control Protocol)」により定められた
プロトコル体系が存在し、HTTPやFTPといったものもその中のプロトコルの一つになります。

インターネット通信の仕組み

インターネットを利用するにはIPアドレスが必要になりますが、
IPアドレスは通常PCやサーバーに1台1台に割り振られた、現実世界に例えると住所にあたるものです。

では住所がわかって相手の家に行けるようになったとして、
その場所の建物がマンションだったらどうしましょう?

一体そのマンションの何号室にいけばいいのかわからなくなりますね。
インターネット通信も同様に、IPアドレスがわかってサーバーの居場所はわかったけど、
その後どのアプリケーションに渡せば送ったリクエストを処理してもらえるんだろう?となってしまいます。
WEBサイト閲覧はPOP3ではなくHTTPで処理してもらう必要がありますよね。

そこで、どの部屋に行けばいいのかは部屋番号がわかればわかりますが、その部屋番号の役割に値するのがポート番号です。
どのアプリケーションに渡せばいいのかをポートによって判断できるようになります。

ポートについて

ポートは0番~65535番までありますが以下3つのグループに分けられます。

ウェルノウンポート(プロトコルにより登録されている)
0~1023
登録済みポート(ソフトウエアにより登録されている)
1024~49151
ダイナミックポート・プライベートポート(自由に使える)
49152~65535

ウェルノウンポートとはすでに使用目的が決まっているポートになり、
以下のようなものがあります。
※Internet Assigned Numbers Authority(IANA)というところが管理しています。
https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml

20 TCP FTP FTPによるデータ送受信
21 TCP FTP FTP接続
25 TCP SMTP メール送信
80 TCP HTTP ホームページ通信
110 TCP POP3 メール受信
123 UDP NTP 時間の取得・設定
143 TCP IMAP メール通信
443 TCP HTTPS WEBの暗号化通信
587 TCP Submission メール送信

皆さんもなんとなく見かけるポートの番号があるのではないでしょうか。

HTTPは80番ポートを、HTTPSは443番ポートを使用する、といったことがすでに決められているんですね。(そもそもそのポートを使用していることが多いからそのポートになっている、というところもありますが)

そのためブラウザからURLを入力するときに、本当はポートの指定も必要になるため
http://ドメイン名:ポート番号(80番などWEBサーバーで決めたポート)/〇〇〇.html
というような形で接続しなければならないのですが、HTTP接続時の80番、HTTPS接続時の443番は
特別に省略してもつながるような仕組みになっているため入力が不要になっています。

https://www.google.co.jp
https://www.google.co.jp:443
と入力してもつながりますが、これは443番ポートであれば省略してもつながるためで、
https://www.google.co.jp:80
と入力してもポート番号が異なるのでつながらなくなります。

FTPを使用する際もポート設定をすると思うのですが、接続時にそのポート番号を指定しているんですね。

まとめ

ネットワーク通信にはIPアドレスだけではなくポート番号が必要な理由がなんとなくお分かりいただけたでしょうか。

登録済みポートはソフトウエアにより登録されているポートになり、
例えば3306番はMySQLが使用する、という形になってたり、プライベートポートは自由に設定出来たり、とありますが今回は触れないでおきます。

こういった話はWEB制作というよりはITの基礎的な知識分野になります。
ITの基礎的分野についてはITパスポートの勉強をするとIT業界の入り口に必要な知識が身につきます。
Akros新橋校では少人数制のグループ講座としてITパスポート合格講座を開催予定です。
IT知識が気になる方・ITパスポート資格が欲しい方はぜひ講座にお申し込みください。

ITパスポート合格講座

Akros Web & Business Design Academy 新橋校にて開催予定!
少人数制(3名)の集団講座です。