1.IPv6地址配置方式
- 静态:手工配置静态地址
- 动态:
- 无状态地址自动配置:基于NDP实现,不需要IPv6地址分配服务器保存和管理每个节点的状态信息
- 有状态地址自动配置:基于DHCPv6实现,IPv6地址分配服务器必须保存每个节点的状态信息,并管理这些保存的信息
2.无状态地址自动配置
无状态自动配置过程
- PC1根据本地的接口ID自动生成链路本地地址:FE80::1002。
- PC1对该链路本地地址进行DAD检测,如果该地址无冲突则可启用,此时PC1具备IPv6连接能力。
- PC1发送RS报文,尝试在链路上发现IPv6路由器。
- R1发送RA报文(携带可用于无状态地址自动配置的IPv6地址前缀2001:DB8::/64。路由器在没有收到RS报文时也能够主动发出RA报文)。
- PC1解析路由器发送的RA报文,获得IPv6地址前缀,使用该前缀加上本地的接口ID生成IPv6单播地:2001:DB8::1002。
- PC1对生成的IPv6单播地址进行DAD检测,如果没有检测到冲突,则启用该地址。
RA报文部分字段
1. M/O bit位
M表示如何获取IPv6地址前缀,O表示如何获取其他参数
1. M=1,O=1:主机用DHCPv6来执行地址和其他参数的配置
2. M=0,O=0:
对应无DHCPv6设备的网络
主机通过RA获取前缀信息配置无状态地址
并且用其他方法(手动配置)配置其他参数
3. M=0,O=1:用RA获取前缀信息配置无状态地址,用DHCPv6配置其他主机参数
4. M=1,O=0:DHCPv6仅用于地址配置,不用于配置其他参数
5. 命令:
可将M-bit设置为1:
ipv6 nd autoconfig managed-address-flag
可将O-bit设置为1:
ipv6 nd autoconfig other-flag
2. A bit位:
1. 指示终端设备是否能使用该前缀进行无状态地址自动配置
2. 使用如下命令将该比特位设置为0:
ipv6 nd ra prefix 2001:DB8:: 64 2592000 604800 no-autoconfig
可用生存时间和优先存活时间
- 当终端获取到前缀并生成IPv6单播地址后,首先进入Tentative状态
- 在通过DAD后,该地址将进入Preferred状态,并在Preferred lifetime内保持该状态
- 在Preferred状态,终端可以正常收发报文
- Preferred lifetime超时后,地址进入Deprecated状态,并在Valid lifetime内保持该状态
- 在Deprecated状态,该地址仍然有效,现有的连接可以继续使用该地址,但是无法使用该地址建立新的连接
- 当Valid lifetime超时后,地址进入Invalid状态,表示该地址无法继续使用
3.DHCPv6
支持对客户端分配IPv6前缀、IPv6地址和其他网络配置参数,并记录这些信息,便于网络管理
DHCPv6分类
1.DHCPv6有状态自动配置
2.DHCPv6无状态自动配置
3.DHCPv6 PD(Prefix Delegation,前缀代理)自动配置
DHCPv6角色
DHCPv6 Client:DHCPv6客户端
通过与DHCPv6服务器进行报文交互,获取IPv6地址/前缀和其他网络配置参数,完成自身的网络配置。
DHCPv6 Server:DHCPv6服务器
负责处理来自客户端或中继的地址分配、地址续租、地址释放等请求,为客户端分配IPv6地址/前缀和其他网络配置参数。
DHCPv6 Relay:DHCPv6中继
负责转发来自客户端或服务器的DHCPv6报文,协助DHCPv6客户端和DHCPv6服务器完成地址配置功能。
DHCPv6有状态自动配置
四步交互
- DHCPv6客户端发送Solicit消息,请求DHCPv6服务器为其分配IPv6地址/前缀和网络配置参数。
- DHCPv6服务器回复Advertise消息,通知客户端可以为其分配的地址/前缀和网络配置参数。
- 如果DHCPv6客户端接收到多个服务器回复的Advertise消息,则根据消息接收的先后顺序、服务器优先级等,选择其中一台服务器,并向该服务器发送Request消息,请求服务器确认为其分配地址/前缀和网络配置参数。
- DHCPv6服务器回复Reply消息,确认将地址/前缀和网络配置参数分配给客户端使用。
两步交互
适用场景:网络中只存在一台DHCPv6服务器的情况
- DHCPv6客户端发送Solicit报文,携带Rapid Commit选项。
- DHCPv6服务器接收到Solicit报文后,将会判断
- 如果DHCPv6服务器支持快速分配,则直接返回Reply报文,为客户端分配IPv6地址/前缀和其他网络配置参数。
- 如果DHCPv6服务器不支持快速分配,则将采用四步交互方式。
DHCPv6无状态自动配置
DHCPv6服务器为已经具有IPv6地址/前缀的客户端分配除地址/前缀以外的其他网络配置参数,该过程称为DHCPv6无状态自动配置。
前提条件:
在主机生成链路本地地址并检测无地址冲突后,会首先发起路由器发现过程,即主机发送RS报文,路由器回应RA报文。如果RA报文中M-bit为0,O-bit为1,则表示主机将通过DHCPv6无状态自动配置来获取除地址/前缀外的其他配置参数,如DNS、SIP、SNTP等服务器配置信息等。
交互过程:
- DHCPv6客户端以组播的方式向DHCPv6服务器发送Information-request报文,该报文中携带Option Request选项,指定客户端需要从服务器获取的配置参数。
- 服务器收到该报文后,为客户端分配网络配置参数,并单播发送Reply报文将网络配置参数返回给客户端
- 客户端检查Reply报文中提供的信息,如果与Information-request报文中请求的配置参数相符,则按照Reply报文中提供的参数进行网络配置;否则,忽略该参数。
DHCPv6 PD自动配置
解决:在一个层次化的网络结构中,手工指定不同层次的IPv6地址配置带来的IPv6地址扩展性不佳和不利于IPv6地址的统一规划管理的问题
场景:一般用于网络中存在路由器需要继续为下连的IPv6主机分配前缀的场景,实现主机的地址自动配置
- DHCPv6客户端发送Solicit报文,请求DHCPv6服务器为其分配IA_NA地址和IA_PD前缀。
- DHCPv6服务器回复Advertise报文,通知客户端可以为其分配的IPv6地址和前缀。
- 如果客户端接收到多个服务器回复的Advertise报文,则根据Advertise报文中的服务器优先级等参数,选择优先级最高的一台服务器(若服务器优先级一样,则选择带有该客户端需要的配置参数的Advertise报文) ,并向其发送Request报文,请求为其分配地址/前缀。
- DHCPv6服务器回复Reply报文,确认将IPv6地址/前缀分配给DHCPv6客户端。
- DHCPv6客户端在收到PD前缀后,与终端进行RS/RA报文交互,在RA报文中将携带获取到的PD前缀下发至终端。
DHCPv6中继工作过程
当服务器和客户端不在一个网段时,需要使用到DHCPv6中继来完成IPv6地址/前缀和其他网络配置参数的获取。
- 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客户端。
地址/前缀租约更新
情况1:
- DHCPv6客户端在T1时刻(默认为Preferred Lifetime的1/2)发送Renew报文进行地址/前缀租约更新请求。
- 如果DHCPv6客户端可以继续使用该地址/前缀,则DHCPv6服务器回应续约成功的Reply报文,通知DHCPv6客户端已经成功更新地址/前缀租约。
- 否则,DHCPv6服务器回应续约失败的Reply报文,通知DHCPv6客户端不能获得新的租约
情况2:
- DHCPv6客户端在T1时刻发送Renew请求更新租约,但是没有收到DHCPv6服务器的回应报文。
- DHCPv6客户端在T2时刻,向所有DHCPv6服务器组播发送Rebind报文请求更新租约
- 如果DHCPv6客户端可以继续使用该地址/前缀,则DHCPv6服务器回应续约成功的Reply报文,通知DHCPv6客户端已经成功更新地址/前缀租约。
- 否则DHCPv6服务器回应续约失败的Reply报文,通知DHCPv6客户端不能获得新的租约。
标签:前缀,报文,基础知识,地址,DHCPv6,IPv6,服务器,客户端 From: https://blog.csdn.net/uzumcc/article/details/140701041