周辺知識

[初心者向け]ポート番号の仕組みとルールについて解説します。

ポート番号とは

ポート番号とはコンピューターがTCP/IP通信に使用するプログラムを識別するための番号です。プロセス同士を正しく受け渡しする必要があるため、通信しているプロセスにポート番号が割り振られます。

ドアに例えると

ポートは良く「扉(ドア)」に例えられます。

では、当サイトでもポート番号を自宅から友人宅へ行く手順へ例えてみましょう。

IPアドレスが住所「家」であれば、ポートに出る・外から入る「扉(ドア)」となります。

「自宅=自分のPCやスマホ」となり、「友達の住所を調べている=送信先のIPアドレス」となります。

そして、「家のドアを開けて出発=PCやスマホのポート番号から出発」となります。

「友達の家の前に到着」=「送信先サーバーまで到着」となり、「ドアを開けて入室」=「ポート番号から入室」となります。

IPアドレスはインターネットに接続するコンピューターすべてに1つ1つ割り当てられており、コンピューターを一意に特定することが可能です。

 

代表的なポート番号

代表的なポート番号を解説します。

上の画像でも紹介しておりますが、どのようなプロトコルがどのようなポート番号で使用されているのか代表的な5つの例を挙げてみました。

80番 http
443番 https
20番 FTP
25番 SMTP
110番 POP

特定のIPアドレス上で公開されているサーバー上で、クライアントとの通信を待機し、要求に応じてWEBページの情報を送信します。

ポート番号のルール

ポート番号は0番~65535番まで存在しますが、ポート番号にも棲み分けルールが存在します。

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

ウェルノウンポートとは、有名なサービスやプロトコルが利用するために予約されている0番~1023番のことです。

レジスタードポート番号(Registered):1024番~49151番

レジスタードポートとは、主にソフトウェアベンダーが独自のアプリケーション用に申請し、IANAが管理す1024番~49151番のことです。

ダイナミック/プライベートポート番号(Dynamic/Private):49152番~65535番

ダイナミック/プライベートポートとは、エフェメラルポートとも呼ばれる、用途の決まっていない49152番~65535番のことです。

サーバー側と通信する上で、クライアント側が一時的に設定する番号となります。

これからLaravelを始めるならこれが最適!!


今までLaravelに関しての良書はほとんどなく、あっても内容が古かったり分かりにくいのばかりで、先駆者達は苦労したのではないでしょうか?

そんな中で発売されたこの本は、現在の日本国内にて唯一のLaravelの良書と言い切っても良いかと思います。PHP中級者以上なら苦労することなく読めるでしょう。Laravelは高機能ゆえ、全機能を説明してはいませんが、この本をとっかかりにすれば自ずとLaravelをマスターすることができると思います。