背景
IPv6地址擁有128bit位寬,IPv6地址分配分為以下兩種方式:
- 無狀態地址配置(RFC2462)
配置了該協議的主機,只需要相鄰路由器開啟IPv6路由通告功能,即可根據通告報文包含的前綴信息自動配置本機地址。該方式下,IPv6主機無法獲取DNS服務器的IPv6地址等配置信息。
- 有狀態地址自動配置(RFC3315)
DHCPv6是一種有狀態地址自動配置協議,DHCPv6服務器為主機分配一個完整的IPv6地址,並提供DNS服務器地址等其他配置信息。
DHCPv6協議允許DHCPv6 C/S之間配置HDCPv6中繼代理服務器進行中繼轉發。
DHCPv6協議介紹
三種角色
角色 | 作用 |
DHCPv6 Client | 通過與DHCPv6 Server進行交互,獲取IPv6地址/前綴等網絡配置信息,完成自身的地址配置功能。 |
DHCPv6 Server | 負責處理來自Client或者Relay的地址分配、續租、釋放等請求,為Client分配IPv6地址/前綴等其他網絡配置信息。 |
DHCPv6 Relay | 負責轉發來自Client或者Server的DHCPv6報文。 |
組播地址
在DHCPv6協議中,Client不用配置DHCPv6 Server的IPv6地址,而是發送目的地址為組播地址的Solicit報文來定位DHCPv6 Server。DHCPv6用到的組播地址有兩個:
組播地址 | 描述 | 作用 |
FF02::1:2 | All DHCP Relay Agents and Servers | 客戶端給相鄰的服務器和中繼代理發送報文的目的MAC |
FF05::1:3 | All DHCP Servers | 中繼代理給服務器發送報文的目的MAC |
UDP端口號
Client偵聽UDP Dst Port 546的報文,Relay & Server偵聽UDP Dst Port 547的報文。
DUID(DHCP Unique Identifier)
每個Client或者Server有且僅有一個唯一的標識符。
報文格式