网络协议之DHCPv6协议
背景
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有且仅有一个唯一的标识符。
报文格式