ポート番号とは、コンピュータがTCP/IP通信に使用するプログラムを識別するための番号です。

と説明されても、初心者にとっては理解しづらいはずです。
このページでは、そもそも「ポートって何?」「ポートってなんで必要なの?」という素朴な疑問をお持ちのIT初心者の方向けに初歩の初歩から解説します。
IT技術者であれば知らないと恥ずかしい超・基本知識です。是非最後までご覧ください。
前提:コンピューター同士が「通信」をするために
普段何気なく利用しているインターネット。この「インターネット」という仕組みは、一言で説明すると世界中のコンピューターとコンピューター(もしくはサーバー)をつなげた仕組みと言えます。
今、あなたはこのWebページ(ビズドットオンライン)を開いて「ポート番号とは何か?」について調べています。このページの情報は日本のとある場所に存在するコンピューター(サーバー)上に保存されているのですが、その情報を取得し画面上に閲覧している、というのがあなたの今の状況です。

つまり、あなたのスマートフォンとビズドットオンラインのサーバーが「通信」を行っているとことです。
そこで気になるのが、「どうやってあなたのスマートフォンとビズドットオンラインのサーバーが通信をしているのか?(どうやってお互いのコンピューターを特定しているのか?)」という点です。
どのコンピューターと通信すれば良いか
インターネットに接続されたコンピューターは世界中で何十億台と存在します。これらの中から適切なコンピューターを探し出し通信を行うためには現実世界でいう「住所」のようなものが必要となってきます。
この「住所」にあたるのが、インターネット上における「IPアドレス」と呼ばれるものです。

IPアドレスはインターネットに接続する全てのコンピュータ(スマートフォン)1つ1つに、割り当てられており、コンピューターを一意に特定することができます。

例えば、googleのサーバーは「172.217.24.131」というIPアドレスを保持しています。ブラウザ上に「172.217.24.131」と入力すれば、googleのサーバーに接続することができます。
「192.168.100.0」などのIPアドレスの数字が表す意味や、IPアドレスが世界でどのように管理されているか?など、以下のページでより詳しく解説しています。
気になった方は、是非ご覧になってみてください。
したがって、このIPアドレスを便りにあなたは今このWebページを参照することができていると言えます。

住所さえ分かっていれば日本全国どこでも手紙を出すことができるように、インターネットの世界ではIPアドレスさえ分かっていれば、相手先のコンピューターとやり取りすることが可能です。
ポート番号とは?
実は、ポート番号もIPアドレスと似たような役割を持っています。ポート番号も、相手先の居場所を示します。
種類 | 現実世界で例えると・・・ | 例 |
---|---|---|
IPアドレス | 住所 | 東京都千代田区永田町1−1−1 |
ポート番号 | 部屋番号 | 101号室 |
マンションで言えば、IPアドレスが番地までの住所を示すのに対して、ポート番号は部屋番号を表します。

これだけ説明すると、なぜわざわざIPアドレスとポート番号を別に管理する必要があるのか分かりませんね。
ポート番号=プログラムの識別
ご存知のように1つのコンピューターでできることは実に膨大です。「メールを送受信する」「Webページを閲覧する」「ファイルの編集をする」等々。
で、実はこの「メールを送受信する」というプログラムと「Webページを閲覧する」というプログラムは同じコンピューターでも別の部屋に存在しているのがコンピューターの基本の仕組みです。

つまり、「メールを処理するAさん」は101号室に、「ファイル編集をするB」さんは102号室にいるような仕組みになっているので、ポート番号まで適切に記載していないとやりたいことができないのです。
メールを送りたいのであれば「メールを処理するAさん」に依頼を届けなければなりません。「ファイルを編集するBさん」に依頼しても、Bさんはメールの処理の仕方が分からないので何もしてはくれません。
このAさん・Bさんというのは、具体的にいえばプログラムなので、ポート番号はすなわち「プログラムの識別」をしていると説明できます。
ポート番号のルール
ポート番号は0番~65535番まで存在します。先ほどポート番号を部屋番号というように説明したのですが、ポート番号は部屋番号とは違い以下のような棲み分けルールが存在します。
ポート番号は世界共通の仕組みなので、各人が適当に番号を付けていると不都合な部分も出てきてします。それを解消させるために、以下のようにルールを決めています。
ウェルノウン(Well Known)ポート番号:0番~1023番
IANA(Internet Assigned Numbers Authority)という団体によって、あらかじめ用途が決められているポート番号です。0番~1023番がそれに該当します。
メール送信を行う「smtp」という処理を呼び出したいときはポート番号は「25」にしましょう、ファイル転送を行う「ftp」をしたいときは「20」にしましょう、と決められており、これらはWell Knownポート番号と呼ばれます。

ここでは、「へえ、そんなのがあるんだなあ」という程度の理解でOKです。
ポート番号 | サービス名 | 説明 |
---|---|---|
20 | ftp-data | File Transfer [Default Data] |
21 | ftp | File Transfer [Default Data] |
22 | ssh | SSH Remote Login Protocol |
23 | telnet | Telnet |
25 | smtp | Simple Mail Transfer |
53 | domain | Domain Name Server |
67 | bootps | Bootstrap Protocol Server |
68 | bootpc | Bootstrap Protocol Client |
70 | gopher | Gopher |
79 | finger | Finger |
80 | www-http | World Wide Web HTTP |
110 | pop3 | Post Office Protocol - Version 3 |
119 | nntp | Network News Transfer Protocol |
123 | ntp | Network Time Protocol |
137 | netbios-ns | NETBIOS Name Service |
138 | netbios-dgm | NETBIOS Datagram Service |
139 | netbios-ssn | NETBIOS Session Service |
161 | snmp | SNMP |
162 | snmptrap | SNMPTRAP |
179 | bgp | Border Gateway Protocol |
443 | https | http protocol over TLS/SSL |
445 | microsoft-ds | Microsoft-DS |
636 | ldaps | ldap protocol over TLS/SSL |
登録(REGISTERED PORT)ポート番号:1024番~49151番
こちらも、IANA(Internet Assigned Numbers Authority)という団体が管理しているポート番号です。
今後、どんどんサービスが増えていく未来に備えて、ウェルノウン(Well Known)ポート番号と同様にちゃんと管理していきましょうというポート番号の範囲です。
ダイナミック/プライベート(DYNAMIC AND/OR PRIVATE PORTS)ポート番号:49152番~65535番
IANAによる制約がないポート番号です。世界中の誰でも自由に設定することができる範囲です。
自作のWebアプリなどでは、よくポート50000番などが利用されたりしますが、それは50000がIANAの制約がないためです。

さらに、IPアドレスやポート番号など、実践レベルまでスキルを身につけたい!という方は以下の書籍で学習してみましょう!
ネットワークエンジニアを目指したい方は
ICMPだけでなく、ネットワークの基礎を1から学びたい方はこちらの書籍を購入してがっつり学びましょう!
さくっと手軽に読める内容ではないのですが、ネットワークエンジニア全員が必ず読破している本と言っても過言ではありません。是非この機会にチャレンジしてみてみましょう。
ITを1から学びなおしたい方は
システムエンジニアを目指す方や、IT知識を1から身に着けたい方は以下のページが必見です。
正直どこから学び始めればよいかわからない。どのように勉強していけば、エンジニアとしてのスキルが磨けるか?
初心者向けに1から解説しておりますので、是非ご覧ください。