通信人家园

 找回密码
 注册

只需一步,快速开始

短信验证,便捷登录

搜索
查看: 1014|回复: 1
打印

[FTTx/PON] DHCP流程总结 [复制链接]

军衔等级:

  新兵

注册:2017-11-271
跳转到指定楼层
1#
发表于 2026-4-14 16:23:36 |只看该作者 |倒序浏览
在近期分析用户拿不到地址,抓了大量的DHCP报文。现将DHCP流程总结如下,以供大家日后抓到DHCP报文有个参考的模板。
先来介绍一下DHCP流程:
首先是用户端发现本机上没有任何IP数据的设定,它会向网络发出一个DHCP discover的广播包。在一般情况下,DHCP discover的等待时间预设为4秒,也就是说当客户端将第一个DHCP discover广播包发出去之后,在4秒之内没有得到响应的话,就会进行第二次DHCP discover广播。
与此同时,DHCP server收到客户端发来的discover后就会向网络发出ARP请求,试探有没有用户在使用DHCP server即将分配的地址。
DHCP server发现没有用户在使用这个预分配的地址时,那么DHCP server会发一个offer报文给客户端。此报文包含了分配给主机的IP地址、网关地址、子网掩码、租期时间、域名服务器地址。
客户端收到server 回的offer报文时会再次向网络中发广播包,即request报文。用以响应server端发来的offer报文,告诉DHCP server客户端已经收到服务器分配的信息。
最后DHCP server会单播给客户端一个ACK报文,明确客户端可以使用分配到的数据。到此客户端才真正获得了IP地址和相关的配置信息。
DHCP分配完成后,客户端会发出免费ARP,确认网络中没有用户使用与我相同的IP地址。
故此一套完整的流程结束,一般情况下只出现discoverofferrequestack这四个报文。但DHCP一共有6个报文,这些类型是通过DHCP报文option53来识别。option53的值为1discover2offer3request4declient用来通告DHCP server,你所分配的地址不可用,如IP地址发生冲突时;5ack6nak,是server拒绝响应request报文,一般出现nakDHCP流程将重新开始。
用一个抓包实例来说明:
序号6的包是DHCP过程开始的第一个报文,即用户发现自己没有IP信息,于是向网络中发出一个DHCP discover的广播包。
option53 中的value值为1表明是discover报文。
序号7的包是DHCP server 发出的ARP请求,server即将分配192.168.1.109这个地址,于是就问网络中谁使用这个地址。
序号8的包是客户端没有收到server回应的offer,但是时间已经过去了4秒,于是再次广播discover
序号9server收到第二次discover后,发出的ARP请求。
当没有用户回应server发出的ARP,则表明网络中没有用户使用192.168.1.109这个地址。那么server此时回应一个offer报文给客户端。offer报文序号11,如下图。
序号12的包是request报文。用以响应server端发来的offer报文,告诉DHCP server客户端已经收到服务器分配的信息。
序号13server给客户端的一个ack报文。明确客户端可以使用分配到的数据。
序号141516是客户端发出的免费ARP,确认网络中没有用户使用与我相同的IP地址。
至此一套标准的DHCP流程即完成,在以后抓包分析的时候,发现有多的报文或是缺少某些报文可依据本文作参考。
                                                     

举报本楼

本帖有 1 个回帖,您需要登录后才能浏览 登录 | 注册
您需要登录后才可以回帖 登录 | 注册 |

版规|手机版|C114 ( 沪ICP备12002291号-1 )|联系我们 |网站地图  

GMT+8, 2026-5-3 06:55 , Processed in 0.185207 second(s), 16 queries , Gzip On.

Copyright © 1999-2025 C114 All Rights Reserved

Discuz Licensed

回顶部