snoop ユーティリティは受動的に機能する管理ツールで、ネットワークのトラフィック情報を提供します。ユーティリティ自身が発するトラフィックは最小限で、ネットワーク上のすべての動作を監視できます。
snoop ユーティリティは、実際の SLP メッセージトラフィックのトレースを行います。たとえば、snoop に slp コマンド行引数を付けて実行すると、登録および登録解除の SLP トレース情報が表示されます。このトレース情報を使用して、登録されているサービスの種類および登録動作の量をチェックできるので、ネットワークの負荷を測定できます。
snoop ユーティリティは、SLP ホスト間のトラフィックフローの監視にも役立ちます。snoop に slp コマンド行引数を付けて実行し、次の種類の SLP 動作を監視することで、ネットワークまたはエージェントの再構成が必要かどうかを判断できます。
特定の DA を使用しているホスト数。この情報により、負荷を均等にするために DA をさらに追加して配置するかどうかを判断できる
特定の DA を使用しているホスト数。この情報により、特定のホストに新規または別のスコープを構成すべきかどうかを判断できる
UA がタイムアウトを要求しているか、あるいは DA の確認応答が遅いかどうか。UA のタイムアウトや再伝送を監視することで、DA が過負荷になっているかどうかを判断できる。DA が SA に登録の確認応答を送るのに数秒以上かかっているかどうかも確認できる。この情報により、必要に応じて、DA を追加したりスコープの構成を変更したりして、DA にかかるネットワーク負荷を調整する
snoop に -V (詳細) コマンド行引数を付けて実行すると、登録の有効期限や SrvReg の新規フラグの値を得ることができるので、再登録の数を削減すべきかどうかを判断できます。
snoop を使用して、次のような別の種類の SLP トラフィックをトレースすることもできます。
UA クライアントと DA 間のトラフィック
UA クライアントのマルチキャストとそれに対する SA の応答との間のトラフィック
snoop については、snoop(1M) のマニュアルページを参照してください。
トラフィックおよび輻輳の統計情報を表示するには、netstat コマンドを snoop と併せて使用します。netstat の詳細は、netstat(1M) のマニュアルページを参照してください。
スーパーユーザーになります。
snoop に slp コマンド行引数を付けて実行します。
簡易モード : # snoop slp |
snoop をデフォルトの簡易モードで実行すると、進行中の出力が画面に表示されます。SLP メッセージは SLP トレースあたり 1 行に収まるように切り捨てられます。
詳細モード : # snoop -v slp |
snoop を詳細モードで実行すると、進行中の出力がすべて画面に表示されます。出力される情報は次のとおりです。
サービス URL の完全なアドレス
すべてのサービス属性
登録の有効期限
すべてのセキュリティパラメータとフラグ (存在する場合)
slp コマンド行引数を snoop の他のオプションとともに使用できます。
次の例では、slpd は、slphost1 上で SA サーバーとしてデフォルトモードで動作しています。SLP デーモンは、slphost2 をエコーサーバーとして初期化して登録しています。その後、snoop slp プロセスが slphost1 上で呼び出されます。
トレース結果を説明しやすくするために、次の snoop からの出力結果にトレース行番号を付けています。
1slphost1 -> 239.255.255.253 SLP V@ SrvRqst [24487] service:directory-agent [] 2slphost2 -> slphost1 SLP V2 DAAdvert [24487] service:directory-agent://129 3slphost1 -> 239.255.255.253 SLP V2 SrvRqst [24487] service:directory-agent [] 4slphost1 -> 239.255.255.253 SLP V2 SrvRqst [24487] service:directory-agent [] 5slphost1 -> slphost2 SLP V2 SrvReg [24488/tcp]service:echo.sun:tcp://slphost1: 6slphost2 -> slphost1 SLP V2 SrvAck [24488/tcp] ok 7slphost1 -> slphost2 SLP V2 SrvDereg [24489/tcp] service:echo.sun:tcp://slphost1: 8slphost2 -> slphost1 SLP V2 SrvAck [24489/tcp] ok |
slphost1 上の slpd が、ディレクトリエージェントを探すために SLP マルチキャストグループアドレスにマルチキャストして、ディレクトリエージェントを能動検出していることを示しています。能動検出に対するメッセージ番号 (24487) は、トレース表示では角括弧内に示されます。
トレース 1 からの能動検出要求 24487 に対し、ホスト slphost2 上で DA として動作している slpd が応答したことを示します。slphost2 からのサービス URL は 1 行に収まるように切り捨てられています。トレース 1 および 2 のメッセージ番号が一致していることからわかるように、DA はマルチキャストディレクトリエージェント検出メッセージに応答して、DA 通知を送っています。
追加の DA に対する slphost1 上の UA からのマルチキャストを示します。slphost2 はすでに要求に応答しているため、ふたたび応答することはなく、他のどの DA も応答しません。
前の行で示したマルチキャストを繰り返しています。
slphost1 上の slpd は、SA クライアントが作成した登録をホスト slphost2 上の DA に転送します。エコーサーバーに対するユニキャストサービス登録 (SrvReg) が、slphost1 によって slphost2 上の DA に行われています。
slphost2 が slphost1 の SrvReg に対してサービス確認応答 (SrvAck) で応答していることを表し、登録が完了したことを示しています。
SA クライアントを稼働しているエコーサーバーと slphost1 上の SLP デーモンとの間のトラフィックは、snoop トレースでは表示されません。表示されないのは、snoop 動作がネットワークのループバックを超えて実行されているからです。
slphost1 上のエコーサーバーが、エコーサービス通知の登録を解除します。slphost1 上の SLP デーモンは、登録解除を slphost2 上の DA に転送します。
slphost2 が slphost1 に対してサービス確認応答 (SrvAck) で応答していることを表し、登録解除が完了したことを示しています。
トレース行 5、6、7、8 のメッセージ番号に追加されている /tcp パラメータは、メッセージ交換が TCP で発生したことを示しています。
SLP トラフィックを監視後、snoop トレースから集められた情報を使用して、SLP デフォルトの再構成が必要かどうかを判断できます。SLP プロパティ値の設定については、第 20 章「SLP の管理 (手順)」を参照してください。SLP メッセージとサービス登録については、第 22 章「SLP (リファレンス)」を参照してください。