IPv6地址配置方式(DHCPv6, SLAAC, PD下发)

地址生成

IPv6地址配置方式(DHCPv6, SLAAC, PD下发)

#地址生成方式分类


一.Link Local Address生成

生成链路本地地址有两种方式:

  • 手动配置
  • 自动配置

其中自动配置根据算法又分为:

  • EUI64: 根据MAC地址换算而来
  • Stable_Secret: 跟随网络环境的变化而变化,处于固定网络环境时其值固定
  • Random: 随机生成

二、全球地址的配置方式

生成全球单播地址或唯一本地地址,有两种方式

  • 手动配置
  • 自动配置

其中自动配置,又可分为:

  • 无状态(Stateless): 根据路由通告报文RA(Router Advertisement)包含的prefix前缀信息自动配置IPv6地址,IPv6地址组成方式为Prefix + (EUI64或随机)。 Stateless也可称为SLAAC (Stateless Address Auto-configuration). 无状态下,不可控、难管理。在网络有只有网关,没有IPv6地址管理者,因而无人去识别客户端,每个客户端根据网关发送的相同RA报文(FF02::1 –所有主机),自行配置IPv6地址
  • 有状态(Stateful): 通过DHCPv6获得IPv6地址。可控、可管理。在网络中存在一个IP地址管理者,它能识别客户端,根据不同的客户端分配对应的IPv6地址,客户端与服务器之间需要维护IPv6地址的租期及续约。实现这种效果的,就是DHCPv6协议(管理者就是DHCPv6 Server)

其中“有状态”又分为2种

  • 有状态DHCPv6(Stateful DHCPv6):IPv6地址、其他参数(如DNS)均通过DHCPv6获取
  • l无状态DHCPv6(Stateless DHCPv6):IPv6地址依然通过路由通告RA方式生成,其他参数(如DNS)通过DHCPv6获取

三、RA的关键标志位(Flag)

  • Autonomous flag(简称A标记):表示是否配置无状态IP。在一个RA报文中,可存在多个prefix,比如2020::/64、2021::/64、2023::/64,每个prefix都可以独立配置A 标记

为1时:表示客户端应当在该prefix范围内自动生成IPv6地址(客户端通过DAD自行保证地址可用),并配置子网路由条目、网关

为0时:表示客户端不应当在该prefix范围内自动生成IPv6地址,但是可以配置子网路由条目、网关

IPv6地址配置方式(DHCPv6, SLAAC, PD下发)

# A标记


  • Managed flag(简称M标记):表示是否配置有状态IP。M flag是RA报文的全局参数,一个RA报文只有一个M 标记

为1时:表示在stateless流程结束后开始stateful流程,也就是告诉客户端可以通过DHCPv6来获得IPv6地址和其他参数(如DNS列表等)

为0时:表示不通过DHCPv6来获得IPv6地址。

IPv6地址配置方式(DHCPv6, SLAAC, PD下发)

#M和O标记


  • Other flag(简称O 标记):表示是否通过DHCPv6获得除IP以外的其他参数(如DNS列表)。O 标记也是RA报文中的全局参数,一个RA报文只有一个O 标记。注意:仅当M 标记为off时,该参数才会被读取。

为1时:当M 标记为1,或者M flag为0且至少有一个A 标记为1时,将通过DHCPv6获得其他参数

为0时:当M 标记为1时,依然将通过DHCPv6获得其他参数;当M 标记也为0时,将不通过DHCPv6获得其他参数


IPv6地址配置流程示意

IPv6地址配置方式(DHCPv6, SLAAC, PD下发)

#地址配置过程


四、Prefix Delegation

DHCPv6前缀代理DHCPv6 PD(Prefix Delegation)是一种前缀分配机制,并在RFC3633中得以标准化。在一个层次化的网络拓扑结构中,不同层次的IPv6地址分配一般是手工指定的。手工配置IPv6地址扩展性不好,不利于IPv6地址的统一规划管理。

通过DHCPv6前缀代理机制,下游网络设备不需要再手工指定用户侧链路的IPv6地址前缀,它只需要向上游网络设备提出前缀分配申请,上游网络设备便可以分配合适的地址前缀给下游设备,下游设备把获得的前缀(一般前缀长度小于64)进一步自动细分成64前缀长度的子网网段,把细分的地址前缀再通过路由通告(RA)至与IPv6主机直连的用户链路上,实现IPv6主机的地址自动配置,完成整个系统层次的地址布局。

如图所示: 网关或者路由器从ISP得到一个48位的网络2001:1:1::/48, 根据这个网络, 网关上的DHCPv6 Server将地址再次划分为多个64位的子网前缀,分配给各个AP , 然后再由AP给其终端用户分配地址。


IPv6地址配置方式(DHCPv6, SLAAC, PD下发)

# PD规划示例


示例:通过Linux模式DHCPv6网关

1. 配置Server上的Lan口地址

IPv6地址配置方式(DHCPv6, SLAAC, PD下发)

# Lan口地址配置

2. 配置radvd.conf文件

IPv6地址配置方式(DHCPv6, SLAAC, PD下发)

3. 配置dhcpd6.conf

IPv6地址配置方式(DHCPv6, SLAAC, PD下发)

启动服务后连线代理客户端AP(其上实际用了dhcp6c, dhcp6s进行代理分发,其配置为:

IPv6地址配置方式(DHCPv6, SLAAC, PD下发)


AP地址获取过程:

1. 连接后,先配置本地链路地址,然后发现RS(目的地址为FF02::2 --- 所有路由器)获得路由和配置信息, 回应的RA中通过标位告知终端其地址获取方式是有状态的,还是无状态的等

IPv6地址配置方式(DHCPv6, SLAAC, PD下发)

2. AP发起的DHCPv6 Solicited携带Prefix Delegation IAID

IPv6地址配置方式(DHCPv6, SLAAC, PD下发)

3. DHCP Server Advertise回应消息中携带下发的前缀信息

IPv6地址配置方式(DHCPv6, SLAAC, PD下发)


这时,终端连接后,就可获得IPv6地址了


分享到:


相關文章: