全局地址获取方式slaac_IPv6地址配置方式(DHCPv6, SLAAC, PD下发)

本文介绍了IPv6全局地址的生成方式,包括Link Local Address的自动配置,以及全球地址的无状态(SLAAC)和有状态(DHCPv6)配置。重点解析了RA报文中的关键标志位A、M和O标记的作用,以及Prefix Delegation(PD)在IPv6地址自动配置中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

地址生成

f127af7863e016a7d2396d9e25201b64.png

#地址生成方式分类

一.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地址,但是可以配置子网路由条目、网关

cb368e2fbcec6ce36ea8569c06da217b.png

# A标记

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

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

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

fb3d79278eef8e31fe7cb4370c77fa06.png

#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地址配置流程示意

8e8f4ada62f21de639d69ff00e1c0823.png

#地址配置过程

四、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给其终端用户分配地址。

064545821ed53c3dec2d1ba9fd82981c.png

# PD规划示例

示例:通过Linux模式DHCPv6网关

1. 配置Server上的Lan口地址

96476d151f7a1b3cfeba15aa058903fd.png

# Lan口地址配置

2. 配置radvd.conf文件

6cda8b0914ce20f6d08d4bf14a20ee62.png

3. 配置dhcpd6.conf

4b516d805a73ea573d3d70ee25b6d871.png

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

6323fa19f276e1db7b76d3ae483a68e0.png

AP地址获取过程:

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

05455002adf21bf1da9bc294d13e6d7b.png

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

da9a7a8ffbdf38ba17632c9dd6675f27.png

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

2f738fdaafe4ec9582485980207dfe56.png

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值