Configuring Load Balancing On The GGSN
Configuring Load Balancing On The GGSN
This chapter describes how to configure a gateway GPRS support node (GGSN) to support load
balancing functions using the Cisco IOS software Server Load Balancing (SLB) feature. GTP load
balancing provides increased reliability and availability when you are using multiple Cisco GGSNs or
non-Cisco GGSNs in your GPRS/UMTS network.
For complete descriptions of the GGSN commands in this chapter, refer to the Cisco GGSN Command
Reference for the Cisco GGSN release you are using. For complete descriptions of the other Cisco IOS
SLB commands in this chapter, refer to the IOS Server Load Balancing feature module.
To locate documentation of other commands that appear in this chapter, use the command reference
master index or search online.
This chapter includes the following sections:
• Overview of GTP Load Balancing, page 13-1
• Configuring GTP Load Balancing, page 13-7
• Monitoring and Maintaining the Cisco IOS SLB Feature, page 13-25
• Configuration Examples, page 13-26
Cisco GGSN Release 9.0 Configuration Guide, Cisco IOS Release 12.4(22)YE1
OL-19936-02 13-1
Chapter 13 Configuring Load Balancing on the GGSN
Overview of GTP Load Balancing
Figure 13-1 presents a logical view of a simple Cisco IOS SLB network.
Virtual server
IOS SLB
device
45770
Client Client
Client Client
Cisco GGSN Release 9.0 Configuration Guide, Cisco IOS Release 12.4(22)YE1
13-2 OL-19936-02
Chapter 13 Configuring Load Balancing on the GGSN
Overview of GTP Load Balancing
• In addition:
– Multiple virtual servers are supported
– Load-balanced real servers can be internal or external to the Cisco 7600 chassis
– Each virtual server must have one unique public IP address that is reachable from the SGSNs
– Each virtual server can correspond to one or more APNs.
– The DNS server used by the SGSNs to resolve the APNs to a GGSN IP address should use the
GGSN virtual IP address.
GTP load balancing without GTP cause code inspection enabled is recommended for Cisco GGSNs. It
has the following characteristics:
• Can operate in dispatched mode or in directed server Network Address Translation (NAT) mode, but
not in directed client NAT mode. In dispatched mode, the GGSNs must be Layer 2–adjacent to the
Cisco IOS SLB device.
• Does not support stateful backup.
• Delivers tunnel creation messages destined to the virtual GGSN IP address to one of the real
GGSNs, using the weighted round-robin load-balancing algorithm. See the “Weighted
Round-Robin” section on page 13-4 for more information about this algorithm.
• Requires Dynamic Feedback Protocol (DFP) to account for GTPv1 secondary PDP contexts.
GTP load balancing with GTP cause code inspection enabled allows Cisco IOS SLB to monitor all
PDP context signaling flows to and from server farms. This enables Cisco IOS SLB to monitor GTP
failure cause codes, detecting system-level problems in both Cisco and non-Cisco GGSNs.
Table 13-1 lists the Create PDP Context response cause codes and the corresponding actions taken by
Cisco IOS SLB.
Table 13-1 PDP Create Response Cause Codes and Corresponding Cisco IOS SLB Actions
Cisco GGSN Release 9.0 Configuration Guide, Cisco IOS Release 12.4(22)YE1
OL-19936-02 13-3
Chapter 13 Configuring Load Balancing on the GGSN
Overview of GTP Load Balancing
Table 13-1 PDP Create Response Cause Codes and Corresponding Cisco IOS SLB Actions
GTP load balancing with GTP cause code inspection enabled has the following characteristics:
• Must operate in directed server NAT mode.
• Assigns PDP context creates from a specific International Mobile Subscriber ID (IMSI) to the same
GGSN, or, if GTP APN-aware load balancing is configured, to the same server farm.
• Supports stateful backup.
• Tracks the number of open PDP contexts for each GGSN or APN, which enables server farms to use
the weighted least connections (leastconns) algorithm for GTP load balancing. See the “Weighted
Least Connections” section on page 13-5 for more information about this algorithm.
• Enables Cisco IOS SLB to deny access to a virtual GGSN if the carrier code of the requesting IMSI
does not match a specified value.
• Enables Cisco IOS SLB to support secondary IPDP contexts, even without DFP.
Weighted Round-Robin
The weighted round- robin algorithm specifies that the real server used for a new connection to the
virtual server is chosen from the server farm in a circular fashion. Each real server is assigned a weight,
n, that represents its capacity to handle connections, as compared to the other real servers associated with
the virtual server. That is, new connections are assigned to a given real server n times before the next
real server in the server farm is chosen.
For example, assume a server farm made up of three real servers: ServerA with n = 3, ServerB with
n = 1, and ServerC with n = 2. The first three connections to the virtual server are assigned to ServerA,
the fourth connection to ServerB, and the fifth and sixth connections to ServerC.
Cisco GGSN Release 9.0 Configuration Guide, Cisco IOS Release 12.4(22)YE1
13-4 OL-19936-02
Chapter 13 Configuring Load Balancing on the GGSN
Overview of GTP Load Balancing
Note Assigning a weight of n = 1 to all of the servers in the server farm configures the Cisco IOS SLB
device to use a simple round-robin algorithm.
GTP load balancing without GTP cause code inspection enabled requires the weighted round-robin
algorithm. A server farm that uses weighted least connections can be bound to a virtual server that
provides GTP load balancing without GTP cause code inspection enabled, but you cannot place that
virtual server INSERVICE. If you try to do so, Cisco IOS SLB issues an error message.
When GTP cause code inspection is enabled, GTP load balancing supports the Cisco IOS SLB weighted
least connections algorithm.
The weighted least connections algorithm specifies that the next real server chosen from a server farm
for a new connection to the virtual server is the server with the fewest active connections. Each real
server is assigned a weight for this algorithm, also. When weights are assigned, the server with the fewest
connections is determined on the basis of the number of active connections on each server and the
relative capacity of each server. The capacity of a given real server is calculated as the assigned weight
of that server divided by the sum of the assigned weights of all the real servers associated with that
virtual server, or n1/(n1+n2+n3...).
For example, assume a server farm made up of three real servers: ServerA with n = 3, ServerB with n =
1, and ServerC with n = 2. ServerA would have a calculated capacity of 3/(3+1+2), or half of all active
connections on the virtual server, ServerB would have a calculated capacity of one-sixth of all active
connections, and ServerC one-third of all active connections. At any point in time, the next connection
to the virtual server would be assigned to the real server whose number of active connections is farthest
below its calculated capacity.
Note Assigning a weight of n = 1 to all of the servers in the server farm configures the Cisco IOS SLB device
to use a simple least-connection algorithm.
GTP load balancing without GTP cause code inspection enabled does not support the weighted least
connections algorithm.
GTP load balancing with GTP cause code inspection does support the weighted least connections
algorithm.
Cisco GGSN Release 9.0 Configuration Guide, Cisco IOS Release 12.4(22)YE1
OL-19936-02 13-5
Chapter 13 Configuring Load Balancing on the GGSN
Overview of GTP Load Balancing
The weights calculated by DFP override the static weights you define using the weight (server farm)
command. If DFP is removed from the network, Cisco IOS SLB reverts to the static weights.
You can define Cisco IOS SLB as a DFP manager, as a DFP agent for another DFP manager (such as
DistributedDirector), or as both at the same time. In such a configuration, Cisco IOS SLB sends periodic
reports to DistributedDirector, which uses the information to choose the best server farm for each new
connection request. Cisco IOS SLB then uses the same information to choose the best real server within
the chosen server farm.
DFP also supports the use of multiple DFP agents from different client subsystems (such as
Cisco IOS SLB and GPRS/UMTS) at the same time.
In GTP load balancing, you can define Cisco IOS SLB as a DFP manager and define a DFP agent on
each GGSN in the server farm, and the DFP agent can report the weights of the GGSNs. The DFP agents
calculate the weight of each GGSN, based on CPU utilization, processor memory, and the maximum
number of PDP contexts that can be activated for each GGSN.
The weight for each GGSN is based primarily on the ratio of existing PDP contexts on the GGSN to the
maximum number of allowed PDP contexts.
By default, the CPU and memory utilization become part of the DFP weight calculation only after the
utilization exceeds 85 percent. You can use the cpu-load and mem-load keyword options added to the
gprs dfp global configuration command to customize the percentage of utilization at which the CPU and
memory loads are included in the weight calculation.
Note Because the maximum number of allowed PDP contexts is considered to be the GGSNs maximum load,
you should carefully consider the value that you configure in the gprs maximum-pdp-context-allowed
command, which defaults to 10,000 PDP contexts.
Cisco GGSN Release 9.0 Configuration Guide, Cisco IOS Release 12.4(22)YE1
13-6 OL-19936-02
Chapter 13 Configuring Load Balancing on the GGSN
Configuring GTP Load Balancing
Cisco GGSN Release 9.0 Configuration Guide, Cisco IOS Release 12.4(22)YE1
OL-19936-02 13-7
Chapter 13 Configuring Load Balancing on the GGSN
Configuring GTP Load Balancing
Configuration Guidelines
When configuring the network shared by Cisco IOS SLB and the GGSNs, keep the following
considerations in mind:
• Specify static routes (using ip route commands) and real server IP addresses (using real commands)
so that the Layer 2 information is correct and unambiguous.
• Configure the static route from the SGSN to the virtual server.
• Choose subnets carefully, using one of the following methods:
– Do not overlap virtual template address subnets.
– Specify next-hop addresses to real servers, not to interfaces on those servers.
• Cisco IOS SLB supports two types of GTP load balancing:
– GTP Load Balancing Without GTP Cause Code Inspection, page 13-3
– GTP Load Balancing With GTP Cause Code Inspection, page 13-3
• Cisco IOS SLB supports both GTP v0 and GTP v1. Support for GTP enables Cisco IOS SLB to
become “GTP aware,” extending Cisco IOS SLB’s knowledge into Layer 5.
Cisco GGSN Release 9.0 Configuration Guide, Cisco IOS Release 12.4(22)YE1
13-8 OL-19936-02
Chapter 13 Configuring Load Balancing on the GGSN
Configuring GTP Load Balancing
Cisco GGSN Release 9.0 Configuration Guide, Cisco IOS Release 12.4(22)YE1
OL-19936-02 13-9
Chapter 13 Configuring Load Balancing on the GGSN
Configuring GTP Load Balancing
To configure a Cisco IOS SLB server farm, use the following commands, beginning in global
configuration mode:
Command Purpose
Step 1 Router-SLB(config)# ip slb serverfarm Adds a server farm definition to the Cisco IOS SLB
serverfarm-name configuration, and enters server farm configuration
Router(config-slb-sfarm)#
mode.
Step 2 Router-SLB(config-slb-sfarm)# predictor [roundrobin Specifies the algorithm to be used to determine how a
| leastconns] real server is selected.
Note In GTP load balancing without GTP cause
code inspection enabled, you must accept the
default setting (the weighted round-robin
algorithm).
Cisco GGSN Release 9.0 Configuration Guide, Cisco IOS Release 12.4(22)YE1
13-10 OL-19936-02
Chapter 13 Configuring Load Balancing on the GGSN
Configuring GTP Load Balancing
Command Purpose
Step 9 Router-SLB(config-slb-real)# weight weighting-value (Optional) Specifies the real server’s workload
capacity relative to other servers in the server farm.
Note If you use DFP, the static weights you define
using the weight (server farm) command are
overridden by the weights calculated by DFP.
If DFP is removed from the network, Cisco
IOS SLB reverts to the static weights.
Step 10 Router-SLB(config-slb-real)# inservice Enables the real server for use by Cisco IOS SLB.
Cisco GGSN Release 9.0 Configuration Guide, Cisco IOS Release 12.4(22)YE1
OL-19936-02 13-11
Chapter 13 Configuring Load Balancing on the GGSN
Configuring GTP Load Balancing
To configure an Cisco IOS SLB virtual server, use the following commands, beginning in global
configuration mode:
Command Purpose
Step 1 Router-SLB(config)# ip slb vserver Identifies a virtual server, and enters virtual server
virtual_server-name configuration mode.
Step 2 Router-SLB(config-slb-vserver)# virtual ip-addr Specifies the virtual server IP address, type of
[netmask [group]] {esp | gre | protocol} connection, and optional TCP or UDP port number,
Internet Key Exchange (IKE) Internet Security
or
Association and Key Management Protocol
Router(config-slb-vserver)# virtual ip-addr (ISAKMP) or Wireless Session Protocol (WSP)
[netmask [group]] {tcp | udp} [port | any]
setting, and service coupling.
[service service]
Note For GTP load balancing:
Cisco GGSN Release 9.0 Configuration Guide, Cisco IOS Release 12.4(22)YE1
13-12 OL-19936-02
Chapter 13 Configuring Load Balancing on the GGSN
Configuring GTP Load Balancing
Command Purpose
Step 3 Router-SLB(config-slb-vserver)# serverfarm Associates a real server farm with a virtual server.
primary-farm [backup backup-farm [sticky]] [map
map-id priority priority] • backup—(Optional) Configures a backup server
farm
• backup backup-farm [sticky]—(Optional)
Configures a backup server farm and optionally
specifies that sticky connections are to be used in
the backup server farm.
• map map-id priority priority—(Optional)
Associates an IOS SLB protocol map to a server
farm for GTP APN-aware load balancing and
defines the priority for that map. Maps are
searched based on priority. The lower the
number, the higher the priority.
Note Multiple instances of the serverfarm
command are allowed if configured with the
map keyword option. The default server farm
(without the map keyword option) is limited
to a single instance.
Cisco GGSN Release 9.0 Configuration Guide, Cisco IOS Release 12.4(22)YE1
OL-19936-02 13-13
Chapter 13 Configuring Load Balancing on the GGSN
Configuring GTP Load Balancing
Command Purpose
Step 6 Router-SLB(config-slb-vserver)# client {ip-address (Optional) Specifies which clients are allowed to use
network-mask [exclude] | gtp carrier-code [code]} the virtual server.
Note GTP load balancing supports only the
gtp carrier-code option, and only if GTP
cause code inspection is enabled.
Step 7 Router-SLB(config-slb-vserver)# replicate casa (Optional) Configures a stateful backup of
listen-ip remote-ip port [interval] [password [0 | Cisco IOS SLB decision tables to a backup switch.
7] password timeout]
Note GTP load balancing without GTP cause code
inspection enabled does not support this
command.
Command Purpose
Router-SLB(config)# ip slb timers gtp gsn duration Changes the amount of time that Cisco IOS SLB maintains
sessions to and from an idle GGSN or SGSN.
Command Description
Step 1 Router-SLB(config)# ip slb dfp [password [0|7] Configures DFP, supplies an optional password,
password [timeout]] and enters DFP configuration mode.
Step 2 Router-SLB(config-slb-dfp)# agent ip_address Identifies a DFP agent to which Cisco IOS SLB can
port-number [timeout [retry_count [retry_interval]]] connect.
Cisco GGSN Release 9.0 Configuration Guide, Cisco IOS Release 12.4(22)YE1
13-14 OL-19936-02
Chapter 13 Configuring Load Balancing on the GGSN
Configuring GTP Load Balancing
Configuring a Cisco IOS SLB GTP Map for GTP APN-Aware Load Balancing
To enable APN-aware load balancing, an IOS SLB GTP map that groups certain APNs must be
configured.
Cisco GGSN Release 9.0 Configuration Guide, Cisco IOS Release 12.4(22)YE1
OL-19936-02 13-15
Chapter 13 Configuring Load Balancing on the GGSN
Configuring GTP Load Balancing
To configure an IOS SLB GTP map for load balancing across APNs, use the following commands,
beginning in global configuration mode:
Command Purpose
Step 1 Router-SLB(config)# ip slb map map-id protocol Configures an IOS SLB protocol map and enter
SLB map configuration mode.
• map-id—IOS SLB protocol map identifier. The
valid range is from 1 to 255. The map ID must be
globally unique across all service types.
• protocol—Protocol associated with the map.
This should match the vserver service type.
– gtp—For general packet radio service
(GPRS) load balancing, configures an
IOS SLB GPRS Tunneling Protocol (GTP)
map and enters SLB GTP map configuration
mode.
– radius—For RADIUS load balancing,
configures an IOS SLB RADIUS map and
enters SLB RADIUS map configuration
mode.
Note With this release, GTP maps are supported.
Step 2 Router-SLB(config-slb-map)# apn string Configures an ASCII regular expression string to be
matched against the access point name (APN) for
general packet radio service (GPRS) load balancing.
Note For a given IOS SLB GTP map, you can
configure up to 100 apn commands, however,
because APN maps can impact performance,
we recommend that you do not configure
more than 10 APN maps per vserver.
Associating an IOS SLB GTP Map to a Server Farm on the Virtual Server
After an IOS SLB GTP map has been created, it must be associated to the server farm when configuring
the virtual server.
Note To change map configurations the virtual server must be taken out of service. The NAT modes on the
primary and backup server farms for each map must match.
Cisco GGSN Release 9.0 Configuration Guide, Cisco IOS Release 12.4(22)YE1
13-16 OL-19936-02
Chapter 13 Configuring Load Balancing on the GGSN
Configuring GTP Load Balancing
To specify a IOS SLB GTP map when associating a server farm with the virtual server, use the following
command in virtual server configuration mode on the IOS SLB:
Command Purpose
Router-SLB(config-slb-vserver)# serverfarm Associates a real server farm with a virtual server.
primary-farm [backup backup-farm [sticky]] [map map-id
priority priority] • backup—(Optional) Configures a backup server farm
• backup backup-farm [sticky]—(Optional) Configures
a backup server farm and optionally specifies that sticky
connections are to be used in the backup server farm.
• map map-id priority priority—(Optional) Associates
an IOS SLB protocol map to a server farm for GTP
APN-aware load balancing and defines the priority for
that map. Maps are searched based on priority. The
lower the number, the higher the priority.
Note Multiple instances of the serverfarm command are
allowed if configured with the map keyword option.
The default server farm (without the map keyword
option) is limited to a single instance.
The following configuration example, from the IOS SLB, shows the IOS SLB GTP map configuration,
and the map-to-server farm association under the virtual template.
!
/* server-farm configurations */
ip slb serverfarm farm1
real 10.0.0.1
inservice
real 10.0.0.2
inservice
ip slb serverfarm farm4
real 10.0.0.7
inservice
real 10.0.0.8
inservice
ip slb serverfarm farm5
real 10.0.0.9
inservice
real 10.0.0.10
inservice
!
/* GTP maps for GTP APN-aware SLB */
ip slb map 1 gtp
apn www.*.edu
ip slb map 4 gtp
apn abc.company1.com
apn xyz.company2.com
ip slb map 5 gtp
Cisco GGSN Release 9.0 Configuration Guide, Cisco IOS Release 12.4(22)YE1
OL-19936-02 13-17
Chapter 13 Configuring Load Balancing on the GGSN
Configuring GTP Load Balancing
apn company3.com
!
/* associate the GTP map with server farm under virtual server */
ip slb vserver GGSN_SERVER
virtual 10.10.10.10 udp 0 service gtp
serverfarm farm1 map 1 priority 3
serverfarm farm2 backup farm4 map 1 priority 2
serverfarm farm4 map 4 priority 5
serverfarm farm5 map 5 priority 4
serverfarm farm6
The following show ip slb vserver command verifies the configuration of the virtual servers
PUBLIC_HTTP and RESTRICTED_HTTP:
Router-SLB# show ip slb vserver
The following show ip slb reals command displays the status of server farms PUBLIC and
RESTRICTED, the associated real servers, and their status:
Router-SLB# show ip slb real
The following show ip slb serverfarm command displays the configuration and status of server farms
PUBLIC and RESTRICTED:
Router-SLB# show ip slb serverfarm
Cisco GGSN Release 9.0 Configuration Guide, Cisco IOS Release 12.4(22)YE1
13-18 OL-19936-02
Chapter 13 Configuring Load Balancing on the GGSN
Configuring GTP Load Balancing
To verify that the Cisco IOS SLB feature has been installed and is operating correctly, ping the real
servers from the Cisco IOS SLB switch, and then ping the virtual servers from the clients.
The following show ip slb stats command displays detailed information about the Cisco IOS SLB
network status:
See the “Monitoring and Maintaining the Cisco IOS SLB Feature” section on page 13-25 for additional
commands used to verify Cisco IOS SLB networks and connections.
Command Description
Step 1 Router-GGSN(config)# interface loopback number Creates a loopback interface. A loopback interface
is a virtual interface that is always up.
Step 2 Router-GGSN(config-if)# ip address ip-address mask Assigns an IP address to the loopback interface.
Cisco GGSN Release 9.0 Configuration Guide, Cisco IOS Release 12.4(22)YE1
OL-19936-02 13-19
Chapter 13 Configuring Load Balancing on the GGSN
Configuring GTP Load Balancing
For complete information on configuring a DFP agent, refer to the DFP Agent Subsystem feature module.
To define the port number to be used by the DFP manager (the Cisco IOS SLB in this instance) to connect
to the DFP agent, enter the following commands in order, beginning in global configuration mode:
Command Description
Step 1 Router-GGSN(config)# ip dfp agent gprs Identifies a DFP agent subsystem and initiates DFP
agent configuration mode.
Step 2 Router-GGSN(config-dfp)# interval seconds (Optional) Configures a DFP agent weight
recalculation interval.
Step 3 Router-GGSN(config-dfp)# password [0|7] password Optional) Configures a DFP agent password for
[timeout] MD5 authentication.
Step 4 Router-GGSN(config-dfp)# port port-number Defines the port number to be used by the DFP
manager to connect to the DFP agent.
Step 5 Router-GGSN(config-dfp)# inservice Enables the DFP agent for communication with a
DFP manager. A DFP agent is inactive until both of
the following conditions are met:
• The DFP agent has been enabled using the
inservice (DFP agent) command.
• The client subsystem has changed the DFP
agent's state to ACTIVE.
If you use DFP with GTP load balancing, each GGSN that acts as a DFP agent has a maximum weight
that it can send to a DFP manager. For each GGSN, you can accept the default maximum weight (85%),
or you can specify a different maximum weight. You can also configure the percentage of utilization at
which the CPU and memory loads are included in the weight calculation using the cpu-load and
mem-load keyword options.
To specify the maximum weight for a GGSN, use the following command in global configuration mode
on the GGSN:
Cisco GGSN Release 9.0 Configuration Guide, Cisco IOS Release 12.4(22)YE1
13-20 OL-19936-02
Chapter 13 Configuring Load Balancing on the GGSN
Configuring GTP Load Balancing
Command Purpose
Router-GGSN(config)# gprs dfp {max-weight max-weight | Specifies DFP weight parameters of a GGSN that is acting
min-cpu-load min-cpu-load | mem-load min-mem-load} as a DFP agent, where:
• max-weight—Specifies the maximum weight sent by
the GGSN, acting as a DFP agent, to a DFP manager.
The valid range is 1 to 100. The default is 8.
• min-cpu-load—Specifies the minimum percentage at
which to start including the CPU load in the DFP weight
calculation. The valid range is 10 to 75 percent.
• mem-load—Specifies the minimum percentage at
which to start including the memory load in the DFP
weight calculation. The valid range is 10 to 75 percent
If you use DFP with GTP load balancing, you must specify a maximum number of PDP contexts for each
GGSN, using the gprs maximum-pdp-context-allowed command. Do not accept the default value of
10000 PDP contexts. Significantly lower values, including the default value of 10,000, can impact
capacity in a GPRS/UMTS load-balancing environment.
Note DFP weighs PPP PDPs against IP PDPs, with one PPP PDP equal to 8 IPv4 PDPs. One IPv6 PDP counts
as four IPv4 PDPs. Therefore, when using DFP, be aware that the configured maximum number of PDP
contexts affects the GGSN weight. The lower the maximum number of PDP contexts, the lower the
weight, when all other parameters remain the same.
To configure a maximum number of PDP contexts for a GGSN, use the following command in global
configuration mode on the GGSN:
Command Purpose
Router-GGSN(config)# gprs maximum-pdp-context-allowed Specifies the maximum number of PDP contexts (mobile
[pdp-contexts] sessions) that can be activated on the GGSN.
Cisco GGSN Release 9.0 Configuration Guide, Cisco IOS Release 12.4(22)YE1
OL-19936-02 13-21
Chapter 13 Configuring Load Balancing on the GGSN
Configuring GTP Load Balancing
The GGSN can be configured to notify the Cisco IOS SLB when a UMTS QoS CAC failure has caused
a Create PDP Context request to be rejected.
CAC failure notifications sent by the GGSN include the following information elements (IEs):
• Type—Notification type (reassign).
• Session identifier—Session key on the Cisco IOS SLB that identifies the session to which a
notification belongs.
• Create response—Create response that the GGSN would send to the SGSN when a failure occurred.
If there is not an alternate GGSN available to which to reassign the session, or if the maximum
number of reassign attempts has been exceeded, the Cisco IOS SLB relays this information to the
SGSN.
The way you configure support for CAC failure notifications depends on whether the Cisco IOS SLB is
operating in dispatched mode or directed server NAT mode. For information on each procedure, see the
following sections:
• Configuring CAC Failure Notification Support when the Cisco IOS SLB is in Dispatched Mode,
page 13-22
• Configuring CAC Failure Notification Support when the Cisco IOS SLB is in Directed Server
NAT Mode, page 13-23
Configuring CAC Failure Notification Support when the Cisco IOS SLB is in Dispatched Mode
If the Cisco IOS SLB is functioning in dispatched mode, the virtual server that forwarded the Create PDP
Context request to the GGSN is known to the GGSN, and the GGSN can send CAC failure notifications
directly to the server.
To configure the GGSN to send CAC failure notifications to the Cisco IOS SLB when the Cisco IOS SLB
is in dispatched mode, use the following command in global configuration mode:
Command Description
Step 1 Router-GGSN(config)# gprs slb mode dispatched Defines dispatched as the Cisco IOS SLB operation
mode for GGSN-IOS SLB messaging.
Note The default is dispatched mode.
Step 2 Router-GGSN(config)# gprs slb notify cac-failure Enables the GGSN to notify the Cisco IOS SLB
when a UMTS QoS CAC failure has caused a
Create PDP Context request to be rejected.
To enable CAC failure notification support on the Cisco IOS SLB, use the following command in virtual
server mode:
Command Purpose
Router-SLB(config-slb-vserver)# gtp notification cac Enables support of GGSN-IOS SLB messaging CAC failure
count notifications and configures the maximum number of times
a rejected Create PDP Context can be reassigned to a new
real GGSN. The default is 2 (which is 3 real selections per
session, including the initial send).
Cisco GGSN Release 9.0 Configuration Guide, Cisco IOS Release 12.4(22)YE1
13-22 OL-19936-02
Chapter 13 Configuring Load Balancing on the GGSN
Configuring GTP Load Balancing
Configuring CAC Failure Notification Support when the Cisco IOS SLB is in Directed Server NAT Mode
If the Cisco IOS SLB is functioning in directed server NAT mode, the virtual server is not known to the
GGSN. Therefore, in addition to configuring the GGSN to send CAC failure notifications to the
Cisco IOS SLB, a list of virtual servers must be defined on the GGSN using the gprs slb vserver
command in global configuration mode, and the Cisco IOS SLB mode of operation must be defined using
the gprs slb mode command in global configuration mode.
Note If the Cisco IOS SLB operation mode and virtual servers are not defined on the GGSN when the
Cisco IOS SLB is functioning in directed server NAT mode, support for CAC failure notification is not
enabled, even if the gprs slb notify cac-failure and gtp notification cac commands are configured.
To enable the GGSN to send CAC failure notifications to the Cisco IOS SLB when the Cisco IOS SLB
is in directed server NAT mode, use the following commands while in global configuration mode:
Command Description
Step 1 Router-GGSN(config)# gprs slb mode directed Defines directed server NAT as the Cisco IOS SLB
operation mode for GGSN-IOS SLB messaging.
Note The default is dispatched mode.
Step 2 Router-GGSN(config)# gprs slb notify cac-failure Enables the GGSN to notify the Cisco IOS SLB
when a UMTS QoS CAC failure has caused a
Create PDP Context request to be rejected.
Step 3 Router-GGSN(config)# gprs slb vserver ip_address Configures the Cisco IOS SLB virtual server(s) to
[next-hop ip ip-address [vrf name]] be notified by a GGSN when the condition defined
using the gprs slb notify command occurs.
Optionally, also configures the IP address of the
next-hop that can be used to reach the virtual server
and specifies the VPN routing and forwarding
instance.
To enable CAC failure notification support on the Cisco IOS SLB, use the following command in virtual
server mode:
Command Purpose
Router-SLB(config-slb-vserver)# gtp notification cac Enables support of GGSN-IOS SLB messaging CAC failure
count notifications and configures the maximum number of times
a rejected Create PDP Context can be reassigned to a new
real GGSN. The default is 2 (including the initial send, 3
real selections per session).
Configuring Support for GGSN-IOS SLB Messaging Delete Notifications (GTP IMSI Sticky Database Support)
When support for delete notifications is configured on the GGSN and the Cisco IOS SLB, a sticky
database entry is created on the Cisco IOS SLB when the first Create PDP Context request from a
subscriber is received. When the last PDP context of that IMSI is deleted on the GGSN, the GGSN sends
a delete notification to the Cisco IOS SLB that instructs the Cisco IOS SLB to remove the sticky entry
from the database.
Cisco GGSN Release 9.0 Configuration Guide, Cisco IOS Release 12.4(22)YE1
OL-19936-02 13-23
Chapter 13 Configuring Load Balancing on the GGSN
Configuring GTP Load Balancing
Note This configuration requires that the virtual virtual server configuration command be configured with the
service gtp keywords specified.
Note If the sticky gtp imsi command is configured under multiple vservers, the group number configuration
facilitate sharing of the sticky object in the event the same MS connects through different vservers. All
vservers that have the same sticky group number share the sticky IMSI entry for a user.
To configure the GGSN to send a delete notification to the Cisco IOS SLB when the last PDP context of
an IMSI is deleted on the GGSN, complete the following tasks while in global configuration mode:
Command Description
Step 1 Router-GGSN(config)# gprs slb mode {dispatched | Defines the Cisco IOS SLB operation mode for
directed} GGSN-IOS SLB messaging. The default is
dispatched mode.
Step 2 Router-GGSN(config)# gprs slb notify session-deletion Configures the GGSN to send a delete notification
message to the Cisco IOS SLB when the last PDP
context associated with an IMSI is deleted.
Step 3 Router-GGSN(config)# gprs slb vservers ip_address Configures the Cisco IOS SLB virtual server(s) to
[next-hop ip ip-address [vrf name]] be notified by a GGSN when the condition defined
using the gprs slb notify command occurs.
Optionally, also configures the IP address of the
next-hop that can be used to reach the virtual server
and specifies the VPN routing and forwarding
instance.
To configure GTP IMSI sticky database support on the Cisco IOS SLB, complete the following task
while in virtual server configuration mode:
Command Purpose
Router-SLB(config-slb-vserver)# sticky gtp imsi [group Enables Cisco IOS SLB to load-balance GTP Create PDP
number] Context requests to the same real server that processed all
previous create requests for a given IMSI.
Cisco GGSN Release 9.0 Configuration Guide, Cisco IOS Release 12.4(22)YE1
13-24 OL-19936-02
Chapter 13 Configuring Load Balancing on the GGSN
Monitoring and Maintaining the Cisco IOS SLB Feature
Command Purpose
Router-GGSN# clear gprs slb statistics Clears Cisco IOS SLB statistics.
Router-GGSN# show gprs slb detail Displays all Cisco IOS SLB-related information,
such as operation mode, virtual server addresses for
GGSN-IOS SLB messaging, SLB notifications, and
statistics.
Router-GGSN# show gprs slb mode Displays the Cisco IOS SLB mode of operation.
Router-GGSN# show gprs slb statistics Displays Cisco IOS SLB statistics.
Router-GGSN# show gprs slb vservers Displays a list of defined Cisco IOS SLB virtual
servers for GGSN-IOS SLB messaging.
To obtain and display information about the GTP SLB on the Cisco IOS SLB, use the following
commands in privileged EXEC mode on the Cisco IOS SLB:
Command Purpose
Router-SLB# show ip slb conns [vserver virtual_server-name | Displays all connections handled by Cisco
client ip-address | firewall firewallfarm-name] [detail] IOS SLB, or, optionally, only the connections
associated with a particular virtual server or client.
Router-SLB# show ip slb dfp [agent agent_ip_address Displays information about DFP and DFP agents,
port-number | manager manager_ip_address | detail | weights] and about the weights assigned to real servers.
Router-SLB# show ip slb gtp {gsn [gsn-ip-address] | nsapi Displays Cisco IOS SLB GTP information when
[nsapi-key] [detail] GTP load balancing with cause code inspection is
enabled.
Router-SLB# show ip slb map [id] Displays information about Cisco IOS SLB
protocol maps.
Router-SLB# show ip slb reals [sfarm server-farm] [detail] Displays information about the real servers defined
to Cisco IOS SLB.
Router-SLB# show ip slb replicate Displays information about the Cisco IOS SLB
replication configuration.
Router-SLB# show ip slb serverfarms [name serverfarm-name] Displays information about the server farms defined
[detail] to Cisco IOS SLB.
Router-SLB show ip slb sessions [gtp | gtp-inspect | radius] Displays information about sessions handled by
[vserver virtual-server] [client ip-addr netmask] [detail] Cisco IOS SLB.
Note With GTP load balancing without cause
code inspection, a session lasts no longer
than the duration of the virtual server GTP
idler time specified using the idle gtp
request command.
Cisco GGSN Release 9.0 Configuration Guide, Cisco IOS Release 12.4(22)YE1
OL-19936-02 13-25
Chapter 13 Configuring Load Balancing on the GGSN
Configuration Examples
Command Purpose
Router=SLB# show ip slb stats Displays Cisco IOS SLB statistics.
Router-SLB# show ip slb sticky gtp imsi [id imsi] Displays only entries of the Cisco IOS SLB sticky
database associated with the Cisco IOS SLB GTP
IMSI sticky database, and shows all of the Network
Service Access Point Identifiers (NSAPIs) that the
user has used as primary PDPs.
Optionally, displays only those sticky database
entries associated with the specified IMSI.
Router-SLB# show ip slb vserver [name virtual_server] Displays information about the virtual servers
[redirect] [detail] defined to Cisco IOS SLB.
Configuration Examples
This section provides an example of the GGSN Cisco IOS SLB examples. For complete descriptions of
the GGSN commands in this section, refer to the Cisco GGSN Release Command Reference. For
complete descriptions of the Cisco IOS SLB commands in this section, refer to the IOS Server Load
Balancing feature module documentation.
This section includes examples of Cisco IOS SLB with GTP load balancing and NAT configured on the
Cisco 7600 platform:
• Cisco IOS SLB Configuration Example, page 13-26
• GGSN1 Configuration Example, page 13-28
Cisco GGSN Release 9.0 Configuration Guide, Cisco IOS Release 12.4(22)YE1
13-26 OL-19936-02
Chapter 13 Configuring Load Balancing on the GGSN
Configuration Examples
Cisco GGSN Release 9.0 Configuration Guide, Cisco IOS Release 12.4(22)YE1
OL-19936-02 13-27
Chapter 13 Configuring Load Balancing on the GGSN
Configuration Examples
Cisco GGSN Release 9.0 Configuration Guide, Cisco IOS Release 12.4(22)YE1
13-28 OL-19936-02