0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ポートマッパー

Posted at

事前に指定されていないポートを知るためには

固定のTSAPアドレスの利用は、少数で普遍の主要なサービス(Webサーバーなど)に関してはうまくいくかもしれない。しかしながら、事前にわかるTSAPアドレスを持っていないプロセスや、一時的にしか存在しないプロセスに接続する場合も多い

代表的なポートにポートマッパーでlisten,その他のプロセスのコネクションを確立させる

これに対応するために他の手法、すなわち、ポートアッパー(portmapper)と呼ばれる特別なプロセルを利用する手法がよく使われる。ユーザーは、ある与えられたサービス名、例えば「BitTorrent」に対応するTSAPアドレスを見つけ出すために、周知のTSAP(well-know TSAP)でリッスン(listen)しているポートマッパーに接続する。そして名前サーバーにサービス名の指定を含むメッセージを送ると、ポートマッパーは対応するTSAPアドレスを送り返してくれる。ユーザーはポートマッパーとのコネクションを開放し、所望のサービスとのコネクションを新規に確立する

  • ポートマッパーを介してサービスとのコネクションを確立する

ポートマッパー

ポートマッパーは、ポート番号を管理する機能です。クライアントは、利用可能なポート番号を知らなくても、ポートマッパーが動作する代表ポート番号へコネクション要求を発行することで、メッセージブローカとのコネクションを獲得できます

ポートマッパーは、デフォルトで動的にポート番号を割り当てます。
メッセージブローカ起動時にポート番号を指定して割り当てることができます。

注意

静的にポート番号を割り当てた場合でも、各接続サービスを利用する場合は、ポートマッパーの代表ポート番号を使用してください。

portmap プロトコル

portmap プログラムは、RPC プログラムとバージョン番号を、トランスポート固有のポート番号にマップします。portmap プログラムは、リモートプログラムの動的結合を可能にします。

1.サーバーが portmap に登録する

2.クライアントは、サーバーのポートを portmap から得る

3.クライアントが、サーバーを呼び出す

予約ポート番号は少ないのに対して、リモートプログラム数は非常に多くなる可能性があります。したがって、よく知られたポートでポートマッパーを実行しておけば、その他のリモートプログラムのポート番号はポートマッパーに問い合わせることによって得られます。図 E–1 では、 a、111、b、c はポート番号を表し、111 はポートマッパーに割り当てられたポート番号です。

初期コネクション・プロトコルのプロセスサーバーで待っているときは代替をする

マシン上に存在している多くのサーバー・プロセスはまれにしか使用されない。それゆえ全てのサーバー・プロセスをあらかじめ起動しておいて、TASPアドレスを一日中リッスンし続けるのは無駄が多い。図6−9に、初期コネクション・プロトコル(initial connection protocol)として知られる代替手法を示す。

同時に複数のポートを持つプロセスサーバー

全てのサーバー・プロセスが周知のTSAPで待ち受ける代わりに、遠隔のユーザーにサービスを提供する各マシンが、頻繁には利用されないサーバー・プロセスのプロキシ(代理)として振る舞う特別なプロセス・サーバー(process server)を持つ。このサーバーはUNIXシステム上ではinetdと呼ばれている。プロセス・サーバーは同時にいくつかのポートを受け持ち、コネクション要求を待つ

プロセスサーバーがサーバー・プロセスを生成して要求に応じる

プロセス・サーバーは要求を受けとった後、ユーザーの要求するサーバー・プロセスを生成する。生成されたサーバー・プロセスは、ユーザーとのコネクションを継承し、要求された仕事を実行する。プロセス・サーバーは新規の要求を待ち受けるために、再び待ち受ける状態に戻る。この手法は、サーバー・プロセスが要求に応じて起動できる場合にのみ適用できる

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?