IPv6地址配置

1.IPv6地址配置方式
IPv6地址配置的方式可以分为静态配置和动态配置。其中,动态地址配置又可以分为无状态地址自动配置(Stateless Address Autoconfiguration, SLAAC)和有状态地址自动配置(Stateful Address Autoconfiguration)
1.1 无状态地址自动配置:不需要IPv6地址分配服务器保存和管理每个节点的状态信息的一种IPv6地址自动配置方式,称之为IPv6无状态地址自动配置,无状态地址自动配置方式基于NDP来实现
IPv6地址无状态自动配置过程



PC1根据本地的接口D自动生成链路本地地址。
PC1对该链路本地地址进行DAD检测,如果该地址无冲突则可启用,此时PC1具备IPv6连接能力。
PC1发送RS报文,尝试在链路上发现IPv6路由器。
R1发送RA报文(携带可用于无状态地址自动配置的IPv6地址前缀。路由器在没有收到RS报文时也能够主动发出RA报文)。
PC1解析路由器发送的RA报文,获得IPv6地址前缀,使用该前缀加上本地的接口ID生成IPv6单播地址。
PC1对生成的IPv6单播地址进行DAD检测,如果没有检测到冲突,则启用该地址。

1.2 有状态地址自动配置:IPv6地址分配服务器必须保存每个节点的状态信息,并管理这些保存的信息,这种方式称之为IPv6有状态地址自动配置,有状态地址自动配置基于DHCPv6(Dynamic Host Configuration Protocol for IPv6)来实现

2.DHCPv6概述
DHCPv6针对IPv6编址方案设计,支持对客户端分配IPv6前缀、IPv6地址和其他网络配置参数,并记录这些信息,便于网络管理



2.1 DHCPv6又分为如下三种:
DHCPv6有状态自动配置:DHCPv6服务器自动配置IPv6地址/前缀及其他网络配置参数(DNS、NIS、SNTP服务器地址等参数)。
DHCPv6无状态自动配置:主机IPv6地址仍然通过路由通告方式自动生成,DHCPv6服务器只分配除IPv6地址以外的配置参数,包括DNS服务器等参数。
DHCPv6 PD(Prefix Delegation,前缀代理)自动配置:下层网络路由器不需要再手工指定用户侧链路的IPv6地址前缀,它只需要向上层网络路由器提出前缀分配申请,上层网络路由器便可以分配合适的地址前缀给下层路由器,下层路由器把获得的前缀(前缀一般长度小于64)进一步自动细分成64位前缀长度的子网网段,把细分的地址前缀再通过路由通告(RA)至与IPv6主机直连的用户链路上,实现主机的地址自动配置,从而完成整个IPv6网络的层次化布局

2.2 DHCPv6网络构成
DHCPv6基本协议架构中,主要包括以下三种角色:
DHCPv6 Client:DHCPv6客户端,通过与DHCPv6服务器进行报文交互,获取IPv6地址/前缀和其他网络配置参数,完成自身的网络配置。
DHCPv6 Server:DHCPv6服务器,负责处理来自客户端或中继的地址分配、地址续租、地址释放等请求,为客户端分配IPv6地址/前缀和其他网络配置参数。
DHCPv6 Relay:DHCPv6中继,负责转发来自客户端或服务器的DHCPv6报文,协助DHCPv6客户端和DHCPv6服务器完成地址配置功能。

2.3 DHCPv6有状态自动配置 - 四步交互
DHCPv6客户端发送Solicit消息,请求DHCPv6服务器为其分配IPv6地址/前缀和网络配置参数。
DHCPv6服务器回复Advertise消息,通知客户端可以为其分配的地址/前缀和网络配置参数。
如果DHCPv6客户端接收到多个服务器回复的Advertise消息,则根据消息接收的先后顺序、服务器优先级等,选择其中一台服务器,并向该服务器发送Request消息,请求服务器确认为其分配地址/前缀和网络配置参数。
DHCPv6服务器回复Reply消息,确认将地址/前缀和网络配置参数分配给客户端使用。

2.4 DHCPv6有状态自动配置 - 两步交互
DHCPv6客户端发送Solicit报文,携带Rapid Commit选项。
DHCPv6服务器接收到Solicit报文后,将会判断,如果DHCPv6服务器支持快速分配,则直接返回Reply报文,为客户端分配IPv6地址/前缀和其他网络配置参数。如果DHCPv6服务器不支持快速分配,则将采用四步交互方式。

