DHCP协议详细解析
一、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协议详细解析相关推荐
- RDP协议详细解析(一)
RDP协议详细解析 一 前言 二 概述 三 同络层次 四 各连接模块说明 五 各功能模块说明 六 rdpwin结构.数据流说明 七 总结 一.前言 windows从NT开始提供终端服务,它是微软买 ...
- 蓝牙IBEACON协议详细解析
蓝牙IBEACON协议详细解析 先看一个不太清楚的图片,这个是nordic官方提供的解析的文档. 先看顶上的三个字节,flags length type,这三个是固定的,因为ibeacon长度是固定, ...
- 3389 远程桌面 Mstsc RDP协议详细解析 (下)
转载:https://lcx.cc/post/937/ 由于太长了,所以分成了两部分,这是下半部分,上半部分在这里 6-1) 连接过程说明 包序号 接收发送 字符 含义 1 R InDr 设备初始连接 ...
- 3389 远程桌面 Mstsc RDP协议详细解析 (上)
转载:https://lcx.cc/post/936/ 下半部分在这里 这是前一段时间想模拟(3389 远程桌面 Mstsc.exe RDP 协议)做一个蜜罐系统,用来记录各种各样的攻击资料,甚至自己 ...
- DHCP协议理论解析与抓包实践
目录 一.定义 二.概述 2.1 DHCP的由来 2.2 DHCP的3种地址分配方式 三.DHCP工作流程 发现阶段:DHCP Discover 提供阶段:DHCP Offer 选择阶段:DHCP R ...
- FCoE协议详细解析
详细解析FCoE协议 FCoE标准是博科首先提出来的.FCoE是由包括Brocade.IBM, HP,EMC, NetApp, Cisco, Emulex, Broadcom, Intel, Nuov ...
- RDP协议详细解析(三)
4 系统初始连接模块: 当通道申请各部分通过后,开始系统登录的初始连接.从此数据包开始,所以虚拟通道层以上的网络数据都需要加密,详细的加密功能实现请参见加密模块.登录的网络信息结构如下: 内容 字节数 ...
- 小知识:常用开源协议详细解析
來源:http://www.mscto.com/open/20081117-7075.html 开源在今天的软件业已经很普遍,但开源是否意味着使用者可以对开源后的代码为所欲为呢?答案是否定的. 开源在 ...
- RDP协议详细解析(五)
五.各功能模块说明: 任务标志说明:适用于所有非图形通道数据. 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 00 00 03 00 传输中 传输开始 ...
最新文章
- [Scoi2015]小凸玩矩阵
- A+B/A*B求A和B
- 微信小程序使用高德地图API获取准确定位地址描述
- js 只准输入数字_js验证如何限制文本框只能输入数字
- 阿里云西安ACE同城会 | 钉钉生态应用促进企业信息化实战沙龙
- Collect proper diagnostic data is very important
- 基于单片机超声波测距系统的设计_一种基于UWB技术实现的测距防撞系统
- LeetCode题 - 13 罗马数字转整数
- leetcode —— 1013. 将数组分成和相等的三个部分
- 95-10-150-启动-FetchManager
- 最新版easyMule-VeryCD-src v1.1.13编译
- word计算机基础知识试题及答案,计算机基础知识试题及答案(一)
- 小学认识计算机评课,小学信息技术评课.doc
- 技术美术个人笔记(三)——各贴图格式
- ubuntu华硕Z87-plus主板网卡驱动
- 【转载】printf打印是字体和背景带颜色的输出的方法
- trainning-----1
- Win10管理员用户被禁用,无法登陆系统
- 海思3516开发记录-AAC音频解码
- 2019精选书籍推荐
热门文章
- Sentences Involving Compositional Knowledge,SICK自然语言处理数据集下载
- 2015062301 - 标语
- 【Python基础篇021】黏包现象丨udp的socket服务
- Redis(四)Redis内存
- 398. 随机数索引(哈希表预处理 Or 蓄水池抽样)
- 四元数左乘右乘_四元数——旋转
- 我的Qt作品(14)基于机器视觉+运动控制的LED数码管套板机软件(双相机贴合)
- 简述计算机科学研究目的,全国2004年10月高等教育自学考试学前教育科学研究与论文写作试题...
- 个人博客作业Week3--必应词典案例分析
- python协程三种实现方法