図 7.5: プロトコルスタックとP-kitの関係
層 N+1
層 N インターフェイス
ICI SDU
7.2.2 P-kit
のアーキテクチャ
P-kitを用いて構築するプロトコル主体のアーキテクチャについて説明する。
状態遷移モデル
プロトコル主体は状態遷移機械に抽象することができる。その状態は次の5つで規定さ れる[6]。
状態の有限集合
状態遷移規則の有限集合
述語の有限集合
入力事象の有限集合
出力事象の有限集合 状態遷移機械への入力は
N+1層のサービスから
N-1層のサービスから
N層のローカル処理(タイマ)から あると考える。
タイマ起動のアーキテクチャ
プロトコル主体は、アプ リケーションの要求によって生成(instanciation)され、アプ リ ケーション層(上位層)からの書き込み動作、プロトコル主体が持つタイマのイベント、下 位層からのパケットの到着によって駆動される。この様子を図7.6に示す。プロトコル制 御構造体はプロトコル主体の状態、SDUのバッファ、イベントの待ち行列を要素保持し ている。上位層、下位層、ローカルタイマからのイベントは、プロトコル制御構造体の状 態を変化させながら一連の通信を進行させる。
7.2.3
プロト コルの基本機能
P-kitは、プロトコル主体を駆動するアーキテクチャの雛型とプロトコルを構成する部
品群とから構成される。表7.3にP-kitを構成する部品群の候補を示す。
図 7.6: タイマ起動のアーキテクチャ
書き込み 読み込み
書き込み 読み込み
アプリケーション層(上位層)
下位層( IPマルチキャスト、IP raw-socket) ポーリング
プロトコル制御構造体 プロトコル主体
書き込み処理
読み込み処理 読み出し処理
タイマ処理 駆動
タイマ
駆動
駆動 駆動
7.2.4
設計
P-kitを用いて様々な高信頼マルチキャストの実装を行なう事ができる。具体的にPGM
プロトコルの終点ホスト実装の設計を次にしめす。
PGMを実現するため設計
図7.7はタイマー起動のアーキテクチャを用いたPGM終点ホストの設計を示している。
送信者の送出処理は、プロトコル制御構造体の送信ウインド ウにSDUを格納した後、
PDU(この場合ODATA)を送付する。送信者が受けとったNAK処理はイベントキューに スケジュールされ、タイマにより起動される。
受信者が受けとったPDUはその型によって該当する処理が割り当てられ実行される。
NAKの送出はイベントキューにスケジュールされる。該当するRDATAの受信でスケジュー ルは取り消される。
このPGM実装で用いられるP-kit部品は次の通りである。
Byte ordering
Checksum
図 7.7: P-kitを用いたPGM終点ホスト設計
プロトコル主体 プロトコル主体
プロトコル制御構造体 プロトコル状態
送信ウインドウ
イベントキュー
送信者 受信者
プロトコル制御構造体 プロトコル状態
受信ウインドウ
イベントキュー
送信処理 受信処理
処理
割当て 否定応答処理スケジュール タイマ処理
SPM処理
否定応答(NAK)