科百科
当前位置: 首页 科技资讯

简述dhcp的概念及其工作原理(DHCP原理和解释)

时间:2023-06-02 作者: 小编 阅读量: 1 栏目名: 科技资讯

DHCP原理和解释一、DHCP的含义?DHCP,动态主机配置协议,前身是BOOTP协议,是一个局域网的网络协议,使用UDP协议工作,常用的2个端口:67(DHCPserver),68(DHCPclient)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 的 工作流程:

3、DHCP 协议包的组成

  • Xid :随机生成的一段字符串,两个数据包拥有相同的xid说明他们属于同一次会话
  • Ciaddr :客户端会在发送请求时将自己的ip地址放在此处
  • Yiaddr :服务器会将想要分配给客户端的ip地址放在此处
  • Siaddr :一般来说是服务器的ip地址.但是注意!根据openwrt源码给出的注释,当报文的源地址、siaddr、option­>server_id字段不一致(有经过跨子网转发)时,通常认为option­>srever_id字段为真正的服务器ip,siaddr有可能是多次路由跳转中的某一个路由的ip (下图中wireshark抓包中也有标明siaddr为nextserver ip address)
  • Chaddr :客户端的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

wnr2000v5 1.0.0.8的代码中没有发现rebooting、init­reboot状态。所以DHCP client的状态一般从init开始,完整的状态机如下图(红色代表客户端的状态跳转):

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的信息。
    推荐阅读
  • 二十多岁单身的男孩子适合养什么宠物(男孩子适合养的宠物盘点)

    二十多岁单身的男孩子适合养什么宠物?下面更多详细答案一起来看看吧!二十多岁单身的男孩子适合养什么宠物首先要讲的是常见的宠物,大家都比较喜欢的,那就是狗和猫了,男生是比较喜欢狗的,因为可以和狗进行多维度的互动,养狗比较适合休闲时间毕竟多的男生。男生适合养的宠物还有仓鼠,当然了男生是爱慕虚荣的,普通的仓鼠可能看不上,最好是金丝熊、银狐这样的品种的,男生照顾起来就比较用心。和仓鼠类似的龙猫也是比较好的。

  • 哪天是母亲节(母亲节是什么时候)

    下面希望有你要的答案,我们一起来看看吧!哪天是母亲节公历5月第2个周日是母亲节。是一个感谢母亲的节日,这个节日最早出现在古希腊,而现代的母亲节起源于美国。母亲们在这一天通常会收到礼物,康乃馨被视为献给母亲的花,而中国的母亲花是萱草花,又叫忘忧草。

  • 红米note11pro对比荣耀x30max(千元手机市场再起波澜)

    来自运营商数据报告显示,荣耀品牌的换机周期为29.1个月,高于行业平均水平。荣耀X系列手机目前依旧作为中端性价比手机发布,此次的荣耀X30被官方称为荣耀8周年的诚意之作。核心采用两个2.2GHzA78大核6个1.75GHzA55小核。相机水平目前在千元机市场属于中规中矩的水准。屏幕全局亮度为700nit,峰值亮度为1200nit。重量方面,荣耀X30重189g,红米Note11Pro重207g,OPPOK9s重199g,重量上荣耀X30重量最轻,握持感在三款手机中算是最佳。

  • 宽带网速不达标什么原因 网速不达标的原因

    如果只连接了四芯,这种网线最大只能跑到百兆,也就无法达到200M带宽的下载速度。一般,早几年的电脑,网卡都是百兆的,只有近几年的新电脑,才开始普及千兆网卡。因此,测试前,需要看看电脑网卡是百兆还是千兆的。

  • 高中化学的教材有哪些(化学课本内容简介)

    这章重难点是官能团的性质,简单有机化合物的命名,同分异构体的判断,有机化学反应的现象,条件,产物等。3了解加成反应、取代反应和消去反应以及反应发生的条件和相关反应方程式。结合实际了解某些有机物对环境和健康可能产生的影响,关注有机化合物的安全

  • 用风尘仆仆造句(用风尘仆仆造句100来字)

    用风尘仆仆造句1、风尘仆仆地从学校打车回家。出自元·尚仲贤《柳毅传书》第三折。

  • 洗衣球怎么用(一起来分享)

    洗衣球怎么用把衣物及洗衣球放入到滚筒洗衣机内,注入清水,不需要另外添加洗涤剂或柔顺剂。若衣物超过3公斤或特别脏,可使用2个洗衣球。若每次使用超过30分钟,或衣物特别脏,以及水质过硬,使用次数会相对减少。洗衣球不含有害化学成分,故在洗涤过程中不需要将洗衣球拿出滚筒洗衣机。适用任何自动半自动滚筒洗衣机或手洗。洗衣完毕,用流动的干净水来冲洗洗衣球,在通风处晾干,防止细菌滋生,以备下次使用。

  • 桑树春天嫁接时间和方法(怎么嫁接桑树)

    桑树春天嫁接时间和方法桑树嫁接的成活率比较高,一般在春夏季节进行都是可以的,其中嫁接时间为3月中上旬。嫁接时避免下雨天,现在在晴天进行为宜。在锯口皮层周围用刀撬开皮层,将削好的芽片插入,插芽片时将接芽削面朝向袋口皮层,要插深插紧,微露芽头。等插好接芽后,便用塑料薄膜和塑料条进行绑扎,以防雨水渗入和接穗干枯。

  • 带你上月球旅行(乘电梯私奔到月球)

    但这就意味着一系列新问题。此外,靠近地球这一端很难保持位置稳定。目前人类到达这个轨道的通信卫星最重约7吨,但代价是数亿美元的花费。本次HTV-7任务就额外携带了STARS-Me,SPATIUM-I和RSP-00三个技术验证卫星。STARS-Me任务由静冈大学主要负责研发。更何况,人类航天已经愈发成熟,随着可回收运载器和航天器的快速研发,尤其是商业航天的加入,航天成本也在迅速降低,太空电梯最吸引人的"价格优势"并不存在。

  • 幼儿园教师常用语言的方法(幼儿园教师常用语言的方法介绍)

    以下内容大家不妨参考一二希望能帮到您!幼儿园教师常用语言的方法直入式开门见山直接导入新课内容。如故事表演《狐狸下蛋》教学导入语,“上节课我们已经讲过‘狐狸下蛋’的故事,今天,老师和小朋友一起来表演这个故事,你们愿意吗?”谈话式师幼在交谈中不知不觉地渗透新课内容,进而又自然而然地引入课题。