一、DHCP定义

DHCP(动态主机配置协议):是一个应用层的网络协议。指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码。当我们将客户主机ip地址设置为动态获取方式时,DHCP服务器就会根据DHCP协议给客户端分配IP,使得客户机能够利用这个IP上网。

DHCP前身是BOOTP,在Linux的网卡配置中也能看到显示的是BOOTP,DHCP引进一个bootp没有的概念:租约。bootp分配的地址是永久的而dhcp分配的地址是可以有期限的

DHCP分为二个部分:一个服务器端,另一个是客户端(通常为网络中的PC、打印机等终端设备)。

二、DHCP作用及特点

1、DHCP可以自动分配IP、子网掩码、网关、DNS。

2、DHCP客户端使用的端口是68,服务端端口是67,使用的UDP应用层的协议。

3、DHCP一般不为服务器分配IP,因为它们要使用固定IP,所以DHCP一般只为办公环境的主机分配IP

4、DHCP服务器和客户端需要在一个局域网内,在为客户端分配IP的时候需要进行多次广播,但DHCP也可以为其它网段内的主机分配IP,只要连接二个网段中间的路由器能转发DHCP配置请求即可,但这要求路由器配置中继功能。

三、DHCP服务器IP分配三种方式

1、自动分配方式,DHCP服务器为主机指定一个永久性的IP地址,一旦DHCP客户端第一次成功从DHCP服务器端租用到IP地址后,就可以永久性的使用该地址,

2、动态分配方式,DHCP服务器给主机指定一个具有时间限制的IP地址,时间到期或主机明确表示放弃该地址时,该地址可以被其他主机使用。

3、手工分配方式,客户端的IP地址是由网络管理员指定的,DHCP服务器只是将指定的IP地址告诉客户端主机

第三种是最常见的使用形式,地址的有效使用时间段称为租约期,租约期满之前,客户端必须向服务器请求继续租用。服务器接受请求后才能继续使用,否则无条件放弃。

四、DHCP中继

默认情况下,路由器隔离官博包,不会将接收到的广播包从一个子网发送到另外一个子网。当DHCP服务器和客户端不在同一个子网时,充当客户端默认网关的路由器将广播包发送到DHCP所在的子网,这一功能就称为DHCP中继。

DHCP中继代理,就是在DHCP服务器和客户端之间转发DHCP数据包。当DHCP客户端于服务器端不在同一个子网上,就必须有DHCP中继代理DHCP请求和应答消息,DHCP中继代理的数据的数据转发,与通常路由器转发不同的,通常的路由转发相对来说是透明传输的,设备一般不会修改IP包内容,而DHCP中继代理接收到DHCP消息后,重新生成一个DHCP消息,然后转发出去

DHCP中继主机必须自己具有路由能力,且双方的数据报互传对方。如果不使用中继,也可以在每个网络中安装DHCP服务器,但这样的话,一来设备成本会增加,而且管理上面也比较分散,当然,如果在大型网络中,这样的均衡式架构还是可取的。

五、DHCP服务工作流程

第一步:搜索阶段

当DHCP客户端第一次登陆网络的时候,计算机发现本机上没有任何IP地址设定,将以广播方式发送DHCP discover发现信息来寻找DHCP服务器,即向255.255.255.255发送特定的广播信号,网络上每一台安装了TCP/IP协议的主机都会接收这个广播信息,但只有DHCP服务器才会做出响应。(dhcp discover)

第二步:提供阶段

在网络中接收到DHCP discover发现信息的DHCP服务器就会做出相应,它从尚未分配的IP地址池中挑选一个分配给DHCP客户机,向DHCP客户机发送一个包含分配的IP地址和其它设置的DHCP offer提供信息,因为此时客户端还没有IP,所以返回也是以广播的方式返回的。(dhcp offer)

第三步:选择阶段

