Solaris のシステム管理 (ネットワークサービス)

snoop を使用して SLP 動作を監視する

snoop ユーティリティーは受動的に機能する管理ツールで、ネットワークのトラフィック情報を提供します。ユーティリティー自身が発するトラフィックは最小限で、ネットワーク上のすべての動作を監視できます。

snoop ユーティリティーは、実際の SLP メッセージトラフィックのトレースを行います。たとえば、snoopslp コマンド行引数を付けて実行すると、登録および登録解除の SLP トレース情報が表示されます。このトレース情報を使用して、登録されているサービスの種類および登録動作の量をチェックできるので、ネットワークの負荷を測定できます。

snoop ユーティリティーは、SLP ホスト間のトラフィックフローの監視にも役立ちます。snoopslp コマンド行引数を付けて実行し、次の種類の SLP 動作を監視することで、ネットワークまたはエージェントの再構成が必要かどうかを判断できます。

snoop-V (詳細) コマンド行引数を付けて実行すると、登録の有効期限や SrvReg の新規フラグの値を得ることができるので、再登録の数を削減すべきかどうかを判断できます。

snoop を使用して、次のような別の種類の SLP トラフィックをトレースすることもできます。

snoop の詳細は、snoop(1m) のマニュアルページを参照してください。


ヒント –

トラフィックおよび輻輳の統計情報を表示するには、netstat コマンドを snoop と併せて使用します。netstat の詳細は、netstat(1M) のマニュアルページを参照してください。


Proceduresnoop を使用して SLP トレースを実行する方法

  1. スーパーユーザーになるか、同等の役割を引き受けます。

    役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』「RBAC の構成 (作業マップ)」を参照してください。

  2. snoopslp コマンド行引数を付けて実行します。


    Brief Mode:
    # snoop slp
    

    snoop をデフォルトの簡易モードで実行すると、進行中の出力が画面に表示されます。SLP メッセージは SLP トレースあたり 1 行に収まるように切り捨てられます。


    Verbose Mode:
    # snoop -v slp
    

    snoop を「詳細」モードで実行すると、進行中の出力がすべて画面に表示されます。出力される情報は次のとおりです。

    • サービス URL の完全なアドレス

    • すべてのサービス属性

    • 登録の有効期限

    • すべてのセキュリティーパラメータとフラグ (存在する場合)


    注 –

    slp コマンド行引数をほかの snoop オプションとともに使用できます。


snoop slp トレースの分析

次の例では、slpdslphost1 上で SA サーバーとしてデフォルトモードで動作しています。SLP デーモンは、slphost2 をエコーサーバーとして初期化して登録しています。その後、snoop slp プロセスが slphost1 上で呼び出されます。


注 –

トレース結果を説明しやすくするために、次の snoop からの出力結果にトレース行番号を付けています。



(1) slphost1 -> 239.255.255.253 SLP V@ SrvRqst [24487] service:directory-agent []
(2) slphost2 -> slphost1 SLP V2 DAAdvert [24487] service:directory-agent://129
(3) slphost1 -> 239.255.255.253 SLP V2 SrvRqst [24487] service:directory-agent []
(4) slphost1 -> 239.255.255.253 SLP V2 SrvRqst [24487] service:directory-agent []
(5) slphost1 -> slphost2 SLP V2 SrvReg [24488/tcp]service:echo.sun:tcp://slphost1:
(6) slphost2 -> slphost1 SLP V2 SrvAck [24488/tcp] ok
(7) slphost1 -> slphost2 SLP V2 SrvDereg [24489/tcp] service:echo.sun:tcp://slphost1:
(8) slphost2 -> slphost1 SLP V2 SrvAck [24489/tcp] ok
  1. slphost1 上の slpd が、ディレクトリエージェントを探すために SLP マルチキャストグループアドレスにマルチキャストして、ディレクトリエージェントを能動検出していることを示しています。能動検出に対するメッセージ番号 (24487) は、トレース表示では角括弧内に示されます。

  2. トレース 1 からの能動検出要求 24487 に対し、ホスト slphost2 上で DA として動作している slpd が応答したことを示します。slphost2 からのサービス URL は 1 行に収まるように切り捨てられています。トレース 1 および 2 のメッセージ番号が一致していることからわかるように、DA はマルチキャストディレクトリエージェント検出メッセージに応答して、DA 通知を送っています。

  3. 追加の DA に対する slphost1 上の UA からのマルチキャストを示します。slphost2 はすでに要求に応答しているため、ふたたび応答することはなく、他のどの DA も応答しません。

  4. 前の行で示したマルチキャストを繰り返しています。

  5. slphost1 上の slpd は、SA クライアントが作成した登録をホスト slphost2 上の DA に転送します。エコーサーバーに対するユニキャストサービス登録 (SrvReg) が、slphost1 によって slphost2 上の DA に行われています。

  6. slphost2slphost1SrvReg に対してサービス確認応答 (SrvAck) で応答していることを表し、登録が完了したことを示しています。

    SA クライアントを稼働しているエコーサーバーと slphost1 上の SLP デーモンとの間のトラフィックは、snoop トレースでは表示されません。表示されないのは、snoop 動作がネットワークループバック上で実行されているからです。

  7. slphost1 上のエコーサーバーが、エコーサービス通知の登録を解除します。slphost1 上の SLP デーモンは、登録解除を slphost2 上の DA に転送します。

  8. slphost2slphost1 に対してサービス確認応答 (SrvAck) で応答していることを表し、登録解除が完了したことを示しています。

    トレース行 5、6、7、8 のメッセージ番号に追加されている /tcp パラメータは、メッセージ交換が TCP で発生したことを示しています。

次に進む手順

SLP トラフィックを監視後、snoop トレースから集められた情報を使用して、SLP デフォルトの再構成が必要かどうかを判断できます。SLP プロパティー値の設定については、第 9 章SLP の管理 (手順)を参照してください。SLP メッセージとサービス登録については、第 11 章SLP (リファレンス)を参照してください。