DHCP与DHCPv6讲解
  

静下心来敲木鱼 789

{{ttag.title}}
DHCP讲解
DHCP端口号
DHCP主要有两个端口号,分别是UDP67和UDP68
DHCP客户端向DHCP服务器发送报文时采用68端口号,DHCP服务器向DHCP客户端发送报文时采用67端口号(服务端监听的端口为67,客户端监听的端口为68)

DHCP报文
Discover 用来寻找DHCP服务器(广播)
Offer      服务器用来响应discover报文(携带了各种配置信息)(广播/单播)
Request  客户端初始化时用来回应服务器发送的Offer报文(广播);客户端重启时用来确认先前被分配的IP地址等配置信息(广播);客户端进行IP地址续约时发送(广播/单播)
Ack         服务器对Request报文的确认响应报文(客户端收到此报文后,才真正获得了IP地址和相关的配置信息)(广播/单播)
Decline   客户端发现服务器分配的地址冲突,发送此报文重新申请地址(单播)
Release  客户端主动释放服务器分配的IP地址(单播)
Inform    客户端获取IP地址后向服务器请求其他配置信息(网关地址、DNS服务器等信息)(单播)
Nak        服务器对客户端Request报文的拒绝响应报文(单播)
Relay      DHCP中继设备向服务器发送的报文(单播)
客户端发送报文:Discover、Request、Deline、Release、Inform
服务器发送报文:Offer、Ack、Nak

DHCP工作过程
1、客户端发送一个广播discover报文
2、Server收到报文后,会向客户端发送offer报文(携带为客户端分配的地址)
3、客户端收到offer报文后,会服务器发送广播request报文
4、Server收到报文之后会回复一条ACK进行确认
5、客户端收到ack之后会执行DAD(重复地址检测),如果冲突了会给服务器发送decline报文,告知这个地址无法使用,然后重新获取IP地址
为什么DHCP Request报文也是广播的
当网络中有多台server服务器,就会分配多个offer;客户端会使用第一个收到的offer报文中携带的地址作为本机地址;此时发送广播request报文,即可以告诉offer报文所对应DHCP服务器我使用了哪个地址,也可以告诉其它服务器将offer里的地址回收,可以分配给其他主机了
服务器发送Offer和Ack有单播和广播两种情况,具体如何发送?
这取决于客户端发送的Discover和Request报文中携带的Boot Flags字段(大多数情况下都是单播)
如果Boot Flags = 0x8000 ,则服务器回应时发广播
如果Boot Flags = 0x0000 ,则服务器回应时发单播

