ポート番号とは??

データリンクのMACアドレス、IPのIPアドレスと同じように、トランスポート層にはポート番号があります。

  • ・MACアドレス→同一のデータリンクに接続されたコンピュータを識別するためのもの
  • ・IPアドレス→TCP/IPネットワークに接続されたホストやルーターを識別するためのもの

これらに対して、ポート番号は1台のコンピュータ内で通信を行っているプログラムを識別する際に使用されます。

コンピュータでは、Webブラウザや電子メール、sshでの接続など、様々なアプリケーションプログラムを実行できます。

トランスポートプログラムは、ポート番号を使い、これらのプログラムを識別し、データを渡します

通信の識別

通信の識別はポート番号とIPアドレスを使用します。

「宛先IPアドレス」「送信元IPアドレス」「宛先ポート番号」「送信元ポート番号」を使用し、通信は識別されます。

🔵 同じコンピュータで2つのブラウザを使用し同じサーバー上のWebサービスを見ようとした場合
送信元ポート番号が異なるため、違う通信であることがわかります。

送信元IPアドレス 宛先IPアドレス TCP 送信元ポート番号 宛先ポート番号 データ
172.20.100.34 172.20.100.32 6 2001 80 データ

送信元IPアドレス 宛先IPアドレス TCP 送信元ポート番号 宛先ポート番号 データ
172.20.100.34 172.20.100.32 6 2002 80 データ

🔵 違うIPアドレスを持ったコンピュータで同じサーバー上のWebサービスを見ようとした場合
送信元IPアドレスが異なるため、違う通信であることがわかります。

送信元IPアドレス 宛先IPアドレス TCP 送信元ポート番号 宛先ポート番号 データ
172.20.100.34 172.20.100.32 6 2001 80 データ

送信元IPアドレス 宛先IPアドレス TCP 送信元ポート番号 宛先ポート番号 データ
172.20.100.33 172.20.100.32 6 2001 80 データ

ウェルノウンポート番号

HTTPやFTPなどよく使われるアプリケーションプロトコルには、使用するポート番号が決められています。
これをウェルノウンポート番号と言います。

0~1023まではウェルノウンポート番号として予約されています。
ウェルノウンポート番号はインターネットに公開するサービスでは、そのアプリケーションプロトコルやサービスのために使用することを推奨されています。

動的なポート番号の割当

クライアント側つまり、サービスを受ける、使用する側のポート番号は動的に割り当てることが出来ます。

OSが割当を自動的に行います。その際には、アプリケーションごとに違う値にし、ポート番号が必要になるたびにポート番号の数を増やします。

動的に割り当てるポート番号は49152~65535です。

参考文献

マスタリングTCP/IP入門編 第5版

http://e-words.jp/w/ウェルノウンポート.html#:~:text=ウェルノウンポートとは、TCP,から1023番のこと。