DHCP客户端接受到DHCP offer提供信息之后,选择第一个接收到的提供信息,然后以广播的方式回答一个DHCP request请求信息,该信息包含向它所选定的DHCP服务器请求IP地址的内容。(DHCP REQUEST

第四步:确认阶段

当DHCP服务器收到DHCP客户端回答的DHCP request请求信息之后,便向DHCP客户端发送一个包含它所提供的IP地址和其他设置的DHCP ack确认信息,确认租约,并指定租约时长。告诉DHCP客户端可以使用它提供的IP地址。然后,DHCP客户机便将其TCP/IP协议与网卡绑定,另外,除了DHCP客户机选中的DHCP服务器外,其他的DHCP服务器将收回曾经提供的IP地址。(DHCP ACK)

以后DHCP客户端每次重新登录网络时,就不需要再发送DHCP discover发现信息了,而是直接发送包含前一次所分配的IP地址的DHCP request请求信息。当DHCP服务器收到这一信息后,它会尝试让DHCP客户机继续使用原来的IP地址,并回答一个DHCP ack确认信息。如果此IP地址已无法再分配给原来的DHCP客户机使用时,则DHCP服务器给DHCP客户机回答一个DHCP nack否认信息。当原来的DHCP客户机收到此DHCP nack否认信息后,它就必须重新发送DHCP discover发现信息来请求新的IP地址。

DHCP续租

1、在使用租期过去50%时刻处, 客户端向服务器发送单播DHCP REQUEST报文续延租期。
2、如果收到服务器的DHCP ACK报文,则租期相应向前延长,续租成功。如果没有收到DHCP ACK报文,则客户端继续使用这个IP地址。在使用租期过去**87.5%**时刻处,向服务器发送广播DHCP REQUEST报文续延租期。
3、如果收到服务器的DHCP ACK报文,则租期相应向前延长,续租成功。如果没有收到DHCP ACK报文,则客户端继续使用这个IP地址。在使用租期到期时,客户端自动放弃使用这个IP地址,并开始新的DHCP过程。

DHCP协议详细解析相关推荐

  1. RDP协议详细解析(一)

    RDP协议详细解析   一 前言 二 概述 三 同络层次 四 各连接模块说明 五 各功能模块说明 六 rdpwin结构.数据流说明 七 总结 一.前言 windows从NT开始提供终端服务,它是微软买 ...

  2. 蓝牙IBEACON协议详细解析

    蓝牙IBEACON协议详细解析 先看一个不太清楚的图片,这个是nordic官方提供的解析的文档. 先看顶上的三个字节,flags length type,这三个是固定的,因为ibeacon长度是固定, ...

  3. 3389 远程桌面 Mstsc RDP协议详细解析 (下)

    转载:https://lcx.cc/post/937/ 由于太长了,所以分成了两部分,这是下半部分,上半部分在这里 6-1) 连接过程说明 包序号 接收发送 字符 含义 1 R InDr 设备初始连接 ...

  4. 3389 远程桌面 Mstsc RDP协议详细解析 (上)

    转载:https://lcx.cc/post/936/ 下半部分在这里 这是前一段时间想模拟(3389 远程桌面 Mstsc.exe RDP 协议)做一个蜜罐系统,用来记录各种各样的攻击资料,甚至自己 ...

  5. DHCP协议理论解析与抓包实践

    目录 一.定义 二.概述 2.1 DHCP的由来 2.2 DHCP的3种地址分配方式 三.DHCP工作流程 发现阶段:DHCP Discover 提供阶段:DHCP Offer 选择阶段:DHCP R ...

  6. FCoE协议详细解析

    详细解析FCoE协议 FCoE标准是博科首先提出来的.FCoE是由包括Brocade.IBM, HP,EMC, NetApp, Cisco, Emulex, Broadcom, Intel, Nuov ...

  7. RDP协议详细解析(三)

    4 系统初始连接模块: 当通道申请各部分通过后,开始系统登录的初始连接.从此数据包开始,所以虚拟通道层以上的网络数据都需要加密,详细的加密功能实现请参见加密模块.登录的网络信息结构如下: 内容 字节数 ...

  8. 小知识:常用开源协议详细解析

    來源:http://www.mscto.com/open/20081117-7075.html 开源在今天的软件业已经很普遍,但开源是否意味着使用者可以对开源后的代码为所欲为呢?答案是否定的. 开源在 ...

  9. RDP协议详细解析(五)

    五.各功能模块说明: 任务标志说明:适用于所有非图形通道数据. 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 00 00 03 00 传输中 传输开始 ...

最新文章

  1. [Scoi2015]小凸玩矩阵
  2. A+B/A*B求A和B
  3. 微信小程序使用高德地图API获取准确定位地址描述
  4. js 只准输入数字_js验证如何限制文本框只能输入数字
  5. 阿里云西安ACE同城会 | 钉钉生态应用促进企业信息化实战沙龙
  6. Collect proper diagnostic data is very important
  7. 基于单片机超声波测距系统的设计_一种基于UWB技术实现的测距防撞系统
  8. LeetCode题 - 13 罗马数字转整数
  9. leetcode —— 1013. 将数组分成和相等的三个部分
  10. 95-10-150-启动-FetchManager
  11. 最新版easyMule-VeryCD-src v1.1.13编译
  12. word计算机基础知识试题及答案,计算机基础知识试题及答案(一)
  13. 小学认识计算机评课,小学信息技术评课.doc
  14. 技术美术个人笔记(三)——各贴图格式
  15. ubuntu华硕Z87-plus主板网卡驱动
  16. 【转载】printf打印是字体和背景带颜色的输出的方法
  17. trainning-----1
  18. Win10管理员用户被禁用,无法登陆系统
  19. 海思3516开发记录-AAC音频解码
  20. 2019精选书籍推荐

热门文章

  1. Sentences Involving Compositional Knowledge,SICK自然语言处理数据集下载
  2. 2015062301 - 标语
  3. 【Python基础篇021】黏包现象丨udp的socket服务
  4. Redis(四)Redis内存
  5. 398. 随机数索引(哈希表预处理 Or 蓄水池抽样)
  6. 四元数左乘右乘_四元数——旋转
  7. 我的Qt作品(14)基于机器视觉+运动控制的LED数码管套板机软件(双相机贴合)
  8. 简述计算机科学研究目的,全国2004年10月高等教育自学考试学前教育科学研究与论文写作试题...
  9. 个人博客作业Week3--必应词典案例分析
  10. python协程三种实现方法