1 DHCPv6概述
即插即用和自动配置是IPv6的一大优势,是目前研究的热点之一。与IPv4相对应,IPv6中的“被动”地址分配协议是动态主机配置协议DHCPv6。
DHCPv6(Dynamic Host Configuration Protocol for IPv6,支持IPv6的动态主机配置协议)是针对IPv6编址方案设计的,为主机分配IPv6前缀、IPv6地址和其他网络配置参数的协议。
与其他IPv6地址分配方式(手工配置、通过路由器公告消息中的网络前缀无状态自动配置等)相比,DHCPv6具有以下优点:
1.不仅可以分配IPv6地址,还可以分配IPv6前缀,便于全网络的自动配置和管理。
2.更好地控制地址的分配。通过DHCPv6不仅可以为主机分配的地址/前缀,还可以为特定主机分配特定的地址/前缀,以便于网络管理。
除了IPv6前缀、IPv6地址外,还可以为主机分配DNS服务器、域名等网络配置参数。
因为DHCPv6利用了IPv6协议某些内在增强功能,所以与DHCPv4有一些显著的不同,概述如下:
1.DHCP Client一经引导,就有了一个本地链路IP地址,DHCP Client可利用它与DHCP Server或DHCP Relay通信。
2.DHCP Client用组播地址与DHCP Server通信,而不是广播地址。
3.IPv6允许每个接口使用多个IP地址,所以DHCPv6在请求时可以提供多个地址。
4.没有BOOTP兼容性要求。
5.可以使用information-request/reply消息完成简单配置。
6.Client可以发送多个互不相关请求给同一或不同的Server。
7.Server使用reconfigure消息通知Client重配置网络参数。
2 DHCPv6协议的实现过程
2.1 DHCPv6地址/前缀分配过程
DHCPv6服务器为客户端分配地址/前缀的过程分为两类:
-交互两个消息的快速分配过程
-交互四个消息的分配过程
交互两个消息的快速分配过程
图2-1:地址/前缀快速分配过程
(1)DHCPv6客户端在发送的Solicit消息中携带Rapid Commit选项,标识客户端希望服务器能够快速为其分配地址/前缀和网络配置参数;
(2)如果DHCPv6服务器支持快速分配过程,则直接返回Reply消息,为客户端分配IPv6地址/前缀和其他网络配置参数。如果DHCPv6服务器不支持快速分配过程,则采用交互四个消息的分配过程为客户端分配IPv6地址/前缀和其他网络配置参数。
交互四个消息的分配过程
图2-2:交互四个消息的分配过程
交互四个消息分配过程的简述如下表:
步骤
发送的消息
说明
1
Solicit
DHCPv6客户端发送该消息,请求DHCPv6服务器为其分配IPv6地址/前缀和网络配置参数。
2
Advertise
如果Solicit消息中没有携带Rapid Commit选项,或Solicit消息中携带Rapid Commit选项,但服务器不支持快速分配过程,则DHCPv6服务器回复该消息,通知客户端可以为其分配的地址/前缀和网络配置参数。
3
Request
如果DHCPv6客户端接收到多个服务器回复的Advertise消息,则根据消息接收的先后顺序、服务器优先级等,选择其中一台服务器,并向该服务器发送Request消息,请求服务器确认为其分配地址/前缀和网络配置参数。
4
Reply
DHCPv6服务器回复该消息,确认将地址/前缀和网络配置参数分配给客户端使用。
表2-1:交互四个消息分配过程
2.2 DHCPv6地址/前缀租约更新过程
DHCPv6服务器分配给客户端的IPv6地址/前缀具有一定的租借期限。租借期限由有效生命期(Valid Lifetime)决定。地址/前缀的租借时间到达有效生命期后,DHCPv6客户端不能再使用该地址/前缀。在有效生命期到达之前,如果DHCPv6客户端希望继续使用该地址/前缀,则需要更新地址/前缀租约。
图2-3:通过Renew更新地址/前缀租约
如图2-3所示,地址/前缀租借时间到达时间T1(推荐值为首选生命期Preferred Lifetime的一半)时,DHCPv6客户端会向为它分配地址/前缀的DHCPv6服务器单播发送Renew报文,以进行地址/前缀租约的更新。如果客户端可以继续使用该地址/前缀,则DHCPv6服务器回应续约成功的Reply报文,通知DHCPv6客户端已经成功更新地址/前缀租约;如果该地址/前缀不可以再分配给该客户端,则DHCPv6服务器回应续约失败的Reply报文,通知客户端不能获得新的租约。
图2-4:通过Rebind更新地址/前缀租约
如图2-4所示,如果在T1时发送的Renew请求更新租约,但是没有收到DHCPv6服务器的回应报文,则DHCPv6客户端会在T2(推荐值为首选生命期的0.875倍)时,向所有DHCPv6服务器组播发送Rebind报文请求更新租约。如果客户端可以继续使用该地址/前缀,则DHCPv6服务器回应续约成功的Reply报文,通知DHCPv6客户端已经成功更新地址/前缀租约;如果该地址/前缀不可以再分配给该客户端,则DHCPv6服务器回应续约失败的Reply报文,通知客户端不能获得新的租约;如果DHCPv6客户端没有收到服务器的应答报文,则到达有效生命期后,客户端停止使用该地址/前缀。
2.3DHCPv6无状态配置过程
DHCPv6无状态配置简介
DHCPv6可以向IPv6主机提供有状态的地址配置或无状态的配置设置。
无状态地址自动配置用于对链接本地地址和其他非链接本地地址两者进行配置,方法是与相邻路由器交换路由器请求和路由器公告消息。
有状态地址自动配置通过使用如DHCP的配置协议,用来配置非链接本地地址。
IPv6主机自动执行无状态地址自动配置,并在相邻路由器发送的路由器公告消息中使用基于以下标记的配置协议(如DHCPv6):
托管地址配置标记,也称为M标记。设置为1时,此标记指示主机使用配置协议来获取有状态地址。
其他有状态配置标记,也称为O标记。设置为1时,此标记指示主机使用配置协议来获取其他配置设置。