Table Of Contents
DHCP Enhancements for Edge-Session Management
Information About DHCP Enhancements for Edge-Session Management
On-Demand Address Pool Management
Design of the DHCP Enhancements for Edge-Session Management Feature
DHCP Server Co-Resident with the SG
DHCP Relay Agent Co-Resident with the SG
Benefits of the DHCP Enhancements for Edge-Session Management
How to Configure DHCP Enhancements for Edge-Session Management
Configuring the DHCP Address Pool and a Class Name
Configuring a Relay Pool with a Relay Source and Destination
Configuring a Relay Pool for a Remote DHCP Server
Configuring Other Types of Relay Pools
Configuring an Network Address Relay Pool
Configuring a Pool Class Address Range as a Relay Pool
Configuring Multiple Relay Sources for a Relay Pool
Configuration Examples for DHCP Enhancements for Edge Session Management
DHCP Server Co-Resident with SG Configuration: Example
DHCP Relay Agent Co-Resident with SG Configuration: Example
SG-Supplied Class Name Configuration: Example
DHCP Enhancements for Edge-Session Management
The DHCP Enhancements for Edge-Session Management feature provides the capability of simultaneous service by multiple Internet Service Providers (ISPs) to customers using one network infrastructure. The end-user customer can change ISPs at any time.
The DHCP enhancements evolved out of the Service Gateways (SGs) requirement to receive information from the DHCP server about when client DISCOVER packets (session initiation) are received, when an address has been allocated to a client, and when a client has released a DHCP lease or the lease has expired (session termination).
Feature History for DHCP Enhancements for Edge-Session Management
Release Modification12.3(14)T
This feature was introduced.
12.2(27)SBA
This feature was integrated into Cisco IOS Release 12.2(27)SBA.
Finding Support Information for Platforms and Cisco IOS Software Images
Use Cisco Feature Navigator to find information about platform support and Cisco IOS software image support. Access Cisco Feature Navigator at http://www.cisco.com/go/fn. You must have an account on Cisco.com. If you do not have an account or have forgotten your username or password, click Cancel at the login dialog box and follow the instructions that appear.
Contents
•
Information About DHCP Enhancements for Edge-Session Management
•
How to Configure DHCP Enhancements for Edge-Session Management
•
Configuration Examples for DHCP Enhancements for Edge Session Management
Information About DHCP Enhancements for Edge-Session Management
To configure DHCP Enhancements for Edge-Session Management feature, you should understand the following concepts:
•
DHCP Servers and Relay Agents
•
On-Demand Address Pool Management
•
Design of the DHCP Enhancements for Edge-Session Management Feature
DHCP Servers and Relay Agents
DHCP provides a framework for passing configuration information dynamically to hosts on a TCP/IP network. A DHCP client is an Internet host using DHCP to obtain configuration parameters such as an IP address.
A DHCP relay agent is any host that forwards DHCP packets between clients and servers. Relay agents are used to forward requests and replies between clients and servers when they are not on the same physical subnet. Relay agent forwarding is distinct from the normal forwarding of an IP router, where IP datagrams are switched between networks somewhat transparently. By contrast, relay agents receive DHCP messages and then generate a new DHCP message to send on another interface.
For more information, refer to the "Configuring DHCP" chapter of the Cisco IOS IP Configuration Guide, Release 12.3.
On-Demand Address Pool Management
An On-Demand Address Pool (ODAP) is used to centralize the management of large pools of addresses and simplifies the configuration of large networks. ODAP provides a central management point for the allocation and assignment of IP addresses.
When a Cisco router is configured as an ODAP manager, pools of IP addresses are dynamically increased or reduced in size depending on the address utilization level. The ODAP manager is supported by centralized Remote Authentication Dial-In User Service (RADIUS) or DHCP servers and is configured to request an initial pool of addresses from either the RADIUS or DHCP server.
The ODAP manager controls IP address assignment and will allocate additional IP addresses as necessary. This method of address allocation and assignment optimizes the use of available address space and simplifies the configuration of medium and large-sized networks.
For more information, refer to DHCP ODAP Server Support, Cisco IOS Release 12.2T.
Design of the DHCP Enhancements for Edge-Session Management Feature
With the DHCP Enhancements for Edge-Session Management feature, a DHCP server and relay agent are separate, but closely coupled. The basic design of the feature encompasses two types of configuration at the edge of an ISP network as follows:
•
DHCP server and a SG that are co-resident (in the same device)
•
DHCP client and a SG that are co-resident
DHCP Server Co-Resident with the SG
With this configuration, the DHCP server is in the same device as the SG and hands out addresses from locally configured address pools or acquires a subnet of addresses to hand out from some other system in the network. There are no changes to the server address allocation function to support the configuration.
In this configuration, the end-user DHCP client system sends a broadcast DISCOVER that is received by the DHCP server. The DHCP server uses a "registry call" that notifies the SG of receipt of the DISCOVER broadcast and passes the MAC address and other information to the SG.
The SG returns a class name (for example, the name of the ISP) from which an address is allocated. The address pool is selected by DHCP using either the subnet of the incoming interface (for a non-relayed packet) or the giaddr (for a relayed packet). The class name specified by the SG is taken into account as well. At this point, the DHCP server can allocate an address from the selected address pool.
The registry call that normally returns the class name to use in allocation will return FALSE if no SG is present in the same device. In this case, normal DHCP server address allocation occurs.
Lease state registry notifications (notification of DISCOVER, notification of address allocation, and notification of lease termination) are always done on the IOS DHCP server, since the information is already present.
![]()
Note
The local configuration can also be performed by ODAP that acquires subnets for the address pools from another DHCP server or a RADIUS server.
DHCP Relay Agent Co-Resident with the SG
With this configuration, the relay agent is in the same device as the SG and intercedes in DHCP sessions to become the DHCP server. As the server, the relay agent can obtain enough information about the DHCP session to notify the SG of all events (for example, lease termination).
Becoming the DHCP server is accomplished by using the DHCP functionality that is currently in use on unnumbered interfaces. This functionality enables the relay agent to substitute its own IP address for the server by using the Server-ID option in the DHCP OFFER packet. When the client sends a REQUEST packet, the original Server-ID option is substituted with the relay agent IP address in the ACK. The DHCP client thinks that the relay agent is the DHCP server and and sends the relay agent all of the DHCP interactions.
Using this configuration, the end-user DHCP client system sends a broadcast DISCOVER packet that is received by the DHCP relay agent system on the edge of the network. The packet is first passed by the relay agent to the DHCP server on the same device that uses a registry call to notify the SG of receipt of the DISCOVER. Following the notification, another registry call makes an inquiry about a DHCP class name to use.
The second registry call passes the client MAC address and other pertinent information to the SG. The SG returns the DHCP class name from which an address is allocated. The address pool is selected by DHCP using the subnet of the incoming interface, and the class name specified by the SG is taken into account as well.
Assuming that the registry call tells DHCP to relay the packet to another server instead of servicing the request locally, (as specified by either the relay destination command or relay target command), the relay agent creates a relay binding for the packet in order to hold lease state information. The relay agent inserts a giaddr address by using the normal process along with a relay information option (if configured to do so). The relay agent relays the packet to the configured and selected server by the incoming interface and DHCP class name.
![]()
Note
An address pool can have one DHCP class defined to specify one central DHCP server to which the relay agent passes the packet, or can have multiple DHCP classes defined to specify a different DHCP server for each client.
Benefits of the DHCP Enhancements for Edge-Session Management
The benefits of the DHCP Enhancements for Edge-Session Management feature are as follows:
•
Allows the full DHCP server system to be located farther inside the network, while only running a relatively simple DHCP relay agent at the edge.
•
Simplifies the DHCP configuration at the edge.
•
Allows all DHCP server administration to occur closer to the middle of the network on one centralized DHCP server, or on separate DHCP servers (one for each ISP).
•
Allows each ISP full control over all DHCP options and lease times.
•
Allows both the DHCP server and client configurations to be used on the same edge system simultaneously.
How to Configure DHCP Enhancements for Edge-Session Management
The following tasks configure the DHCP Enhancements for Edge-Session Management:
•
Configuring the DHCP Address Pool and a Class Name (optional)
•
Configuring a Relay Pool with a Relay Source and Destination (required)
•
Configuring a Relay Pool for a Remote DHCP Server (required)
•
Configuring Other Types of Relay Pools (optional)
Configuring the DHCP Address Pool and a Class Name
This task shows how to configure a DHCP server that assigns addresses from an address pool for a specific class name that has been assigned by an SG that is co-resident with the DHCP server at the edge.
If a DHCP server is resident in the same device as a SG and both are at the edge, a class name and address pool should be configured. In this case, the DHCP server notifies a SG of a DISCOVER broadcast received from a client, the SG returns a class name. The returned class name designates an address range of an address pool. The DHCP server sends the MAC address and IP address of the incoming interface or the specified "giaaddr" to the SG.
![]()
Note
If the DHCP server has its address pools defined locally or retrieves the subnets from ISP DHCP servers or AAA servers using ODAP, additional DHCP server configuration on behalf of the SG is not required.
If dynamic allocation of the address pool is required using ODAP, the origin command is specified.
Prerequisites
The specification of the class name is required in the DHCP address-pool configuration and in the SG system itself to designate each DHCP client class name. A default class name should be configured if a user does not one.
Each address pool should be associated with one or more DHCP classes (address-provider ISPs). When the DHCP client selects an ISP, the selection becomes the class name designated by the SG.
SUMMARY STEPS
1.
enable
2.
configure terminal
3.
ip dhcp pool name
4.
origin dhcp
5.
network network-number [mask | prefix-length]
6.
class class-name
7.
exit
DETAILED STEPS
Configuring a Relay Pool with a Relay Source and Destination
This task shows how to configure a relay pool when the DHCP relay and SG are resident in the same device at the edge, and all end users will obtain addresses from one pool unless they match a particular DHCP class. In that case, see "Configuring Other Types of Relay Pools" section. This task replaces the IP helper-address interface configuration.
A relay should obtain enough information about the DHCP session to notify the SG of all events (for example, lease termination). The relay intercedes DHCP sessions and assumes the role of the DHCP server. The IP address configuration becomes a dynamically changing value depending on the DHCP client information and the SG device policy information.
Restrictions
Substituting the DHCP server with the relay agent negates the use of the DHCP authentication option.
SUMMARY STEPS
1.
enable
2.
configure terminal
3.
ip dhcp pool name
4.
update arp
5.
relay source ip-address subnet mask
6.
relay destination [vrf vrf-name | global] ip-address
7.
exit
DETAILED STEPS
Configuring a Relay Pool for a Remote DHCP Server
This task shows how to use a SG-supplied class name when selecting the remote DHCP server in a configured relay pool to which packets are relayed. Multiple configurations of relay targets can appear in a pool-class definition in which case all addresses are used for relay purposes.
Restrictions
The relay source command cannot be used with the network command or origin command since those commands implicitly designate the incoming interface and are used to define a different type of pool. It associates the relay only with an interface in the same way that ip helper-address command does by its presence as an interface configuration command.
SUMMARY STEPS
1.
enable
2.
configure terminal
3.
ip dhcp pool name
4.
relay source ip-address subnet mask
5.
relay destination [vrf vrf-name | global] ip-address
6.
class class-name
7.
relay target [vrf vrf-name | global] ip-address
8.
exit
DETAILED STEPS
Configuring Other Types of Relay Pools
This section contains the following procedures:
•
Configuring an Network Address Relay Pool (required)
•
Configuring a Pool Class Address Range as a Relay Pool (required)
•
Configuring Multiple Relay Sources for a Relay Pool (required)
Configuring an Network Address Relay Pool
This task shows how to configure an address range for a relay pool. In this configuration, the SG sends one class name that results in the DISCOVER packet being relayed to the server at the IP address configured using the relay target command. If the SG sends a different class name than the one that is configured the packet is sent to the IP address configured using the network command.
Restrictions
Specifying the address range command and relay target command in a pool-class definition is not recommended, because this would allocate an address and relay for the same packet.
SUMMARY STEPS
1.
enable
2.
configure terminal
3.
ip dhcp pool name
4.
network network-number [mask | prefix-length]
5.
class class-name
6.
relay target [vrf vrf-name | global] ip-address
7.
class class-name
8.
exit
DETAILED STEPS
Configuring a Pool Class Address Range as a Relay Pool
This task shows how to configure a relay pool and an address range to be used when allocating addresses for a DHCP client without specifying a relay destination or target. The SG could specify a range of address for a DHCP client.
SUMMARY STEPS
1.
enable
2.
configure terminal
3.
ip dhcp pool name
4.
network network-number [mask | prefix-length]
5.
class class-name
6.
address range start-ip end-ip
7.
Repeat Steps 5 and 6 for each class name.
8.
exit
DETAILED STEPS
Configuring Multiple Relay Sources for a Relay Pool
This task shows how to configure multiple relay sources for a relay pool. The configuration is similar to configuring a IP helper address on multiple interfaces. Pools are matched to the IP addresses on an incoming interface in the order in which the interfaces display when the show running-config command is used. Once a relay is found or an address allocation is found, the search stops.
SUMMARY STEPS
1.
enable
2.
configure terminal
3.
interface type number
4.
ip address ip-address mask [secondary]
5.
ip dhcp pool name
6.
relay source ip-address subnet mask
7.
relay destination [vrf vrf-name | global] ip-address
8.
exit
DETAILED STEPS
Configuration Examples for DHCP Enhancements for Edge Session Management
This section contains the following configuration examples:
•
DHCP Server Co-Resident with SG Configuration: Example
•
DHCP Relay Agent Co-Resident with SG Configuration: Example
•
SG-Supplied Class Name Configuration: Example
DHCP Server Co-Resident with SG Configuration: Example
In the following configuration example, the ISPs are ABC and DEF companies. The ABC company has its addresses assigned from an address pool that is dynamically allocated using ODAP. The DEF company has its customer addresses assigned from the address pool 10.100.0.0/16. Customers not associated with any ISP will have an address allocated from the address pool 10.1.0.0/16 and the lease time is set to 10 minutes.
!Address pool for ABC customersip dhcp pool abc-poolorigin dhcpclass abc!!Address pool for DEF customers!ip dhcp pool def-poolnetwork 10.100.0.0 255.255.0.0class def!!Address pool for customers without an ISP!ip dhcp pool tempnetwork 10.1.0.0 255.255.0.0lease 0 0 10class defaultDHCP Relay Agent Co-Resident with SG Configuration: Example
In the following configuration example, there are two ISPs, "abcpool and defpool." The abcpool ISP and its customers are allowed to have addresses in the ranges 10.1.0.0/16 and 30.1.0.0/16, and are relayed to the DHCP server at 10.55.10.1. The defpool ISP and its customers are allowed to have addresses in the range 20.1.0.0/16 and 40.4.0.0/16 and are relayed to the DHCP server at 12.10.2.1.
!Address ranges:interface ethernet1ip address 10.1.0.0 255.255.0.0ip address 20.1.0.0 255.255.0.0 secondaryinterface ethernet2ip address 30.1.0.0 255.255.0.0ip address 40.4.0.0 255.255.0.0!Address pools for abcpool1 and abcpool2:ip dhcp pool abcpool1relay source 10.1.0.0 255.255.0.0class abcpool1relay target 10.55.10.1!Address pool for abcpool2:ip dhcp pool abcpool2relay source 30.1.0.0 255.255.0.0class abcpool2relay target 10.55.10.1!Address pools for defpool1 and defpool2:ip dhcp pool defpool1relay source 20.1.0.0 255.255.0.0class defpool1relay target 12.10.2.1ip dhcp pool defpool2relay source 40.4.0.0 255.255.0.0class defpool2relay target 12.10.2.1Configuration of secure ARP for the relay will use the same configuration command as secure ARP already uses on a DHCP server by using the update arp in address-pool configuration mode. If the system is allocating an address from this address pool, it will add secure ARP. If the system is relaying a packet using this address pool, it will also add secure ARP.
SG-Supplied Class Name Configuration: Example
In the following configuration example, an SG-supplied class name is to be used in selecting the remote DHCP server to which packets should be relayed.
ip dhcp pool abc-pool-1relay source 30.1.0.0 255.255.0.0relay destination 20.1.0.0class classname1relay target 10.20.10.1class classname2relay target 10.0.10.1class classname3In the configuration above, an SG-supplied class name, called classname1, would relay the DHCP DISCOVER packet to the server at the relay target IP address, while SG classname2 would relay the DHCP DISCOVER packet to the server at the relay target IP address.
If the SG returns a classname3, then the default pool is the default address specified as the relay destination. If the SG returns any other class name other than classname1, classname2, or classname3, then no relay action is taken.
Additional References
The following sections provide references related to DHCP Enhancements for Edge-Session Management feature.
Related Documents
Related Topic Document TitleIP addressing and services configuration tasks
Cisco IOS IP Configuration Guide, Release 12.3
IP addressing and services commands: complete command syntax, command mode, command history, defaults, usage guidelines, and examples
Cisco IOS IP Command Reference, Volume 1 of 4: Addressing and Services, Release 12.3T
DHCP configuration tasks
"Configuring DHCP" chapter of the Cisco IOS IP Configuration Guide, Release 12.3
DHCP Option 82 overview
Standards
Standards TitleNo new or modified standards are supported by this feature, and support for existing standards has not been modified by this feature.
—
MIBs
RFCs
RFCs TitleNo new or modified RFCs are supported by this feature, and support for existing RFCs has not been modified by this feature.
—
Technical Assistance
Command Reference
This section documents three new commands only.
relay destination
To configure an IP address for a relay destination to which packets are forwarded by a DHCP server, use the relay destination command in DHCP-pool configuration mode. To disable the IP address, use the no form of this command.
relay destination [vrf vrf-name | global] ip-address
no relay destination [vrf vrf-name | global] ip-address
Syntax Description
Defaults
No destination IP address to which packets are forwarded is configured.
Command Modes
DHCP-pool configuration
Command History
Release Modification12.3(14)T
This command was introduced.
12.2(27)SBA
This command was integrated into Cisco IOS Release 12.2(27)SBA.
Examples
The following example shows how to configure an IP address for a relay destination to which packets are forwarded by a DHCP server:
ip dhcp pool abc1relay source 10.0.0.0 255.255.0.0relay destination 10.5.1.1relay source
To configure an IP address for a relay source from which packets are forwarded by a DHCP server, use the relay source command in DHCP-pool configuration mode. To disable the IP address, use the no form of this command.
relay source ip-address subnet-mask
no relay source ip-address subnet-mask
Syntax Description
ip-address
IPv4 address of DHCP server from which the DHCP client packets are relayed.
subnet-mask
Subnet mask.
Defaults
No IP address from which IP packets are forwarded is configured.
Command Modes
DHCP-pool configuration
Command History
Release Modification12.3(14)T
This command was introduced.
12.2(27)SBA
This command was integrated into Cisco IOS Release 12.2(27)SBA.
Examples
The following example shows how to configure a source IP address from which DHCP client packets are relayed:
ip dhcp pool abc1relay source 10.0.0.0 255.255.0.0relay destination 10.5.1.1relay target
To configure an IP address for a relay target to which packets are forwarded by a DHCP server, use the relay target command in DHCP-pool configuration mode. To disable the IP address, use the no form of this command.
relay target [vrf vrf-name | global] ip-address
no relay target [vrf vrf-name | global] ip-address
Syntax Description
Defaults
No target IP address is configured.
Command Modes
DHCP-pool configuration
Command History
Release Modification12.3(14)T
This command was introduced.
12.2(27)SBA
This command was integrated into Cisco IOS Release 12.2(27)SBA.
Examples
The following example shows how to configure a relay target if a service gateway (SG)-supplied class name is used to select a DHCP server to which packets are relayed:
ip dhcp pool abc1relay source 10.0.0. 255.255.0.0.relay destination 10.5.1.1class classname1relay target 10.1.1.1class classname2relay target 10.2.2.2class classname3In the above example, classname1 relays the DHCP DISCOVER packet to the server at 10.1.1.1, while classname2 relays the DHCP DISCOVER packet to the server at 10.2.2.2.
If the SG returned classname3, then the default pool at 10.5.1.1 is used. If the SG returns any other class name other than classname1, classname2, or classname3, then no relay action is taken.
The relay target configuration with respect to any configured VRF pool works in the exact same way as a relay destination configuration works.
![]()
Copyright © 2005 Cisco Systems, Inc. All rights reserved.