この節では、次のプロパティを変更して SLP のパフォーマンスを調整する場合の可能なシナリオについて説明します。
表 18–3 SLP パフォーマンスのプロパティ
プロパティ |
説明 |
---|---|
net.slp.DAAttributes |
DA が通知を受け取る最短の更新間隔 |
net.slp.multicastTTL |
マルチキャストパケットの有効期限 |
net.slp.MTU |
ネットワークパケットのサイズ (バイト)。サイズには、IP と TCP または UDP の各ヘッダーが含まれている |
net.slp.isBroadcastOnly |
ブロードキャストを DA サービス検索および DA ベースでないサービス検索に使用する必要があるかどうかを示すために設定されるブール値 |
SA は、期限が切れる前に定期的にサービス通知を更新する必要があります。DA が多くの UA と SA の非常に重い負荷を処理している場合は、頻繁な更新により DA が過負荷になることがあります。DA が過負荷になると、UA の要求がタイムアウトして欠落します。UA 要求のタイムアウトには多くの原因が考えられます。DA の過負荷が問題であると仮定する前に、snoop トレースを使ってサービス登録に登録されているサービス通知の有効期限を確認してください。有効期限が短く、再登録が頻繁に発生している場合は、再登録が頻繁すぎることがタイムアウトの原因と考えられます。
サービス登録は、FRESH フラグが設定されていなければ再登録になります。サービス登録メッセージについては、第 20 章「SLP (リファレンス)」を参照してください。
次の手順に従って、SA の最小更新間隔を長くすることで、再登録回数を削減します。
スーパーユーザーになります。
ホスト上の slpd とすべての SLP 動作を停止します。
# /etc/init.d/slpd stop |
net.slp.DAAttributes プロパティの min-refresh-interval 属性の値を大きくします。
デフォルトの最短再登録期間はゼロ (0) です。デフォルトがゼロの場合、SA はいつでも自由に再登録できます。次の例では、間隔は 3600 秒 (1 時間) に増やしています。
net.slp.DAAttributes(min-refresh-interval=3600) |
変更を保存し、ファイルを閉じます。
変更を反映するには、slpd を再起動します。
# /etc/init.d/slpd start |
マルチキャストの有効期限プロパティ (net.slp.multicastTTL) によって、マルチキャストパケットがイントラネット内で伝達される範囲が決まります。マルチキャスト TTL は net.slp.multicastTTL プロパティを 1 から 255 までの整数に設定することにより構成されます。マルチキャスト TTL のデフォルト値は 255 で、これは理論的にはパケット経路が無制限であることを意味します。しかし、TTL を 255 とすると、マルチキャストパケットがイントラネットを超えて管理ドメインの端にある境界ルーターまで進む原因になります。マルチキャストパケットがインターネットのマルチキャストバックボーンまたは ISP に漏れないようにするには、境界ルーター上のマルチキャストが正しく構成されている必要があります。
マルチキャスト TTL のスコープ設定は、TTL 比較が作成されることを除いて、標準的な IP の TTL と似ています。マルチキャストを実行できるルーター上の各インタフェースには、TTL 値が割り当てられています。マルチキャストパケットが着信すると、ルーターはパケットの TTL をインタフェースの TTL と比較します。パケットの TTL がインタフェースの TTL 値と同じかそれより大きい場合は、標準的な IP の TTL の場合と同じように、パケットの TTL を 1 減らします。TTL がゼロになると、そのパケットは破棄されます。SLP マルチキャストに TTL スコープを使用する場合、パケットをイントラネットの特定のサブセクションに限定するために、ルーターが正しく構成されている必要があります。
次の手順に従って、net.slp.multicastTTL プロパティを設定し直します。
スーパーユーザーになります。
ホスト上の slpd とすべての SLP 動作を停止します。
# /etc/init.d/slpd stop |
slpd.conf ファイル内の net.slp.multicastTTL プロパティを変更します。
net.slp.multicastTTL=value |
マルチキャスト TTL を定義する 255 以下の正の整数
TTL 値を減らしてマルチキャストの伝達範囲を縮小することができます。TTL の値が 1 の場合、パケットはそのサブネットに限定されます。TTL の値が 32 の場合は、パケットはそのサイトに限定されます。「サイト」は、マルチキャスト TTL について記述されている RFC 1075 では定義されていません。32 以上の値は、インターネット上の論理的な経路を指すので使用しないでください。32 未満の値は、各ルーターが TTL で正しく構成されていれば、マルチキャストをアクセス可能なサブネットのセットに限定するために使用できます。
変更を保存し、ファイルを閉じます。
変更を反映するには、slpd を再起動します。
# /etc/init.d/slpd start |
SLP のデフォルトのパケットサイズは 1400 バイトです。ほとんどのローカルエリアネットワークにはこのサイズで十分です。無線ネットワークまたは広域ネットワークの場合は、メッセージの断片化を防いだりネットワークのトラフィックを削減したりするために、パケットサイズを縮小できます。より大きなパケットを持つローカルエリアネットワークの場合は、パケットサイズを大きくするとパフォーマンスが向上します。ネットワークの最小パケットサイズを確認して、パケットサイズの縮小が必要かどうかを判断できます。ネットワーク媒体のパケットサイズがより小さい場合は、パケットサイズに合わせて net.slp.MTU の値を小さくできます。
ネットワーク媒体のパケットサイズがより大きい場合は、パケットサイズに合わせて値を大きくできます。ただし、SA からのサービス通知または UA からのクエリーが頻繁にデフォルトのパケットサイズをオーバーフローするのでなければ、net.slp.MTU の値を変更する必要はありません。snoop を使用して、UA 要求がデフォルトのパケットサイズを頻繁にオーバーフローし、UDP ではなく TCP を使用するためにロールオーバーしているかどうかを判断できます。
net.slp.MTU プロパティは、リンク層ヘッダー、IP ヘッダー、UDP または TCP ヘッダー、SLP メッセージを含めた、IP パケットの全体サイズを測定します。
次の手順に従って、net.slp.MTU プロパティを調整することで、デフォルトのパケットサイズを変更します。
スーパーユーザーになります。
ホスト上の slpd とすべての SLP 動作を停止します。
# /etc/init.d/slpd stop |
slpd.conf ファイル内の net.slp.MTU プロパティを変更します。
net.slp.MTU=value |
16 ビットの整数で、ネットワークのパケットサイズ (バイト単位)
デフォルト値は、1400
値の範囲は、128 から 8192
変更を保存し、ファイルを閉じます。
変更を反映するには、slpd を再起動します。
# /etc/init.d/slpd start |
SLP は、DA が存在しない場合に、マルチキャストを使ってサービス検出や DA 検出を行うように設計されています。使用するネットワークが、マルチキャストルーティングを配置しない場合は、net.slp.isBroadcastOnly プロパティに True を設定することで、SLP がブロードキャストを使用するように構成できます。
マルチキャストと異なり、ブロードキャストパケットはデフォルトの場合サブネットを越えて伝達しません。このため、マルチキャストを行わないネットワークでは、DA を使用しないサービス検出は、単一のサブネット上でしか機能しません。さらに、ブロードキャストが使用されているネットワークに DA およびスコープを配置する場合は、特別な考慮が求められます。マルチホームホスト上の DA は、マルチキャストが使用できない複数のサブネット間でサービス検出をブリッジできます。マルチホームホスト上の DA の配置については、DA の配置とスコープ名の割り当て を参照してください。
次の手順に従って、net.slp.isBroadcastOnly プロパティを True に変更します。