dhcp服务器响应消息有什么,DHCP的4个阶段。分别为发现阶段(DHCP Discover),提供阶段(DHCP Offer),选择阶段(DHCP Request)和确认阶段(DHCK ACK)...

2023-05-16

DHCP

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作。主要用于给内部网络或网络服务提供供应商自动分配IP地址。DHCP协议是一个应用层协议,能够让设备自动获取IP地址以及其他重要的网络资源。DHCP使用的客服务器模式,其中客户端使用的是UDP68端口,而服务器使用的是UDP67端口。

使用DHCP时,在网络上首先必须有一台DHCP服务器,而其他的计算机则是DHCP客户端。当DHCP客户端程序发出一个信息,要求一个动态IP地址时,DHCP服务器将根据,目前配置的IP地址池,从中提供一个可供使用的IP地址和子网掩码给客户端,以下图就是DHCP的工作流程。

17302338_202002222022400021347800.png

从上图可以看出,DHCP工作分为4个阶段。分别为发现阶段(DHCP Discover),提供阶段(DHCP Offer),选择阶段(DHCP Request)和确认阶段(DHCK ACK)。

发现阶段,即DHCP客户端寻找DHCP服务器的阶段,DHCP客户端以广播方式发送DHCP Discover包,因为客户端不知道服务器的IP地址,在网络上每台主机都会收到此广播包,但是只有DHCP服务器才可以响应。

17302338_202002222022550896144213.png

提供阶段,即DHCP服务器提供IP地址的阶段,在网络中收到DHCP客户端发送的DHCP Discover的DHCP服务器,都会做出响应的。这些DHCP服务器从尚未出租的IP地址中挑选一个给客户端,向客户端发送一个包含IP地址和其他设置的DHCP Offer包。

17302338_202002222023440271322115.png

选择阶段,也就是说DHCP客户端选择某台DHCP服务器提供IP地址阶段。当客户端收到多台DHCP发送的DHCP offer包,DHCP客户端只接受其中一台DHCP服务器的数据,然后以广播的方式回应DHCP服务器DHCP Request,通知自己选择的DHCP服务器。当局域网中所以的DHCP服务器收到客户端发送的DHCP Request信息,通过查看包,确定是否是选择了自己IP,如果选择的是自己,则会发送一个确认包。否则,不进行响应。

17302338_202002222023440162931461.png

确认阶段,也就是DHCP服务器确认所提供的IP地址信息阶段。同时另外的没有被选择的DHCP服务器都将回收曾经提供的IP地址。

17302338_202002222023440256589993.png

分析DHCP发现数据包,对应的是94帧,可以明显的看到Info信息中显示的是: DHCP Discover

17302338_202002222035040756131863.png

从以上的图中可以看到,客户端目前是没有IP地址的,发现阶段是以广播包的形式发送的。也就是网络上的DHCP服务器都是可以收到此数据包的。

17302338_202002222040000693579496.png

大家可能对后面的Option字段的值不是很明白,接下来看看option字段的值

17302338_202002222042110412748495.png

分析DHCP提供阶段数据,对应的是99帧。

17302338_202002222045090146496287.png

在发现阶段分析了Option的详细请求信息,那当然在提供阶段就需要分析对应的服务器分配给DHCP客户端的配置信息。

17302338_202002222045330193301016.png

这时候DHCP客户端已经收到DHCP服务器的数据包了,当然如果有多台DHCP服务器,就必须回复DHCP服务器确认用那台DHCP服务器。

分析DHCP的选择阶段,DHCP服务器需要对提供的给自己IP的DHCP服务器做出相应的响应,对应的数据帧是100帧。

17302338_202002222046330677736346.png

DHCP确认阶段(对应的是分析101帧)。

17302338_202002222047470302743486.png

从上图可以看出服务器分配客户端的IP地址为192.168.1.100. 关于服务器分配给客户端的IP的详细信息,需要详细分析option字段。

17302338_202002222048060803506014.png

以上就是DHCP的四个阶段。

参考来源

https://blog.csdn.net/longwang155069/article/details/50107911

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