DHCP租期续租
1、客户端发现租期只有一半时,发送单播Request报文(如果得不到服务器回应,还是会继续使用此地址)
2、客户端发现租期到87.5%时,发送广播Request报文(如果服务器还得不到回应,当租期到期后会发送Release释放此地址,重新发送Discover报文申请地址
注意:当服务器发生Request里的地址没有租约记录时,会发送nak报文进行回收



DHCPv6讲解
DHCPv6没有广播报文,通过组播报文来实现,用到的组播地址有两个
FF02::1:2:所有DHCPv6服务器和中继代理的组播地址,用于客户端和相邻的服务器及中继代理之间通信
FF05::1:3:所有DHCPv6服务器组播地址,用于中继代理和服务器之间的通信

DHCPv6端口号
DHCPv6报文承载在UDPv6上
客户端侦听的UDP目的端口号是546;服务器、中继代理侦听的UDP端口号是547
即客户端发送时端口号为547,服务器发送时端口号为546

DHCPv6报文
Solicit            同dhcpv4 的discover
Advertise        同dhcpv4 的offer
Request         同dhcpv4 的request(请求IPv6地址)
Reply             同dhcpv4 的 ack/nck
Renew           同dhcpv4 的request(进行续约-单播)
Rebind          同dhcpv4 的request(Renew无应答,广播向任意服务器请求延长此地址)
Release         同dhcpv4 的release
Decline          同dhcpv4 的decline
Informmation-Request        同dhcpv4 inform
Confirm         客户端向任意可达的v6服务器发送此报文检查自己目前获得的IPv6地址是否适用与它所连接的链路
Reconfigure   服务器向客户端发送此报文,提示客户服务器上存在新的网络配置i休尼希
Relay-Forw    中继代理向服务器转发客户端的请求报文
Relay-Repl    服务器向中继代理发送报文(携带了转发给客户端的报文)

DHCPv6工作原理
四步获取地址
两步获取地址
1、DHCPv6客户端在发送的Solicit报文中携带Rapid Commit选项,标识客户端希望服务器能够快速为其分配地址和网络配置参数
2、DHCPv6服务器接收到Solicit报文后,将进行如下处理:
        如果DHCPv6服务器支持快速分配地址,则直接返回Reply报文,为客户端分配IPv6地址和其他网络配置参数,Reply报文中也携带Rapid Commit选项
        如果DHCPv6服务器不支持快速分配过程,则采用四步交互方式为客户端分配IPv6地址/前缀和其他网络配置参数
无状态工作过程
1、DHCPv6客户端以组播方式向DHCPv6服务器发送Information-Request报文,该报文中携带Option Request选项,指定DHCPv6客户端需要从DHCPv6服务器获取的配置参数
2、DHCPv6服务器收到Information-Request报文后,为DHCPv6客户端分配网络配置参数,并单播发送Reply报文,将网络配置参数返回给DHCPv6客户端。DHCPv6客户端根据收到Reply报文提供的参数完成DHCPv6客户端无状态配置

打赏鼓励作者,期待更多好文!

打赏
10人已打赏

技术小白 发表于 2023-11-16 17:47
  
感谢分享,非常详细,学习学习
一个无趣的人 发表于 2023-11-16 22:32
  
对于DHCP的知识学习了,谢谢分享。
嘀嘀柠柠 发表于 2023-11-17 01:28
  
每天坚持打卡学习!!
泽一信息张惠 发表于 2023-11-17 08:35
  

感谢分享,非常详细,学习学习
韩_鹏 发表于 2023-11-17 08:55
  
感谢分享                                                      
技术小白 发表于 2023-11-17 09:18
  
书山有路勤为径,学海无涯苦作舟
新手031815 发表于 2023-11-17 10:30
  

感谢分享有助于工作和学习!
新手899116 发表于 2023-11-17 10:53
  

学习学习,感谢楼主分享
wshellym 发表于 2023-11-17 11:19
  
感谢分享,非常详细,学习学习
发表新帖
热门标签
全部标签>
每日一问
技术盲盒
技术笔记
干货满满
技术咨询
新版本体验
GIF动图学习
产品连连看
功能体验
标准化排查
自助服务平台操作指引
2023技术争霸赛专题
运维工具
通用技术
秒懂零信任
技术晨报
信服课堂视频
用户认证
深信服技术支持平台
安装部署配置
SDP百科
设备维护
社区帮助指南
答题自测
每日一记
玩转零信任
畅聊IT
专家问答
技术圆桌
在线直播
MVP
网络基础知识
升级
安全攻防
上网策略
测试报告
日志审计
问题分析处理
流量管理
云计算知识
原创分享
解决方案
sangfor周刊
VPN 对接
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
功能咨询
终端接入
授权
资源访问
地址转换
虚拟机
存储
迁移
加速技术
排障笔记本
产品预警公告
信服圈儿
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
答题榜单公布
纪元平台
卧龙计划
华北区拉练
天逸直播
以战代练
山东区技术晨报
文档捉虫活动
齐鲁TV
华北区交付直播
每周精选

本版版主

12
185
6

发帖

粉丝

关注

本版达人

LoveTec...

本周分享达人

新手24116...

本周提问达人