.\" .\" =================================== .\" HARP | Host ATM Research Platform .\" =================================== .\" .\" .\" This Host ATM Research Platform ("HARP") file (the "Software") is .\" made available by Network Computing Services, Inc. ("NetworkCS") .\" "AS IS". NetworkCS does not provide maintenance, improvements or .\" support of any kind. .\" .\" NETWORKCS MAKES NO WARRANTIES OR REPRESENTATIONS, EXPRESS OR IMPLIED, .\" INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY .\" AND FITNESS FOR A PARTICULAR PURPOSE, AS TO ANY ELEMENT OF THE .\" SOFTWARE OR ANY SUPPORT PROVIDED IN CONNECTION WITH THIS SOFTWARE. .\" In no event shall NetworkCS be responsible for any damages, including .\" but not limited to consequential damages, arising from or relating to .\" any use of the Software or related support. .\" .\" Copyright 1994-1998 Network Computing Services, Inc. .\" .\" Copies of this Software may be made, however, the above copyright .\" notice must be reproduced on all copies. .\" .\" @(#) %FreeBSD: src/usr.sbin/atm/scspd/scspd.8,v 1.2.2.2 2001/07/22 11:02:25 dd Exp % .\" .\" WORD: Server Cache Synchronization Protocol サーバキャッシュ同期プロトコル .\" WORD: Cache Alignment キャッシュアラインメント .\" WORD: finite state machine 有限状態機械 .\" .\" $FreeBSD: doc/ja_JP.eucJP/man/man8/scspd.8,v 1.5 2001/05/14 01:09:59 horikawa Exp $ .\" .\" .Dd August 21, 1998 .Dt SCSPD 8 .Os .Sh 名称 .Nm scspd .Nd "SCSP デーモン" .Sh 書式 .Nm .Op Fl f Aq Ar cfg\-file .Op Fl d .Op Fl T Ns Aq Ar options .Sh 解説 .Nm は、 Host ATM Research Platform (HARP) ネットワーキングソフトウェア用の、 サーバキャッシュ同期プロトコル (Server Cache Synchronization Protocol; SCSP) の実装のひとつです。 .Nm は、 あるホスト上の (1 つ以上の) サーバの (1 つ以上の) キャッシュと、 リモートホスト上のサーバのキャッシュを同期させます。 SCSP は多くの異なったプロトコルに対して定義されますが、 現在のバージョンの .Nm は ATMARP のみサポートします。 .Pp .Nm と .Xr atmarpd 8 を使用すると、 単一の ATM LIS に対して複数の ATMARP サーバを提供することが可能となります。 例えば、 長距離リンクで接続される複数のローカルエリア ATM ネットワークにより、 LIS が構成される場合に有用でしょう。 各ローカルエリアネットワークは各自の ATMARP サーバを持つことができ、 すべてのサーバのキャッシュは SCSP により同期されます。 このような場合、もし長距離リンクが切断されても、 ローカルエリアネットワーク上のホストは他のローカルホストとの接続性を保ちます (全ローカルホストはローカルの ATMARP サーバを使用するからです)。 長距離リンクが回復すると、SCSP はサーバのキャッシュを再同期し、 リモートホストとの接続性を回復します。 ATMARP キャッシュが同期される前に、 .Nm と .Xr atmarpd 8 の両方が走行している必要があります。 .Pp .Nm は、 RFC 2334, .%T "Server Cache Synchronization Protocol (SCSP)" および .Pa draft\-ietf\-ion\-scspd\-atmarpd\-00.txt , .%T "A Distributed ATMARP Service using SCSP" に示されるように SCSP を実装しています。 .Pp .Nm が実行を開始すると、 自己に与えられたコマンドラインを解析し、バックグラウンドに移行します。 .Sh 用語 SCSP に関する用語には混乱しやすいものがあります。 この文書では、次の定義を使用します: .Pp .Em "クライアントサーバ" もしくは .Em "ローカルサーバ" は、 .Nm と同じホストで実行されているサーバを意味します。 このサーバのキャッシュは、複数のリモートサーバと同期されます。 .Em "サーバ" という言葉が単独で使用される場合、 .Em "クライアントサーバ" を意味します。 .Pp .Em "リモートサーバ" は、 .Nm が実行されているホストとは別のホスト上で実行されているサーバを 意味します。 .Pp .Em "直接接続されたサーバ (Directly Connected Server; DCS)" は、 .Nm が直接通信を行うリモートサーバを意味します。 リモートサーバもまた SCSP の実装のひとつを実行しているでしょう。 .Pp .Em "キャッシュアラインメント (Cache Alignment; CA)" には、 2 つの意味があります。 キャッシュアラインメントプロトコルは SCSP プロトコル仕様の一部であり、 キャッシュアラインメント有限状態機械 (FSM) は キャッシュアラインメントプロトコルを実装する有限状態機械です。 .Sh オプション コマンドラインオプションは次の通りです: .Bl -tag -width "-f " .It Fl f Aq Ar cfg\-file 設定ファイルの名前を指定します。 このオプションを指定しないと、 .Nm はファイル .Pa /etc/scspd.conf を探します。 .It Fl d .Nm をデバッグモードで実行することを指定します。 デバッグモードでは、デーモンはバックグラウンドにはなりません。 ログメッセージは、 設定ファイルに指定されたログファイルではなく、標準出力に書かれます。 .It Fl T Ns Aq Ar options 実行に際して、指定したイベントとメッセージをトレースするよう、 .Nm に指示します。 .Fl T フラグの後には、次に示すオプションを 1 つ以上付けます: .Pp .Bl -tag -width 4n -compact .It Cm c .Nm の CA 有限状態機械 (FSM) をトレースします。 .It Cm h .Nm の Hello FSM をトレースします。 .It Cm i .Nm のクライアントインタフェース FSM をトレースします。 .It Cm C CA, CSUS, CSU リクエストと CSU リプライのメッセージを トレースします。 .It Cm H Hello メッセージをトレースします。 .It Cm I .Nm のクライアントと相互にやりとりする インタフェースメッセージをトレースします。 .El .El .Sh 設定 設定ファイルは、一連の設定文から成ります。 これらの文は、 .Nm がキャッシュの同期を行う対象となる、 ローカルおよびリモートの両方のサーバに関する情報を指定します。 .Nm の設定方法については、 RFC 2334, .%T "Server Cache Synchronization Protocol (SCSP)" および .Pa draft\-ietf\-ion\-scspd\-atmarpd\-00.txt , .%T "A Distributed ATMARP Service using SCSP" が役立つでしょう。 .Pp コメント以外の設定文はセミコロンで終端します。 文によってはブロックを持ち、ブレース .No ( Dq Li { と .Dq Li } ) で区切ります。 設定文のキーワードは大文字小文字の区別はありませんが、 パラメータには区別のあるものがあります (例えばインタフェース名)。 設定文は複数行に渡ることが可能です。 .Ss コメント 3 種類のコメントを使用可能です: .Bl -hang .It Sy "# comments" : .Dq Li # から行末までのすべての文字は無視されます。 .It Sy "C コメント" : .Dq Li /* と .Dq Li */ の間のすべての文字は無視されます。 .It Sy "C++ コメント" : .Dq Li // から行末までのすべての文字は無視されます。 .El .Ss 文 .Nm が理解する設定文を示します: .Bd -literal Protocol ; Netif ; ServerGroupID ; FamilyID ; DCS { ATMaddr ; ID ; CAReXmitInt ; CSUSReXmitInt ; CSUReXmitInt ; CSUReXmitMax ; HelloDead ; HelloInt ; Hops ; }; }; Log { File ; Syslog; }; .Ed .Pp 設定ファイル内でホストアドレスを指定する必要があるところでは、 DNS での名前でも、10 進数をドットで繋ぐ IP アドレスの形式でも、 どちらでも使用可能です。 .Pp ATM アドレスは 16 進数の文字列として指定します。 前に .Dq Li 0x を付けてもかまいません。 アドレス内のフィールドはピリオドで区切ってもかまいません。 ピリオドは読みやすさのためだけにあり、単に無視されます。 ATM アドレスの長さは 20 バイトです。 先行する 0 を含めて、全アドレスを指定する必要があります。 例: .Pp .Dl "0x47.0005.80.ffe100.0000.f21a.0170.0020481a0170.00" .Ss "Server 文" .Ic server 文はクライアントサーバを指定します。 このクライアントサーバのキャッシュは、 リモートホスト上で実行されている他のサーバのキャッシュと同期されます。 .Nm によってキャッシュが同期される各クライアントサーバごとに、 1 つの .Ic server 文を設定ファイルに書きます。 .Ic server 文の書式は次の通りです: .Bd -ragged -offset indent .Ic Server .Aq Ar name { .Aq Ar statements }; .Ed .Ar name は .Ic server 文で指定する必要がありますが、 .Nm はこれを使用しません。 サーバの用途に関する短い記述を与えるものと期待されています。 .Pp .Ic server 文は、いくつかの副文を持ち、 .Nm の設定の詳細を指定します。 副文を示します: .Bl -tag -width indent .It Ic Protocol Cm ATMARP ; 現在のバージョンの .Nm がサポートする唯一のプロトコルは ATMARP です。 .Ic protocol 文は常に指定する必要があります。 .It Ic Netif Aq Ar intf ; .Ic netif 文は、クライアントサーバがサービスを提供している ATM ネットワークインタフェース名を指定します。 .Ic netif 文は常に指定する必要があります。 .It Ic ServerGroupID Aq Ar ID ; .Ic ServerGroupID 文は、 .Nm が同期を行うサーバ群に対する識別子を指定します。 ID は 10 進数として指定され、範囲は 0 - 65,535 です。 SCSP セッションにより同期されるキャッシュを持つ全サーバにおいて、 サーバグループ ID は同一である必要があります。 つまり、ホストのサーバグループ ID は、 .Ic server 文内で指し示されるすべての直接接続されたサーバ (DCS) において同一である必要があるということです。 .Ic ServerGroupID 文は常に指定する必要があります。 .It Ic FamilyID Aq Ar ID ; .Ic familyID 文は、 ホスト群間で実行される並列 SCSP セッションのファミリに対する識別子を指定します (ファミリとはすなわち、 異なったプロトコル ID ではあっても同一のサーバ集合である、 SCSP セッションの集合です)。 ID は 10 進数として指定され、範囲は 0 - 65,535 です。 ファミリ ID は現在 .Nm は使用しません。 .El .Ss "DCS 文" .Ic DCS 文は .Ic server 文の副文であり、 直接接続されたサーバ (DCS) の特性を指定します。 .Ic server 文は、 .Nm が情報交換する DCS ごとに 1 つの .Ic BDCS 文を持ちます。 .Ic DCS 文は多くの副文を持ち、 DCS の設定に関する詳細を指定します。 それらを次に示します: .Bl -tag -width indent .It Ic ATMaddr Aq Ar ATM\ address ; .Ic ATMaddr 文は DCS の ATM アドレスを指定します。 .Ic ATMaddr 文は常に指定する必要があります。 .It Ic ID Aq Ar host ; .Ic ID 文は DCS の SCSP 識別子を指定します。 ATMARP における ID は、 DCS の ATM インタフェースに関連付けられた IP アドレスまたは DNS での名前です。 .Ic ID 文は常に指定する必要があります。 .It Ic CAReXmitInt Aq Ar int ; .Ic CAReXmitInt 文は、 CA メッセージの再送間隔時間を指定します。 CA メッセージが送信されて確認応答が .Ic CAReXmitint 秒以内に受信されない場合、 メッセージが再送されます。 .Ic CAReXmitInt のデフォルト値は 3 秒です。 .It Ic CSUSReXmitInt Aq Ar int ; .Ic CSUSReXmitInt 文は、 CSU Solicit メッセージの再送間隔時間を指定します。 CSUS メッセージが送信されたとき、 CSUS によりリクエストされた Cache State Advertisement (CSA) が .Ic CSUSReXmitInt 秒以内に受信されないと、 別の CSUS メッセージによる再リクエストが発生します。 .Ic CSUSReXmitInt のデフォルト値は 3 秒です。 .Ic CSUSReXmitInt と .Ic CSUReXmitInt に関して 混乱しないようにしてください。 .It Ic CSUReXmitInt Aq Ar int ; .Ic CSUReXmitInt 文は、 CSU リクエストメッセージの再送間隔時間を指定します。 CSU リクエストメッセージが送信されたとき、 .Ic CSUReXmitInt 秒以内に CSU リプライメッセージによって確認応答が返されない CSA は再送されます。 .Ic CSUReXmitInt のデフォルト値は 2 秒です。 .Ic CSUReXmitInt と .Ic CSUSReXmitInt に関して 混乱しないようにしてください。 .It Ic CSUReXmitMax Aq Ar cnt ; .Ic CSUReXmitMax 文は、前述のように CSA が再送される回数を指定します。 この回数を越えると、SCSP は CSA を諦めて捨ててしまいます。 .Ic CSUReXmitMax のデフォルト値は 5 です。 .It Ic HelloDead Aq Ar cnt ; .Ic HelloDead 文は、 Hello メッセージに入れられて DCS に送られる、Hello Dead Factor を指定します。 .Ic HelloDead No * Ic HelloInt 秒間 DCS からなにも受信しない場合、 .Dq "DCS down" 状態が検出されます。 .Ic HelloDead のデフォルト値は 3 です。 .It Ic HelloInt Aq Ar int ; .Ic HelloInt 文は、 Hello メッセージに入れられて DCS に送られる、Hello Interval を指定します。 .Ic HelloInt のデフォルト値は 3 秒です。 .It Ic Hops Aq Ar cnt ; .Ic Hops 文は (DCS から DCS への) ホップ数を指定し、 ローカルサーバを起点とする CSA の中に指定されます。 この値は最小でもサーバグループの直径である必要があります。 すなわち、 サーバ群中の全サーバに CSA が伝播するのに十分な大きさが必要ということです。 .Ic Hops のデフォルト値は 3 です。 .El .Ss "Log 文" .Ic log 文は、 .Nm の操作情報をどのようにログするかを指定します。 .Nm は、ログ情報をファイルに書き込むことができますし、 システムのログに書き込むこともできますし、両方とも行うことも可能です。 .Bl -tag -width indent .It Ic File Aq Ar file\ name ; .Ic file 文は、 .Nm がログメッセージを 指定された名前のファイルに書き込むことを指定します。 ファイルが既に存在する場合、ログメッセージはファイルの最後に追加されます。 .It Ic Syslog ; .Ic syslog 文は、 .Nm がログメッセージを syslog ファシリティに書き込むことを指定します。 .Nm は、ファシリティコード .Dv LOG_DAEMON を使用して、 メッセージを syslog に書き込みます。 .El .Ic log 文を指定しないと、 .Nm はログメッセージを システムのログに書き込みます。 .Ic file と .Ic syslog の両方が指定されると、 指定された名前のファイルとシステムのログの両方に、 .Nm はログメッセージを書き込みます。 .Ss 使用例 .Nm の簡単な設定ファイルの例は次のようになります: .Bd -literal -offset indent 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; }; }; .Ed .Pp この設定では、ネットワークインタフェース ni0 上で実行されている ATMARP サーバのキャッシュと、 IP アドレス 10.1.1.2 のホスト上で実行されている 2 番目のサーバのキャッシュとの 同期をとります。 ログメッセージはシステムのログに書き込まれます。 .Sh シグナル処理 次のシグナルを使用して .Nm を制御できます: .Bl -tag -width indent .It Dv SIGHUP 設定ファイルを再度読み込み、 .Nm を再スタートします。 .It Dv SIGINT デバッグ情報をファイルにダンプします。 .Dv SIGINT を受信すると、 .Nm は制御ブロックのサマリをテキストファイルにダンプします ( .Sx 関連ファイル 参照)。 .El .Sh 関連ファイル .Bl -tag -width indent .It Pa /etc/scspd.conf .Nm のデフォルトの設定ファイルの名前です。 別の名前は、コマンドラインで .Fl f オプションで指定可能です。 .It Xo .Sm off .Pa /tmp/scspd. .Aq Ar pid .Pa \&. .Aq Ar seq .Pa .out .Sm on .Xc デバッグ情報をダンプするファイルの名前です。 .Nm が .Dv SIGINT シグナルを受信すると、 制御ブロックのサマリをこのファイルに書き込みます。 .Aq Ar pid はデーモンのプロセス ID であり、 .Aq Ar seq はダンプがとられるごとに増えるシーケンス番号です。 .It Xo .Sm off .Pa /tmp/scspd. .Aq Ar pid .Pa .trace .Sm on .Xc トレースファイルです。 .Fl T オプションがコマンドラインで指定されると、 .Nm はトレース情報をこのファイルに書き込みます。 .El .Sh 関連ファイル .Xr atm 8 , .Xr atmarpd 8 .Rs .%O "RFC 2334" .%T "Server Cache Synchronization Protocol (SCSP)" .Re .Rs .%O "draft\-ietf\-ion\-scsp\-atmarpd\-00.txt" .%T "A Distributed ATMARP Service Using SCSP" .Re .Sh バグ .Nm が終了して再スタートすると、 以前に同期されたキャッシュエントリがタイムアウトして リフレッシュされるまでの期間、不安定になります。 .Pp バグは .Aq harp\-bugs@magic.net に報告してください。 .Sh COPYRIGHT Copyright (c) 1994-1998, Network Computing Services, Inc. .Sh 作者 .An John Cavanaugh , Network Computing Services, Inc. .An Mike Spengler , Network Computing Services, Inc. .An Joe Thomas , Network Computing Services, Inc. .Sh 謝辞 本ソフトウェアは、 Defense Advanced Research Projects Agency (DARPA) の協力により開発されました。 .Sh 日本語訳 .An 堀川和雄 Aq horikawa@jp.FreeBSD.org