セッション メンテナンスのポリシー設定に関する情報
• 「セッション メンテナンス タイマー」
• 「セッション メンテナンス タイマーの利点」
• 「セッションのモニタリング」
• 「キープアライブ メッセージの ARP」
• 「キープアライブ メッセージの ICMP」
セッション メンテナンス タイマー
ISG には、セッションおよびその接続に関して制御を維持するための 2 つのコマンドがあります(それぞれのコマンドは単独で設定できます)。 timeout absolute コマンドは、セッションを終了するまでに、そのセッションを接続しておく時間を制御します。 timeout idle コマンドは、接続を終了するまでに、その接続をアイドルにしておく時間を制御します。これらの 2 つのコマンドは PPP セッションと IP セッションの両方を検出し、サービス内、セッション単位、またはフロー内で適用できます。すべての加入者トラフィックはタイマーをリセットします。ただし、PPP コントロール パケットなどの非ネットワーク トラフィックはタイマーをリセットしません。
セッション タイマーおよび接続タイマーの範囲は、タイマーが指定されているサービスのタイプによって決まります。トラフィック クラスが定義されていないサービス プロファイルにタイマーが指定されている場合、このタイマー アクションは、セッションまたは接続を終了します。サービス プロファイル内にトラフィック クラス指定子がある場合、タイマー アクションはサービスを無効にします。
セッション メンテナンス タイマーの利点
PPP アイドル タイムアウトの機能は、ISG アイドル タイムアウト機能と置き換えられました。アイドル タイマーは汎用的な機能で、この機能を設定して、PPP セッションと IP セッションの両方でアイドル トラフィックを検出できます。
対象のサービスからトラフィックが生じないために、セッションからサービスを削除する場合、インストールされている期間がどのくらい経過してから削除するかを制御するには、セッションにインストールされているサービス プロファイル内にアイドル タイマーを設定します。サービスに、関連付けられているトラフィック クラス パラメータがある場合は、このタイマーの設定時間が経過したとき、またはセッション自身が終了したときにトラフィック クラスが終了します。
同じことはセッション タイマーにも当てはまります。ただし、セッション タイマーは、セッションから生じるトラフィックに関係なく、セッションまたはサービスを有効にしておく期間を決定します。
セッションのモニタリング
アップストリーム方向における IP 加入者セッションのデータ トラフィックでは、加入者に設定されているキープアライブ機能を使用して、アイドル状態をモニタできます。設定されている期間についてセッションがアイドルになると、キープアライブ要求が加入者へ送信されます。このアクションでは、接続がまだアクティブであることが確認されます。キープアライブ要求および応答に対して使用するプロトコルは、IP 加入者のセッション タイプに基づいて設定できます。直接接続されているホスト(レイヤ #2 接続)の場合は、ARP が使用されます。ルーテッド ホスト(レイヤ 3 接続の)加入者の場合は、ICMP が使用されます。アクセス インターフェイスで ARP をサポートしていない場合は、キープアライブ プロトコルのデフォルトは ICMP になります。
キープアライブ メッセージの ARP
セッションが確立されており、ARP を使用するためにキープアライブ機能が設定されている場合、キープアライブ機能は、後で ARP の応答を確認するための正しいオリジナル エントリとして ARP エントリを保存します。
(注) アクセス インターフェイスでサポート ARP をサポートしていない場合、キープアライブに対するプロトコルのデフォルトは ICMP になります。
ARP が設定されている場合、ARP のユニキャスト要求が加入者へ送信されます。時間の間隔を設定すると、ARP の応答(受信した場合)が検証されます。応答が正しく、加入者が最初に確立されたときに保存したオリジナルのエントリと一致した場合、キープアライブ機能は、設定された時間の間隔だけ、データ プレーンのモニタリングを継続します。応答が正しくない場合、キープアライブ機能は、正しい応答を受け取るまで、または設定されている最大試行回数を超えるまで ARP 要求を再送します。
キープアライブ メッセージの ICMP
ICMP が設定されている場合、設定されている最大試行回数を超えるまで、加入者に「hello」要求が送信され、応答がチェックされます。
IP サブネットのセッションでは、ICMP の「hello」要求に使用されるピア(宛先)IP アドレスは、サブネット内のすべての IP アドレスになります。これは、対象のサブネット内で可能性のあるすべてのホストに対して「hello」要求が(同時ではなく)順に送信されることを意味しています。サブネット内のいずれのホストからも応答がない場合、そのセッションは切断されます。
もうひとつのオプションは、キープアライブ要求に対して ICMP ダイレクト ブロードキャストを設定することです。加入者ホストが IP サブネット ブロードキャスト アドレスを認識すると、ISG は ICMP の「hello」要求をサブネット ブロードキャスト アドレスへ送信できます。この設定が作動するためには、加入者が ISG と同じサブネット上に存在している必要はありません。次の条件が満たされていれば、ダイレクト ブロードキャストのキープアライブ要求は複数ホップ離れていても動作できます。
• サブネットで識別される加入者のグループは、ISG のサブネット加入者セッションでプロビジョニングされたものと同じサブネットを、ローカルにプロビジョニングされている必要があります。それ以外の場合、加入者ホストはサブネット ブロードキャスト アドレスを認識しません。
• ホストに直接接続されているルータは、ダイレクト ブロードキャスト フォワーディングが可能で、IP サブネット ブロードキャストがレイヤ 2 のブロードキャストに変換される必要があります。
これらの 2 つの条件を満たしている場合、ユーザは ICMP キープアライブの設定を最適化し、ICMP パケットの数を最少にできます。
(注) ダイレクト ブロードキャストをイネーブルにすると DoS 攻撃のリスクが高くなるため、サブネット ダイレクト ブロードキャストはデフォルトでオンになっていません。
セッション メンテナンス タイマーのポリシーの設定方法
セッション メンテナンス タイマーを設定するには、アイドル タイマーの設定と、セッション タイマーの設定という、2 つの個別の作業が必要です。これらの 2 つの作業のいずれか、または両方を実行して、セッション メンテナンス コントロールを設定できます。次の作業は、サービス ポリシー マップおよび RADIUS AAA サーバ プロファイルでこれらのタイマーを設定する方法を示しています。
• 「サービス ポリシー マップでのセッション タイマーの設定」(必須)
• 「AAA サーバでのセッション タイマーの設定」(必須)
• 「サービス ポリシー マップでの接続タイマーの設定」(必須)
• 「AAA サーバでの接続タイマーの設定」(必須)
• 「セッション タイマーおよび接続タイマー設定の確認」(任意)
• 「セッション タイマーおよび接続タイマー設定のトラブルシューティング」(任意)
サービス ポリシー マップでのセッション タイマーの設定
サービス ポリシー マップでセッション タイマーを設定するには、この作業を実行します。
手順の概要
1. enable
2. configure terminal
3. policy-map type service policy-map-name
4. [ priority ] class type traffic class-map-name
5. timeout absolute duration-in-seconds
6. end
手順の詳細
|
|
|
ステップ 1 |
enable
Router> enable |
特権 EXEC モードをイネーブルにします。 • プロンプトが表示されたら、パスワードを入力します。 |
ステップ 2 |
configure terminal
Router# configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 3 |
policy-map type service policy-map-name
Router(config)# policy-map type service policy1 |
ポリシー マップ コンフィギュレーション モードを開始して、サービス ポリシーの設定を開始できるようにします。 |
ステップ 4 |
[ priority ] class type traffic class-map-name
Router(config-control-policymap)# class type traffic class1 |
すでに設定されているトラフィック クラスをポリシー マップに関連付けます。 |
ステップ 5 |
timeout absolute duration-in-seconds
Router(config-control-policymap-class-control)# timeout absolute 30 |
セッションのライフタイムを 30 ~ 4294967 秒の範囲で指定します。 |
ステップ 6 |
end
Router(conf-subscriber-profile)# end |
特権 EXEC モードに戻ります。 |
AAA サーバでのセッション タイマーの設定
AAA サーバ プロファイルでセッション タイマーを設定するには、この作業を実行します。
手順の概要
1. ユーザ プロファイルまたはサービス プロファイルに RADIUS Session-Timeout アトリビュートを追加します。
手順の詳細
|
|
|
ステップ 1 |
Session-Timeout= duration-in-seconds |
ユーザ プロファイルまたはサービス プロファイルに、30 ~ 4294967 秒の範囲で IETF RADIUS セッション タイマー(アトリビュート 27)を設定します。 |
サービス ポリシー マップでの接続タイマーの設定
サービス ポリシー マップで接続タイマーを設定するには、この作業を実行します。
手順の概要
1. enable
2. configure terminal
3. policy-map type service policy-map-name
4. [ priority ] class type traffic class-map-name
5. timeout idle duration-in-seconds
6. end
手順の詳細
|
|
|
ステップ 1 |
enable
Router> enable |
特権 EXEC モードをイネーブルにします。 • プロンプトが表示されたら、パスワードを入力します。 |
ステップ 2 |
configure terminal
Router# configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 3 |
policy-map type service policy-map-name
Router(config)# policy-map type service policy1 |
ポリシー マップ コンフィギュレーション モードを開始して、サービス ポリシーの設定を開始できるようにします。 |
ステップ 4 |
[ priority ] class type traffic class-map-name
Router(config-service-policymap)# class type traffic class1 |
すでに設定されているトラフィック クラスをポリシー マップに関連付けます。 |
ステップ 5 |
timeout idle duration-in-seconds
Router(config-control-policymap-class-traffic)# timeout idle 3000 |
接続を終了するまでに、その接続をアイドルにしておく時間を指定します。範囲は、プラットフォームとリリースによって異なります。詳細は、疑問符(?)を入力してオンライン ヘルプ機能を使用してください。 |
ステップ 6 |
end
Router(config-control-policymap-class-traffic)# end |
特権 EXEC モードに戻ります。 |
AAA サーバでの接続タイマーの設定
AAA サーバ プロファイルで接続タイマーを設定するには、この作業を実行します。
手順の概要
1. ユーザ プロファイルまたはサービス プロファイルに RADIUS Idle-Timeout アトリビュートを追加します。
手順の詳細
|
|
|
ステップ 1 |
Idle-Timeout= duration-in-seconds |
ユーザ プロファイルまたはサービス プロファイルに、1 ~ 4294967 秒の範囲で IETF RADIUS(アトリビュート 28)を設定します。 |
セッション タイマーおよび接続タイマー設定の確認
タイマーが正しくインストールされたことを確認するには、この作業を実行します。
手順の概要
1. enable
2. show subscriber session all
3. end
手順の詳細
|
|
|
ステップ 1 |
enable
Router> enable |
特権 EXEC モードをイネーブルにします。 • プロンプトが表示されたら、パスワードを入力します。 |
ステップ 2 |
show subscriber session all
Router# show subscriber session all |
現在の加入者の情報、およびイネーブルになっているタイマーのレポートが表示されます。 |
ステップ 3 |
end
Router# end |
特権 EXEC モードに戻ります。 |
制約事項
注意 デバッグ出力には、CPU プロセスで高いプライオリティが割り当てられるので、システムが使用不能になる可能性があります。したがって、Cisco IOS
debug コマンドを使用するのは、特定の問題のトラブルシューティング時、またはシスコのテクニカル サポート担当者とともにトラブルシューティングを行う場合だけにしてください。また、
debug コマンドを使用するのは、ネットワーク トラフィックとユーザが少ない時間帯、あるいはアクティブ セッションが 1 つのデバッグ シャーシが最適です。そのような時間帯を選んでデバッグを実行すると、
debug コマンドの処理のオーバーヘッドによってシステム利用が影響を受ける可能性が少なくなります。
セッション メンテナンス タイマーで使用可能なデバッグ コマンド
表 26 に、セッション メンテナンス タイマーの問題を診断するための debug コマンドを示します。
表 26 セッション メンテナンス タイマーのトラブルシューティング用デバッグ コマンド
|
|
debug subscriber feature error |
一般的な Feature Manager エラーを表示します。 |
debug subscriber feature event |
一般的な Feature Manager イベントを表示します。 |
debug subscriber feature name idle-timer error |
アイドル タイマーのエラーを表示します。 |
debug subscriber feature name idle-timer event |
アイドル タイマーのイベントを表示します。 |
debug subscriber feature name session-timer error |
セッション タイマーのエラーを表示します。 |
debug subscriber feature name session-timer event |
セッション タイマーのイベントを表示します。 |
セッション メンテナンス タイマーのデバッグ コマンドのイネーブル化
セッション メンテナンス タイマーの debug コマンドをイネーブルにするには、この作業を実行します。
手順の概要
1. enable
2. debug command
3. end
手順の詳細
|
|
|
ステップ 1 |
enable
Router> enable |
特権 EXEC モードなど、高位の権限レベルをイネーブルにします。 • プロンプトが表示されたら、パスワードを入力します。 |
ステップ 2 |
debug command
Router# debug subscriber feature name session-timer error |
表 26 に示した 1 つ以上の debug コマンドを入力します。 • 終了後は、対応する no debug コマンドを入力します。 |
ステップ 3 |
end
Router# end |
(任意)特権 EXEC モードに戻ります。 |
ルータ上でのセッション キープアライブの設定
この作業では、ARP または ICMP のいずれかを使用してルータ上でキープアライブ機能を設定する方法について説明します。
このセッション キープアライブ機能は加入者の健全性および存在についてチェックするため、この機能はフロー単位ではなくそのセッション全体だけに適用されます。
制約事項
• サービス プロファイルに ISG トラフィック クラスの設定が含まれている場合、キープアライブ機能は無効になります。
• PPP over Ethernet(PPPoE)や PPP over ATM(PPPoA)などの非 IP セッションにこの機能が適用されると、この機能のアプリケーションは失敗し、次のようになります。
– 機能が session-start イベントで適用されると、機能のアプリケーションおよびセッションの両方が失敗します。
– session-start イベント後にこの機能をセッションにプッシュした場合は、そのプッシュが失敗します。
手順の概要
1. enable
2. configure terminal
3. policy-map type service policy-map-name
4. keepalive [ idle idle-seconds ] [ attempts max-retries ] [ interval retry-seconds ] [ protocol { ARP | ICMP [ broadcast ]}]
5. end
手順の詳細
|
|
|
ステップ 1 |
enable
Router> enable |
特権 EXEC モードをイネーブルにします。 • プロンプトが表示されたら、パスワードを入力します。 |
ステップ 2 |
configure terminal
Router# configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 3 |
policy-map type service policy-map-name
Router(config)# policy-map type service policymap1 |
サービス ポリシー マップ コンフィギュレーション モードを開始します。 |
ステップ 4 |
keepalive [ idle idle-seconds ] [ attempts max-retries ] [ interval retry-seconds ] [ protocol { ARP | ICMP [ broadcast ]}]
Router(config-service-policymap)# keepalive idle 7 attempts 3 interval 1 protocol arp |
キープアライブ メッセージをイネーブルにして、最大のアイドル時間、要求数、要求間の間隔、およびキープアライブ メッセージのプロトコルを設定します。 • idle 、 attempts 、および interval キーワードの範囲およびデフォルト値はプラットフォームとリリースによって異なります。詳細は、疑問符( ? )を入力してオンライン ヘルプ機能を使用してください。 • protocol :レイヤ 2 の接続ではデフォルトは ARP、経路選択済み接続ではデフォルトは ICMP です。 • broadcast :このオプションはデフォルトではディセーブルになっています。 (注) このコマンドが非 IP セッションに適用されると、コマンドは失敗します。コマンドが session-start イベントで非 IP セッションに適用されると、セッションも失敗します。 |
ステップ 5 |
end
Router# end |
特権 EXEC モードに戻ります。 |
例
次に、ARP を使用してルータ上でキープアライブ機能を設定する例を示します。
policy-map type service accting_service
keepalive interval 3 protocol ARP
RADIUS サーバでのセッション キープアライブの設定
この作業では、RADIUS サーバ上でセッション キープアライブ パラメータを設定する方法について説明します。
手順の概要
1. Service-Name password = "cisco"
2. Cisco-Avpair = "subscriber:keepalive = [idle period1] [attempts Max-retries] [interval period2] [protocol ICMP [broadcast] | ARP}"
手順の詳細
ステップ 1 Service-Name password = "cisco"
ステップ 2 Cisco-Avpair = "subscriber:keepalive = [idle period1] [attempts Max-retries] [interval period2] [protocol ICMP [broadcast] | ARP}"
可能なアイドル期間、接続の最大試行回数、試行間の間隔、および使用する通信プロトコルを設定します。
値の範囲とデフォルトは次のとおりです。
• アイドル期間:範囲は 5 ~ 10 秒で、デフォルトは 10 秒です。
• 試行回数:範囲は 3 ~ 10 で、デフォルトは 5 です。
• 間隔:デフォルトは 1 ~ 10 秒です。
• プロトコル:レイヤ 2 接続ではデフォルトは ARP、経路指定されている接続ではデフォルトは ICMP です。
• ブロードキャスト オプション:デフォルトでは、このオプションはディセーブルになっています。
(注) サービス プロファイルに ISG トラフィック クラスの設定が含まれている場合、キープアライブ機能は無効になります。
セッション メンテナンス タイマーの設定例
• 「例:サービス ポリシー マップでのセッション タイマーの設定」
• 「例:サービス ポリシー マップでの接続アイドル タイマーの設定」
• 「例:セッション タイマーの show コマンドの出力」
• 「例:接続アイドル タイマーの show コマンドの出力」
• 「例:セッション タイマーのデバッグ出力」
• 「例:接続アイドル タイマーのデバッグ出力」
例:サービス ポリシー マップでのセッション タイマーの設定
次に、サービス ポリシー マップのセッション時間を 4800 秒(80 分)に制限する例を示します。
class-map type traffic match-any traffic-class
match access-group input 101
match access-group output 102
policy-map type service video-service
police input 20000 30000 60000
police output 21000 31500 63000
class type traffic default
例:サービス ポリシー マップでの接続アイドル タイマーの設定
次に、サービス ポリシー マップでのアイドル接続時間を 30 秒に制限する例を示します。
class-map type traffic match-any traffic-class
match access-group input 101
match access-group output 102
policy-map type service video-service
class type traffic traffic-class
police input 20000 30000 60000
police output 21000 31500 63000
class type traffic default
例:セッション タイマーの show コマンドの出力
次の例は、 show subscriber session all 特権 EXEC コマンドで表示されたセッション タイマーの設定を示しています。
Current Subscriber Information: Total sessions 1
--------------------------------------------------
SIP subscriber access type(s): PPPoE/PPP
Current SIP options: Req Fwding/Req Fwded
Session Up-time: 00:02:50, Last Changed: 00:02:53
Interface: Virtual-Access2.1
Context 02DE7380: Handle 1B000009
Authentication status: authen
User profile, excluding services:
Prepaid context: not present
Timeout value is 180000 seconds
Configuration sources associated with this session:
Interface: Virtual-Template1, Active Time = 00:02:52
例:接続アイドル タイマーの show コマンドの出力
次の例は、 show subscriber session all 特権 EXEC コマンドで表示されたアイドル タイマーの設定を示しています。
Current Subscriber Information: Total sessions 1
--------------------------------------------------
SIP subscriber access type(s): PPPoE/PPP
Current SIP options: Req Fwding/Req Fwded
Session Up-time: 00:01:44, Last Changed: 00:01:46
Interface: Virtual-Access2.1
Context 02DE7380: Handle AD00000C
Authentication status: authen
User profile, excluding services:
Prepaid context: not present
Session outbound features:
Feature: PPP Idle Timeout
Configuration sources associated with this session:
Interface: Virtual-Template1, Active Time = 00:01:47
例:セッション タイマーのデバッグ出力
次の例は、セッション タイマーのデバッグ コマンド( debug subscriber feature error 、 debug subscriber feature event 、 debug subscriber feature name session-timer error 、および debug subscriber feature name session-timer event ) がイネーブルになっている場合の出力を示しています。
*Jan 12 18:38:51.947: SSF[Vi2.1/Abs Timeout]: Vaccess interface config
update; not per-user, ignore
*Jan 12 18:38:53.195: SSF[Vt1/uid:3]: Install interface configured
*Jan 12 18:38:53.195: SSF[Vt1/uid:3]: Associate segment element handle
0x95000002 for session 1191182344, 1 entries
*Jan 12 18:38:53.195: SSF[Vt1/uid:3/Abs Timeout]: Group feature install
*Jan 12 18:38:53.195: SSF[uid:3/Abs Timeout]: Adding feature to none segment(s)
例:接続アイドル タイマーのデバッグ出力
次の例は、アイドル タイマーのデバッグ コマンド( debug subscriber feature error 、 debug subscriber feature event 、 debug subscriber feature name idle-timer error 、および debug subscriber feature name idle-timer event ) がイネーブルになっている場合の出力を示しています。
*Jan 12 18:43:15.167: SSF[Vt1/uid:4]: Install interface configured
*Jan 12 18:43:15.167: SSF[Vt1/uid:4]: Associate segment element handle
0xF4000003 for session 67108875, 1 entries
*Jan 12 18:43:15.167: SSF[Vt1/uid:4/Idle Timeout]: Group feature install
*Jan 12 18:43:15.167: SSF[uid:4/Idle Timeout]: Adding feature to outbound
*Jan 12 18:43:15.167: Idle Timeout[uid:4]: Idle timer start, duration 2000
seconds, direction: outbound
*Jan 12 18:43:16.327: SSM FH: [SSS:PPPoE:8198:Idle Timeout:4097] created
*Jan 12 18:43:16.327: SSM FH: [SSS:PPPoE:8198:Idle Timeout:4097] added
*Jan 12 18:43:16.327: SSM FH: [SSS:PPPoE:8198:Idle Timeout:4097]
*Jan 12 18:43:16.327: SSM FH: [SSS:PPPoE:8198:Idle Timeout:4097]
*Jan 12 18:43:19.147: SSM FH: [SSS:PPPoE:8198:Idle Timeout:4097] bound