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

コネクションの要求を受け付けるポートを設定する

あるアプリケーションが遠隔のアプリケーション・プロセスに対してコネクションを確立するときは、遠隔のエンド・ポイントのどのプロセスに接続するかを指定する必要がある。通常利用される手法は、コネクション要求を待ち受けるプロセスのトランスポート・アドレスを定義することである。これらのエンド・ポイントは、インターネットではポート(port)と呼ばれる。

トランスポート/ネットワーク層でポートの用語が違う

ここではトランスポート層固有のエンド・ポイントのことを、一般的な用語であTSAP(Transport Service Access Point: トランスポート・サービス・アクセス・ポイント)で表す。それと同じように、ネットワーク層におけるエンド・ポイント(すなわちネットワーク層のアドレス)をNSAP(Network Service Access Point:ネットワーク・サービス・アクセス・ポイント)と呼ぶ。IPアドレスはNSAPの一例である。

NSAPは一つ、TSAPはプロセスごとにある。

TSAPを持つ目的は、一部のネットワークにおいて各コンピュータはNSAPを一つだけ持つため、NSAPを共有する複数のトランスポート・エンド・ポイントを識別するための手段が必要がだからである。

  • 自身に対してLISTEN呼び出しによってTSAPを結びつける
  • CONNECT要求で相手のTSAPに対してトランスポートコネクションが確立される。

どのプロセスがどのポートと結びついているのかを知るのか?

ホスト1のユーザー・プロセスはどうやってメール・サーバーがTSAP1522に結び付けられていることを知るのだろうか。歴史的にメール・サーバーがTSAP1522に結び付けられ、ネットワーク・ユーザーがそれを学ぶということが考えれる。この場合、サービスは固有のTSAPアドレスを持ち、例えばUNIXの/etc/serviceファイルのようなよく知られた場所のファイルに登録される。そのファイルはどのサーバーがどのポートに固定的に結び付けられているかをメール・サーバーがTCP25番ポートを使用しているといったような事実とともに管理している。

/etc/servicesを調べる

/etc/servicesファイルは、TCPやUDPのポート番号と、そのポートを利用するサービス(あるいはプロトコル名)の情報を対応させるファイルです。

実際に/etc/servicesファイルの内容を見てみましょう。

ssh            22/tcp                          # The Secure Shell (SSH) Protocol
ssh            22/udp                          # The Secure Shell (SSH) Protocol

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?