スポンサーリンク

SCSPD(8) FreeBSD システム管理者マニュアル SCSPD(8)

名称

scspd − SCSP デーモン

書式

scspd [−fcfg−file⟩] [−d] [−Toptions⟩]

解説

scspd ユーティリティは、 Host ATM Research Platform (HARP) ネットワーキン グソフトウェア用の、サーバキャッシュ同期プロトコル (Server Cache Synchronization Protocol; SCSP) の実装のひとつです。 scspd ユーティリティ は、あるホスト上の (1 つ以上の) サーバの (1 つ以上の) キャッシュと、リ モートホスト上のサーバのキャッシュを同期させます。 SCSP は多くの異なった プロトコルに対して定義されますが、現在のバージョンの scspd は ATMARP のみ サポートします。

scspdatmarpd(8) を使用すると、単一の ATM LIS に対して複数の ATMARP サーバを提供することが可能となります。例えば、長距離リンクで接続される複 数のローカルエリア ATM ネットワークにより、 LIS が構成される場合に有用で しょう。各ローカルエリアネットワークは各自の ATMARP サーバを持つことがで き、すべてのサーバのキャッシュは SCSP により同期されます。このような場 合、もし長距離リンクが切断されても、ローカルエリアネットワーク上のホスト は他のローカルホストとの接続性を保ちます (全ローカルホストはローカルの ATMARP サーバを使用するからです)。長距離リンクが回復すると、SCSP はサーバ のキャッシュを再同期し、リモートホストとの接続性を回復します。 ATMARP キャッシュが同期される前に、 scspdatmarpd(8) の両方が走行している必要 があります。

scspd ユーティリティは、 RFC 2334, Server Cache Synchronization Protocol (SCSP) および draft−ietf−ion−scspd−atmarpd−00.txt, A Distributed ATMARP Service using SCSP に示されるように SCSP を実装しています。

scspd が実行を開始すると、自己に与えられたコマンドラインを解析し、バック グラウンドに移行します。

用語

SCSP に関する用語には混乱しやすいものがあります。この文書では、次の定義を 使用します:

クライアントサーバもしくは ローカルサーバは、 scspd と同じホストで実行さ れているサーバを意味します。このサーバのキャッシュは、複数のリモートサー バと同期されます。 サーバという言葉が単独で使用される場合、 クライアント サーバを意味します。

リモートサーバは、 scspd が実行されているホストとは別のホスト上で実行され ているサーバを意味します。

直接接続されたサーバ (Directly Connected Server; DCS) は、 scspd が直接通 信を行うリモートサーバを意味します。リモートサーバもまた SCSP の実装のひ とつを実行しているでしょう。

キャッシュアラインメント (Cache Alignment; CA) には、 2 つの意味がありま す。キャッシュアラインメントプロトコルは SCSP プロトコル仕様の一部であ り、キャッシュアラインメント有限状態機械 (FSM) はキャッシュアラインメント プロトコルを実装する有限状態機械です。

オプション

コマンドラインオプションは次の通りです:

       −fcfg−file

設定ファイルの名前を指定します。このオプションを指定しない と、 scspd はファイル /etc/scspd.conf を探します。

−d
scspd
をデバッグモードで実行することを指定します。デバッグ モードでは、デーモンはバックグラウンドにはなりません。ログ メッセージは、設定ファイルに指定されたログファイルではな く、標準出力に書かれます。

−Toptions
実行に際して、指定したイベントとメッセージをトレースするよ う、 scspd に指示します。 −T フラグの後には、次に示すオプ ションを 1 つ以上付けます:

c
scspd
の CA 有限状態機械 (FSM) をトレースします。
h
scspd
の Hello FSM をトレースします。
i
scspd
のクライアントインタフェース FSM をトレースし ます。
C

CA, CSUS, CSU リクエストと CSU リプライのメッセージ をトレースします。
H

Hello メッセージをトレースします。
I
scspd
のクライアントと相互にやりとりするインタフェー スメッセージをトレースします。

設定

設定ファイルは、一連の設定文から成ります。これらの文は、 scspd がキャッ シュの同期を行う対象となる、ローカルおよびリモートの両方のサーバに関する 情報を指定します。 scspd の設定方法については、 RFC 2334, Server Cache Synchronization Protocol (SCSP) および draft−ietf−ion−scspd−atmarpd−00.txt, A Distributed ATMARP Service using SCSP が役立つでしょう。

コメント以外の設定文はセミコロンで終端します。文によってはブロックを持 ち、ブレース (‘‘{’’ と ‘‘}’’) で区切ります。設定文のキーワードは大文字小 文字の区別はありませんが、パラメータには区別のあるものがあります (例えば インタフェース名)。設定文は複数行に渡ることが可能です。

コメント

3 種類のコメントを使用可能です:

       # comments: ‘‘#’’ から行末までのすべての文字は無視されます。

C コメント: ‘‘/*’’ と ‘‘*/’’ の間のすべての文字は無視されます。