2.5 DHCPv6中继工作过程
DHCPv6客户端向所有DHCPv6服务器和DHCPv6中继的组播地址FF02::1:2发送请求报文。
DHCPv6中继收到客户端的报文后,将其封装在Relay-Forward报文的中继消息选项中,并将Relay-Forward报文发送给DHCPv6服务器或下一跳中继。
DHCPv6服务器从Relay-Forward报文中解析出DHCPv6客户端的请求,为DHCPv6客户端选取IPv6地址和其他配置参数,并将Relay-Reply报文发送给DHCPv6中继。
DHCPv6中继从Relay-Reply报文中解析出DHCPv6服务器的应答,转发给DHCPv6客户端




2.6 DHCPv6地址冲突检测过程
客户端完成地址申请后,会在开始使用该地址前发起DAD探测。如果DAD检测到地址存在冲突,则客户端发送Decline消息通知服务器,并不再使用该地址

2.7 DHCPv6地址释放过程
当客户端不需要再使用某地址时,将发送Release消息至服务器,发起释放地址的交互流程

3. DHCPv6报文总结
Solicit DHCPv6客户端发送该消息,请求DHCPv6服务器为其分配IPv6地址/前缀和网络配置参数
Advertise DHCPv6服务器发送Advertise消息,通知客户端可以为其分配的地址/前缀和网络配置参数
Request 如果DHCPv6客户端接收到多个服务器回复的Advertise消息,则根据消息接收的先后顺序、服务器优先级等,选择其中一台服务器,并向该服务器发送Request消息,请求服务器确认为其分配地址/前缀和网络配置参数
Reply DHCPv6服务器发送Reply消息,确认将地址/前缀和网络配置参数分配给客户端使用
Information-Request 客户端向DHCPv6服务器发送Information-request报文,该报文中携带Option Request选项,指定客户端需要从服务器获取的配置参数
Renew 地址/前缀租借时间到达时间T1时,DHCPv6客户端会向为它分配地址/前缀的DHCPv6服务器单播发送Renew报文,以进行地址/前缀租约的更新
Rebind 如果在T1时发送Renew请求更新租约,但是没有收到DHCPv6服务器的回应报文,则DHCPv6客户端会在T2时,向所有DHCPv6服务器组播发送Rebind报文请求更新租约
Confirm 当有断电、掉线、漫游等情况发生时,客户端会发送Confirm报文确认自己的IP地址是否可用
Decline 当客户端发现地址冲突时,发送Decline通知服务器

4.IPv6地址自动配置实现
使能设备转发IPv6单播报文的能力
[Huawei] ipv6
使能接口转发IPv6单播报文的能力
[Huawei-GigabitEthernet0/0/0] ipv6 enable
手工配置接口的链路本地地址
[Huawei-GigabitEthernet0/0/0] ipv6 address ipv6-address link-local
自动配置接口的链路本地地址
[Huawei-GigabitEthernet0/0/0] ipv6 address auto link-local
手工配置接口的全球单播地址
[Huawei-GigabitEthernet0/0/0] ipv6 address { ipv6-address prefix-length | ipv6-address/prefix-length }
自动配置接口的全球单播地址
[Huawei-GigabitEthernet0/0/0] ipv6 address auto { global | dhcp }
查看接口的IPv6信息
[Huawei] display ipv6 interface [ interface-type interface-number | brief ]


5.IPv6地址配置举例 – DHCPv6
配置需求:
R1的GE0/0/0和GE0/0/1接口采用手工方式配置IPv6地址。
R2的GE0/0/0接口通过无状态地址自动配置的方式获取IPv6地址。
R3的GE0/0/0接口通过DHCPv6的方式获取IPv6地址



在R1上配置DHCPv6服务器功能。
[R1]dhcp enable
[R1]dhcpv6 pool pool1
[R1-dhcpv6-pool-pool1]address prefix 2001:DB8:13::/64
[R1-dhcpv6-pool-pool1]excluded-address 2001:DB8:13::1 [R1]interface GigabitEthernet 0/0/0
[R1-GigabitEthernet0/0/0]dhcpv6 server pool1
配置R3的GE0/0/0接口通过DHCPv6的方式获取IPv6地址
[R3]dhcp enable
[R3]interface GigabitEthernet 0/0/0
[R3-GigabitEthernet0/0/0]ipv6 address auto dhcp