IPv6下的DHCP(DHCPV6 ),而IPv6概述IPv6包括地址扩展(从32位扩展到128位)、无状态地址自动配置支持、报头简化、认证、新QoS支持等
如何分配IPv6支持的地址:
1、无状态地址自动配置;
2、有状态地址的自动配置。
无状态地址自动设置是指主机接收路由通知并获取全局地址前缀(64位),然后添加自己的接口地址以获取全局IP地址。 这主要是因为IPv6有大量的IP地址资源,用户可以自行配置全局IP。 接口地址实际上是MAC地址。 由于MAC地址是48位,因此这里使用IEEE提供的EUI64转换算法,该算法可以将48位MAC地址转换为64位。 然后,主机向该地址发送邻居发现请求(Neighbor DiscoveryRequest ),如果没有响应则证明网络地址是唯一的。
主机通过无状态地址自动配置获取IP的步骤如图所示。
IPv6的无状态地址自动设定
有状态地址自动配置是从IPv4下的DHCP转换而来的,IPv6继承和改进了此服务(即DHCPv6协议),并向IPv6主机提供有状态或无状态配置设置。 IPv6主机自动执行无状态地址自动配置,并在从相邻路由器发送的路由器通告消息中使用基于以下标记的配置协议,如DHCPv6 :
如果托管地址配置标记,也称为 M 标记。设置为1,则此标志表示主机将使用配置协议获取有状态的地址。
如果设置为其他有状态配置标记 ,也称为 O 标记1,则此标志指示主机使用配置协议获取其他配置设置。
合并m和o标签的值后,可以进行以下组合:
M 和 O 标记均设置为 0。此组合支持没有DHCPv6基础架构的网络。 主机使用未链接的本地地址的路由器广告和其他方法(如手动配置)配置其他设置。
M 和 O 标记均设置为 1。DHCPv6用于链路本地地址和其他非链路本地地址以及其他配置设置。 此组合称为DHCPv6有状态,DHCPv6为IPv6主机分配有状态的地址。
M 标记设置为 0,O 标记设置为 1。DHCPv6不用于分配地址,仅用于分配其他配置设置。 相邻路由器配置为通告IPv6主机派生无状态地址的非链路本地地址前缀。 这种组合称为DHCPv6无状态。 DHCPv6不会为IPv6主机分配无状态地址,但会分配无状态配置设置。
M 标记设置为 1,O 标记设置为 0。在此组合中,DHCPv6用于地址配置,但不用于其他设置。 这是不可能的组合,因为IPv6主机通常需要使用其他设置(如域名系统(DNS )服务器的IPv6地址)进行配置。
与DHCPv4类似,DHCPv6基础架构的组件由请求配置的DHCPv6客户机、提供配置的DHCPv6服务器和DHCPv6中继代理组成,客户机没有DHCPv6服务器
2、主机与服务器在DHCPv6协议下的交互采用四步交互,类似于DHCPv6协议下的客户机与服务器交互DHCPv4,如下图所示。
DHCPv6协议下主机与服务器的四阶段交互
但是,DHCPv6支持快速的两级对话。 这意味着,如果客户端发送的SOLICIT消息具有rapidcommit选项,并且服务器支持此交互方式,则可以进行两阶段交互,如下图所示。
DHCPv6协议下主机和服务器两级快速交互
上述交互过程中引用的DHCPv6消息类似于DHCPv4,例如solicit消息类似于discover消息,而advertise消息类似于offer消息。
DHCPv6 消息
描述
等效的 DHCPv4 消息
要求(solicit)
由客户端发送以定位服务器。
DHCPDiscover
公告(advertise)
由服务器对“要求”消息进行响应时发送以指明可用性。
DHCPOffer
请求(request)
由客户端发送以请求来自特定服务器的地址或配置设置。
DHCPRequest
确认(confirm)
由客户端发送给所有服务器,以确定对于已连接的链接客户端的配置是否有效。
DHCPRequest
更新(renew)
由客户端发送给特定服务器以延长分配地址的生存期并获取更新的配置设置。
DHCPRequest
重新绑定(rebind)
未接收到对“更新”消息的响应时由客户端发送给任何服务器。
DHCPRequest
应答(reply)
对要求、请求、更新、重新绑定、信息请求、确认、发布或拒绝消息进行响应时由服务器发送给特定客户端。
DHCPAck
发布(release)
由客户端发送以指明客户端不再使用分配的地址。
DHCPRelease
拒绝(decline)
由客户端发送给特定服务器以指明分配的地址已在使用中。
DHCPDecline
重新配置(reconfigure)
由服务器发送给客户端以指明该服务器具有新的或更新的配置设置。客户端随后发送“更新”或“信息请求”消息。
N/A
信息请求(information-request)
由客户端发送以请求配置设置(但不包括地址)。
DHCPInform
中继转发(relay-forw)
由中继代理发送以转发消息给服务器。中继转发包含封装为 DHCPv6 中继消息选项的客户端消息。
N/A
中继应答(relay-reply)
由服务器发送以通过中继代理发送消息给客户端。中继应答包含封装为 DHCPv6中继消息选项的服务器消息。
N/A
表一 DHCP报文与DHCPv4报文对比
3、DHCPv6的报文结构
DHCPv6的封包有两种结构,即在中继与客户端上使用的报文结构有时是不同的,在客户端与服务器端报文结构如下图所示:
客户端与服务器端交互的报文——摘自RFC3315
而在服务器与中继代理端交互的报文结构与客户端与服务器端交互的报文是不同的,某种程度上显得更为复杂一些,RFC3315中描述的这种报文结构如图所示:
服务器与中继代理之间的报文——摘自RFC3315
结束语
从IPv4走向IPv6是必然的发展趋势,虽然IPv6支持无状态的自动分配地址,但这并不意味着DHCP会随着IPv6的出现以及IPv6设备的大量部署而退出历史舞台。不仅是在这么一个过渡时期,DHCP是不可或缺的,即便是在将来,DHCP仍将发挥重要作用。思科公司的Droms预计,大部分的企业都将花钱来支持DHCPv6。他说:“网管员们都想知道网络上连接着什么样的主机和设备,以及这些设备的地址,因此,他们将希望使用DHCPv6。”
DHCPv6较DHCPv4更为复杂,也有很多不同的地方,如DHCPv4使用67和68端口,而DHCPv6使用546和547端口;不同的报文结构以及交互方式,DHCPv6设备都要使用DUID来互相认证等。但他们的原理类似,具备DHCPv4知识的技术人员在熟悉IPv6的基础上可以很快掌握DHCPv6协议。
168飞艇6种不亏钱的方法p>
DHCPRelease
拒绝(decline)
由客户端发送给特定服务器以指明分配的地址已在使用中。
DHCPDecline
重新配置(reconfigure)
由服务器发送给客户端以指明该服务器具有新的或更新的配置设置。客户端随后发送“更新”或“信息请求”消息。
N/A
信息请求(information-request)
由客户端发送以请求配置设置(但不包括地址)。
DHCPInform
中继转发(relay-forw)
由中继代理发送以转发消息给服务器。中继转发包含封装为 DHCPv6 中继消息选项的客户端消息。
N/A
中继应答(relay-reply)
由服务器发送以通过中继代理发送消息给客户端。中继应答包含封装为 DHCPv6中继消息选项的服务器消息。
N/A
表一 DHCP报文与DHCPv4报文对比
3、DHCPv6的报文结构
DHCPv6的封包有两种结构,即在中继与客户端上使用的报文结构有时是不同的,在客户端与服务器端报文结构如下图所示:
客户端与服务器端交互的报文——摘自RFC3315
而在服务器与中继代理端交互的报文结构与客户端与服务器端交互的报文是不同的,某种程度上显得更为复杂一些,RFC3315中描述的这种报文结构如图所示:
服务器与中继代理之间的报文——摘自RFC3315
结束语
从IPv4走向IPv6是必然的发展趋势,虽然IPv6支持无状态的自动分配地址,但这并不意味着DHCP会随着IPv6的出现以及IPv6设备的大量部署而退出历史舞台。不仅是在这么一个过渡时期,DHCP是不可或缺的,即便是在将来,DHCP仍将发挥重要作用。思科公司的Droms预计,大部分的企业都将花钱来支持DHCPv6。他说:“网管员们都想知道网络上连接着什么样的主机和设备,以及这些设备的地址,因此,他们将希望使用DHCPv6。”
DHCPv6较DHCPv4更为复杂,也有很多不同的地方,如DHCPv4使用67和68端口,而DHCPv6使用546和547端口;不同的报文结构以及交互方式,DHCPv6设备都要使用DUID来互相认证等。但他们的原理类似,具备DHCPv4知识的技术人员在熟悉IPv6的基础上可以很快掌握DHCPv6协议。