この章では、SLP の配置を計画する上で検討する事項を列挙し、Solaris snoop ユーティリティを使用して SLP プロパティの追加構成を必要とするか判断する方法を説明します。
Solaris 8 リリースでは、SLP がインストールされ、デフォルトのプロパティ設定で構成した状態で出荷されます。最初の SLP 設定でエンタープライズがうまく動作する場合には、SLP 配置において、実際には管理は必要ありません。場合によっては、デフォルトの SLP 設定を変更して、SLP のネットワーク動作を調整したり各種の SLP 機能を有効にしたいこともあります。たとえば、いくつかの構成を変更すると SLP 動作に対するログを排他的に有効にでき、ログファイルを確認して追加の構成が必要かどうかを判断できます。
SLP 構成プロパティは、/etc/inet ディレクトリ内の slp.conf ファイルにあります。この章を読み、システム上の SLP 動作の効率を検討した後で、デフォルトのプロパティ設定を再構成する必要がある場合には、この章以降の適切な手順を参照してください。
SLP 構成プロパティの設定を変更する前に、次のことを検討してください。
エンタープライズ内で動作しているネットワーク技術の種類
その技術が適切に処理するトラフィックの種類
ネットワークサービスの数および種類
ユーザー数およびユーザーが使用するサービス数
最も頻繁にアクセスするサービスに関するユーザーの場所
snoop ユーティリティは受動的に機能する管理ツールで、ユーティリティ自身は最小限のネットワークトラフィックを発生しながら、ネットワークのトラフィック情報を提供します。snoop を起動すると、ネットワーク上のすべての動作を発生と同時に監視できます。
snoop ユーティリティは、実際の SLP メッセージトラフィックの出力を行います。たとえば、snoop に slp コマンドライン引数を付けて実行すると、登録および登録解除の SLP トレース情報が表示され、登録されているサービスの種類および登録動作の量を測ることができるので、ネットワークの負荷が測定できます。
snoop ユーティリティは、SLP エンタープライズにおけるホスト間のトラフィックフローの監視にも役立ちます。snoop に slp コマンドライン引数を付けて実行すると、次の種類の SLP 動作を測定および監視でき、ネットワークあるいはエージェントの再構成が必要かどうかを判断できます。
特定の DA を使用するホスト数。この情報により、負荷を均等にするために DA をさらに追加して配置するかどうかを判断できる
どのホストがどの DA を使用しているか。この情報により、特定のホストに新規あるいは別のスコープを構成すべきかどうかを判断できる
UA 要求がタイムアウトされており再転送が必要、あるいは DA が SA に登録確認応答を送るのに数秒以上かかっている。この情報により、特定の DA が過負荷になっているかどうかを判断できる。また、DA を追加して配置したり、スコープの構成を変更したりすることによって DA にかかるネットワーク負荷を均等にし直すべきかどうかを判断できる
snoop に -V (詳細) コマンドライン引数を付けて実行すると、登録の有効期限および SrvReg の新規フラグの値を得ることができ、再登録の数を削減すべきかどうかを判断できます。しかし、snoop に詳細オプションを付けて起動すると、出力されるテキスト量が多くなるので、テキストをファイルにダンプし、後でそのファイルをソートすると良いでしょう。
snoop を使用して、次のような別の種類の SLP トラフィックをトレースすることもできます。
UA クライアントおよび DA 間のトラフィック
UA クライアントのマルチキャストとそれに対する SA の応答との間のトラフィック
snoop については、snoop(1M)のマニュアルページを参照してください。
トラフィックおよび輻輳の統計情報を表示するには、netstat コマンドを snoop と併せて使用します。netstat については、netstat(1M)のマニュアルページを参照してください。
snoop コマンドには、snoop トレースの対象およびその出力の長さを制御する、各種のフィルタおよびオプションがあります。さらに、snoop slp に別の snoop 式を付けて使用することができます。
snoop ユーティリティを使用する場合、「簡潔」モードあるいは「詳細」モードのいずれかの出力モードを選択できます。「詳細」モードでは、snoop は出力されている内容が省略されずにモニターに送られます。この出力は、次の情報を提供します。
サービス URL の完全なアドレス
すべてのサービス属性
登録の有効期限
すべてのセキュリティパラメタおよびフラグ (存在する場合)
詳細モードで snoop に slp フィルタをかけて起動するには、次のようにコマンドをタイプします。
# snoop slp -v |
snoop のデフォルトの設定は、「簡潔」モードで、出力されている内容が、SLP メッセージ 1 つにつき 1 行になるように切り捨てられてモニターに送られます。
SLP を使用可能な snoop ユーティリティおよび SLP ログユーティリティを使用して、何を再構成する必要があるかを判断できます。たとえば、次の目的のために特定のプロパティを構成し直す場合があります。
各種の応答時間および帯域幅の性質が混合するネットワークメディアを調整する
ネットワークの障害あるいは計画されていないパーティション分割からエンタープライズを回復させる
DA を追加して SLP マルチキャストの急増を減らす
新規のスコープを実装して、最も頻繁にアクセスするサービスにユーザーを組み込む
次のトレース例は、デフォルトの「簡潔」モードにおいて snoop に SLP フィルタをかけて起動する方法と表示されるトレースの種類を示します。この例は次のコマンドを使用して呼び出されます。
# snoop slp |
この例では、slpd が vesuvius 上で起動され、snoop slp がホスト vesuvius 上で呼び出された後、ホスト umunum をエコーサーバーとして初期化し登録しています。vesuvius 上の slpd は、SA サーバーとしてデフォルトモードで動作しています。
トレース結果を説明しやすくするために、行間を空け、トレース行番号を付けて識別しています。
トレース 1 は、vesuvius 上の slpd が、ディレクトリエージェントを探すために SLP マルチキャストグループアドレスにマルチキャストすることにより、ディレクトリエージェントを能動検出していることを示しています。能動検出に対するメッセージ番号 (24487) は、トレース表示では角括弧内に示されます。
(1) vesuvius -> 239.255.255.253 SLP V@ SrvRqst [24487] service:directory-agent [] |
トレース 2 は、要求メッセージと応答メッセージの一致するペアがメッセージ番号の一致によって識別される、SLP の仕組みを示します。
(2) umunum -> vesuvius SLP V2 DAAdvert [24487] service:directory-agent://129 |
トレース 2 は、トレース 1 からの能動検出要求 24487 に対し、ホスト umunum 上で DA として動作している slpd が応答したことを示します。umunum からのサービス URL はトレース内では 1 行に収まるように切り捨てられています。トレース 1 および 2 のメッセージ番号が一致していることからわかるように、DA はマルチキャストディレクトリエージェント検出メッセージに応答して、DA 通知を送っています。
トレース 3 および 4 は、追加の DA に対する vesuvius 上の UA からのマルチキャストを示します。umunum はすでに要求に応答しているため、再び応答はせず、他のどの DA も応答しません。
(3) vesuvius -> 239.255.255.253 SLP V2 SrvRqst [24487] service:directory-agent [] (4) vesuvius -> 239.255.255.253 SLP V2 SrvRqst [24487] service:directory-agent [] |
次の 2 つのトレースでは、vesuvius 上の slpd は、SA クライアントが作成した登録を、ホスト umunum 上の DA に転送します。SA クライアントを稼動しているエコーサーバーと vesuvius 上の slpd との間のトラフィックは、ネットワークのループバックを超えて行われているため、snoop トレースに表示されないことに注意してください。トレース 5 および 6 は、vesuvius 上の slpd がサービス登録を umunum 上の DA に転送し、その応答を umunum から転送していることを示します。
トレースの 5 行および 6 行に示されるメッセージ交換は TCP によって発生します。これは、各メッセージ番号に tcp を付けることにより示されます。
(5) vesuvius -> umunum SLP V2 SrvReg [24488/tcp]service:echo.sun:tcp://vesuvius: (6) umunum -> vesuvius SLP V2 SrvAck [24488/tcp] ok |
トレース 5 は、エコーサーバーに対するユニキャストサービス登録 (SrvReg) を示しています。これは vesuvius が umunum 上の DA に対して作成したものです。トレース 6 は、umunum が vesuvius の SrvReg に対してサービス確認応答 (SrvAck) で応答していることを表し、登録が完了したことを示しています。
次の例では、vesuvius 上のエコーサーバープログラムが、エコーサービス通知の登録を解除します。vesuvius 上の slpd は、登録解除を umunum 上の DA に転送します。
(1) vesuvius -> umunum SLP V2 SrvDereg [24489/tcp] service:echo.sun:tcp://vesuvius: (2) umunum -> vesuvius SLP V2 SrvAck [24489/tcp] ok |
エコーサーバー umunum は、ホスト vesuvius に対し、登録解除が SrvAck 経由で完了したことを知らせます。エコーサーバーの SA クライアントと slpd の間の最初のメッセージ交換は表示されません。その応答により、登録解除が完了したことが示されます。
SLP トラフィックを監視後、snoop トレースから集められた情報を使用して、SLP デフォルトの再構成が必要かどうかを判断できます。SLP プロパティ値の設定については、第 3 章「SLP プロパティの構成」および第 4 章「ネットワークプロパティの構成」を参照してください。SLP メッセージおよびサービス登録については、付録 A 「SLP のメッセージタイプ」 を参照してください。