C++ コメント: ‘‘//’’ から行末までのすべての文字は無視されます。


scspd
が理解する設定文を示します:

Server <name> {

Protocol <protocol ID>;

Netif <if_name>;

ServerGroupID <ID>;

FamilyID <ID>;

DCS {

ATMaddr <ATM address>;

ID <host>;

CAReXmitInt <int>;

CSUSReXmitInt <int>;

CSUReXmitInt <int>;

CSUReXmitMax <cnt>;

HelloDead <cnt>;

HelloInt <int>;

Hops <cnt>;

};

};

Log {

File <file name>;

Syslog;

};

設定ファイル内でホストアドレスを指定する必要があるところでは、 DNS での名 前でも、10 進数をドットで繋ぐ IP アドレスの形式でも、どちらでも使用可能で す。

ATM アドレスは 16 進数の文字列として指定します。前に ‘‘0x’’ を付けてもか まいません。アドレス内のフィールドはピリオドで区切ってもかまいません。ピ リオドは読みやすさのためだけにあり、単に無視されます。 ATM アドレスの長さ は 20 バイトです。先行する 0 を含めて、全アドレスを指定する必要がありま す。例:

0x47.0005.80.ffe100.0000.f21a.0170.0020481a0170.00

Server

server 文はクライアントサーバを指定します。このクライアントサーバのキャッ シュは、リモートホスト上で実行されている他のサーバのキャッシュと同期され ます。 scspd によってキャッシュが同期される各クライアントサーバごとに、 1 つの server 文を設定ファイルに書きます。 server 文の書式は次の通りです:

Servername⟩ { ⟨statements⟩ };

nameserver 文で指定する必要がありますが、 scspd はこれを使用しませ ん。サーバの用途に関する短い記述を与えるものと期待されています。

server 文は、いくつかの副文を持ち、 scspd の設定の詳細を指定します。副文 を示します:

       Protocol ATMARP;

現在のバージョンの scspd がサポートする唯一のプロトコルは ATMARP です。 protocol 文は常に指定する必要があります。

Netifintf⟩;
netif
文は、クライアントサーバがサービスを提供している ATM ネット ワークインタフェース名を指定します。 netif 文は常に指定する必要が あります。

ServerGroupIDID⟩;
ServerGroupID
文は、 scspd が同期を行うサーバ群に対する識別子を指 定します。 ID は 10 進数として指定され、範囲は 0 - 65,535 です。 SCSP セッションにより同期されるキャッシュを持つ全サーバにおいて、 サーバグループ ID は同一である必要があります。つまり、ホストの サーバグループ ID は、 server 文内で指し示されるすべての直接接続 されたサーバ (DCS) において同一である必要があるということです。 ServerGroupID 文は常に指定する必要があります。

FamilyIDID⟩;
familyID
文は、ホスト群間で実行される並列 SCSP セッションのファミ リに対する識別子を指定します (ファミリとはすなわち、異なったプロ トコル ID ではあっても同一のサーバ集合である、 SCSP セッションの 集合です)。 ID は 10 進数として指定され、範囲は 0 - 65,535 です。 ファミリ ID は現在 scspd は使用しません。

DCS
DCS
文は server 文の副文であり、直接接続されたサーバ (DCS) の特性を指定し ます。 server 文は、 scspd が情報交換する DCS ごとに 1 つの DCS 文を持ち ます。 DCS 文は多くの副文を持ち、 DCS の設定に関する詳細を指定します。そ れらを次に示します:

ATMaddrATM address⟩;
ATMaddr
文は DCS の ATM アドレスを指定します。 ATMaddr 文は常に指 定する必要があります。

IDhost⟩;
ID
文は DCS の SCSP 識別子を指定します。 ATMARP における ID は、 DCS の ATM インタフェースに関連付けられた IP アドレスまたは DNS での名前です。 ID 文は常に指定する必要があります。

CAReXmitIntint⟩;
CAReXmitInt
文は、 CA メッセージの再送間隔時間を指定します。 CA メッセージが送信されて確認応答が CAReXmitInt 秒以内に受信されない 場合、メッセージが再送されます。 CAReXmitInt のデフォルト値は 3 秒です。

CSUSReXmitIntint⟩;
CSUSReXmitInt
文は、 CSU Solicit メッセージの再送間隔時間を指定し ます。 CSUS メッセージが送信されたとき、 CSUS によりリクエストさ れた Cache State Advertisement (CSA) が CSUSReXmitInt 秒以内に受 信されないと、別の CSUS メッセージによる再リクエストが発生しま す。 CSUSReXmitInt のデフォルト値は 3 秒です。 CSUSReXmitIntCSUReXmitInt に関して混乱しないようにしてください。

CSUReXmitIntint⟩;
CSUReXmitInt
文は、 CSU リクエストメッセージの再送間隔時間を指定 します。 CSU リクエストメッセージが送信されたとき、 CSUReXmitInt 秒以内に CSU リプライメッセージによって確認応答が返されない CSA は再送されます。 CSUReXmitInt のデフォルト値は 2 秒です。 CSUReXmitIntCSUSReXmitInt に関して混乱しないようにしてくださ い。

