抖音优化

douyinyouhua

DHCP服务器的四个包是什么?DHCP四个报文分别是什么?

2026-10-18 21:34:11

DHCP服务器的四个包是Discover、Offer、Request、Ack,业内常称DORA;IPv4地址初次获取的完整握手,就靠这四步完成。

DHCP服务器的四个包分别是什么?先记住DORA

行业共识认为,IPv4 DHCP初始分配的标准交互就是DORA四包,你可以把它想成一次租房:客户端先找房东,房东给报价,客户端正式签约,房东确认交钥匙。

四个包的分工

  • Discover:客户端喊一声“附近有DHCP服务器吗?”它还没有IP,源地址通常是0.0.0.0。
  • Offer:DHCP服务器回应“我这儿有个地址,你要不要?”Offer里可能带IP、掩码、网关、DNS、租期。
  • Request:客户端选中某个Offer,正式请求“我就要这个地址,请确认。”
  • Ack:服务器最终确认“这个地址租给你了,租期从此刻开始。”

据IETF RFC 2131定义,DHCPv4的地址分配、租约确认都围绕这些报文展开,客户端不是随便拿一个Offer就用,它会通过Request告诉所有DHCP服务器自己选了谁,没被选中的服务器会收回预分配地址。

报文方向与端口速查表

报文 方向 传输方式 源/目的端口 关键作用
Discover 客户端→服务器 广播 68→67 寻找可用DHCP服务器
Offer 服务器→客户端 广播或单播 67→68 提供候选IP配置
Request 客户端→服务器 广播 68→67 正式请求某个Offer
Ack 服务器→客户端 广播或单播 67→68 确认租约并下发配置

DHCP服务器的四个包是什么?DHCP四个报文分别是什么?

据IANA服务端口分配,DHCPv4服务器使用UDP 67,客户端使用UDP 68,抓包时先看这两个端口,再看Option 53里的消息类型。

DHCP四个包和三个包对比有什么区别

标准IPv4初次获取地址是四个包,你如果只抓到三个,常见情况不是协议变了,而是抓包点漏了包,比如Offer被单播到别的端口、镜像口只抓了一个方向、客户端续租时只走Request和Ack,续租流程通常不需要Discover和Offer,客户端会直接向原服务器发Request,服务器回Ack,租期过半会进入T1续租,接近到期还有T2续租,RFC 2131里把这套计时器定义得很清楚,所以排障时要先分清“初次获取”还是“续租”。

DHCPv6又是另一套四包:Solicit、Advertise、Request、Reply,常叫SARR,别把IPv4的DORA和IPv6的SARR混在一起看。

北京企业网络DHCP四个包怎么排查?抓包看这四步

在北京不少园区网、办公楼宇、连锁门店里,DHCP故障看起来像“上不了网”,本质却卡在四个包中的某一步,业内专家指出,企业网排障时,抓包点选错比协议不熟更容易误判。

先定位在哪个包断开

  • 只有Discover,没有Offer:DHCP服务没起来、地址池耗尽、中继不通、防火墙拦了UDP 67/68。
  • 有Discover和Offer,没有Request:客户端没接受Offer,可能收到多个Offer后选了别的,或者系统策略拒绝。
  • 有Request,没有Ack:服务器可能发现地址冲突,回NAK;也可能中继回包路径不通。
  • 出现NAK:客户端请求的地址不可用,或者租约已失效,需要重新走Discover。

据统计,在园区网DHCP故障里,地址池耗尽、中继配置错误、Snooping信任端口漏配占相当一部分,别一上来就重启服务,先看四个包停在哪。

命令行与抓包

DHCP服务器的四个包是什么?DHCP四个报文分别是什么?

在Linux服务器或网关侧,可以这样抓:

  • sudo tcpdump -i any -n -e 'udp port 67 or udp port 68'
  • sudo tcpdump -i eth0 -n -vv -e -w dhcp.pcap port 67 or port 68
  • Wireshark过滤器用 bootp 或 dhcp,看Option 53判断消息类型。

客户端侧可以验证:

  • Windows:ipconfig /release,再 ipconfig /renew,ipconfig /all 看是否拿到地址。
  • Linux:sudo dhclient -v -r eth0,再 sudo dhclient -v eth0。
  • 检查服务端口:ss -lunp | grep :67,看DHCP服务是否监听。
  • 检查防火墙:确认UDP 67和UDP 68没有被拦截。

交换机侧要关注DHCP Snooping,接入端口通常设为不信任,上联口设为信任,信任端口配错,Discover能上来,Offer和Ack可能下不去。

企业级DHCP服务器价格与四个包有关系吗

企业级DHCP服务器价格与四个包没有直接关系,四个包是协议行为,免费开源软件也能完整实现,价格通常花在地址池规模、HA热备、IPAM联动、日志审计、厂商服务上,你买再贵的设备,Discover、Offer、Request、Ack的交互逻辑也不会变成五个包,近年来,很多企业把DHCP和IPAM联动,四个包本身没变,变的是管理效率和可观测性。

DHCP服务器四个包抓包分析教程:用tcpdump和Wireshark验证

抓包位置

  • 客户端同VLAN的镜像口:能看到广播Discover和Request。
  • DHCP中继上联口:能看到带giaddr的中继报文。
  • 服务器网卡:能确认服务器是否发出Offer和Ack。
  • 无线场景:在AP上联或AC侧抓,注意CAPWAP隧道封装。

抓包最好双向抓,只抓一个方向,很容易误判“服务器没回”。

关键字段

  • Option 53:消息类型,1是Discover,2是Offer,3是Request,5是Ack,6是NAK。
  • DHCP服务器的四个包是什么?DHCP四个报文分别是什么?

  • Option 50:客户端请求的IP地址。
  • Option 54:服务器标识,用来区分多个DHCP服务器。
  • Option 55:参数请求列表,客户端告诉服务器想要网关、DNS等。
  • Option 82:中继代理信息,企业网里很常见。
  • giaddr:中继网关地址,服务器靠它决定从哪个地址池分配。

常见陷阱

  • 多个DHCP服务器同时发Offer,客户端选了一个,其他服务器要收回地址。
  • 地址池有IP但被静态占用,服务器可能回NAK。
  • DHCP Snooping绑定表没生成,IP Source Guard会拦后续流量。
  • 中继配置里服务器地址写错,Discover到了中继却转不出去。
  • 防火墙只放行UDP 67,忘了UDP 68。

IPv4初次拿地址看DORA,排查就按四个包逐段卡位;DHCPv6对应SARR,别混用。

DHCP服务器四个包常见问答

DHCP服务器的四个包分别是什么,顺序能乱吗?

四个包是Discover、Offer、Request、Ack,顺序不能乱,客户端先发现服务器,再收到Offer,然后正式Request某个Offer,最后等Ack确认,重传时可能出现多个同类型包,但逻辑顺序不变。

DHCP四个包和ARP有什么关系?

DHCP负责把IP租给客户端,ARP负责在局域网里解析IP对应的MAC,客户端拿到IP后,可能用ARP做冲突检测,交换机的IP Source Guard也会结合DHCP Snooping绑定表检查ARP和IP报文,四个包里不直接包含ARP,但排障时经常要一起看。

为什么抓包只看到三个包?

常见原因有:抓包点不在同一广播域,Offer单播被转发到其他端口,镜像口只抓单向,客户端实际走的是续租流程,或者重传导致你只看到一个方向,标准IPv4初始分配完整流程仍然是Discover、Offer、Request、Ack四个包。

相关文章

2024年,SaaS软件行业碰到获客难、增长慢等问题吗?

我们努力让每一次邂逅总能超越期待