计算机网络-DHCPv6基础

前面我们学习了IPv6地址可以通过手动配置、无状态自动配置、DHCPv6配置,这里简单学习下DHCPv6的知识点。

一、DHCPv6概述

DHCPv6 (Dynamic Host Configuration Protocol for IPv6) 是一种网络协议,设计用于IPv6网络环境中自动为网络设备分配必要的配置信息,以使这些设备能够顺利地通信。与IPv4中的DHCP类似,DHCPv6也是基于客户端-服务器模型工作的。不同之处在于,由于IPv6不再使用广播,所以DHCPv6使用组播地址(例如FF02::1:2)来发现服务器和发送请求。客户端不需要预先知道服务器的具体IPv6地址。

DHCPv6针对IPv6编址方案设计,支持对客户端分配IPv6地址、IPv6前缀以及其它网络配置参数(如DNS服务器地址)。

地址分配方式:DHCPv6 支持下列地址分配方式:有状态地址分配无状态地址配置DHCPv6-PD前缀代理

  • 有状态地址分配(Stateful Address Assignment): 在有状态模式下,DHCPv6 服务器直接为客户端分配IPv6地址、前缀以及其他网络配置参数,如DNS服务器地址、域搜索列表等。这一过程类似于IPv4中的DHCP。有状态分配确保了每个客户端获得的地址是唯一且由服务器管理的。
  • 无状态配置辅助(Stateless Configuration Helper):无状态配置原本是IPv6的一个内置特性,允许设备通过路由器通告(RA,Router Advertisement)自动配置全球唯一的IPv6地址(基于网络前缀和接口ID)。在此基础上,DHCPv6可以提供"无状态"服务,即只分配除地址之外的其他网络配置参数(如DNS信息)。这意味着客户端的IPv6地址仍然是通过无状态自动配置获得的,但DHCPv6服务器补充提供如DNS服务器地址等额外信息。
  • DHCPv6 PD(前缀代理),这种方式前面也大概讲了一下,但是实验好像不太行,就是WAN口通过从上层DHCP Server获取IPv6前缀用于给LAN端自动分配地址。

二、DHCPv6基础概念

DHCPv6网络中的角色

参考:计算机网络-DHCP地址自动分配
常用概念

  • 有效时间(Valid Lifetime):地址/前缀的生命周期。用于指定地址/前缀的过期时间,过期后所有使用该地址/前缀的用户下线。此时间必须配置为不小于3小时,且不得小于优先级时间。
  • 优选时间(Preferred Lifetime):用于计算续租时间和重绑定时间。此时间必须配置为不小于2小时。

这两个地址是最常见的。

2.1 DHCPv6有状态配置

有状态配置分为四步交互和两步交互。

四步交互:

两步交互:

简单说就是快速配置,需要两端启用,加快效率。两步交换可以提高DHCPv6分配过程的效率,但适用在网络中只存在一台DHCPv6服务器的情况下。有状态配置分配地址、前缀、DNS、SMTP等信息。

地址/前缀租约更新
租约更新1 租约更新2

比如IP地址/前缀有效3小时,优选时间为2小时,客户端如有想要继续使用这个地址,在1个小时到期前发送renew报文给服务器,如果服务器回应则续约,如果没有回应在到期前的96分钟则像所有服务器发送rebingd寻找可能存在的其它服务器。

2.2 DHCPv6无状态配置

在主机生成链路本地地址并检测无地址冲突后,会首先发起路由器发现过程,即主机发送RS报文,路由器回应RA报文。如果RA报文中M-bit为0,O-bit为1,则表示主机将通过DHCPv6无状态自动配置来获取除地址/前缀外的其他配置参数,如DNS、SIP、SNTP等服务器配置信息等。

无状态自动配置指主机通过SLAAC自动获取地址,但是没有其它如前缀、DNS、SIP等信息时使用。

2.3 DHCPv6-PD前缀代理模式

