GGSN Pooling Support For Firewalls: Finding Feature Information
GGSN Pooling Support For Firewalls: Finding Feature Information
The GGSN Pooling Support for Firewalls feature enhances the General Packet Radio Switching (GPRS)
Tunneling Protocol (GTP) feature by adding load balancing support. GTP supports the inspection of control
traffic that is designated to a single Gateway GPRS Support Node (GGSN). To provide efficiency and
scalability to Global System for Mobile Communication (GSM) networks, load balancing is added to the
topology. The load balancer dispatches requests from the Serving GPRS Support Node (SGSN) to various
GGSNs in the pool.
This module describes how to configure the GGSN Pooling Support for Firewalls feature.
GPRS Overview
General Packet Radio Service (GPRS) provides uninterrupted connectivity for mobile subscribers between
Global System for Mobile Communication (GSM) networks and corporate networks or the Internet. The
Gateway GPRS Support Node (GGSN) is the interface between the GPRS wireless data network and other
networks. The Serving GPRS Support Node (SGSN) performs mobility, data session management, and data
compression.
The GPRS core network architecture has a mobile station (MS) that is logically connected to an SGSN. The
main function of an SGSN is to provide data support services to an MS. An SGSN is logically connected to
a GGSN by using GTP. If the connection is within the same operator’s Public Land Mobile Network (PLMN),
the connection is called the Gn interface. If the connection is between two different PLMNs, the connection
is known as the Gp interface. A GGSN provides a data gateway to external networks, such as the Internet or
the corporate network, through an interface called the Gi interface. GTP is used to encapsulate data from an
MS. GTP also includes mechanisms for establishing, moving, and deleting tunnels between SGSN and GGSN
in roaming scenarios.
The Universal Mobile Telecommunications System (UMTS) is the commercial convergence of fixed-line
telephony, mobile, Internet, and computer technology. UMTS Terrestrial Radio Access Network (UTRAN)
is the networking protocol used for implementing wireless networks in this system. GTP allows multiprotocol
packets to be tunneled through a UMTS/GPRS backbone between a GGSN, an SGSN, and the UTRAN.
The Gp and Gi interfaces are the primary points of interconnection between an operator’s network and untrusted
external networks. Operators must take care to protect their networks from attacks that originate on these
external networks.
The Gp interface is the logical connection that supports mobile (roaming) data users between PLMNs. GTP
establishes a connection between a local SGSN and a user’s home GGSN.
Data that originates from the MS is sent to the Gi interface. It is also the interface that is exposed to public
data networks and networks of corporate customers.
The traffic sent out from a GGSN or arriving for an MS at the Gi interface can virtually be of any kind since
the application being used by the MS is unknown.
GTP allows multiprotocol packets to be tunneled through the GPRS backbone between GPRS Support Nodes
(GSNs). GTP provides a tunnel control and management protocol that allows an SGSN to provide GPRS
network access for an MS by creating, modifying, and deleting tunnels. GTP uses a tunneling mechanism to
provide a service for carrying user data packets.
Note When using GTP with failover, if a GTP connection is established and the active unit fails before data is
transmitted over the tunnel, the GTP data connection (with a “j” flag set) is not replicated to the standby
unit. This occurs because the active unit does not replicate embryonic connections to the standby unit.
GTP Overview
General Packet Radio Service (GPRS) Tunneling Protocol (GTP) allows multiprotocol packets to be tunneled
through the GPRS backbone between GPRS Support Nodes (GSN). Three GTP versions are available. The
GPRS Tunneling Support feature supports two GTP versions: GTP Version 0 (GTPv0) and GTP Version 1
(GTPv1).
In GTPv0, a GPRS Mobile Station (MS) is connected to a Serving GPRS Support Node (SGSN) without
being aware of the protocol. A Packet Data Protocol (PDP) context is identified by the Tunnel Identifier (TID),
which is a combination of the International Mobile Subscriber Identity (IMSI) and the Network Service Access
Point Identifier (NSAPI). Each MS can have up to 15 NSAPIs. This allows an MS to create multiple PDP
contexts with different NSAPIs, based on the application requirements for various quality of service (QoS)
levels. The TID is carried in the GTPv0 header.
An IMSI has the following three parts:
• Mobile Country Code (MCC) that consists of three digits. The MCC uniquely identifies the country of
domicile of a mobile subscriber.
• Mobile Network Code (MNC) that consists of two or three digits for GSM applications. The MNC
identifies the home GSM Public Land Mobile Network (PLMN) of the mobile subscriber. The length
of the MNC depends on the value of the MCC.
Note A combination of two- and three-digit MNC codes within a single MCC area is not
recommended.
• Mobile Subscriber Identification Number (MSIN) that identifies a mobile subscriber within a GSM
PLMN. The National Mobile Subscriber Identity (NMSI) consists of the MNC and the MSIN.
GTPv1 introduces the concept of primary and secondary contexts for an MS. A primary context is associated
with an IP address and indicates other parameters like the Access Point Name (APN) to be attached to the
receiving GSN. Secondary contexts created for this primary PDP context share the IP address and other
parameters that are already associated with the primary context. This allows an MS to initiate another context
with a different quality of service (QoS) requirement and also share the IP address already obtained for the
primary context. Primary and secondary contexts share the Tunnel Endpoint ID (TEID) on the control plane
and have different TEID values in the data plane. Since all primary and associated secondary contexts share
the IP address, Traffic Flow Templates (TFT) are used to classify traffic in the downlink direction towards
the MS. TFTs are exchanged during context creation.
Only the create PDP context request for the primary PDP contains an IMSI. The IMSI and NSAPI together
uniquely identify a PDP context. A secondary PDP context activation contains a Linked NSAPI (LNSAPI)
indicating the NSAPI that is assigned to any one of the already activated PDP contexts for this PDP address
and APN.
Note UDP is the only supported, defined path protocol for signaling messages for GTPv0 and GTPv1.
1. enable
2. configure terminal
3. access-list access-list-number permit protocol source source-wildcard any
4. access-list access-list-number permit protocol any destination destination-wildcard
5. access-list access-list-number permit protocol source source-wildcard any
6. class-map type inspect gtpv1 match-any class-map-name
7. match mcc country-code mnc network-code
8. match mcc country-code mnc network-code
9. exit
10. class-map type inspect gtpv1 match-any class-map-name
11. match mcc country-code mnc network-code
12. match mcc country-code mnc network-code
13. exit
14. class-map type inspect gtpv1 match-all class-map-name
15. match protocol protocol-name
16. match access-group access-list-number
17. exit
18. class-map type inspect gtpv1 match-all class-map-name
19. match protocol protocol-name
20. match access-group access-list-number
21. end
DETAILED STEPS
Example:
Device# configure terminal
Step 3 access-list access-list-number permit protocol source Defines an extended IP access list.
source-wildcard any
• Access list 101 that is configured in this example permits
traffic from a GGSN or SGSN to any destination.
Example:
Device(config)# access-list 101 permit ip
10.2.2.0 255.255.255.0 any
Step 4 access-list access-list-number permit protocol any Defines an extended IP access list.
destination destination-wildcard
• Access list 102 that is configured in this example permits
traffic from any source to a GGSN or SGSN.
Example:
Device(config)# access-list 102 permit ip any
10.2.2.0 255.255.255.0
Step 5 access-list access-list-number permit protocol source Defines an extended IP access list.
source-wildcard any
• Access list 103 that is configured in this example permits
traffic from a GGSN or SGSN to any destination.
Example:
Device(config)# access-list 103 permit ip
10.2.2.0 255.255.255.0 any
Step 6 class-map type inspect gtpv1 match-any Creates an application-specific inspect type class map and
class-map-name specifies that packets must meet any one of the specified match
criteria to be considered a member of the class, and enters QoS
Example: class-map configuration mode.
Device(config)# class-map type inspect gtpv1
match-any gtp-cl7-rev
Step 7 match mcc country-code mnc network-code Configures filtering for a valid Mobile Country Code (MCC)
and a Mobile Network Code (MNC).
Example: • In this example you configure filtering of roaming
Device(config-cmap)# match mcc 1 mnc 1
connections to a foreign MCC and MNC.
Step 8 match mcc country-code mnc network-code Configures filtering for a valid MCC and an MNC.
• In this example you configure filtering of roaming
Example: connections to a local MCC and MNC.
Device(config-cmap)# match mcc 2 mnc 1
Step 9 exit Exits QoS class-map configuration mode and enters global
configuration mode.
Example:
Device(config-cmap)# exit
Step 10 class-map type inspect gtpv1 match-any Creates an application-specific inspect type class map and
class-map-name specifies that packets must meet any one of the specified match
Step 11 match mcc country-code mnc network-code Configures filtering for a valid MCC and an MNC.
Example:
Device(config-cmap)# match mcc 2 mnc 1
Step 12 match mcc country-code mnc network-code Configures filtering for a valid MCC and an MNC.
Example:
Device(config-cmap)# match mcc 1 mnc 1
Step 13 exit Exits QoS class-map configuration mode and enters global
configuration mode.
Example:
Device(config-cmap)# exit
Step 14 class-map type inspect gtpv1 match-all Creates an application-specific inspect type class map and
class-map-name specifies that packets must meet all specified match criteria to
be considered a member of the class, and enters QoS class-map
Example: configuration mode.
Device(config)# class-map type inspect gtpv1
match-all gtp-l4c
Step 15 match protocol protocol-name Configures a match criterion for a class map on the basis of
the specified protocol.
Example:
Device(config-cmap)# match protocol gtpv1
Step 16 match access-group access-list-number Configures a match criterion for a class map on the basis of
the specified ACL.
Example:
Device(config-cmap)# match access-group 101
Step 17 exit Exits QoS class-map configuration mode and enters global
configuration mode.
Example:
Device(config-cmap)# exit
Step 18 class-map type inspect gtpv1 match-all Creates an application-specific inspect type class map and
class-map-name specifies that packets must meet all specified match criteria to
be considered a member of the class, and enters QoS class-map
Example: configuration mode.
Device(config)# class-map type inspect gtpv1
match-all gtp-l4c-rev
Step 20 match access-group access-list-number Configures a match criterion for a class map on the basis of
the specified ACL.
Example:
Device(config-cmap)# match access-group 102
Step 21 end Exits QoS class-map configuration mode and enters privileged
EXEC mode.
Example:
Device(config-cmap)# end
1. enable
2. configure terminal
3. policy-map type inspect gtpv1 gtpv1-policy
4. class type inspect gtpv1 class-map-name
5. log
6. exit
7. class class-default
8. exit
9. policy-map type inspect gtpv1 gtpv1-policy
10. class type inspect gtpv1 class-map-name
11. log
12. exit
13. class class-default
14. exit
15. policy-map type inspect gtpv1 gtpv1-policy
16. class type inspect gtpv1 class-map-name
17. inspect
18. service-policy policy-map-name
19. exit
20. class class-default
21. exit
22. policy-map type inspect gtpv1 gtpv1-policy
23. class type inspect gtpv1 class-map-name
24. inspect
25. service-policy policy-map-name
26. exit
27. class class-default
28. end
DETAILED STEPS
Example:
Device# configure terminal
Step 3 policy-map type inspect gtpv1 gtpv1-policy Creates a protocol-specific inspect-type policy map and enters
QoS policy-map configuration mode.
Example:
Device(config)# policy-map type inspect gtpv1
gtp-l7p-rev
Step 4 class type inspect gtpv1 class-map-name Specifies a traffic class on which an action is to be performed
and enters QoS policy-map class configuration mode.
Example:
Device(config-pmap)# class type inspect gtpv1
gtp-cl7-rev
Example:
Device(config-pmap-c)# log
Step 6 exit Exits QoS policy-map class configuration mode and enters
QoS policy-map configuration mode.
Example:
Device(config-pmap-c)# exit
Step 7 class class-default Specifies the default class so that you can configure or modify
its policy.
Example:
Device(config-pmap)# class class-default
Step 8 exit Exits QoS policy-map configuration mode and enters global
configuration mode.
Example:
Device(config-pmap)# exit
Step 9 policy-map type inspect gtpv1 gtpv1-policy Creates a protocol-specific inspect-type policy map and enters
QoS policy-map configuration mode.
Example:
Device(config)# policy-map type inspect gtpv1
gtp-l7p
Step 10 class type inspect gtpv1 class-map-name Specifies a traffic class on which an action is to be performed
and enters QoS policy-map class configuration mode.
Example:
Device(config-pmap)# class type inspect gtpv1
gtp-cl7
Example:
Device(config-pmap-c)# log
Step 12 exit Exits QoS policy-map class configuration mode and enters
QoS policy-map configuration mode.
Example:
Device(config-pmap-c)# exit
Step 13 class class-default Specifies the default class so that you can configure or modify
its policy.
Example:
Device(config-pmap)# class class-default
Step 14 exit Exits QoS policy-map configuration mode and enters global
configuration mode.
Example:
Device(config-pmap)# exit
Step 15 policy-map type inspect gtpv1 gtpv1-policy Creates a protocol-specific inspect-type policy map and enters
QoS policy-map configuration mode.
Example:
Device(config)# policy-map type inspect gtpv1
gtp-l4p-rev
Step 16 class type inspect gtpv1 class-map-name Specifies a traffic class on which an action is to be performed
and enters QoS policy-map class configuration mode.
Example:
Device(config-pmap)# class type inspect gtpv1
gtp-l4c-rev
Example:
Device(config-pmap-c)# inspect
Step 18 service-policy policy-map-name Uses a service policy as a QoS policy within a policy map
(called a hierarchical service policy).
Example:
Device(config-pmap-c)# service-policy
gtp-l7p-rev
Step 19 exit Exits QoS policy-map class configuration mode and enters
QoS policy-map configuration mode.
Example:
Device(config-pmap-c)# exit
Step 21 exit Exits QoS policy-map configuration mode and enters global
configuration mode.
Example:
Device(config-pmap)# exit
Step 22 policy-map type inspect gtpv1 gtpv1-policy Creates a protocol-specific inspect-type policy map and enters
QoS policy-map configuration mode.
Example:
Device(config)# policy-map type inspect gtpv1
gtp-l4p
Step 23 class type inspect gtpv1 class-map-name Specifies a traffic class on which an action is to be performed
and enters QoS policy-map class configuration mode.
Example:
Device(config-pmap)# class type inspect gtpv1
gtp-l4c
Example:
Device(config-pmap-c)# inspect
Step 25 service-policy policy-map-name Uses a service policy as a QoS policy within a policy map
(called a hierarchical service policy).
Example:
Device(config-pmap-c)# service-policy gtp-l7p
Step 26 exit Exits QoS policy-map class configuration mode and enters
QoS policy-map configuration mode.
Example:
Device(config-pmap)# exit
Step 27 class class-default Specifies the default class so that you can configure or modify
its policy.
Example:
Device(config-pmap)# class class-default
Step 28 end Exit QoS policy-map class configuration mode and enters
privileged EXEC mode.
Example:
Device(config-pmap-c)# end
1. enable
2. configure terminal
3. zone security security-zone
4. exit
5. zone security security-zone
6. exit
7. zone-pair security zone-pair-name source source-zone destination destination-zone
8. service-policy type inspect policy-map-name
9. exit
10. zone-pair security zone-pair-name source source-zone destination destination-zone
11. service-policy type inspect policy-map-name
12. end
DETAILED STEPS
Example:
Device(config)# configure terminal
Step 3 zone security security-zone Creates a security zone to which interfaces can be assigned
and enters security zone configuration mode.
Example: • Your configuration must have two security zones to
Device(config)# zone security roam-in
create a zone pair: a source and a destination zone.
• In a zone pair, you can use the default zone as either
the source or the destination zone.
Step 4 exit Exits security zone configuration mode and enters global
configuration mode.
Example:
Device(config-sec-zone)# exit
Step 6 exit Exits security zone configuration mode and enters global
configuration mode.
Example:
Device(config-sec-zone)# exit
Step 7 zone-pair security zone-pair-name source source-zone Creates a pair of security zones and enters security zone-pair
destination destination-zone configuration mode.
• To apply a policy, you must configure a zone pair.
Example:
Device(config)# zone-pair security in2out
source roam-in destination roam-out
Step 8 service-policy type inspect policy-map-name Attaches a firewall policy map to the destination zone pair.
Example:
Device(config-sec-zone-pair)# service-policy
type inspect gtp-l4p
Step 9 exit Exits security zone-pair configuration mode and enters global
configuration mode.
Example:
Device(config-sec-zone-pair)# exit
Step 10 zone-pair security zone-pair-name source source-zone Creates a pair of security zones and enters security zone-pair
destination destination-zone configuration mode.
Example:
Device(config)# zone-pair security out2in
source roam-out destination roam-in
Step 11 service-policy type inspect policy-map-name Attaches a firewall policy map to the destination zone pair.
Example:
Device(config-sec-zone-pair)# service-policy
type inspect gtp-l4p-rev
Security commands
• Security Command Reference: Commands A to C
• Security Command Reference: Commands D to L
• Security Command Reference: Commands M to R
• Security Command Reference: Commands S to Z
Technical Assistance
Description Link
The Cisco Support and Documentation website http://www.cisco.com/cisco/web/support/index.html
provides online resources to download documentation,
software, and tools. Use these resources to install and
configure the software and to troubleshoot and resolve
technical issues with Cisco products and technologies.
Access to most tools on the Cisco Support and
Documentation website requires a Cisco.com user ID
and password.