総合手引 | セクション 8 | オプション |
scspd と atmarpd(8) を使用すると、 単一の ATM LIS に対して複数の ATMARP サーバを提供することが可能となります。 例えば、 長距離リンクで接続される複数のローカルエリア ATM ネットワークにより、 LIS が構成される場合に有用でしょう。 各ローカルエリアネットワークは各自の ATMARP サーバを持つことができ、 すべてのサーバのキャッシュは SCSP により同期されます。 このような場合、もし長距離リンクが切断されても、 ローカルエリアネットワーク上のホストは他のローカルホストとの接続性を保ちます (全ローカルホストはローカルの ATMARP サーバを使用するからです)。 長距離リンクが回復すると、SCSP はサーバのキャッシュを再同期し、 リモートホストとの接続性を回復します。 ATMARP キャッシュが同期される前に、 scspd と atmarpd(8) の両方が走行している必要があります。
scspd ユーティリティは、 RFC 2334, Server Cache Synchronization Protocol (SCSP) および draft-ietf-ion-scspd-atmarpd-00.txt, A Distributed ATMARP Service using SCSP に示されるように SCSP を実装しています。
scspd が実行を開始すると、 自己に与えられたコマンドラインを解析し、バックグラウンドに移行します。
クライアントサーバ もしくは ローカルサーバ は、 scspd と同じホストで実行されているサーバを意味します。 このサーバのキャッシュは、複数のリモートサーバと同期されます。 サーバ という言葉が単独で使用される場合、 クライアントサーバ を意味します。
リモートサーバ は、 scspd が実行されているホストとは別のホスト上で実行されているサーバを 意味します。
直接接続されたサーバ (Directly Connected Server; DCS) は、 scspd が直接通信を行うリモートサーバを意味します。 リモートサーバもまた SCSP の実装のひとつを実行しているでしょう。
キャッシュアラインメント (Cache Alignment; CA) には、 2 つの意味があります。 キャッシュアラインメントプロトコルは SCSP プロトコル仕様の一部であり、 キャッシュアラインメント有限状態機械 (FSM) は キャッシュアラインメントプロトコルを実装する有限状態機械です。
| |
設定ファイルの名前を指定します。 このオプションを指定しないと、 scspd はファイル /etc/scspd.conf を探します。 | |
| scspd をデバッグモードで実行することを指定します。 デバッグモードでは、デーモンはバックグラウンドにはなりません。 ログメッセージは、 設定ファイルに指定されたログファイルではなく、標準出力に書かれます。 |
| |
実行に際して、指定したイベントとメッセージをトレースするよう、
scspd
に指示します。
| |
c | scspd の CA 有限状態機械 (FSM) をトレースします。 |
h | scspd の Hello FSM をトレースします。 |
i | scspd のクライアントインタフェース FSM をトレースします。 |
C | CA, CSUS, CSU リクエストと CSU リプライのメッセージを トレースします。 |
H | Hello メッセージをトレースします。 |
I | scspd のクライアントと相互にやりとりする インタフェースメッセージをトレースします。 |
コメント以外の設定文はセミコロンで終端します。 文によってはブロックを持ち、ブレース ( "{" と "}") で区切ります。 設定文のキーワードは大文字小文字の区別はありませんが、 パラメータには区別のあるものがあります (例えばインタフェース名)。 設定文は複数行に渡ることが可能です。
# comments: | "#" から行末までのすべての文字は無視されます。 |
C コメント: | "/*" と "*/" の間のすべての文字は無視されます。 |
C++ コメント: | "//" から行末までのすべての文字は無視されます。 |
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
name は server 文で指定する必要がありますが、 scspd はこれを使用しません。 サーバの用途に関する短い記述を与えるものと期待されています。
server 文は、いくつかの副文を持ち、 scspd の設定の詳細を指定します。 副文を示します:
Protocol ATMARP; | |
現在のバージョンの scspd がサポートする唯一のプロトコルは ATMARP です。 protocol 文は常に指定する必要があります。 | |
Netif <intf>; | |
netif 文は、クライアントサーバがサービスを提供している ATM ネットワークインタフェース名を指定します。 netif 文は常に指定する必要があります。 | |
ServerGroupID <ID>; | |
ServerGroupID 文は、 scspd が同期を行うサーバ群に対する識別子を指定します。 ID は 10 進数として指定され、範囲は 0 - 65,535 です。 SCSP セッションにより同期されるキャッシュを持つ全サーバにおいて、 サーバグループ ID は同一である必要があります。 つまり、ホストのサーバグループ ID は、 server 文内で指し示されるすべての直接接続されたサーバ (DCS) において同一である必要があるということです。 ServerGroupID 文は常に指定する必要があります。 | |
FamilyID <ID>; | |
familyID 文は、 ホスト群間で実行される並列 SCSP セッションのファミリに対する識別子を指定します (ファミリとはすなわち、 異なったプロトコル ID ではあっても同一のサーバ集合である、 SCSP セッションの集合です)。 ID は 10 進数として指定され、範囲は 0 - 65,535 です。 ファミリ ID は現在 scspd は使用しません。 | |
ATMaddr <ATM address>; | |
ATMaddr 文は DCS の ATM アドレスを指定します。 ATMaddr 文は常に指定する必要があります。 | |
ID <host>; | |
ID 文は DCS の SCSP 識別子を指定します。 ATMARP における ID は、 DCS の ATM インタフェースに関連付けられた IP アドレスまたは DNS での名前です。 ID 文は常に指定する必要があります。 | |
CAReXmitInt <int>; | |
CAReXmitInt 文は、 CA メッセージの再送間隔時間を指定します。 CA メッセージが送信されて確認応答が CAReXmitInt 秒以内に受信されない場合、 メッセージが再送されます。 CAReXmitInt のデフォルト値は 3 秒です。 | |
CSUSReXmitInt <int>; | |
CSUSReXmitInt 文は、 CSU Solicit メッセージの再送間隔時間を指定します。 CSUS メッセージが送信されたとき、 CSUS によりリクエストされた Cache State Advertisement (CSA) が CSUSReXmitInt 秒以内に受信されないと、 別の CSUS メッセージによる再リクエストが発生します。 CSUSReXmitInt のデフォルト値は 3 秒です。 CSUSReXmitInt と CSUReXmitInt に関して 混乱しないようにしてください。 | |
CSUReXmitInt <int>; | |
CSUReXmitInt 文は、 CSU リクエストメッセージの再送間隔時間を指定します。 CSU リクエストメッセージが送信されたとき、 CSUReXmitInt 秒以内に CSU リプライメッセージによって確認応答が返されない CSA は再送されます。 CSUReXmitInt のデフォルト値は 2 秒です。 CSUReXmitInt と CSUSReXmitInt に関して 混乱しないようにしてください。 | |
CSUReXmitMax <cnt>; | |
CSUReXmitMax 文は、前述のように CSA が再送される回数を指定します。 この回数を越えると、SCSP は CSA を諦めて捨ててしまいます。 CSUReXmitMax のデフォルト値は 5 です。 | |
HelloDead <cnt>; | |
HelloDead 文は、 Hello メッセージに入れられて DCS に送られる、Hello Dead Factor を指定します。 HelloDead * HelloInt 秒間 DCS からなにも受信しない場合、 "DCS down" 状態が検出されます。 HelloDead のデフォルト値は 3 です。 | |
HelloInt <int>; | |
HelloInt 文は、 Hello メッセージに入れられて DCS に送られる、Hello Interval を指定します。 HelloInt のデフォルト値は 3 秒です。 | |
Hops <cnt>; | |
Hops 文は (DCS から DCS への) ホップ数を指定し、 ローカルサーバを起点とする CSA の中に指定されます。 この値は最小でもサーバグループの直径である必要があります。 すなわち、 サーバ群中の全サーバに CSA が伝播するのに十分な大きさが必要ということです。 Hops のデフォルト値は 3 です。 | |
File <file name>; | |
file 文は、 scspd がログメッセージを 指定された名前のファイルに書き込むことを指定します。 ファイルが既に存在する場合、ログメッセージはファイルの最後に追加されます。 | |
Syslog; | |
syslog 文は、 scspd がログメッセージを syslog ファシリティに書き込むことを指定します。 scspd ユーティリティは、ファシリティコード LOG_DAEMON を使用して、 メッセージを syslog に書き込みます。 | |
log 文を指定しないと、 scspd はログメッセージを システムのログに書き込みます。 file と syslog の両方が指定されると、 指定された名前のファイルとシステムのログの両方に、 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 番目のサーバのキャッシュとの 同期をとります。 ログメッセージはシステムのログに書き込まれます。
SIGHUP | |
設定ファイルを再度読み込み、 scspd を再スタートします。 | |
SIGINT | |
デバッグ情報をファイルにダンプします。 SIGINT を受信すると、 scspd は制御ブロックのサマリをテキストファイルにダンプします ( 関連ファイル 参照)。 | |
/etc/scspd.conf | |
scspd
のデフォルトの設定ファイルの名前です。
別の名前は、コマンドラインで
| |
/tmp/scspd.<pid>amp;.<seq>.outデバッグ情報をダンプするファイルの名前です。 scspd ユーティリティが SIGINT シグナルを受信すると、 制御ブロックのサマリをこのファイルに書き込みます。 <pid> はデーモンのプロセス ID であり、 <seq> はダンプがとられるごとに増えるシーケンス番号です。 | |
/tmp/scspd.<pid>.traceトレースファイルです。
| |
RFC 2334, Server Cache Synchronization Protocol (SCSP),
draft\-ietf\-ion\-scsp\-atmarpd\-00.txt, A Distributed ATMARP Service Using SCSP,
バグは <harp-bugs@magic.net> に報告してください。
SCSPD (8) | August 21, 1998 |
総合手引 | セクション 8 | オプション |
このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.
“ | When people say "Drive safe!" I'm like no, a safe is for keeping money, I drive car. | ” |
— Artur Bagyants |