Configuring Dynamic Addressing on the GGSN
This chapter describes how to configure dynamic IP addressing on the gateway GRPS support node (GGSN).
Note
Dynamic IP addressing is not supported for IPv6 and PPP PDP types. Therefore, the tasks in this chapter apply to IPv4 PDP contexts only. For information on IPv6 addressing, see Chapter 5, "Configuring IPv6 PDP Support on the GGSN."
For complete descriptions of the GGSN commands in this chapter, see Cisco GGSN Command Reference for the Cisco GGSN release you are using. 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 Dynamic IP Addressing on the GGSN
•
Configuring DHCP on the GGSN
•
Configuring MS Addressing via Local Pools on the GGSN
•
Configuring MS Addressing via RADIUS
•
Configuring Overlapping Local IP Address Pools
•
Configuring the NBNS and DNS Address for an APN
•
Using Dynamic IP Address Management on the Cisco GGSN
Overview of Dynamic IP Addressing on the GGSN
There are three methods for configuring the GGSN to assign IP addresses to mobile station users who need to access the public data network (PDN): Dynamic Host Configuration Protocol (DHCP) allocation, Remote Authentication Dial-In User Service (RADIUS) allocation, and local IP address pool allocation configured at the access point name (APN) or downloaded.
A method of dynamic IP addressing can be configured either globally or at the access-point configuration level.
Be sure that the following configuration guidelines are met to support the type of IP address allocation in use on your network:
•
DHCP IP address allocation
–
Be sure that you configure the scope of the addresses to be allocated on the same subnet as the loopback interface.
–
Do not configure an IP address for users on the RADIUS server.
–
Specify the peer default ip address dhcp command at the PPP virtual template interface.
–
Specify the aaa authorization network method_list none command on the GGSN.
•
RADIUS IP address allocation
–
Be sure that users are configured on the RADIUS server using the complete username@domain format.
–
Specify the no peer default ip address command at the PPP Virtual Template interface.
–
For more information about configuring RADIUS services on the GGSN, see the "Configuring Security on the GGSN" chapter in this book.
•
Local pool IP address allocation
–
Be sure to configure a local pool using the ip local pool command.
–
Specify the aaa authorization network method_list none command on the GGSN.
–
Specify the peer default ip address pool pool-name command.
Note
On the Cisco 7600 platform, dynamic address allocation using the DHCP or RADIUS server methods requires that the DHCP or RADIUS server be Layer 3 routeable from the supervisor engine.
Configuring DHCP on the GGSN
You can use local DHCP services within the Cisco IOS software, or you can configure the GGSN to use an external DHCP server such as the Cisco Network Registrar (CNR). For information about configuring internal DHCP services in the Cisco IOS software, see Cisco IOS Configuration Fundamentals Configuration Guide.
The DHCP server can be specified in two ways:
•
At the global configuration level, using the gprs default dhcp-server command
•
At the access-point configuration level, using the dhcp-server command
To configure DHCP support on the GGSN, you must configure either the gprs default ip-address-pool command in global configuration mode or the ip-address-pool command in access-point configuration mode with the dhcp-proxy-client keyword option.
After you configure the access point for DHCP proxy client services, use the dhcp-server command in access-point configuration mode to specify a DHCP server.
Use the ip-address argument to specify the IP address of the DHCP server. The second, optional ip-address argument can be used to specify the IP address of a backup DHCP server to use in the event that the primary DHCP server is unavailable. If you do not specify a backup DHCP server, then no backup DHCP server is available.
If you specify a DHCP server at the access-point level by using the dhcp-server command, then the server address specified at the access point overrides the address specified at the global level. If you do not specify a DHCP server address at the access-point level, then the address specified at the global level is used.
Therefore, you can have a global address setting and also one or more local access-point level settings if you need to use different DHCP servers for different access points.
Use the vrf keyword when the DHCP server itself is located within the address space of a VRF interface on the GGSN. If the DHCP server is located within the VRF address space, then the corresponding loopback interface for the dhcp-gateway-address must also be configured within the VRF address space.
This section contains the following information:
•
Configuring DHCP Server Communication Globally
•
Configuring DHCP at the GGSN Global Configuration Level
•
Configuring a Local DHCP Server
•
Configuration Example
Configuring DHCP Server Communication Globally
This section describes how to configure a global DHCP server host that the GGSN can use to assign IP addresses to mobile users. You can configure additional DHCP server communication at the GGSN global configuration level.
To globally configure DHCP server communication on the router or instance of Cisco IOS software, use the following commands, beginning in global configuration mode:
|
|
|
Step 1 |
Router(config)# ip address-pool {dhcp-proxy-client | local} |
Specifies an IP address pool mechanism, where: • dhcp-proxy-client—Specifies the router or instance of Cisco IOS software as the proxy-client between a third-party DHCP server and peers connecting to the router or IOS instance. • local—Specifies the local address pool named "default". Note There is no default option for the ip address-pool command. If you configure a local address pool using the local keyword, you can also configure the optional commands in Step 4 and Step 5. |
Step 2 |
Router(config)# ip dhcp-server {ip-address | name} |
Specifies the IP address or name of a DHCP server. |
Step 3 |
Router(config)# ip dhcp excluded address low-address [high-address] |
(Optional) Specifies IP addresses that a DHCP server should not assign to DHCP clients, where: • low-address—Specifies the first IP address in an excluded address range. This address is typically the address of the DHCP server itself. • high-address—(Optional) Specifies the last IP address in the excluded address range. |
Step 4 |
Router(config)# ip dhcp pool name |
(Optional—Supports ip address-pool local command only.) Configures a DHCP address pool, and enters DHCP pool configuration mode, where name can be either a symbolic string (such as "engineering") or an integer (such as 0). |
Step 5 |
Router(config-dhcp)# network network-number [mask | /prefix-length] |
(Optional—Supports ip address-pool local command only.) Specifies the subnet network number and mask of the DHCP address pool. The prefix length specifies the number of bits in the address prefix. The prefix is an alternative way of specifying the network mask of the client. The prefix length must be preceded by a forward slash (/). |
For more information about configuring global DHCP services, see Cisco IOS IP Configuration Guide, Cisco IOS IP Command References, and the Cisco IOS Dial Technologies Command Reference publications.
Configuring DHCP at the GGSN Global Configuration Level
To complete the DHCP configuration for the GGSN, you can configure DHCP at the GGSN global configuration level. When you configure DHCP at the GGSN configuration level, you can configure DHCP server communication for all access points or for a specific access point.
Configuring DHCP at the GGSN configuration level includes the following tasks:
•
Configuring a Loopback Interface (Required)
•
Specifying a DHCP Server for All Access Points (Optional)
•
Specifying a DHCP Server for a Particular Access Point (Optional)
Configuring a Loopback Interface
When you configure a DHCP gateway address for DHCP services at an access point, and when you are supporting unique supernets across all access points on the GGSN for DHCP, then you must configure a loopback interface for each unique network.
A loopback interface is a software-only interface that emulates an interface that is always up. It is a virtual interface supported on all platforms. The interface number is the number of the loopback interface that you want to create or configure. There is no limit on the number of loopback interfaces you can create.
To configure a loopback interface on the GGSN, use the following commands, beginning in global configuration mode:
|
|
|
Step 1 |
Router(config)# interface loopback interface-number |
Defines a loopback interface on the GGSN, where interface-number identifies the loopback interface. |
Step 2 |
Router(config-if)# ip address ip-address mask [secondary] |
Specifies an IP address for the interface, where: • ip-address—Specifies the IP address of the interface in dotted decimal format. • mask—Specifies a subnet mask in dotted decimal format. • secondary—Specifies that the configured address is a secondary IP address. If this keyword is omitted, the configured address is the primary IP address. Note The ip-address corresponds to the IP address of the DHCP gateway address at the access point. The mask should be 255.255.255.255 to match the dhcp-gateway-address value exactly. |
Specifying a DHCP Server for All Access Points
When processing DHCP address allocation, the GGSN software first checks to see whether a DHCP server is specified at the access-point configuration level. If a server is specified, the GGSN uses the DHCP server specified at the access point. If no DHCP server is specified at the access-point configuration level, then the GGSN uses the default GGSN DHCP server.
To specify a DHCP server for all GGSN access points, use the following commands, beginning in global configuration mode:
|
|
|
Step 1 |
Router(config)# gprs default ip-address-pool {dhcp-proxy-client | radius-client | disable} |
Specifies a dynamic address allocation method using IP address pools for the GGSN, where: • dhcp-proxy-client—Specifies that the GGSN dynamically acquires IP addresses for a mobile station (MS) from a DHCP server. Use this keyword to enable DHCP services. • radius-client—Specifies that the GGSN dynamically acquires IP addresses for an MS from a RADIUS server. • disable—Disables dynamic address allocation by the GGSN. There is no default option for this command. |
Step 2 |
Router(config)# gprs default dhcp-server {ip-address | name} [{ip-address | name}]
|
Specifies a primary (and backup) DHCP server from which the GGSN obtains IP address leases for mobile users, where: • ip-address—Specifies the IP address of a DHCP server. The second (optional) ip-address argument specifies the IP address of a backup DHCP server. • name—Specifies the hostname of a DHCP server. The second (optional) name argument specifies the hostname of a backup DHCP server. |
Specifying a DHCP Server for a Particular Access Point
To override the default DHCP server configured for all access points, you can specify a different DHCP server for a particular access point. Or, if you choose not to configure a default GGSN DHCP server, you can specify a DHCP server at each access point.
To specify a DHCP server for a particular access point, use the following commands, beginning in access-point configuration mode:
|
|
|
Step 1 |
Router(config-access-point)# ip-address-pool {dhcp-proxy-client | radius-client | local pool-name | disable} |
(Optional) Specifies a dynamic address allocation method using IP address pools for the current access point. The available options are: • dhcp-proxy-client—DHCP server provides the IP address pool. • radius-client—RADIUS server provides the IP address pool. • local—Specifies that a local pool provides the IP address. This option requires that a local pool is configured using the ip local pool command in global configuration mode. • disable—Turns off dynamic address allocation. Note If you are using a dynamic address allocation method, then you must configure this command according to the appropriate IP address pool source. |
Step 2 |
Router(config-access-point)# dhcp-server {ip-address} [ip-address] [vrf]
|
Specifies a primary (and backup) DHCP server that the GGSN uses at a particular access point to obtain IP address leases for mobile users for access to a PDN, where: • ip-address—Specifies the IP address of a DHCP server. The second (optional) ip-address argument specifies the IP address of a backup DHCP server. • vrf—DHCP server uses the VPN routing and forwarding (VRF) table that is associated with the APN. |
Step 3 |
Router(config-access-point)# dhcp-gateway-address ip-address |
Specifies the subnet in which the DHCP server should return addresses for DHCP requests for MS users entering a particular PDN access point. Note You must configure a corresponding loopback interface with the same IP address as the DHCP gateway address. |
Configuring a Local DHCP Server
Note
We do not recommend using a local DHCP server on the Cisco 7600 platform.
Although most networks use external DHCP servers, such as that available through the Cisco Network Registrar (CNR), you can also configure internal DHCP services on the GGSN. If you use local DHCP services on the GGSN, then there are a couple of commands that you should configure to improve the internal DHCP response times.
To optimize local DHCP services on the GGSN, use the following commands, beginning in global configuration mode:
|
|
|
Step 1 |
Router(config)# ip dhcp ping packets 0 |
Specifies that the Cisco IOS DHCP Server sends 0 packets to a pool address as part of a ping operation. |
Step 2 |
Router(config)# ip dhcp ping timeout 100 |
Specifies that the Cisco IOS DHCP Server waits for a ping reply from an address pool for 100 milliseconds. |
Configuration Example
The following example shows a VRF configuration for vpn3 (without tunneling) using the ip vrf command in global configuration mode. Because the ip vrf command establishes both VRF and CEF routing tables, notice that ip cef also is configured at the global configuration level to enable CEF switching at all of the interfaces.
The following other configuration elements must also associate the same VRF named vpn3:
•
FastEthernet0/0 is configured as the Gi interface using the ip vrf forwarding command in interface configuration mode.
•
Access-point 2 implements VRF using the vrf command access-point configuration mode.
The DHCP server at access-point 2 also is configured to support VRF. Notice that access-point 1 uses the same DHCP server, but is not supporting the VRF address space. The IP addresses for access-point 1 will apply to the global routing table:
aaa group server radius abc
aaa authentication ppp abc group abc
aaa authorization network abc group abc
aaa accounting network abc start-stop group abc
ip address 10.30.30.30 255.255.255.255
ip address 10.27.27.27 255.255.255.255
interface FastEthernet0/0
ip address 10.50.0.1 255.255.0.0
interface FastEthernet1/0
ip address 10.70.0.1 255.255.0.0
ip address 10.8.0.1 255.255.255.0
interface Virtual-Template1
gprs access-point-list gprs
ip route 10.10.0.1 255.255.255.255 Virtual-Template1
ip route vrf vpn3 10.100.0.5 255.255.255.0 fa0/0 10.50.0.2
ip route 10.200.0.5 255.255.255.0 fa1/0 10.70.0.2
gprs access-point-list gprs
access-point-name gprs.pdn.com
ip-address-pool dhcp-proxy-client
dhcp-gateway-address 10.30.30.30
network-request-activation
access-point-name gprs.pdn2.com
access-mode non-transparent
ip-address-pool dhcp-proxy-client
dhcp-server 10.100.0.5 10.100.0.6 vrf
dhcp-gateway-address 10.27.27.27
aaa-group authentication abc
gprs default ip-address-pool dhcp-proxy-client
radius-server host 10.2.3.4 auth-port 1645 acct-port 1646 non-standard
radius-server host 10.6.7.8 auth-port 1645 acct-port 1646 non-standard
radius-server key ggsntel
Configuring MS Addressing via Local Pools on the GGSN
As the number of PDP contexts increases, allocating IP addresses via locally-configured address pools improves the PDP context activation rate. Whether or not addresses are allocated to MSs using local pools is specified at the access-point configuration level and requires that a local pool or pools of IP address have been configured on the GGSN using the ip local pool configuration command.
Holdback Timer
The IP local pool holdback timer feature (recycle delay keyword option) enables you to configure a specific amount of time a newly released IP address is held before being made available for reassignment. This ensures that an IP address recently released after a PDP session is deleted is not reassigned to another PDP context before the IP-to-user relationship is deleted from all back-end components of the system. If an IP address is reassigned to a new PDP context immediately, the back-end system could incorrectly associate the new user with the record of the previous user, therefore erroneously associating the charging and service access of the new user to the previous user.
The holdback functionality is provided by the support of a new timestamp field added to the pool element data structure. When a request to allocate a specific address is made, if the address is available for reassignment, the current time is checked against the timestamp field of the element. If that number is equal to, or exceeds the number of seconds configured for the recycle delay, the address is reassigned.
When a request is made to allocate the first free address from the free queue, the difference between the current timestamp and the timestamp stored for the element is calculated. If the number is equal to, or exceeds, the configured recycle delay, the address is allocated. If the number is not equal to, or does not exceed the configured recycle delay, the address is not allocated for that request. (The free queue is a first-in first-out [FIFO] queue. Therefore, all other elements will have a great recycle delay than the first element.)
When an address assignment is blocked because an IP address is held for some time, a count of blocked address assignments that is maintained for the local pool is incremented.
Note
The holdback timer feature does not support IPv6 local pools.
To configure a local IP address pool, use the following command in global configuration mode:
|
|
|
Step 1 |
Router(config)#ip local pool {default | pool-name low-ip-address [high-ip-address]} [recycle delay seconds] |
Configures a local pool of IP addresses to use when a remote peer connects to a point-to-point interface, where: • default—Default local address pool is used if no other pool is named. • pool-name—Name of a specific local address pool. • low-ip-address—Lowest IP address in the pool. • high-ip-address—(Optional) Highest IP address in the pool. If this value is omitted, only the low-ip-address IP address argument is included in the local pool. • recycle delay seconds—(Optional) The time, in seconds, addresses should be held before making them available for reassignment. |
To assign a local pool to an access-point, use the following command in access-point configuration mode:
|
|
Router(config-access-point)# ip-address-pool local pool-name
|
(Optional) Specifies that a local pool provides the IP address. |
Note
Using VRF at the access point, you can configure APNs that use the same IP address pool (overlapping addresses).
Fore more information on configuring VPN access via VRF from an access point, see the "VPN Access Using VRF Configuration Task Lists" section on page 9-13.
To verify the local pool configure, use the show ip local [pool name] command in privileged EXEC mode:
Router#show ip local pool
Pool Begin End Free In use Blocked
poola 10.8.8.1 10.8.8.5 5 0 0
Router #show ip local pool poolA
Pool Begin End Free In use Blocked
poola 10.8.8.1 10.8.8.5 5 0 0
Held addresses: Time Remaining
Configuration Example
The following is a configuration example of a local address pool configured at the APN.
ip local pool local_pool1 128.1.0.1 128.1.255.254
access-point-name gprs.pdn.com
ip-address-pool local local_pool1
Configuring MS Addressing via RADIUS
Dynamic IP addressing via a RADIUS server is configured at the access-point configuration level using the ip-address-pool command in access-point configuration mode.
For more information about the ip-address-pool access-point configuration command, see "Configuring Additional Real Access Point Options" section on page 9-20. For more information about configuring RADIUS, see Cisco IOS Security Configuration Guide.
Configuring Overlapping Local IP Address Pools
The Overlapping Local IP Address Pools feature improves flexibility in assigning IP addresses dynamically. This feature allows you to configure overlapping IP address pool groups to create different address spaces and concurrently use the same IP addresses in different address spaces.
Overlapping Local IP Address Pools gives greater flexibility in assigning IP addresses dynamically. It allows you to configure overlapping IP address pool groups to create different address spaces and concurrently use the same IP addresses in different address spaces.
With Cisco IOS Release 12.3(2)XB and later, the GGSN supports the concept of an IP address group to support multiple IP address spaces and still allow the verification of non overlapping IP address pools within a pool group. Pool names must be unique within the GGSN. The pool name carries an implicit group identifier because that pool name can be associated only with one group. Pools without an explicit group name are considered members of the base system group and are processed in the same manner as the original IP pool implementation.
Existing configurations are not affected by the new pool feature. The "group" concept is an extension of the existing ip local pool command. Processing of pools that are not specified as a member of a group is unchanged from the existing implementation.
To configure a local IP address pool group and verify that it exists, use the following commands in global configuration mode:
|
|
|
Step 1 |
Router(config)#ip local pool {default | pool-name} [low-ip-address [high-ip-address]] [group group-name] Example:
GGSN(config)# ip local pool testpool 10.2.2.1
10.2.2.10 group testgroup cache-size 10000
|
Configures a local pool of IP addresses to use when a remote peer connects to a point-to-point interface, where: • default—Defaults local address pool that is used if no other pool is named. • pool-name—Name of a specific local address pool. • low-ip-address—Lowest IP address in the pool. • high-ip-address—(Optional) Highest IP address in the pool. If this value is omitted, only the low-ip-address IP address argument is included in the local pool. • group group-name—(Optional) Creates a pool group. |
Step 2 |
Router(config)# show ip local pool [poolname |
[group group-name]]
Example:
GGSN(config)# show ip local pool group testgroup
testpool
|
Displays statistics for any defined IP address pools. |
Overlapping Local IP Address Pools Configuration Examples
The following are configuration examples for configuring IP overlapping address pools.
•
Defining Local Address Pooling as the Global Default
•
Configuring Multiple Ranges of IP Addresses into One Pool Example
•
Configuring IP Overlapping Address Pools on a GGSN on the Cisco 7600 Platform with Supervisor II / MSFC2 Example
Defining Local Address Pooling as the Global Default
The following example shows how to configure local pooling as the global default mechanism:
ip address-pool local ip local pool default 192.169.15.15 192.68.15.16
Configuring Multiple Ranges of IP Addresses into One Pool Example
The following example shows how to configure two ranges of IP addresses for one IP address pool:
ip local pool default 192.169.10.10 192.169.10.20
ip local pool default 192.169.50.25 192.169.50.50
Configuring IP Overlapping Address Pools on a GGSN on the Cisco 7600 Platform with Supervisor II / MSFC2 Example
The following example shows how to configure IP overlapping address pools on the Cisco 7600 platform
The following examples also show a partial configuration for two VPNs (vpn1 and vpn2) and their associated GRE tunnel configurations (Tunnel1 and Tunnel2).
On the GGSN:
ip address 150.1.1.72 255.255.0.0
description GPRS GTP V-TEMPLATE IP ADDRESS
ip address 9.9.9.72 255.255.255.0
description VRF-GRE to PDN 7500(13) Fa0/1
ip address 50.50.52.72 255.255.255.0
tunnel destination 165.2.1.13
description VRF-GRE to PDN PDN x(12) Fa3/0
ip address 80.80.82.72 255.255.255.0
tunnel destination 167.2.1.12
interface GigabitEthernet0/0.1
ip address 10.1.2.72 255.255.255.0
interface Virtual-Template1
ip unnumbered Loopback100
gprs access-point-list gprs
network 10.1.2.0 0.0.0.255 area 10
network 150.1.0.0 0.0.255.255 area 10
ip local pool vpn1_pool 100.2.0.1 100.2.255.255 group vpn1
ip local pool vpn2_pool 100.2.0.1 100.2.255.255 group vpn2
ip route vrf vpn1 0.0.0.0 255.255.255.0 Tunnel1
ip route vrf vpn2 0.0.0.0 255.255.255.0 Tunnel2
gprs access-point-list gprs
access-point-name apn.vrf1.com
access-mode non-transparent
aaa-group authentication ipdbfms
ip-address-pool local vpn1_pool
access-point-name apn.vrf2.com
access-mode non-transparent
aaa-group authentication ipdbfms
ip-address-pool local vpn2_pool
Related configuration on the Supervisor / MSFC2:
interface FastEthernet9/5
switchport access vlan 167
interface FastEthernet9/10
switchport access vlan 165
ip address 165.1.1.1 255.255.0.0
ip address 167.1.1.1 255.255.0.0
! provides route to tunnel endpoints on GGSNs
network 10.1.2.0 0.0.0.255 area 10
! routes to tunnel endpoints on PDN
ip route 165.2.0.0 255.255.0.0 165.1.1.13
ip route 167.2.0.0 255.255.0.0 167.1.1.12
Configuring the NBNS and DNS Address for an APN
You can configure a primary and secondary NetBIOS Name Service (NBNS) and domain name system (DNS) under an APN. This feature is benefits address allocation schemes where there is no mechanism to obtain these address. Also, for a RADIUS-based allocation scheme, it prevents the operator from having to configure a NBNS and DNS under each user profile.
The NBNS and DNS addresses can come from three possible sources: DHCP server, RADIUS server, or local APN configuration. The criterion for selecting the addresses depends on the IP address allocation scheme configured under the APN. Depending on the configuration, the criterion for selecting the DNS and NBNS addresses is as follows:
1.
DHCP-based IP address allocation scheme (local and external)—NBNS address returned from the DHCP server is sent to the MS. If the DHCP server does not return an NBNS address, the local APN configuration is used.
2.
RADIUS-based IP address allocation scheme—NBNS address returned from the RADIUS server (in Access-Accept responses) is used. If the RADIUS server does not return an NBNS address, the local APN configuration is used.
3.
Local IP Address Pool-based IP address allocation scheme—Local APN configuration is used.
4.
Static IP Addresses—Local APN configuration is used.
Note
The GGSN sends NBNS and DNS addresses in the create PDP response only if the MS is requesting the DNS address in the PCO IE.
To specify a primary (and backup) NBNS to be sent in create PDP responses at the access point, use the nbns primary command in access-point configuration mode. To remove the NBNS from the access-point configuration, use the no form of this command
nbns primary ip-address [secondary ip-address]
To specify a primary (and backup) DNS to be sent in create PDP responses at the access point, use the dns primary command in access-point configuration mode. To remove the DNS from the access-point configuration, use the no form of this command
dns primary ip-address [secondary ip-address]
Using Dynamic IP Address Management on the Cisco GGSN
With Cisco GGSN Release 10.0 and later, the Dynamic IP Address Management feature enables dynamic IP address allocation to support operators who might not initially know the IP address range of a subscriber, and therefore, the routing table cannot be preconfigured on the supervisor module to provide the proper routing of downlink traffic.
Cisco GGSN Release 10.0 and later introduces a subnet manager function that enables the dynamic creation of subnet routes . This enables multiple host routesto be aggregated into a single subnet route. Dynamic subnet routes are created only in an eGGSN implementation when Cisco CSG2 is present. Dynamic subnets cannot be created in a non-eGGSN implementation.
When configuring dynamic IP address management:
•
Routing entries are dynamically created.
•
OSPF routing protocol is used to propagate dynamic routes from the PCOP to the supervisor in a non-eGGSN implementation. In an eGGSN implementation, OSPF on the Cisco CSG2 propagates the routes to the supervisor.
•
Dynamic subnet creation is only supported in an eGGSN implementation when a Cisco CSG2 is present and reduces the total number of dynamic routing entries.
•
In both eGGSN and non eGGSN implementations, pre-existing aggregate route schemes are supported.
•
Dynamic routes are synchronized to the standby GGSN.
Subnet Management in an Enhanced GGSN Implementation
In an eGGSN implementation with the Cisco CSG2, when a default subnet mask is specified under an APN, dynamic subnet creation is automatically enabled.
During the create PDP context process, once the IP address of a subscriber is determined (via a local pool, DHCP, or RADIUS), the Cisco GGSN subnet manager attempts to match the IP address with one of the configured aggregate routes. The aggregate routes can be under the APN, or globally defined if aggregate auto is enabled.
The selection rules give the highest priority to Framed-IP-Address/Mask attributes in Radius Access Requests, followed by APN aggregate routes, and then global aggregate routes. If none of those are matched, the Cisco GGSN applies the APN default subnet mask, if configured, to generate a dynamic subnet route. If you have not configured a default subnet mask under an APN, the Cisco GGSN uses the host route.
Once the route is determined, the Cisco GGSN invokes a Cisco CSG2 load balancing (see "Configuring Cisco CSG2 Load Balancing" section on page 8-49). The Cisco CSG2 load balancing determines the serving Cisco CSG2 for the given subscriber IP address and subnet mask. The same Cisco CSG2 is selected across Cisco SAMIs if the Cisco CSG2 and subscriber IP address and subnet mask configuration is identical in the same APN.
When the Cisco CSG2 is selected, the Cisco GGSN sends the Accounting-Start messages to the selected Cisco CSG2, along with a new route-info VSA that includes the subscriber IP address and subnet mask. The Cisco CSG2 propagates the subnet route to the supervisor via OSPF.
Subnet Management in an Non Enhanced GGSN Implementation
Dynamic subnet creation is disable in a non-eGGSN implementation. If a default subnet mask is configured under an APN, it is ignored.
During the create PDP context processing, when the IP address of a subscriber is determined (via local pool, DHCP, or RADIUS), the subnet manager attempts to match the IP address with one of the configured aggregate routes. The aggregate rouates can be under the APN, or globally defined if aggregate-auto is enabled.
The selection rules give the highest priority to Framed-IP-Address/Mask attributes in Radius Access Requests, followed by APN aggregate routes, and then global aggregate routes. If none of those match, a host route is created.
The Cisco GGSN propagates the downlink route to the supervisor.
Enabling Mobile Routes on the GGSN
To support dynamic IP address management, before the creation of any PDP contexts, you must configure the router mobile command in global configuration mode on the Cisco GGSN to enable mobile routes.
Note
The router mobile command is an existing Cisco IOS command that is used in a Cisco GGSN and Cisco CSG2 implementation to only enable the dynamic IP address manager feature. The Cisco GGSN utilization of the router mobile command is not related to any other Cisco IOS router mobile command usage. No other routing mobile subcommand is supported on the Cisco GGSN.
In the service-aware GGSN implementation, the router mobile command in global configuration mode enables the GGSN to manage routing entries for subscribers more efficiently. These entries are idefintified by the leter "M" in the routing table displayed using the show ip route command. When OSPF is enabled, these routing entries can be propagated to a routing peer.
To enable mobile routes on the Cisco GGSN, use the following command:
|
|
Router(config)# router mobile |
Enables mobile routes on the Cisco GGSN. |
To display the routes, use show ip route command in privileged EXEC mode:
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route
Gateway of last resort is not set
C 20.1.1.23 is directly connected, Loopback1
23.0.0.0/16 is subnetted, 1 subnets
M 23.23.0.0 [1/0] via 0.0.0.0, 00:17:11, Virtual-Access3
Configuring a Default Subnet Mask for Dynamic Subnet Management
To configure a default subnet mask under an APN, and enable dynamic IP address management in an eGGSN implementation with a Cisco CSG2, use the following command in access-point configuration mode:
|
|
Router(config-access-point)# aggregate 0.0.0.0 sub-mask
|
Configures a default subnet mask for subnet management and enables dynamic subnet creation. |
Disabling Route Propagation from the Cisco GGSN to the Supervisor
By default, route distribution is enabled. However, for an eGGSN implementation, OSPF route redistribution is not required and should be disabled because the Cisco CSG2 propagates downlink routes to the supervisor.
To configure the Cisco GGSN to not propagate downlink routes to the supervisor, use the following command in access-point configuration mode:
|
|
|
Step 3 |
Router(config-access-point)# ip-address-pool
{dhcp-proxy-client | radius-client [no-redistribute]
| local pool-name | disable}
|
Specifies a dynamic address allocation method using IP address pools for the current access point, where: • dhcp-proxy-client—The access point IP address pool is allocated using a DHCP server • radius-client—The access point IP address pool is allocated using a RADIUS server. Optionally, specify the no-redistribute keyword option to disable • route propagation from the Cisco GGSN to the supervisor. • local—The access point IP address pool is allocated using a locally configured address pool. • disable—Disables dynamic address allocation for this access point. |
Configuration Examples
The following are dynamic ip address management configuration examples:
gprs access-point-list gprs
access-point-name static-ip
access-mode non-transparent
aaa-accounting interim update
aaa-group authentication ra_aaa
aaa-group accounting ra_aaa
gtp response-message wait-accounting
charging profile any 1 override
access-point-name dhcp-ip
access-mode non-transparent
aaa-accounting interim update
aaa-group authentication ra_aaa
aaa-group accounting ra_aaa
ip-address-pool dhcp-proxy-client
aggregate 0.0.0.0 255.255.0.0
dhcp-server 172.64.110.38
dhcp-gateway-address 172.69.69.1
gtp response-message wait-accounting
charging profile any 1 override
access-point-name radius-ip
access-mode non-transparent
aaa-accounting interim update
aaa-group authentication ra_aaa
aaa-group accounting ra_aaa
ip-address-pool radius-client no-redistribute
aggregate 0.0.0.0 255.255.0.0
gtp response-message wait-accounting
charging profile any 1 override
access-point-name localpool-ip
access-mode non-transparent
aaa-accounting interim update
aaa-group authentication ra_aaa
aaa-group accounting ra_aaa
ip-address-pool local ra_localpool
aggregate 0.0.0.0 255.255.255.255
gtp response-message wait-accounting
charging profile any 1 override
advertise downlink next-hop 7.19.18.103
access-point-name dhcpvrf-ip
ip-address-pool dhcp-proxy-client
dhcp-server 172.64.110.38
dhcp-gateway-address 169.69.69.1
access-point-name dhcp-ip2
ip-address-pool dhcp-proxy-client
aggregate 172.0.0.0 255.0.0.0
dhcp-server 172.64.110.38
dhcp-gateway-address 172.69.69.1