In the traditional method of dynamically allocating IP addresses, a DHCP server cannot determine the DHCP client location from the received DHCP Request message. As a result, DHCP clients in the same VLAN have the same rights to access network resources. This brings challenges in security control because the network administrator cannot control network access of clients in the same VLAN.
RFC 3046 defines the DHCP Relay Agent Information Option (Option 82), which records the location of a DHCP client. A DHCP snooping-enabled device or a DHCP relay agent inserts the Option 82 field into a DHCP Request message to notify the DHCP server of the DHCP client location. In this case, the DHCP server assigns an IP address and other configurations to the DHCP client, implementing security control over the DHCP client.
The Option 82 field contains two commonly used suboptions: circuit ID and remote ID. The circuit ID distinguishes the VLAN ID and interface number of a client, and the remote ID distinguishes the MAC address of the device to which the client connects.
When functioning as a DHCP relay agent, a device supports the Option 82 field regardless of whether DHCP snooping is enabled. However, when functioning as an access device on a Layer 2 network, the device supports the Option 82 field only after DHCP snooping is enabled.
The Option 82 field records only the location of a DHCP client and is encapsulated in a DHCP Request message sent to the DHCP server. To deploy different IP address assignment or security policies for different clients, the DHCP server must support the Option 82 field and be configured with IP address assignment or security policies.
The Option 82 field is different from parameters recorded in a DHCP snooping binding table. The device adds the Option 82 field to the DHCP Request message when a DHCP client requests an IP address (at this time, the client does not have an IP address). However, a DHCP snooping binding entry is generated based on the DHCP ACK messages received from the DHCP server (at this time, an IP address has been assigned to the client).
Insert mode: Upon receiving a DHCP Request message without the Option 82 field, the device inserts the Option 82 field. If the DHCP Request message contains the Option 82 field, the device checks whether the Option 82 field contains a remote ID. If a remote ID is present, the device retains the Option 82 field. Otherwise, the device inserts a remote ID.
Rebuild mode: Upon receiving a DHCP Request message without the Option 82 field, the device inserts the Option 82 field. If the DHCP Request message contains the Option 82 field, the device deletes the original Option 82 field and inserts the Option 82 field set by the administrator.
The device handles reply messages from the DHCP server in the same way regardless of whether the Insert or Rebuild mode is used.