DHCPv6 PD一般用于网络中存在路由器(如本例中的DHCPv6客户端)需要继续为下连的 IPv6主机分配前缀的场景,实现主机的地址自动配置,从而完成整个IPv6网络的层次化布局。 • 第1步中,DHCPv6客户端请求DHCPv6服务器为其分配IA_NA地址和IA_PD前缀,IA_NA可 以理解为服务器为客户端WAN口分配的地址,IA_PD可以理解为服务器为客户端的LAN侧 分配的前缀。

2.4 DHCPv6中继

DHCPv6中继

2.5 DHCPv6报文

如果客户端掉线,需要先确认地址是否可用。

DAD检测通过ICMPv6相关报文进行检测。

客户端主动释放地址。

DHCPv6是一种网络协议,用于自动分配IPv6地址和网络配置参数给网络中的客户端。以下是对图片内容的分析和总结:

  • Solicit(请求报文)作用:DHCPv6客户端发送Solicit消息,请求DHCPv6服务器为其分配IPv6地址、前缀和网络配置参数。
  • Advertise(通告报文)作用:DHCPv6服务器回应客户端的请求,发送Advertise消息,通知客户端可以为其分配的地址、前缀和网络配置参数。注意:如果客户端收到多个服务器的通告,它会根据接收顺序、服务器优先级等因素选择一个服务器。
  • Request(请求确认报文)作用:客户端向选定的服务器发送Request消息,请求服务器确认分配的地址、前缀和网络配置参数。
  • Reply(响应报文)作用:DHCPv6服务器发送Reply消息,确认将地址、前缀和网络配置参数分配给客户端使用。
  • Information-Request(信息请求报文)作用:客户端向DHCPv6服务器发送Information-request报文,请求获取特定的网络配置参数。
  • Renew(续约报文)作用:当地址或前缀的租借时间到达T1时,客户端向为其分配资源的DHCPv6服务器发送Renew报文,以更新租约。
  • Rebind(再绑定报文)作用:如果在T1时刻发送Renew请求后未收到回应,客户端在T2时刻向所有DHCPv6服务器组播发送Rebind报文,请求更新租约。
  • Confirm(确认报文)作用:在发生断电、掉线或漫游等情况后,客户端发送Confirm报文以确认其IP地址是否仍然可用。
  • Decline(拒绝报文)作用:当客户端发现地址冲突时,发送Decline报文通知服务器,表明当前分配的地址无法使用。

这些报文类型构成了DHCPv6协议的核心,通过它们,客户端能够自动获取和管理网络配置,而服务器则负责分配和管理网络资源。

总结:DHCPv6是应用于IPv6的地址自动分配的协议,分有有状态配置和无状态配置以及PD前缀代理模式,通过上述报文实现地址申请确认、地址释放等等。

本文由mdnice多平台发布

相关推荐
行則独善其身3 小时前
华为无线AC+AP组网实际应用小结
程序人生
AI_小站19 小时前
RAG 示例:使用 langchain、Redis、llama.cpp 构建一个 kubernetes 知识库问答
人工智能·程序人生·langchain·kubernetes·llama·知识库·rag
MapleLea1f21 小时前
26届JAVA 学习日记——Day14
java·开发语言·学习·tcp/ip·程序人生·学习方法
我爱学Python!1 天前
解决复杂查询难题:如何通过 Self-querying Prompting 提高 RAG 系统效率?
人工智能·程序人生·自然语言处理·大模型·llm·大语言模型·rag
糊涂君-Q2 天前
Python小白学习教程从入门到入坑------习题课3(基础巩固)
python·学习·程序人生·职场和发展·学习方法·程序员创富·改行学it
吾店云建站2 天前
9个最佳WordPress PDF插件(查看器、嵌入和下载)
程序人生·pdf·创业创新·流量运营·程序员创富·教育电商
诸葛悠闲2 天前
《操作系统 - 清华大学》4 -3:非连续内存分配:页表——概述、TLB
linux·程序人生
行則独善其身3 天前
计算机网络-MSTP工作原理
程序人生