DHCP Relay Server ID Override and Link Selection Option 82 Suboptions

The DHCP Relay Server ID Override and Link Selection Option 82 Suboptions feature enables the relay agent to be part of all Dynamic Host Configuration Protocol (DHCP) message exchanges by supporting the use of two suboptions of the relay agent information option (option 82). This design allows DHCPv4 to operate in networks where direct communication between the client and server is not possible or desired. These two suboptions used together enable the deployment of an architecture where having all DHCP traffic flow through the relay agent is desirable, allowing for greater control of DHCP communications.

This feature also introduces the capability to manually configure the interface for the relay agent to use as the source IP address for messages relayed to the DHCP server. This configuration allows the network administrator to specify a stable, hardware-independent IP address (such as a loopback interface).

Finding Feature Information

Your software release may not support all the features documented in this module. For the latest caveats and feature information, see Bug Search Tool and the release notes for your platform and software release. To find information about the features documented in this module, and to see a list of the releases in which each feature is supported, see the feature information table.

Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/​go/​cfn. An account on Cisco.com is not required.

Server ID Override Suboption

The server identifier (ID) override suboption allows the DHCP relay agent to specify a new value for the server ID option, which is inserted by the Dynamic Host Configuration Protocol (DHCP) server in the reply packet. This suboption allows the DHCP relay agent to act as the actual DHCP server such that the renew requests will come to the relay agent rather than the DHCP server directly. The server ID override suboption contains the incoming interface IP address, which is the IP address on the relay agent that is accessible from the client. The DHCP client uses this information to send all renew and release request packets to the relay agent. The relay agent adds all of the appropriate suboptions and then forwards the renew and release request packets to the original DHCP server.

Link Selection Suboption

The link selection suboption provides a mechanism to separate the subnet/link on which the DHCP client resides from the the gateway address (giaddr), which can be used to communicate with the relay agent by the DHCP server. The relay agent will set the suboption to the correct subscriber subnet and the DHCP server will use that value to assign an IP address rather than the giaddr value. The relay agent will set the giaddr to its own IP address so that DHCP messages are routable over the network.

The Dynamic Host Configuration Protocol (DHCP) IPv4 deployment model assumes a single routing domain between the DHCP client and DHCP server. In some network designs, the DHCP server cannot directly communicate with DHCP clients. Customers may choose this design to make critical infrastructure servers inaccessible and to protect the DHCP server from client attacks.

Relay agents are used to forward requests and replies between clients and servers when they are not on the same physical subnet. In all cases, the DHCP relay agent must be able to communicate directly with both the DHCP server and DHCP client. By using the relay agent information option (option 82), the DHCP relay agent can include additional information about itself when forwarding client-originated DHCP packets to a DHCP server.

The DHCP Relay Server ID Override and Link Selection Option 82 Suboptions feature enables the relay agent to be part of all DHCP message exchanges by supporting the use of two suboptions of option 82: server ID override and link selection. This design results in all DHCP messages flowing through the relay agent, allowing for greater control of DHCP communications.

Communication from the DHCP server through the relay agent can be an issue. If the server needs to reach the client, it must do so through the relay agent. The IP address of the relay agent might not be ideal. For example, if the network is renumbered or if the interface at the relay agent is down for some reason, the server may not be able to reach the client. This feature introduces the capability to manually configure the interface for the relay agent to use as the source IP address for messages relayed to the DHCP server. This configuration allows the network administrator to specify a stable, hardware-independent IP address (such as a loopback interface).

The figure and the numbered list that follows it shows the processing that occurs on the DHCP relay agent and DHCP server when this feature is configured.

The DHCP client generates a DHCP request and broadcasts it on the network.

The DHCP relay agent intercepts the broadcast DHCP request packet and inserts a server ID override suboption and link selection suboption to its relay agent information option in the DHCP packet. The server ID override and link selection suboptions contain the incoming interface IP address, which is the IP address on the relay agent that is accessible from the client (10.1.1.1 in this case).

The relay agent sets the gateway IP address (giaddr) to the IP address of an interface that is reachable by the DHCP server (typically the server-facing interface that will be used to transmit the message, 10.3.1.2 in this case).

If the source interface is explicitly configured on a loopback interface (using the
ip dhcp-relay source-interface command), the relay agent will use that address as the source IP address (giaddr) for messages relayed to the DHCP server (10.2.1.1 in this case).

The following processing occurs on the DHCP server after receiving the forwarded packets from the relay agent:

The DHCP server uses the link selection suboption to locate the correct address pools for the DHCP client.

The DHCP server sets the server ID option to the value specified by the server ID override suboption of the DHCP packet.

The DHCP server sends the reply message to the IP address specified in the giaddr.

The DHCP client will see the relay agent address as the server ID and use that address when unicasting RENEW messages.

How to Configure Support for the DHCP Relay Server ID Override and Link Selection Suboptions

(Optional) Enables the system to insert the server ID override and link selection suboptions on a specific interface into the DHCP relay agent information option in forwarded BOOTREQUEST messages to a DHCP server.

Step 7

ipdhcprelaysource-interfacetypenumber

Example:

Device(config-if)# ip dhcp relay source-interface loopback 2

(Optional) Configures the source interface for the relay agent to use as the source IP address for relayed messages.

In the following example, the IP address of the loopback interface is used as the source IP address for relayed messages. The client initiates IP address negotiation from GigabitEthernet interface 0/0/0. The Dynamic Host Configuration Protocol (DHCP) relay agent is configured globally to insert the server ID override suboption and link selection suboption into the relay agent information option of the DHCP packet. The relay agent uses the server ID override suboption to force the DHCP server to use that value as the server ID in the DHCP message. The DHCP server uses the link selection suboption to determine from which subnet to assign an IP address.

Standards and RFCs

Standard/RFC

Title

RFC 3527

Link Selection Suboption

RFC 5107

DHCP Server Identifier Override Suboption

Technical Assistance

Description

Link

The Cisco Support and Documentation website 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.

The following table provides release information about the feature or features described in this module. This table lists only the software release that introduced support for a given feature in a given software release train. Unless noted otherwise, subsequent releases of that software release train also support that feature.

Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/​go/​cfn. An account on Cisco.com is not required.

The DHCP
Relay Server ID Override and Link Selection Option 82 Suboptions feature
enables the relay agent to be part of all Dynamic Host Configuration Protocol
(DHCP) message exchanges by supporting the use of two suboptions of the relay
agent information option (option 82). This design allows DHCPv4 to operate in
networks where direct communication between the client and server is not
possible or desired. These two suboptions used together enable the deployment
of an architecture where having all DHCP traffic flow through the relay agent
is desirable, allowing for greater control of DHCP communications.

Glossary

client—A host trying to configure its interface (obtain an IP address) using DHCP or BOOTP protocols.

DHCP—Dynamic Host Configuration Protocol.

DHCP options and suboptions—Configuration parameters and other control information are carried in tagged data items that are stored in the options field of the DHCP message. Options provide a method of appending additional information. Vendors that want to provide additional information to their client not designed into the protocol can use options.

giaddr—Gateway IP address field of the DHCP packet. The giaddr provides the DHCP server with information about the IP address subnet in which the client resides. The giaddr also provides the DHCP server with an IP address where the DHCP response messages can be sent.

relay agent—A router that forwards DHCP and BOOTP messages between a server and a client on different subnets.