IPv6分配方式一般分为两大类:
IPv6分配方式
一、手工配置
IPv6可以由人为手工指定。在某些路由器上,手工配置IPv6地址的命令为:
ipv6 address xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx/nn
二、自动配置
1、SLAAC
SLAAC(Stateless address autoconfiguration,无状态地址自动配置)是基于邻居发现协议(NDP)实现的一种地址配置方式,由RFC4862标准定义。主机首先生成链路本地地址,然后根据路由器通告消息中的前缀信息,自动配置全局地址,以及DNS服务器地址、网关等其他网络配置。
使用SLAAC的地址分配过程如下图:
SLAAC过程
无状态地址自动配置认为一个主机的IPv6地址由前缀和接口ID组成,实现动态配置就是实现这两个部分的动态配置。接口ID的长度固定是64位,可以由 48位MAC地址自动生成64位Interface ID。IPv6前缀的实际作用是标识主机与路由器之间的网络。所以,一般来讲主机需要的这个前缀就是路由器接口的前缀。为了自动获得这个前缀,只要在路由器和主机之间运行一个协议即可。使用ND协议的Router Solicitation恳求和Router Advertisement 通告消息。前者用于发现路由器,并促使路由器发送Router Advertisement消息通报前缀信息RS的源ip是由设备自动产生的link-local地址,目标ip FF02::2 链路本地范围所有路由器组播地址 icmp v6协议包RA源地址:发送者Link-local地址目的地址:FF02::1 链路本地范围所有节点组播地址或发送RS的主机单播地址。
在RA消息中使用M和O标记位来指示地址以及其他网络设置的配置方式:
M标记(Managed address configuration flag,被管理地址配置标志位),置为 1 时,此标记指示主机使用DHCPv6协议来获取有状态地址。
O 标记(Other stateful configuration flag,其他配置标志位),置为 1 时,此标记指示主机使用DHCPv6协议来获取其他配置信息。
结合 M 和 O 标记的值可以产生以下组合:
(1) M 和 O 标记均设置为 0。 此组合对应不具有 DHCPv6 服务的网络。主机使用SLAAC方式以及其他方法(如手动配置)来获取其他配置。
(2) M 和 O 标记均设置为 1。使用此组合时, 主机使用DHCPv6 来获取地址和其他配置,如DNS、网关等。该组合称为 DHCPv6 有状态配置,详见2.3。
(3) M 标记设置为 0,O 标记设置为 1。主机使用SLAAC方式来获取IPv6地址, DHCPv6 不用于分配地址,仅用来分配DNS服务器地址、网关等其他配置。
2、DHCPv6
DHCPv6(Dynamic Host Configuration Protocol for IPv6,支持IPv6 的动态主机配置协议)是针对IPv6 编址方案设计的,可为主机分配IPv6 前缀、IPv6 地址和其他网络配置参数,基本规范由RFC3315定义。
与其他 IPv6 地址分配方式(手工配置、SLAAC等)相比,DHCPv6 具有以下优点:
(1) 不仅可以分配 IPv6 地址,还可以分配IPv6 前缀,便于全网络的自动配置和管理。
(2) 更好地控制地址的分配。通过DHCPv6 不仅可以记录为主机分配的地址/前缀,还可以为特定主机分配特定的地址/前缀,以便于网络管理。
(3) 除了 IPv6 前缀、IPv6 地址外,还可以为主机分配DNS 服务器地址等网络配置参数。
根据RA消息中M和O标记位的不同设置,可以把DHCPv6分为有状态配置和无状态配置两种。
有状态配置是指DHCPv6服务器将一个完整的IPv6地址分配给主机,并提供DNS服务器地址等其他配置信息。DHCPv6 服务器为客户端分配地址/前缀的消息交互过程如下图所示:
无状态配置是指DHCPv6 服务器可以为已经具有 IPv6 地址/前缀的客户端分配DNS服务器地址和域名等其他网络配置参数,主机地址仍然通过SLAAC方式生成。
DHCPv6 客户端通过SLAAC方式成功获取 IPv6 地址后,如果接收到的 RA报文中 M 标志位为 0、O 标志位为 1,则 DHCPv6客户端会自动启动 DHCPv6 无状态配置功能,以获取除地址/前缀外的其他网络配置参数。
DHCPv6的无状态配置过程如下图所示:
3、DHCP-PD
DHCP-PD(DHCP Prefix Delegation,前缀代理)是一种前缀分配机制,基本协议定义于RFC3633。通过前缀代理机制,下游的前缀请求客户端向上游的前缀代理服务器提出前缀分配申请,前缀代理服务器便可以分配合适的前缀地址给前缀请求客户端,下游的客户端把获得的前缀(一般小于64位)进一步分成64前缀长度的不同子网,把细分的地址前缀再通过路由公告(RA)至与主机直连的用户链路上,实现主机的地址自动配置。
DHCP-PD地址分配过程如下图所示:
DHCP-PD过程
DHCP-PD的应用场景主要是,在移动网络中,P-GW/GGSN配置为前缀代理服务器,MiFi设备作为前缀请求客户端,通过PD方式为MiFi下挂的终端分配IPv6地址;在固定宽带网络中,Bras设备配置为前缀代理服务器,CPE设备作为前缀请求客户端,通过PD方式为CPE下挂的终端分配IPv6地址。