计算机网络-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多平台发布

相关推荐
漫友也是程序猿5 小时前
xinput1_4.dll报错排查:手柄输入组件、DirectX环境和游戏启动链路
程序人生·游戏·电脑
wh_xmy6 小时前
从HTML5到AI,我的前端十年
前端·程序人生·十年程序员·ai 对前端的影响
humors2211 天前
100种社会实践
人工智能·程序人生
郝学胜-神的一滴1 天前
Qt 高级开发 030:QListWidget 右键菜单全解,从策略配置到精准删除的优雅实现
开发语言·c++·qt·程序人生·用户界面
星栈独行1 天前
用 Rust + Makepad 做一个 JSON 查看器:从零到能用的全过程
开发语言·程序人生·ui·rust·json
漫友也是程序猿2 天前
ddraw.dll异常排查:旧游戏图形接口、兼容性模式和DirectX组件检查
程序人生·游戏·电脑
漫友也是程序猿2 天前
wintrust.dll 异常排查:签名校验、安装包验证和系统信任链
程序人生·电脑·信任链
郝学胜-神的一滴2 天前
Python 高级编程 019:类变量与实例变量彻底解析
开发语言·python·程序人生·软件构建
sbjdhjd3 天前
面试(5)| 3.5 小时面试复盘第五弹:加班出差 + 客户响应 + 压力面全拆解
经验分享·程序人生·面试·职场和发展·开源·跳槽·求职招聘
漫友也是程序猿3 天前
mfc140u.dll缺失的排查方法:从 VC 运行库、软件完整性到系统检查
程序人生·电脑