全3122文字
PR

ポート番号はセッションごとに決める

 最後に、ポート番号についてもう少し詳しく見てみよう。

 前述したように、ポート番号は宛先と送信元のアプリケーションを指定するために使う。その番号は、TCPとUDPのそれぞれで0~65535までの範囲で利用できる。ただし、番号の割り振り方は、サーバーとクライアントで異なる。

 サーバー側では、ポート番号を割り振って通信サービスを提供する受け口を「ポート」、もしくは「待ち受けポート」と呼ぶ。待ち受けポートのポート番号は、サーバーソフトによって自由に設定できる。ただし、WebサービスのHTTP、リモート接続やファイル転送などに使うSSHといったよく利用されるサービスのポート番号は、あらかじめ決まっている。

ポート番号でアプリケーションを識別,よく使う番号は決まっている
ポート番号でアプリケーションを識別,よく使う番号は決まっている
[画像のクリックで拡大表示]

 これらのポートは「ウエルノウンポート(well-known port)」と呼ばれ、インターネットの各種情報資源を管理する組織IANAが0~1023の範囲で指定している。

 サーバー側がウエルノウンポートを使ってサービスを提供すると、クライアント側ではサービスの種類によって決まるポート番号で通信を要求できる。通常は、ユーザーがいちいちポート番号を指定する必要がない。ウエルノウンポート以外のポート番号でサービスを提供すると、クライアントソフトではそのポート番号を指定する必要がある。

 一方、クライアント側のポート番号は、TCPもしくはUDP処理ソフトが決める。このとき、ポート番号はアプリケーションの種類ではなく、起動されたアプリケーション(セッション)ごとに割り振る。このようにすることで、図のように同じWebブラウザーを複数起動して、別々のWebページを開いてもサーバーからの応答がそれぞれのアプリケーションに正しく届くようになる。

POINT
  • プロトコルは階層化され、それぞれの役割を全うすることで通信できるようになっている。そのときに利用されるのが、ポート番号、IPアドレス、MACアドレスの三つの識別番号である。
  • ポート番号は、TCPとUDPのそれぞれで0~65535の範囲で指定する。サーバー側で提供するサービスはあらかじめ決まった番号を使うのが一般的である。