IPv6技术 DHCPv6原理与配置
2023-12-28 14:38:05
- 主机在运行IPv6时,可以通过使用无状态地址自动配置或DHCPv6协议来获取IPv6地址。IPv6动态主机配置协议DHCPv6(Dynamic Host Configuration Protocol for IPv6)采用了客户端/服务器通信模式,是针对IPv6编址方案设计的、为主机分配IPv6地址和其他网络配置参数的协议。
DHCPv6基本概念
- ?DHCPv6能够为主机分配IPv6地址以及其他网络配置参数,并能够实现这些参数的集中管理。
- 主机在运行IPv6时,可以通过使用无状态地址自动配置或DHCPv6协议来获取IPv6地址。
- 主机使用无状态地址自动配置方案来获取IPv6地址时,路由器并不记录主机的IPv6地址信息,可管理性差;另外,IPv6主机无法获取DNS服务器地址等网络配置信息,在可用性上也存在一定的缺陷。
- DHCPv6属于一种有状态地址自动配置协议。在有状态地址配置过程中,DHCPv6服务器为主机分配一个完整的IPv6地址,并提供DNS服务器地址等其他配置信息。此外,DHCPv6服务器还可以对已经分配的IPv6地址和客户端进行集中管理。
- DHCPv6服务器与客户端之间使用UDP协议来交互DHCPv6报文,客户端使用的UDP端口号是546,服务器使用的UDP端口号是547。
?
- 客户端发送请求报文向DHCPv6服务器申请IPv6地址,目的地址为组播地址ff02::1:2 。
- DHCPv6基本协议架构中,主要包括以下三种角色:
- DHCPv6客户端:通过与DHCPv6服务器进行交互,获取IPv6地址/前缀和网络配置信息,完成自身的地址配置功能。
- DHCPv6中继:负责转发来自客户端方向或服务器方向的DHCPv6报文,协助DHCPv6客户端和DHCPv6服务器完成地址配置功能。只有当DHCPv6客户端和DHCPv6服务器不在同一链路范围内,或者DHCPv6客户端和DHCPv6服务器无法单播交互的情况下,才需要DHCPv6中继的参与。
- DHCPv6服务器:负责处理来自客户端或中继的地址分配、地址续租、地址释放等请求,为客户端分配IPv6地址/前缀和其他网络配置信息。
- 客户端发送DHCPv6请求报文来获取IPv6地址等网络配置参数,使用的源地址为客户端接口的链路本地地址,目的地址为ff02::1:2。ff02::1:2表示的是所有DHCPv6服务器和中继,这个地址是链路范围的。
?
- DUID用来标识一台DHCPv6服务器或客户端。
- DHCP设备唯一标识符DUID(DHCPv6 Unique Identifier)用来标识一台DHCPv6服务器或客户端。每个DHCPv6服务器或客户端有且只有一个DUID。
- DUID采用以下两种方式生成:
- 基于链路层地址(LL):即采用链路层地址方式来生成DUID。
- 基于链路层地址与时间组合(LLT):即采用链路层地址和时间组合方式来生成DUID。
DHCPv6?
- 路由通告RA中的M和O为被置位为1。?
- DHCPv6分配地址时又分为:
- DHCPv6有状态自动分配:DHCPv6服务器为客户端分配IPv6地址及其他网络配置参数(如DNS、NIS、SNTP服务器地址等)。
- DHCPv6无状态自动分配:主机的IPv6地址仍然通过路由通告方式自动生成,DHCPv6服务器只分配除IPv6地址以外的配置参数(如DNS、NIS、SNTP服务器等)。
- DHCPv6客户端在向DHCPv6服务器发送请求报文之前,会发送RS报文,在同一链路范围的路由器接收到此报文后会回复RA报文。在RA报文中包含管理地址配置标记(M)和有状态配置标记(O)。当M取值为1时,启用DHCPv6有状态地址配置,即DHCPv6客户端需要从DHCPv6服务器获取IPv6地址,取值为0则启用IPv6无状态地址自动分配方案。当O取值为1时,用来定义客户端需要通过有状态的DHCPv6来获取其它网络配置参数,如DNS、NIS、SNTP服务器地址等,取值为0则启用IPv6无状态地址自动分配方案。
DHCPv6有状态自动分配?
- DHCPv6四步交互地址分配过程如下:
- DHCPv6客户端发送Solicit报文,请求DHCPv6服务器为其分配IPv6地址和网络配置参数。
- DHCPv6服务器回复Advertise报文,该报文中携带了为客户端分配的IPv6地址以及其它网络配置参数。
- DHCPv6客户端如果接收到了多个服务器回复的Advertise报文,则会根据Advertise报文中的服务器优先级等参数来选择优先级最高的一台服务器,并向所有的服务器发送Request组播报文。
- 被选定的DHCPv6服务器回复Reply报文,确认将IPv6地址和网络配置参数分配给客户端使用。
DHCPv6无状态自动分配
?
- DHCPv6无状态工作过程如下:
- DHCPv6客户端以组播方式向DHCPv6服务器发送Information-Request报文,该报文中携带Option Request选项,用来指定DHCPv6客户端需要从DHCPv6服务器获取的配置参数。
- DHCPv6服务器收到Information-Request报文后,为DHCPv6客户端分配网络配置参数,并单播发送Reply报文,将网络配置参数返回给DHCPv6客户端。
- DHCPv6客户端根据收到的Reply报文中提供的参数完成DHCPv6客户端无状态配置。
?DHCPv6配置
- dhcpv6 duid {?ll?|?llt?}命令可以用来指定DUID格式为DUID-LL或DUID-LLT。缺省情况下,ARG3系列路由器采用的DUID格式是DUID-LL。当使用DUID-LLT格式时,时间戳值引用的是从执行dhcpv6 duid llt命令的时间点开始计算的时间。
- 可以使用display dhcpv6 duid命令来验证当前使用的DUID格式以及DUID值。
?
- dhcpv6 pool?pool-name命令用来创建IPv6地址池或进入到IPv6地址池视图。
- address prefix?ipv6-prefix/ipv6-prefix-length命令用来在IPv6地址池视图下绑定IPv6地址前缀。ipv6-prefix/ipv6-prefix-length用来指定IPv6地址池绑定的网络前缀和前缀长度。
- excluded-address?start-ipv6-address?[to?end-ipv6-address]命令用来配置IPv6地址池中不参与自动分配的IPv6地址范围。
- dns-server?ipv6-address命令用来配置DNS服务器的IPv6地址
- dns-domain-name?dns-domain-name命令用来配置为DHCPv6客户端分配的域名后缀。
?
- ?dhcpv6 server?pool-name命令用来在接口下配置DHCPv6服务器功能,pool-name用来指定接口下配置的DHCPv6地址池名称。
配置验证
- display dhcpv6 pool命令用来查看DHCPv6服务器上配置的地址池信息。
- 本例中,RTA上有一个DHCPv6地址池,该地址池关联的地址前缀为3000::1/64,生存周期为172800秒,即两天(缺省情况下,生存周期是86,400秒或1天)。在必要的情况下,可以在IPv6地址池视图下使用information-refresh命令重新配置其它配置信息。对于处在活跃状态的客户端从DHCPv6服务器租用的IPv6地址,可以查看相关的信息统计。
本章总结
问:ARG3系列路由器生成DUID的方式有哪些?
答:ARG3系列路由器支持DUID-LL和DUID-LLT格式生成DUID。
问:如果主机收到的路由器通告信息中M和O 位被置1,主机将如何操作?
答:当接收到携带M和O(比特值均为1)的RA报文时,主机将主动发现DHCPv6服务器用于有状态地址配置。配置信息包括IPv6地址和其它配置参数,例如地址前缀和DNS服务器地址等。
联系我
?
文章来源:https://blog.csdn.net/yy123cisco/article/details/135259989
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!