DHCP的服务器与客户端
发表于:2025-02-13 作者:千家信息网编辑
千家信息网最后更新 2025年02月13日,一、什么是DHCP? DHCP,动态主机配置协议,前身是BOOTP协议,是一个局域网的网络协议, 使用UDP协议工作,常用的2个端口:67(DHCP server),6
千家信息网最后更新 2025年02月13日DHCP的服务器与客户端
一、什么是DHCP?
DHCP,动态主机配置协议,前身是BOOTP协议,是一个局域网的网络协议, 使用UDP协议工作,常用的2个端口:67(DHCP server),68(DHCP client)。DHCP通常被用于局域网环境, 主要作用是集中的管理、分配IP地址,使client动态的获得IP地址、Gateway地址、DNS服务器地址等信息,并能够提升地址的使用率 。 简单来说,DHCP就是一个不需要账号密码登录的、自动给内网机器分配IP地址等信息的协议。
二、DHCP协议中的报文
DHCP报文共有一下几种:DHCP DISCOVER :客户端开始DHCP过程发送的包,是DHCP协议的开始DHCP OFFER :服务器接收到DHCP DISCOVER之后做出的响应, 它包括了给予客户端的IP(yiaddr)、客户端的MAC地址、租约过期时间、服务器的识别符以及其他信息 DHCP REQUEST :客户端对于服务器发出的DHCP OFFER所做出的响应。在续约租期的 时候同样会使用。DHCP ACK :服务器在接收到客户端发来的DHCP REQUEST之后发出的成功确认的报文 。在建立连接的时候,客户端在接收到这个报文之后才会确认分配给它的IP和其他信息可以被允许使用。DHCP NAK :DHCP ACK的相反的报文,表示服务器拒绝了客户端的请求。DHCP RELEASE :一般出现在客户端关机、下线等状况。这个报文将会使DHCP服务器释放发出此报文的客户端的IP地址DHCP INFORM :客户端发出的向服务器请求一些信息的报文DHCP DECLINE :当客户端发现服务器分配的IP地址无法使用(如IP地址冲突时),将发出此报文,通知服务器禁止使用该IP地址。DHCP请求IP地址的过程如下: 1)主机发送DHCPDISCOVER广播包在网络上寻找DHCP服务器; 2)DHCP服务器向主机发送DHCPOFFER单播数据包,包含IP地址、MAC地址、域名信息以及地址租期; 3)主机发送DHCPREQUEST广播包,正式向服务器请求分配已提供的IP地址; 4)DHCP服务器向主机发送DHCPACK单播包,确认主机的请求 需要说明的是:DHCP客户端可以接收到多个DHCP服务器的DHCPOFFER数据包, 然后可能接受任何一个DHCPOFFER数据包,但客户端通常只接受收到的第一个DHCPOFFER数据包。 另外,DHCP服务器DHCPOFFER中指定[1] 的地址不一定为最终分配的地址, 通常情况下,DHCP服务器会保留该地址直到客户端发出正式请求。 正式请求DHCP服务器分配地址DHCPREQUEST采用广播包 , 是为了让其它所有发送DHCPOFFER数据包的DHCP服务器也能够接收到该数据包, 然后释放已经OFFER(预分配)给客户端的IP地址。 如果发送给DHCP客户端的地址已经被其他DHCP客户端使用,客户端会向服务器发送DHCPDECLINE信息包拒绝接受已经分配的地址信息。 在协商过程中,如果DHCP客户端发送的REQUEST消息中的地址信息不正确, 如客户端已经迁移到新的子网或者租约已经过期, DHCP服务器会发送DHCPNAK消息给DHCP客户 端, 让客户端重新发起地址请求过程。 DHCP 的 工作流程图:
3、DHCP 协议包的组成Xid :随机生成的一段字符串,两个数据包拥有相同的xid说明他们属于同一次会话Ciaddr :客户端会在发送请求时将自己的ip地址放在此处Yiaddr :服务器会将想要分配给客户端的ip地址放在此处Siaddr :一般来说是服务器的ip地址.但是注意!根据openwrt源码给出的注释,当报文的源地址、siaddr、option>server_id字段不一致(有经过跨子网转发)时,通常认为option>srever_id字段为真正的服务器ip,siaddr有可能是多次路由跳转中的某一个路由器ipChaddr :客户端的mac地址Giaddr :如果需要跨子网进行DHCP地址发放,则在此处填入经过的路由器的ip地址Sname :服务器主域名Options :可以自由添加的部分,用于存放客户端向服务器请求信息和服务器的应答信息
DHCP 客户端
一、DHCP 原理1、什么是DHCP 客户端 DHCP客户端一般来说是局域网中独立的PC主机。 DHCP客户端发出的DHCP DISCOVER包是DHCP协议的开始。 延续租期、发现、释放IP地址等大多数DHCP中的行为都是由DHCP客户端主动发起。2、DHCP 自动状态机 DHCP获得ip地址的4步骤:discover>offer>request>ack(nak) DHCP刷新租期的步骤:request>ack(nak) DHCP释放ip的步骤:release 如下图:
DHCP SERVER
一、DHCPD 原理
1、简述
DHCP SERVER指的是服务器端,在路由器上体现的就是给LAN端动态分配IP的功能。 DHCP SERVER负责接收客户端的DHCP请求,管理LAN端所有的IP网络设定资料, 相比于BOOTP,DHCP通过"租约"来实现动态分配IP的功能,实现IP的时分复用, 从而解决IP资源短缺的问题。其地址分配方式有三种, 分别是人工配置(由管理员对每台具体的计算机指定一个地址), 自动配置(服务器为第一次连接网络的计算机分配一个永久地址), 动态配置(在一定的期限内将地址租给计算机,租期结束后客户必须续租或者停用该地址), 而对于路由器,经常使用的地址分配方式是动态配置。 2、两个租约表 静态租约表:对应一个静态租约存储文件,server运行时从文件中读取静态租约表。 动态租约表:对应一个周期存储文件,server周期性将租约表存进该文件,在程序开始时将会读取上次存放的租约表。(租约表记录了当前所有分配的租约,包括静态链接的)。3、基本逻辑 原则上DHCP SERVER是一直处在被动接受请求的状态, 当有客户端请求时,服务器会读取获得客户端当前所在的状态以及客户端的信息, 并在静态租约表和动态租约表中进行检索找到相应的表项, 再根据客户端的状态执行不同的回复。 当收到客户端的首次请求时,DHCP服务器先查找静态租约表; 若存在请求的表项,返回这个客户的静态IP地址; 否则,从IP地址池中选择可用的IP分配给客户,并添加信息到动态数据库中。 此外,服务器将会周期性的刷新租约表写入文件存档, 在这个过程中会顺便对动态租约表进行租期检查。执行回复动作:DHCPOFFER: 静态租用:首先匹配MAC地址,看是否能在静态租约表中找到对应的项, 若能找到就把IP分配给他。静态表中的IP不能被其他客户使用。 动态租用: 1.server试图分配给client上次分配过的IP,在这之前检查这个IP是否正在使用。2.discover中含有request ip 时,检查该IP是否在地址池范围,是否正在使用,是否到期,是否是静态IP,网络上是否已经存在。3.discover不含request ip,从地址池上寻找一个最小的可用IP分配。DHCPACK: 根据是否含有request ip和server ip识别客户端现在init_reboot,selecting,renewing/rebinding中的哪个状态, 并根据以下规则执行DHCPACK回复: 1.若client处于selecting状态,验证request ip和server ip是否同服务器中的匹配。2.若client处于init_reboot状态,验证request ip是否符合租约记录。3.若client处于renewing/rebinding状态,验证client ip address是否符合租约记录。DHNAK: 1.请求的IP是静态IP,但是MAC地址无法与其对应。2.上面DHCPACK中验证失败。 服务器还可能会收到其他包: DHCPDECLINE:server会把租约表中相关client硬件地址置空,并保存这个地址一段时间。DHCPRELEASE:清空租期回收IP。DHCPINFORM:回复DHCPACK,数据包含有关于server的信息。
地址
客户
服务器
服务
客户端
租约
分配
信息
端的
静态
动态
报文
数据
状态
主机
文件
网络
路由
过程
配置
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
小学校园网络安全宣传卡通
服务器超级管理员的英文
华为桌面云服务器怎么关机
软件开发方案审查表
淘宝网站服务器是租用吗
qt数据库连接移除
服务器传输
上海综合软件开发
外置无线打印服务器哪个品牌好
网络安全标准化图片
疍家人互联网科技公司
汉中OA软件开发招聘
如何测试dns服务器
数据库字符串加减法
加强网络安全的措施有哪些
打开cydia提示数据库错误
一般数据库放在linux
校园网络安全组织制度
学位论文多长时间在数据库
初中学生网络安全知识竞赛
设有某销售数据库sale
互联网科技圈公众号多少钱
破解全国中级经济师数据库
软件开发适合学什么
徐州营销软件开发系统
申请软件开发资质的材料
徐水租房软件开发
数据库的作用是什么
软件开发工具中SAA的全称
软件开发涉及隐私号码