2.1 アプリケーションプログラム間の通信の流れ

アプリケーションプログラムは,通常,一つまたは複数のプロセスから成ります。さらに,各プロセスは,一つまたは複数のデータの通信路を持つことができます。この,データの通信路一つ一つに対応するものとして,XNF/AS/HDLCでは,データリンクユーザという概念を用います。つまり,各アプリケーションプログラムは,一つまたは複数のデータリンクユーザを持つことができるといえます。また,各データリンクユーザを識別するための番号を,仮想スロット番号と呼びます。

ここでは,アプリケーションプログラム間の通信の流れを,各データリンクユーザ単位に,四つの段階に分けて説明します。アプリケーションプログラム間の通信は,ライブラリ関数を発行することで実現できます。

<この節の構成>
(1) データリンク端点の確立・解放
(2) データリンク端点と仮想スロット番号の結合
(3) コネクションの確立・解放
(4) データの転送

(1) データリンク端点の確立・解放

データリンクユーザは,通信管理を識別するUNIXファイルをオープンして,データリンクユーザと通信管理との間の固有の通信路(データリンク端点)を確立します。これをデータリンク端点の確立と呼びます。逆に,通信管理を識別するUNIXファイルをクローズすることをデータリンク端点の解放と呼びます。データリンクユーザとデータリンク端点とは1対1に対応します。

データリンク端点を識別するための番号をデータリンク端点識別子と呼びます。通信管理を識別するUNIXファイルをオープンしたときにリターン値として返されるファイル記述子がこれに当たります。

(2) データリンク端点と仮想スロット番号の結合

仮想スロット番号をデータリンク端点に関連づけることによって,データリンクユーザと通信管理とを論理的に結び付けます。これを,データリンク端点と仮想スロット番号の結合と呼びます。

(3) コネクションの確立・解放

データリンクユーザは,相手データリンクユーザとの接続を要求します。相手データリンクユーザが接続要求を受け入れることによって,データリンクユーザ同士の接続が成立します。これをコネクションの確立と呼びます。

逆に,この接続を解除することをコネクションの解放と呼びます。

(4) データの転送

確立したコネクションを介して,両方向にデータを転送できます。