RFC3315 specifies User Class Option for IPv6 hosts. DHCP administrators may define specific user class identifiers to convey information about a client's software configuration or about its user's preferences. User classes are created to support the implementation of various scenarios like:
- To identify various clients in specific site and location. For example the computers and printers on the same floor can be configured with the same user class.
- Assign specific options based on the client’s user class. Some administrators also use User class to allow internet access to a specified user groups.
DHCPv6 User class option is implemented in windows7 for DHCPv6 client, which enables client to configure and send the User class name to the DHCP server.
DHCP Server Behaviour:
Microsoft Windows 2008 DHCP Server allows the administrator to configure multiple user classes and options specific to User classes, through MMC or command-line using netsh.
DHCPv6 Server responds with all User classes configured, when option 15 is included in ORO in message sent by the client. In case if DHCPv6 client includes option 15 in Request / Renew/ Rebind / Information-Request message, then Server responds with options configured for specific User class included in option-15 by the client. If User class in option 15 sent by DHCPv6 client, is not configured on Server, then Server ignores User class option and responds with options that are not specific to User classes.
DHCP Client Behaviour:
DHCPv6 client retrieves all the class IDs configured on DHCP server, when following command is executed in elevated prompt: Ipconfig /showclassid6 adapter_name.
Internally DHCPv6 client sends Information-Request message to server with option 15 included in ORO and Server responds with all User classes configured on DHCP Server.
DHCPv6 client configures User class and renews configuration data specific to User class, when following command is executed in elevated prompt:
Ipconfig /setclassid6 Userclass_name adapter_name, where Userclass_name is name of the User class to be configured on client.
Internally DHCPv6 client sends Information-Request message to server with option 15 included in ORO and Server responds with all User classes configured on DHCP Server. DHCPv6 client obtains options configured specific to User Class by sending Renew / Information-Request (depending on whether client is in Stateful or Stateless mode) with User Class option included. If User class name that is being set is configured on Server, then User Class option in Client message contains User class Binary data received from Server’s Reply, else User class name itself is included in User Class option. Also, DHCPv6 Client includes the same user class option in all subsequent messages transmitted.
The User class configured on client can be cleared by executing following command in elevated prompt:
Ipconfig /setclassid6 adapter_name
The above command does not expect User class name to be specified.