ポート番号とは?初心者向けに分かりやすく3分で解説

IT-Skills

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

と説明されても、初心者にとっては理解しづらいはずです。

このページでは、そもそも「ポートって何?」「ポートってなんで必要なの?」という素朴な疑問をお持ちのIT初心者の方向けに初歩の初歩から解説します。

このページで学べる内容
  • 通信をするために必要な情報とは?
  • IPアドレスとは?
  • ポート番号とは?
  • ポート番号の仕組み
    • ウェルノウン(Well Known)ポート番号
    • 登録(REGISTERED PORT)ポート番号
    • ダイナミック/プライベート(DYNAMIC AND/OR PRIVATE PORTS)ポート番号

IT技術者であれば知らないと恥ずかしい超・基本知識です。是非最後までご覧ください。

初心者向けに分かりやすく説明できるよう、詳細や留意事項を一部省略して解説しています。

スポンサーリンク

前提:コンピューター同士が「通信」をするために

普段何気なく利用しているインターネット。この「インターネット」という仕組みは、一言で説明すると世界中のコンピューターとコンピューター(もしくはサーバー)をつなげた仕組みと言えます。

今、あなたはこのWebページ(ビズドットオンライン)を開いて「ポート番号とは何か?」について調べています。このページの情報は日本のとある場所に存在するコンピューター(サーバー)上に保存されているのですが、その情報を取得し画面上に閲覧している、というのがあなたの今の状況です。

つまり、あなたのスマートフォンとビズドットオンラインのサーバーが「通信」を行っているとことです。

そこで気になるのが、「どうやってあなたのスマートフォンとビズドットオンラインのサーバーが通信をしているのか?(どうやってお互いのコンピューターを特定しているのか?)」という点です。

どのコンピューターと通信すれば良いか

インターネットに接続されたコンピューターは世界中で何十億台と存在します。これらの中から適切なコンピューターを探し出し通信を行うためには現実世界でいう「住所」のようなものが必要となってきます。

この「住所」にあたるのが、インターネット上における「IPアドレス」と呼ばれるものです。

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

IPアドレス(Internet Protocol Address)とは、インターネットの世界における住所のこと。インターネットに接続する全てのコンピュータ(スマートフォン)1つ1つに、IPアドレスが割り当てられています。

例えば、googleのサーバーは「172.217.24.131」というIPアドレスを保持しています。ブラウザ上に「172.217.24.131」と入力すれば、googleのサーバーに接続することができます。

IPアドレスの仕組みをもっと詳しく知りたい方は

「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)ポート番号
  • 登録(REGISTERED PORT)ポート番号
  • ダイナミック/プライベート(DYNAMIC AND/OR PRIVATE PORTS)ポート番号

ウェルノウン(Well Known)ポート番号:0番~1023番

IANA(Internet Assigned Numbers Authority)という団体によって、あらかじめ用途が決められているポート番号です。0番~1023番がそれに該当します。

メール送信を行う「smtp」という処理を呼び出したいときはポート番号は「25」にしましょう、ファイル転送を行う「ftp」をしたいときは「20」にしましょう、と決められており、これらはWell Knownポート番号と呼ばれます。

ここでは、「へえ、そんなのがあるんだなあ」という程度の理解でOKです。

ポート番号サービス名説明
20ftp-dataFile Transfer [Default Data]
21ftpFile Transfer [Default Data]
22sshSSH Remote Login Protocol
23telnetTelnet
25smtpSimple Mail Transfer
53domainDomain Name Server
67bootpsBootstrap Protocol Server
68bootpcBootstrap Protocol Client
70gopherGopher
79fingerFinger
80www-httpWorld Wide Web HTTP
110pop3Post Office Protocol - Version 3
119nntpNetwork News Transfer Protocol
123ntpNetwork Time Protocol
137netbios-nsNETBIOS Name Service
138netbios-dgmNETBIOS Datagram Service
139netbios-ssnNETBIOS Session Service
161snmpSNMP
162snmptrapSNMPTRAP
179bgpBorder Gateway Protocol
443httpshttp protocol over TLS/SSL
445microsoft-dsMicrosoft-DS
636ldapsldap protocol over TLS/SSL
代表的なウェルノウン(Well Known)ポート番号:0番~1023番

登録(REGISTERED PORT)ポート番号:1024番~49151番

こちらも、IANA(Internet Assigned Numbers Authority)という団体が管理しているポート番号です。

今後、どんどんサービスが増えていく未来に備えて、ウェルノウン(Well Known)ポート番号と同様にちゃんと管理していきましょうというポート番号の範囲です。

ダイナミック/プライベート(DYNAMIC AND/OR PRIVATE PORTS)ポート番号:49152番~65535番

IANAによる制約がないポート番号です。世界中の誰でも自由に設定することができる範囲です。

自作のWebアプリなどでは、よくポート50000番などが利用されたりしますが、それは50000がIANAの制約がないためです。

<br>

さらに、IPアドレスやポート番号など、実践レベルまでスキルを身につけたい!という方は以下の書籍で学習してみましょう!

ネットワーク技術のハンズオン教材。AWSも一緒に学べるお得な1冊。アプリ開発者に大人気!インフラ構築の第1歩に最適。

ITを1から学びなおしたい方は

システムエンジニアを目指す方や、IT知識を1から身に着けたい方は以下のページが必見です。

正直どこから学び始めればよいかわからない。どのように勉強していけば、エンジニアとしてのスキルが磨けるか?

初心者向けに1から解説しておりますので、是非ご覧ください。

タイトルとURLをコピーしました