首页 > 编程知识 正文

dhcp原理,dhcp技术

时间:2023-05-04 12:37:59 阅读:114166 作者:3324

DCP的工作原理

一、什么是DHCP? DHCP,动态主机配置协议,前身是BOOTP协议,是局域网的网络协议,使用UDP协议运行,常用的两个端口: 67(DHCP服务器)、67(DHCP客户机)。 DCP通常用于局域网环境,主要作用是集中管理、分配IP地址,客户端动态获取IP地址、网关地址、DNS服务器地址等信息,提高地址利用率。 简而言之,DHCP是一种无需帐户密码登录的协议,用于自动将IP地址等信息分配给内部网设备。

二. DHCP协议中的消息DHCP消息有以下类型:

DHCP DISCOVER:客户机启动DHCP进程并发送的分组是服务器接收到DHCP协议启动http://www.Sina.com/: DHCP发现器后的响应,类DHCP OFFER:服务器在收到客户机的DHCP请求后发送的成功确认消息。 建立连接后,客户端将接收此消息,然后验证分配的IP和其他信息是否可用。DHCP REQUEST:DHCP ACK的相反消息表示服务器拒绝了客户机的请求。DHCP ACK:客户端关闭、脱机等情况很常见。 发送此消息的客户机的IP地址DHCP NAK:客户机发送的用于向服务器请求某些信息的消息DHCP RELEASE

使用此IP地址。 DCP工作流程:

3、DHCP协议包配置DHCP INFORM:随机生成的字符串,两个包具有相同的xid,意味着属于同一会话的http://www.Sina.comDHCP DECLINE:服务器根据openwrt源代码提供的注释,将分配给客户端的ip地址放在此处,消息的源地址、诚实的哆啦A梦、选项服务器老实的哆啦A梦可能是多次路由中的一个路由的ip。 (下图的wireshark捕捉包中也注明了温顺的哆啦A梦为nextserver IP地址。 )Xid:如果需要通过客户端的mac地址http://ww.Sina.com/com :子网发布DHCP地址,则通过此处的路由器的ip地址愚人节550 填写:服务器的域名Ciaddr:可自由添加的部分,存储客户端向服务器请求的信息和服务器响应信息

DHCP客户机

另一方面,DHCP原理1,DHCP客户机DHCP客户机一般是LAN中的独立PC主机。

DHCP客户机发出的DHCP发现器分组是DHCP协议的开始。

大多数DHCP行为都是由DHCP客户机主动发起的,包括延长租用时间、发现和释放IP地址。

2、DHCP自动状态机DHCP获取ip地址的四步: discoverofferrequestack(nak ) ) ) ) ) ) ) ) ) ) )。

更新DHCP租赁期限的步骤:请求确认(nak ) )。

HCP释放ip的步骤:发布

在wnr2000v5 1.0.0.8的代码中未找到rebooting、init­reboot的状态。 因此,DHCP客户机的状态通常从init开始,完整的状态机如下图所示。 红色表示客户端的状态转变。

DHCP服务器

另一方面,DHCPDD原理1,DHCP服务器是指服务器端,出现在路由器上的是向局域网端动态分配IP的功能。 DHCP服务器接收客户机的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的信息。 其他参考资料:

DHCP工作过程详解:http://tonyguo.blog.51cto.com/379574/163475/

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。