Protocol Operations - Technical Summary
This document provides a technical summary of DHCPv6 protocol operations as specified in sections 17-22 of RFC 3315.
17. DHCP Server Solicitation
Purpose: Client discovers servers that can assign addresses
Client Behavior:
- Creates IA and assigns IAID
- Sends Solicit message
- May include Rapid Commit option
- Collects Advertise messages for first RT
- Selects server based on preference value
Server Behavior:
- Receives Solicit message
- Checks administrative policy
- Sends Advertise or Reply (with Rapid Commit)
- May include Preference option
18. DHCP Client-Initiated Configuration Exchange
Message Types: Request, Renew, Rebind, Release, Decline, Confirm, Information-request
Key Operations:
- Request: Populates IA with addresses
- Confirm: Validates addresses after link change
- Renew: Extends address lifetimes (at T1)
- Rebind: Extends lifetimes from any server (at T2)
- Release: Returns addresses to server
- Decline: Reports duplicate addresses
- Information-request: Requests configuration without requesting addresses
19. DHCP Server-Initiated Configuration Exchange
Reconfigure Message:
- Server initiates client reconfiguration
- Client must accept Reconfigure messages (Reconfigure Accept option)
- Triggers client's Renew or Information-request
20. Relay Agent Behavior
Functions:
- Relays messages between clients and servers on different links
- Adds Interface-Id option
- Increments hop count
- Encapsulates messages in Relay-forward/Relay-reply
21. Authentication of DHCP Messages
Protocols:
- Delayed Authentication Protocol
- Reconfigure Key Authentication Protocol
Security:
- IPsec recommended for server-relay communication
- Authentication option for client-server messages
22. DHCP Options
RFC 3315 defines 20 standard DHCPv6 options:
- OPTION_CLIENTID (1) - Client Identifier
- OPTION_SERVERID (2) - Server Identifier
- OPTION_IA_NA (3) - Identity Association for Non-temporary Addresses
- OPTION_IA_TA (4) - Identity Association for Temporary Addresses
- OPTION_IAADDR (5) - IA Address
- OPTION_ORO (6) - Option Request
- OPTION_PREFERENCE (7) - Preference
- OPTION_ELAPSED_TIME (8) - Elapsed Time
- OPTION_RELAY_MSG (9) - Relay Message
- OPTION_AUTH (11) - Authentication
- OPTION_UNICAST (12) - Server Unicast
- OPTION_STATUS_CODE (13) - Status Code
- OPTION_RAPID_COMMIT (14) - Rapid Commit
- OPTION_USER_CLASS (15) - User Class
- OPTION_VENDOR_CLASS (16) - Vendor Class
- OPTION_VENDOR_OPTS (17) - Vendor-specific Information
- OPTION_INTERFACE_ID (18) - Interface ID
- OPTION_RECONF_MSG (19) - Reconfigure Message
- OPTION_RECONF_ACCEPT (20) - Reconfigure Accept
Option Format
All options use the following format:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| option-code | option-len |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| option-data |
| (option-len octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Reference
For complete protocol specification, refer to the official RFC 3315: