GTP-SLB の IPv6 サポート
GTP-SLB 機能は、Public Data Network(PDN; 公衆データ網)Gateway(P-GW; PDN ゲートウェイ)と Gateway GPRS Support Nodes(GGSN; ゲートウェイ GPRS サポート ノード)間で Packet Datagram Protocol(PDP)コンテキストを配信する機能を提供します。PDP には、加入者セッション情報が含まれており、次のものによって開始されます。
• GTPv2 での Create Session Request(CSR; セッション作成要求)。
• GTPv1 および GTPv0 での PDP 作成要求。
サーバ ロード バランシング モジュールは、7600 シャーシのスーパーバイザ エンジンに存在し、CPU、メモリ、およびセッション カウントなどのさまざまな要因を考慮した個々のロードに基づいて、新規のコールを各種のカードに配信します。Release 15.0(01)S 以降、GTP-SLB 機能は、IPv4 トラフィックに加えて IPv6 トラフィックをサポートするように拡張されました。
SLB では、実オブジェクト(サーバまたはゲートウェイ)に保存された IPv6 アドレスを使用し、IPv6 Forwarding Information Base(FIB; 転送情報ベース)ルックアップを実行して、Serving GPRS Support Node / Mobility Management Entity(SGSN/MME)から対応する GTP-SLB 仮想 IP アドレスに IPv6 パケットを転送します。IPv4 および IPv6 トラフィックに対応する実サーバのグループ(サーバファームとして知られる)が定義され、デュアルスタック仮想サーバ(IPv4 と IPv6 の両方のアドレスに関するテーブル マッピングを保持する)に関連付けられます。IPv4 対応の実サーバは、IPv4 Virtual IP(VIP; 仮想 IP)アドレスを宛先とする CSR 用に選択され、IPv6 対応の実サーバは、IPv6 VIP アドレスを宛先とする CSR 用に選択されます。
(注) GGSN/PGW による DFP 加重報告メカニズムには、IPv4 トランスポートが使用されます。
(注) プローブ メッセージには、トランスポートとして IPv4 が使用されます。
(注) GTPv2 実サーバは、Serving Gateway(SGW; サービング ゲートウェイ)または PDN Gateway(PGW; PDN ゲートウェイ)として機能できます。GTPv2、V1、V0 要求をサポートするのは、PGW のみです。SGW は、GTPv2 要求のみをサポートします。GTPv0 または GTPv1 実サーバは、GTPv2 要求を処理できません。実サーバが異なる場合、GTPv2 要求および GTPv0/v1 要求に別個の仮想サーバを作成する必要があります。
GTP-SLB アーキテクチャの概要
図 23-1 に、GTP-SLB アーキテクチャを示します。GTP-SLB 実装の 3 つの主要コンポーネント(SGSN/MME、GTP-SLB VIP、および GGSN/PGW)は、次の目的で通信します。
• PDP セッションの作成(PDP の作成コール フロー)。
• ゲートウェイのステータスのチェック(GTP エコー コール フロー)。
• SLB とゲートウェイ間での通知メッセージの交換(GTP 通知メッセージ)。
図 23-1 GTP-SLB アーキテクチャ
PDP の作成コール フロー
SGSN/MME は、宛先アドレスを IPv6 GTP-SLB VIP とした PDP の作成要求を開始します。SLB は、この要求をアクティブな IPv6 実(GGSN/PGW)サーバに転送します。GGSN は、PDP セッションを作成し、作成応答を直接 SGSN に送信します。図 23-2 に、PDP セッションの作成要求のコール フローを示します。
図 23-2 PDP セッションの作成要求のコール フロー
GTP エコー要求コール フロー
ゲートウェイのステータスをチェックするため、SGSN は SLB にエコーを送信します。仮想サーバがアクティブで動作可能である場合、SLB は IPv6 エコー応答でエコーに応答します。図 23-3 に、GTP エコー要求コール フローを示します。
図 23-3 GTP エコー要求コール フロー
GTP 通知メッセージ
ここでは、SLB とゲートウェイ間で交換される通知メッセージの一覧を示します。
• スティッキ アイドル タイマーがしきい値制限を超えると、SLB から実サーバに PDP クエリー要求が送信されます。GGSN は、PDP ステータス クエリーに対して PDP ステータス応答を返します。International Mobile Subscriber Identity(IMSI)タイマーに対応する PDP がゲートウェイに存在する場合はスティッキ タイマーが再起動し、存在しない場合は IMSI のタイマーおよびスティッキが削除されます。
• SGSN は実サーバ(GGSN/PGW)に PDP の削除要求を送信します。実サーバ(GGSN/PGW)は、PDP コンテキストを削除し、PDP 削除通知を SLB に送信します。削除通知を受信すると、SLB は IMSI のスティッキ エントリとスティッキ タイマー インスタンスを削除します。
• セッションを処理できない場合、実ゲートウェイは SLB に Call Admission Control(CAC; コール アドミッション制御)再割り当て通知を送信します。SLB は、セッションを別の実サーバに再割り当てすることによって応答します。
GTP-SLB IPv6 サポートの設定
GTP ロード バランシングに IPv6 サポートを設定する場合は、次の作業が必要です。
• SLB サーバファーム コンフィギュレーション モードで real コマンドを使用して、実サーバに IPv6 アドレスを指定する。
• SLB 仮想サーバ コンフィギュレーション モードで virtual コマンドを使用して、仮想サーバに IPv6 アドレスとオプションの IPv6 プレフィックスを指定する。
• SLB 仮想サーバ コンフィギュレーション モードで serverfarm コマンドを使用して、プライマリ IPv6 サーバ ファームとオプションのバックアップ IPv6 サーバファームを指定する。
GTP-SLB に IPv6 サポートを設定するこのプロセスでは、次の手順を実行します。
• サーバファームの設定
• 仮想サーバの設定
サーバファームの設定
ここでは、サーバファームの設定方法について説明します。
手順の概要
1. enable
2. configure terminal
3. ip slb serverfarm server-farm
4. access interface
5. nat {client pool | server}
6. predictor [roundrobin | leastconns | route-map mapname]
7. probe probe
8. real ipv4-address [ipv6 ipv6-address] [port]
9. faildetect numconns number-of-conns [numclients number-of-clients]
10. maxclients number-of-conns
11. maxconns number-of-conns [sticky-override]
12. reassign threshold
13. retry retry-value
14. weight setting
15. inservice
手順の詳細
|
|
|
ステップ 1 |
enable
|
特権 EXEC モードをイネーブルにします。 • プロンプトが表示されたら、パスワードを入力します。 |
ステップ 2 |
configure terminal
Router# configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 3 |
ip slb serverfarm server-farm
Router(config)# ip slb serverfarm PUBLIC |
サーバ ファームの定義を IOS SLB 設定に追加し、サーバ ファーム コンフィギュレーション モードを開始します。 |
ステップ 4 |
access interface
Router(config-slb-sfarm)# access GigabitEthernet 0/1.1 |
(任意)サーバ ファームのアクセス インターフェイスまたはサブインターフェイスを設定します。 |
ステップ 5 |
nat {client pool | server}
Router(config-slb-sfarm)# nat server |
(任意)サーバ ファームで、ネットワーク アドレス変換(NAT)クライアントの変換モードまたは NAT サーバ アドレス変換モードを設定します。 |
ステップ 6 |
predictor [roundrobin | leastconns | route-map mapname]
Router(config-slb-sfarm)# predictor leastconns |
(任意)実サーバを選択する方法を決定するために使用するアルゴリズムを指定します。 GTP Cause Code Inspection がイネーブルになっていない GPRS ロード バランシングでは、デフォルト設定(加重ラウンド ロビン アルゴリズム)を受け入れる必要があります。 Home Agent Director は、デフォルト設定(加重ラウンド ロビン アルゴリズム)のみで機能します。 SLB サーバ ファーム コンフィギュレーション モードで predictor route-map コマンドを使用する場合、SLB サーバ ファーム コンフィギュレーション モードまたは実サーバ コンフィギュレーション モードで他のコマンドは使用できません。 |
ステップ 7 |
probe probe
Router(config-slb-sfarm)# probe PROBE1 |
(任意)プローブを実サーバに関連付けます。 |
ステップ 8 |
real ipv4-address [ipv6 ipv6-address] [port]
Router(config-slb-sfarm)# real 10.1.1.1 ipv6 100::10:10:10:1 |
サーバ ファームのメンバーとして、実サーバを IPv4 アドレスと IPv6 アドレス、およびオプションのポート番号で識別し、実サーバ コンフィギュレーション モードを開始します。
(注) GPRS ロード バランシングでは、GGSN 機能を実行している実サーバの IP アドレス(Cisco GGSN の場合は仮想テンプレート アドレス)を指定します。
|
ステップ 9 |
faildetect numconns number-of-conns [numclients number-of-clients]
Router(config-slb-real)# faildetect numconns 10 numclients 3 |
(任意)連続する接続エラーの回数、およびオプションで特定クライアントの接続エラーの回数を指定します。この回数を超えると、実サーバの障害と見なされます。 GPRS ロード バランシングの場合、環境内に単一の SGSN が設定されているときは、値 1 の numclients キーワードを指定します。 RADIUS ロード バランシングの場合、自動的なセッションベースの障害検出のために、値 1 の numclients キーワードを指定します。 |
ステップ 10 |
maxclients number-of-conns
Router(config-slb-real)# maxclients 10 |
(任意)個々の仮想サーバに割り当てることができる IOS SLB RADIUS および GTP スティッキ加入者の最大数を指定します。 |
ステップ 11 |
maxconns number-of-conns [sticky-override]
Router(config-slb-real)# maxconns 1000 |
(任意)実サーバで 1 つのインスタンスに使用できるアクティブな接続の最大数を指定します。 |
ステップ 12 |
reassign threshold
Router(config-slb-real)# reassign 2 |
(任意)連続して ACK が受信されない Synchronize Sequence Number(SYN)要求または PDP の作成要求のしきい値を指定します。しきい値を超えると、別の実サーバへの接続が試行されます。
(注) GPRS ロード バランシングの場合、SGSN の N3-REQUESTS カウンタ値未満の再割り当てしきい値を指定する必要があります。
|
ステップ 13 |
retry retry-value
Router(config-slb-real)# retry 120 |
(任意)サーバ障害が検出されてから、そのサーバへの接続を再試行するまでの時間間隔を秒単位で指定します。 |
ステップ 14 |
weight setting
Router(config-slb-real)# weight 24 |
(任意)実サーバの作業負荷容量をサーバ ファーム内の他のサーバと比較して指定します。 Dynamic Feedback Protocol(DFP; ダイナミック フィードバック プロトコル)を使用する場合、サーバ ファーム コンフィギュレーション モードで weight コマンドを使用して定義したスタティックな加重よりも、DFP によって算出された加重の方が優先されます。ネットワークから DFP を外すと、IOS SLB はスタティックなな加重に戻されます。 |
ステップ 15 |
inservice
Router(config-slb-real)# inservice |
実サーバを IOS SLB で使用できるようにします。 |
仮想サーバの設定
ここでは、仮想サーバの設定方法について説明します。
手順の概要
1. enable
2. configure terminal
3. ip slb vserver virtual-server
4. virtual ip-address [netmask [group]] {esp | gre | protocol} または virtual ip-address [netmask [group]] {tcp | udp} [port | any] [service service] または virtual ip-address [netmask [group]] [ipv6 ipv6-address [prefix ipv6-prefix]] {tcp | udp} [port | any] [service service]
5. serverfarm primary-farm [backup backup-farm [sticky] | [map map-id priority priority]] または serverfarm [primary-farm [backup backup-farm ]] [[ipv6-primary ipv6-primary-farm [ipv6-backup ipv6-backup-farm]]] [map map-id priority priority]
6. access interface [route framed-ip]
7. advertise [active]
8. client {ip-address netmask [exclude] | gtp carrier-code [code]}
9. delay {duration | radius framed-ip duration}
10. gtp notification cac [reassign-count]
11. gtp session
12. hand-off radius duration
13. idle [asn request duration | asn msid msid | gtp imsi duration [query [max-queries]] | gtp request duration | ipmobile request duration| radius {request | framed-ip} duration]
14. replicate casa listen-ip remote-ip port [interval] [password [encrypt] secret-string timeout]
15. replicate interval interval
16. replicate slave
17. sticky {duration [group group-id] [netmask netmask] | asn msid [group group-id] | gtp imsi [group group-id] | radius calling-station-id | radius framed-ip [group group-id] | radius username [msid-cisco] [group group-id]}
18. synguard syn-count interval
19. inservice [standby group-name] [active]
手順の詳細
|
|
|
ステップ 1 |
enable
|
特権 EXEC モードをイネーブルにします。 • プロンプトが表示されたら、パスワードを入力します。 |
ステップ 2 |
configure terminal
Router# configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 3 |
ip slb vserver virtual-server
Router(config)# ip slb vserver PUBLIC_HTTP |
仮想サーバを指定し、仮想サーバ コンフィギュレーション モードを開始します。 |
ステップ 4 |
virtual ipv4-address [ipv4-netmask [group]] [ipv6 [ipv6-address [ipv6-prefix ipv6-prefix]] {tcp | udp} [port | any] [service service]
Router(config-slb-vserver)# virtual 10.0.0.1 ipv6 100::100:1 udp 0 service gtp |
次の情報を指定します。 • 仮想サーバの IP アドレス • IPv6 アドレス(接続タイプを含む) • オプションの TCP または User Datagram Protocol(UDP; ユーザ データグラム プロトコル)ポート番号 • Internet Key Exchange(IKE; インターネット キー エクスチェンジ)または Wireless Session Protocol(WSP; ワイヤレス セッション プロトコル)の設定 • サービスのカップリング GPRS ロード バランシングの場合: 仮想 GGSN IP アドレスを仮想サーバとして指定し、udp キーワード オプションを指定します。 GTP v1 および GTP v2 セッションをロード バランシングするには、GGSN および SGSN が ETSI 標準に準拠している場合、ポート番号 2123 を指定します。また、全ポート仮想サーバを設定するには、ポート番号 0 または any を指定します(この場合、仮想サーバはすべてのポート宛てのフローを受け入れます)。 GTP v0 セッションをロード バランシングするには、GGSN および SGSN が ETSI 標準に準拠している場合はポート番号 3386 を指定し、全ポート仮想サーバを設定するにはポート番号 0 または any を指定します。 |
ステップ 5 |
serverfarm [primary-farm [backup backup-farm ]] [[ipv6-primary ipv6-primary-farm [ipv6-backup ipv6-backup-farm]]] [map map-id priority priority]
Router(config-slb-vserver)# serverfarm SF backup BACKUPSF ipv6-primary V6SF ipv6-backup BACKUPV6SF map 1 priority 1 |
実サーバ ファームを仮想サーバに関連付け、任意でバックアップ サーバ ファームを設定します。 GPRS ロード バランシングで、複数のサーバ ファームに同じ実サーバが定義されている場合、各サーバ ファームは異なる仮想サーバに関連付ける必要があります。 複数のサーバ ファームを GTP 仮想サーバに関連付けるには、serverfarm コマンドを複数設定し、それぞれに固有のマップ ID と固有のプライオリティを指定します |
ステップ 6 |
access interface [route framed-ip]
Router(config-slb-vserver)# access Vlan20 route framed-ip |
(任意)入力インターフェイスを検査するには、framed-IP ルーティングをイネーブルにします。 |
ステップ 7 |
advertise [active]
Router(config-slb-vserver)# advertise |
(任意)仮想サーバ アドレスの Null またはゼロ インターフェイスに対するスタティック ルートのインストールを制御します。 |
ステップ 8 |
client {ip-address netmask [exclude] | gtp carrier-code [code]}
Router(config-slb-vserver)# client 10.4.4.0 255.255.255.0 |
(任意)仮想サーバの使用を許可するクライアントを指定します。 GTP Cause Code Inspection がイネーブルの場合に限り、GPRS ロード バランシングは gtp carrier-code オプションだけをサポートします。 |
ステップ 9 |
delay {duration | radius framed-ip duration}
Router(config-slb-vserver)# delay 30 |
(任意)接続の終了後に IOS SLB が TCP 接続コンテキストを維持する時間を指定します。 |
ステップ 10 |
gtp notification cac [reassign-count]
Router(config-slb-vserver)# gtp notification cac 5 |
(任意)IOS SLB が GGSN-IOS SLB メッセージングのために新しい実サーバにセッションを割り当てることができる回数を制限します。 |
ステップ 11 |
gtp session
Router(config-slb-vserver)# no gtp session |
(任意)IOS SLB で GTP ロード バランシング セッションを作成できるようにします。これがデフォルト設定です。 GTP 用の sticky-only ロード バランシングをイネーブルにするには、このコマンドの no 形式を使用します。 sticky-only ロード バランシングをイネーブルにした場合は、sticky(仮想サーバ)コマンドを使用して、仮想サーバのスティッキ接続もイネーブルにする必要があります。 |
ステップ 12 |
hand-off radius duration
Router(config-slb-vserver)# hand-off radius 30 |
(任意)外部エージェントのハンドオフ時に、IOS SLB が新しい Mobile IP 外部エージェントからの ACCT-START メッセージを待機する時間を変更します。 |
ステップ 13 |
idle [asn request duration | asn msid msid | gtp imsi duration [query [max-queries]] | gtp request duration | ipmobile request duration | radius {request | framed-ip} duration]
Router(config-slb-vserver)# idle 120 |
(任意)パケット アクティビティが存在しない場合に、IOS SLB が接続コンテキストを維持する最短時間を指定します。
(注) GTP Cause Code Inspection をイネーブルにしない GPRS ロード バランシングの場合、SGSN 上の PDP コンテキスト要求間で可能な最も長い間隔よりも、長いアイドル タイマーを指定します。
|
ステップ 14 |
replicate casa listen-ip remote-ip port [interval] [password [encrypt] secret-string timeout]
Router(config-slb-vserver)# replicate casa 10.10.10.11 10.10.11.12 4231 |
(任意)IOS SLB デシジョン テーブルのバックアップ スイッチへのステートフル バックアップを設定します。
(注) Home Agent Director はこのコマンドをサポートしません。
virtual コマンドに service gtp キーワードを指定して、sticky コマンドに gtp imsi キーワードを指定しなかった場合は、replicate casa コマンドがサポートされません。これは、セッションが持続されず、何も複製されないためです。 |
ステップ 15 |
replicate interval interval
Router(config-slb-vserver)# replicate interval 20 |
(任意)IOS SLB 仮想サーバの複製配信間隔を設定します。 Home Agent Director はこのコマンドをサポートしません。 virtual コマンドに service gtp キーワードを指定して、sticky コマンドに gtp imsi キーワードを指定しなかった場合は、replicate casa コマンドがサポートされません。これは、セッションが持続されず、何も複製されないためです。 |
ステップ 16 |
replicate slave
Router(config-slb-vserver)# replicate slave |
(任意)IOS SLB 仮想サーバの冗長ルート プロセッサのステートフル バックアップをイネーブルにします。 Home Agent Director はこのコマンドをサポートしません。 virtual コマンドに service gtp キーワードを指定して、sticky コマンドに gtp imsi キーワードを指定しなかった場合は、replicate casa コマンドがサポートされません。これは、セッションが持続されず、何も複製されないためです。
(注) replicate slave が設定された 1 つのスーパーバイザ エンジンを使用している場合は、そのスーパーバイザで out-of-sync メッセージを受信する可能性があります。
|
ステップ 17 |
sticky {duration [group group-id] [netmask netmask] | asn msid [group group-id] | gtp imsi [group group-id] | radius calling-station-id | radius framed-ip [group group-id] | radius username [msid-cisco] [group group-id]}
Router(config-slb-vserver)# sticky 60 group 10 |
(任意)クライアント接続の間隔が指定した期間を超えるまで、同じクライアントからの接続が同じ実サーバを使用するように指定します。 VPN サーバ ロード バランシングの場合、15 秒以上の duration を指定します。 GPRS ロード バランシングおよび Home Agent Director は、このコマンドをサポートしません。 |
ステップ 18 |
synguard syn-count interval
Router(config-slb-vserver)# synguard 50 |
(任意)SYN フラッド サービス拒否攻撃を阻止するために、仮想サーバによって管理される TCP Synchronize Sequence Number(SYN)のレートを指定します。
(注) GPRS ロード バランシングおよび Home Agent Director は、このコマンドをサポートしません。
|
ステップ 19 |
inservice [standby group-name] [active]
Router(config-slb-vserver)# inservice |
仮想サーバをイネーブルにします。 |
例
次に、IPv6 アドレスだけを受け入れるサーバファームを設定する例を示します。
mwtcL05-SLB1(config)#ip slb map 1 gtp
mwtcL05-SLB1(config-slb-map-gtp)#apn abc.com
mwtcL05-SLB1(config-slb-map-gtp)#apn 456.com
mwtcL05-SLB1(config-slb-map-gtp)#apn gprs.cisco.com
mwtcL05-SLB1(config-slb-map-gtp)#ip slb map 2 gtp
mwtcL05-SLB1(config-slb-map-gtp)#apn 123.com
mwtcL05-SLB1(config-slb-map-gtp)#apn xyz.com
mwtcL05-SLB1(config-slb-map-gtp)#apn gprs_intdhcp.cisco.com
mwtcL05-SLB1(config-slb-map-gtp)#end
mwtcL05-SLB1(config)#ip slb serverfarm GGSN_FARM1
mwtcL05-SLB1(config-slb-sfarm)#real 21.21.21.1 ipv6 2021::21:21:21:1
mwtcL05-SLB1(config-slb-real)#weight 1
mwtcL05-SLB1(config-slb-real)#reassign 0
mwtcL05-SLB1(config-slb-real)#inservice
mwtcL05-SLB1(config-slb-real)#real 22.22.22.1 ipv6 2022::22:22:22:1
mwtcL05-SLB1(config-slb-real)#weight 1
mwtcL05-SLB1(config-slb-real)#reassign 0
mwtcL05-SLB1(config-slb-real)#inservice
mwtcL05-SLB1(config-slb-real)#end
mwtcL05-SLB1(config)#ip slb vserver GGSN_SERVER1
mwtcL05-SLB1(config-slb-vserver)#virtual 20.20.20.1 ipv6 2020::20:20:20:1 udp 2123 service gtp
mwtcL05-SLB1(config-slb-vserver)#serverfarm ipv6-primary GGSN_FARM1 map 1 priority 1
mwtcL05-SLB1(config-slb-vserver)#sticky gtp imsi group 1
mwtcL05-SLB1(config-slb-vserver)#gtp notification cac 2
mwtcL05-SLB1(config-slb-vserver)#idle 180
mwtcL05-SLB1(config-slb-vserver)#inservice
mwtcL05-SLB1(config-slb-vserver)#end
次に、IPv4 アドレスと IPv6 アドレスを受け入れるサーバファームを設定する例を示します。
mwtcL05-SLB1(config)#ip slb map 1 gtp
mwtcL05-SLB1(config-slb-map-gtp)#apn abc.com
mwtcL05-SLB1(config-slb-map-gtp)#apn 456.com
mwtcL05-SLB1(config-slb-map-gtp)#apn gprs.cisco.com
mwtcL05-SLB1(config-slb-map-gtp)#ip slb map 2 gtp
mwtcL05-SLB1(config-slb-map-gtp)#apn 123.com
mwtcL05-SLB1(config-slb-map-gtp)#apn xyz.com
mwtcL05-SLB1(config-slb-map-gtp)#apn gprs_intdhcp.cisco.com
mwtcL05-SLB1(config-slb-map-gtp)#end
mwtcL05-SLB1(config)#ip slb serverfarm GGSN_FARM1
mwtcL05-SLB1(config-slb-sfarm)#real 21.21.21.1
mwtcL05-SLB1(config-slb-real)#weight 1
mwtcL05-SLB1(config-slb-real)#reassign 0
mwtcL05-SLB1(config-slb-real)#inservice
mwtcL05-SLB1(config-slb-real)#real 22.22.22.1
mwtcL05-SLB1(config-slb-real)#weight 1
mwtcL05-SLB1(config-slb-real)#reassign 0
mwtcL05-SLB1(config-slb-real)#inservice
mwtcL05-SLB1(config-slb-real)#end
mwtcL05-SLB1(config)#ip slb serverfarm GGSN_FARM2
mwtcL05-SLB1(config-slb-sfarm)#real 21.21.21.1 ipv6 2021::21:21:21:1
mwtcL05-SLB1(config-slb-real)#weight 1
mwtcL05-SLB1(config-slb-real)#reassign 0
mwtcL05-SLB1(config-slb-real)#inservice
mwtcL05-SLB1(config-slb-real)#real 22.22.22.1 ipv6 2022::22:22:22:1
mwtcL05-SLB1(config-slb-real)#weight 1
mwtcL05-SLB1(config-slb-real)#reassign 0
mwtcL05-SLB1(config-slb-real)#inservice
mwtcL05-SLB1(config-slb-real)#end
mwtcL05-SLB1(config)#ip slb vserver GGSN_SERVER1
mwtcL05-SLB1(config-slb-vserver)#virtual 20.20.20.1 ipv6 2020::20:20:20:1 udp 2123 service gtp
mwtcL05-SLB1(config-slb-vserver)#serverfarm GGSN_FARM1 ipv6-primary GGSN_FARM2 map 1 priority 1
mwtcL05-SLB1(config-slb-vserver)#sticky gtp imsi group 1
mwtcL05-SLB1(config-slb-vserver)#gtp notification cac 2
mwtcL05-SLB1(config-slb-vserver)#idle 180
mwtcL05-SLB1(config-slb-vserver)#inservice
mwtcL05-SLB1(config-slb-vserver)#end
検証
GTP-SLB IPv6 の設定を検証するには、次のコマンドを実行します。
• show ip slb real detail コマンド。実サーバに関する情報を表示します。
mwtcL05-SLB1#show ip slb real detail
21.21.21.1, GGSN_FARM1, state = OPERATIONAL, type = server
conns = 0, dummy_conns = 0, maxconns = 4294967295
weight = 1, weight(admin) = 1, metric = 0, remainder = 0
failconn threshold = 8, failconn count = 0
failclient threshold = 2, failclient count = 0
total conns established = 0, total conn failures = 0
22.22.22.1, GGSN_FARM1, state = OPERATIONAL, type = server
conns = 0, dummy_conns = 0, maxconns = 4294967295
weight = 1, weight(admin) = 1, metric = 0, remainder = 0
failconn threshold = 8, failconn count = 0
failclient threshold = 2, failclient count = 0
total conns established = 0, total conn failures = 0
• show ip slb sticky gtp imsi ipv6 コマンド。簡潔な GTP-SLB IPv6 の設定を表示します。
mwtcL05-SLB1# show ip slb sticky gtp imsi ipv6
IMSI Real Ver Group Id vs_index refcount NSAPIs
--------------------------------------------------------------------------
12345678901234F6 21.21.21.1 1 1 7 1 0
12345678901234F5 22.22.22.1 1 1 7 1 0
mwtcL05-SLB1# show ip slb stats
Pkts via normal switching: 0
Pkts via special switching: 2
Connections Established: 2
Connections Reassigned: 0
Connection Flowcache Purges: 0
Failed Connection Allocs: 0
Failed Real Assignments: 0
RADIUS framed-ip Sticky Count: 0
RADIUS username Sticky Count: 0
RADIUS cstn-id Sticky Count: 0
Failed Correlation Injects: 0
Pkt fragments drops in ssv: 0
• show ip slb session gtp ipv6 コマンド。セッション情報を表示します。
mwtcL05-SLB1# show ip slb session gtp ipv6
vserver = GGSN_SERVER1, key = 1112223334444100
client = 2002::77:77:77:3
state = SLB_IPV6_GTP_ESTAB
vserver = GGSN_SERVER1, key = 1112223334444200
client = 2002::77:77:77:3
state = SLB_IPV6_GTP_ESTAB
vserver = GGSN_SERVER1, key = 1112223334444300
client = 2002::77:77:77:3
state = SLB_IPV6_GTP_ESTAB
vserver = GGSN_SERVER1, key = 1112223334444400
client = 2002::77:77:77:3
state = SLB_IPV6_GTP_ESTAB
vserver = GGSN_SERVER1, key = 1112223334444500
client = 2002::77:77:77:3
state = SLB_IPV6_GTP_ESTAB
• show ip slb stats コマンド。SLB 統計情報を表示します。
mwtcL05-SLB1# show ip slb stats
Pkts via normal switching: 0
Pkts via special switching: 2
Connections Established: 2
Connections Reassigned: 0
Connection Flowcache Purges: 0
Failed Connection Allocs: 0
Failed Real Assignments: 0
RADIUS framed-ip Sticky Count: 0
RADIUS username Sticky Count: 0
RADIUS cstn-id Sticky Count: 0
Failed Correlation Injects: 0
Pkt fragments drops in ssv: 0
• show ip slb vservers name GGSN_SERVER2 コマンド。簡潔な仮想サーバの設定を表示します。
mwtcL05-SLB1# show ip slb vservers name GGSN_SERVER2
slb vserver prot virtual state conns interface(s)
--------------------------------------------------------------------------------------
GGSN_SERVER2 UDP 20.20.20.1/32:2123 INSERVICE 0 any
• show ip slb vservers name GGSN_SERVER2 detail コマンド。詳細な仮想サーバの設定を表示します。
mwtcL05-SLB1# show ip slb vservers name GGSN_SERVER2 detail
GGSN_SERVER2, state = OPERATIONAL, v_index = 10, interface(s) = <any>
virtual = 3.3.3.3/32:2123, UDP, service = GTP, advertise = TRUE
ipv6 = 3:3:3:3:3:3:3:3/128
map 1: priority = 1, serverfarm = SF, backup serverfarm= SF1
ipv6 serverfarm = SF2 ipv6 backup serverfarm = SF3
severfarm = SF, backup serverfarm = SF1
ipv6 serverfarm = SF2, ipv6 backup serverfarm = SF3
backup_serverfarm_hits = 0
slb notification retry = 2
gtp sticky query: <disabled>
synguard counter = 0, synguard period = 0
conns = 0, total conns = 0, syns = 0, syn drops = 0
GTP-SLB IPv6 サポートの設定のトラブルシューティング
ここでは、GTP-SLB IPv6 サポートの設定をトラブルシューティングする手順について説明します。次に、一部のトラブルシューティング シナリオを示します。
• GTP-SLB で最少接続属性(Leastconns)を設定できない。
ロードバランサは、実サーバのオープン PDP セッション数を追跡しないので、GTP-SLB では Leastconns はサポートされません。SLB は、PDP の作成要求をロード バランスし、割り当てられた実サーバに要求が再送信されるように、各 PDP 要求のセッション オブジェクトを維持するだけです。
• IOS SLB スティッキ接続が予期したとおりに機能しない。
有効なスティッキ接続を確認するには、次の手順を実行します。
– すべてのスティッキ接続を再設定します。
– クライアント接続を開始します。
– show ip slb reals detail コマンドおよび show ip slb conns コマンドを実行します。
– 実サーバの接続カウントを確認します。新しいクライアント接続は、カウントが増加した実サーバに割り当てられることに注意してください。
– show ip slb sticky コマンドを実行して、IOS SLB に格納されているスティッキの関係を表示します。
– 接続を終了します。
– 実サーバ接続が 1 カウントずつ減少するかどうかを確認します。
– スティッキ タイムアウト値内で接続を再開します。
– show ip slb conns コマンドを実行します。
– 実サーバの接続カウントをもう一度調べて、スティッキ接続が同じ実サーバに割り当てられていることを確認します。
• サーバ障害が適切に検出されない。
サーバを確認するには、次の手順を実行します。
– クライアント数が非常に少ないことを確認し、faildetect numconns(実サーバ)の numclients 値を最適な値まで減らします。
– show ip slb reals detail コマンドを実行して、実サーバのステータスを表示します。
– 実サーバのステータスと接続カウントを確認します。障害のあるサーバのステータスは、FAILED、TESTING、または READY_TO_TEST のいずれかになります。
(注) 実サーバに障害が発生すると、割り当て済みで確立していない(SYN または ACK を受信していない)接続は、reassign しきい値に達した後、最初に受信した SYN で、別の実サーバに再割り当てされます。ただし、実サーバへの接続がすでに確立されている場合は、同じ実サーバに転送されます。
(注) 加重最少接続の場合、新規の接続で過負荷状態にならないように、新規の実サーバはスロー スタートします (詳細については、「Slow Start」の項を参照してください)。また、新規の実サーバの接続カウントは、ダミー接続を示します。ダミー接続は、IOS SLB が実サーバのスロー スタート時の接続カウントを意図的につり上げるために使用されます。
• faildetect inband とインターネット制御メッセージ プロトコル(ICMP)プローブの両方を実サーバに設定しても、障害検出が向上しない。
実サーバに ICMP プローブと faildetect inband の両方が設定されている場合、faildetect が優先されます。ICMP プローブは health プローブであり、実サーバの物理インターフェイスがアクセス可能である限り、ICMP プローブの状態は OPERATIONAL のままとなります。faildetectinband によって、実サーバでクライアント要求を処理するアプリケーションの障害が検出されます。物理インターフェイスに障害が発生すると、ICMP プローブは状態を送信します。実サーバの障害検出用に、ICMP プローブか faildetect のいずれかをイネーブルにすることを推奨します。
• no inservice コマンドを実行しても、リソースがただちにディセーブルにならない。
no inservice コマンドでは、リソースをディセーブルにする前に接続でプロセスを実行することが許可されます。ファイアウォール ファームまたは仮想サーバ全体について、すべての既存の接続をただちに停止するには、clear ip slb connections コマンドを使用します。
• GTPLB および HSRP が設定された仮想サーバのステータス、アクティブまたはスタンバイ シャーシが、両方のシャーシに対して表示される。1 つのインスタンスで、両方のシャーシがアクティブまたはスタンバイとして表示される。
これらの問題については、次の設定を確認してください。
– 複数の HSRP インスタンスが設定されている場合、HSRP インターフェイスに固有のグループ番号が設定されている必要があります。
– HSRP グループ名は大文字と小文字を区別し、固有である必要があります。
• NAT サーバのサーバファーム設定では、レイヤ 3 および非レイヤ 2 隣接接続を利用してパケットをロードバランスできます。
• GGSN(PGW)で dispatched モードが機能しない。
GGSN にループバックとして VIP アドレスが設定されていることを確認します。
• directed モードでは、通知メッセージが SLB に到達しない。
ネクスト ホップ IP アドレスを持つ仮想サーバ アドレスが、ゲートウェイに設定されていることを確認します。
• GGSN にアドレス プールが設定されているが、MS アドレスを割り当てることができない。
SGPRS からの PDP 要求の作成時に指定されたアドレスが、定義されているプール内のアドレスに一致していない可能性があります。