dhcp服务器响应消息有什么,DHCP的4个阶段。分别为发现阶段(DHCP Discover),提供阶段(DHCP Offer),选择阶段(DHCP Request)和确认阶段(DHCK ACK)... 的相关文章

  • tenda 服务器无法打开网页,腾达路由器打不开网页怎么办

    腾达路由器能够上QQ xff0c 并且能玩游戏 xff0c 基本上可以判断网络连接是正常的 xff0c 那么你知道腾达路由器打不开网页怎么办吗 下面是学习啦小编整理的一些关于腾达路由器打不开网页的相关资料 xff0c 供你参考 腾达路由器打
  • 深度图从ros数据类型转换成opencv数据类型

    摘要 xff1a ros下 xff0c 利用realsense D435采集深度图 xff0c 并将其转换成opencv的数据类型 一 RGBD图像采集 通过image transport包 xff0c 根据给定的采集速度从realsens
  • ArangoDB查询语言(AQL) 基本语法&用法

    原文链接 个人博客 欢迎访问 ArangoDB查询语言 xff08 AQL xff09 类似于结构化查询语言 xff08 SQL xff09 在它的目的 两者都支持读取和修改集合数据 xff0c 但AQL不支持数据定义操作 xff0c 例如
  • No compiler is provided in this environment. Perhaps you are running on a JR

    maven编译项目时出错 xff0c 提示信息如下 xff1a ERROR Failed to execute goal org apache maven plugins maven compiler plugin 3 1 testComp
  • [Error] assignment to expression with array type

    int array1 61 1 2 3 int array2 int array3 3 array2 61 array1 copy pointer only array3 61 amp array1 error To elaborate f
  • docker使用阿里云镜像加速

    由于很多镜像是国外网站的 xff0c 我们下载的话会比较耗时 xff0c 但是国内有些企业做了镜像拷贝工作 xff0c 这样 xff0c 我们就可以直接从他们的国内服务器上下载相应的文件就好了 xff0c 比如阿里云的服务 登录阿里云 xf
  • hive (with as)

    背景 xff1a 当我们书写一些结构相对复杂的SQL语句时 xff0c 可能某个子查询在多个层级多个地方存在重复使用的情况 xff0c 这个时候我们可以使用 with as 语句将其独立出来 xff0c 极大提高SQL可读性 xff0c 简
  • mysql执行顺序

    SQL Select语句完整的执行顺序 xff1a 1 from子句组装来自不同数据源的数据 xff1b 2 where子句基于指定的条件对记录行进行筛选 xff1b 3 group by子句将数据划分为多个分组 xff1b 4 使用聚集函
  • mysql的左连接

    哇 xff0c mysql的左连接我又忘记了 xff0c 做个笔记 select from table1 a left join table2 b on a id 61 b id 这样就连接起来了 xff0c 棒棒的 转载于 https w
  • 大学生应该懂得。。。葡萄酒知识

    葡萄酒 xff08 p t o ji xff09 xff1a 根据国际葡萄酒组织的规定 xff0c 葡萄酒只能是破碎或未破碎的新鲜葡萄果实或汁完全或部分酒精发酵后获得的饮料 xff0c 其酒精度数不能低于8 5 葡萄酒是用新鲜的葡萄或葡萄汁
  • 系统整体测试工具

    LoadRunner xff0c 是一种预测系统行为和性能的负载测试工具 通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题 xff0c LoadRunner 能够对整个企业架构进行测试 转载于 https www cnb
  • 数据结构习题——第一章 绪论

    整理自己学习过程中接触的习题 xff0c 不断更新中 答案在每个部分后面 第一部分 xff1a 第一章 绪论 一 xff0e 选择题 1 xff0e 数据结构被形式地定义为 xff08 K xff0c R xff09 xff0c 其中K是
  • php利用数组循环输出,php数组遍历,php循环输出数组

    php数组遍历 php循环输出数组 PHP数组循环遍历的四种方式 重点 数组循环遍历的四种方式 1 xff0c https www cnblogs com waj6511988 p 6927208 html 2 xff0c https ww
  • 产品开发阶段 EVT DVT PVT MP

    PLM xff08 Product Lifecycle Management xff09 System xff1a PLM是协助产品能够顺利完成在新产品开发 xff08 NPI xff1a New Product Introduction
  • 美图秀秀一寸照片的制作

    在浏览器里搜索美图秀秀 xff0c 并点击下载 2 安装之后 xff0c 打开美图秀秀 xff0c 选择图片美化 3 选择打开一张图片 xff0c 添加需要修改的图片 4 此时图片添加完成 xff0c 点击左侧的尺寸修改 5 点击取消锁定高
  • 使用虚拟机Ubuntu进行深度学习(一) ----安装虚拟机和Ubuntu系统

    使用虚拟机Ubuntu进行深度学习 xff08 一 xff09 安装虚拟机和Ubuntu系统 很多想要开展深度学习的小伙伴们 xff0c 可能没有或者即将拥有服务器和GPU这些比较好的深度学习硬件设备 xff0c 但又想较早开始和接触深度学
  • 有关YOLO目标检测的FPGA加速教程(一)

    1 内存卡的装配 详见 xff1a https blog csdn net weixin 38438451 article details 83474479 在这一步 xff0c 开发板启动后 xff0c 可以通过超级终端HyperTerm
  • java开发app后端_app后端用什么开发

    选择开发语言就一个核心原则 xff1a 在合适的业务场景的情况下选择最热门的语言 1 每种语言都有自己擅长的业务场景 xff0c 根据业务场景来选择 推荐学习 xff1a PHP视频教程 例如 xff0c 如果需要开发一个聊天服务器 xff
  • Python sphinx-build在Windows系统中生成Html文档

    看到前同事发布的 Markdown reST 文档发布流水线 基于TFS Docker Azure等工具和平台进行文档发布的介绍说明 xff0c 不得不在心中暗暗竖起大拇指 这套模式 xff0c 实现了文档编写后版本管理 发布 存档 分享的
  • php打开sdf文件,sdf文件扩展名,sdf文件怎么打开?

    sdf 文件类型1 xff1a SQL Server Compact Database File 文件说明 xff1a Compact relational database developed by Microsoft also know

随机推荐