CSUReXmitMaxcnt⟩;
CSUReXmitMax
文は、前述のように CSA が再送される回数を指定しま す。この回数を越えると、SCSP は CSA を諦めて捨ててしまいます。 CSUReXmitMax のデフォルト値は 5 です。

HelloDeadcnt⟩;
HelloDead
文は、 Hello メッセージに入れられて DCS に送られ る、Hello Dead Factor を指定します。 HelloDead * HelloInt 秒間 DCS からなにも受信しない場合、 ‘‘DCS down’’ 状態が検出されます。 HelloDead のデフォルト値は 3 です。

HelloIntint⟩;
HelloInt
文は、 Hello メッセージに入れられて DCS に送られ る、Hello Interval を指定します。 HelloInt のデフォルト値は 3 秒 です。

Hopscnt⟩;
Hops
文は (DCS から DCS への) ホップ数を指定し、ローカルサーバを 起点とする CSA の中に指定されます。この値は最小でもサーバグループ の直径である必要があります。すなわち、サーバ群中の全サーバに CSA が伝播するのに十分な大きさが必要ということです。 Hops のデフォル ト値は 3 です。

Log
log
文は、 scspd の操作情報をどのようにログするかを指定します。 scspd ユーティリティは、ログ情報をファイルに書き込むことができますし、システム のログに書き込むこともできますし、両方とも行うことも可能です。

Filefile name⟩;
file
文は、 scspd がログメッセージを指定された名前のファイルに書 き込むことを指定します。ファイルが既に存在する場合、ログメッセー ジはファイルの最後に追加されます。

Syslog;
syslog
文は、 scspd がログメッセージを syslog ファシリティに書き 込むことを指定します。 scspd ユーティリティは、ファシリティコード LOG_DAEMON を使用して、メッセージを syslog に書き込みます。

log 文を指定しないと、 scspd はログメッセージをシステムのログに書き込みま す。 filesyslog の両方が指定されると、指定された名前のファイルとシス テムのログの両方に、 scspd はログメッセージを書き込みます。

使用例
scspd
の簡単な設定ファイルの例は次のようになります:

server atmarp_ni0 {
protocol ATMARP;
netif ni0;
ServerGroupID 23;
DCS {
ID 10.1.1.2;
ATMaddr 0x47.0005.80.ffdc00.0000.0002.0001.002048061de7.00;
hops 2;
};
};

この設定では、ネットワークインタフェース ni0 上で実行されている ATMARP サーバのキャッシュと、 IP アドレス 10.1.1.2 のホスト上で実行されている 2 番目のサーバのキャッシュとの同期をとります。ログメッセージはシステムのロ グに書き込まれます。

シグナル処理

次のシグナルを使用して scspd を制御できます:

       SIGHUP

設定ファイルを再度読み込み、 scspd を再スタートします。

SIGINT
デバッグ情報をファイルにダンプします。 SIGINT を受信すると、 scspd は制御ブロックのサマリをテキストファイルにダンプします ( 関 連ファイル参照)。

関連ファイル

       /etc/scspd.conf

scspd のデフォルトの設定ファイルの名前です。別の名前は、コマンド ラインで −f オプションで指定可能です。

/tmp/scspd.⟨pid⟩.⟨seq⟩.out
デバッグ情報をダンプするファイルの名前です。 scspd ユーティリティ が SIGINT シグナルを受信すると、制御ブロックのサマリをこのファイ ルに書き込みます。 ⟨pid⟩ はデーモンのプロセス ID であり、 ⟨seq⟩ はダンプがとられるごとに増えるシーケンス番号です。

/tmp/scspd.⟨pid⟩.trace
トレースファイルです。 −T オプションがコマンドラインで指定される と、 scspd ユーティリティはトレース情報をこのファイルに書き込みま す。

関連項目

atm(8), atmarpd(8)

       Server Cache Synchronization Protocol (SCSP),                                                       RFC 2334.
       A Distributed ATMARP Service Using SCSP,     draft−ietf−ion−scsp−atmarpd−00.txt.

バグ

scspd が終了して再スタートすると、以前に同期されたキャッシュエントリがタ イムアウトしてリフレッシュされるまでの期間、不安定になります。

バグは ⟨harp−bugs@magic.net⟩ に報告してください。

COPYRIGHT

Copyright (c) 1994-1998, Network Computing Services, Inc.

作者

John Cavanaugh, Network Computing Services, Inc.
Mike Spengler, Network Computing Services, Inc.
Joe Thomas, Network Computing Services, Inc.

謝辞

本ソフトウェアは、 Defense Advanced Research Projects Agency (DARPA) の協 力により開発されました。

日本語訳

堀川和雄 ⟨horikawa@jp.FreeBSD.org⟩

FreeBSD 10.0 August 21, 1998 FreeBSD 10.0

スポンサーリンク