大家都知道上网的最基本前提是要在终端上设置IP、子网掩码、网关、DNS等地址信息,在家里或者在办公室很多时候打开电脑后发现就可以上网,并没有手动设置IP、掩码、DNS地址也能上网,这是什么原因呢?其实这个原因很简单,说明你的内网有"DHCP"服务器,通过它给你的终端自动分配了IP掩码和网关等地址,省去了你手动配置过程,从而给网管人员和办公人员都带来了方便,简化了管理过程 。
文章插图
今天就以本篇文章内容给大家详细介绍一下"DHCP"实现的基本原理以及常见的几种搭建DHCP服务器的方法!
一、DHCP实现原理
1. DHCP是什么
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作 。它是一种流行的Client/Server协议,一般用于为主机或者为路由器等指定相关的配置信息 。DHCP服务在企业和家庭中得到了大量的应用,它能够自动分配ip地址以及一些其他的相关信息,整个过程对客户透明 。
2. 部署DHCP服务的好处
减少管理员的工作量
避免输入错误的可能
避免ip地址冲突
当网络更改ip地址段时,不需要再重新配置每一个用户的ip地址
提高了ip地址的利用率
方便客户端的配置
3. DHCP分配方式
自动分配方式(Automatic Allocation),DHCP服务器为主机指定一个永久性的IP地址,一旦DHCP客户端第一次成功从DHCP服务器端租用到IP地址后,就可以永久性的使用该地址 。
动态分配方式(Dynamic Allocation),DHCP服务器给主机指定一个具有时间限制的IP地址,时间到期或主机明确表示放弃该地址时,该地址可以被其他主机使用 。
手工分配方式(Manual Allocation),客户端的IP地址是由网络管理员指定的,DHCP服务器只是将指定的IP地址告诉客户端主机 。
4. DHCP工作过程
DHCP客户机在启动时,会搜寻网络中是否存在DHCP服务器 。如果找到,则给DHCP服务器发送一个请求 。DHCP服务器接到请求后,为DHCP客户机选择TCP/IP配置的参数,并把这些参数发送给客户端 。如果已配置冲突检测设置,则DHCP服务器在将租约中的地址提供给客户机之前会使用Ping测试作用域中每个可用地址的连通性 。这可确保提供给客户的每个IP地址都没有被使用手动TCP/IP配置的另一台非DHCP计算机使用 。
根据客户端是否第一次登录网络,DHCP的工作形式会有所不同 。
初次登录时DHCP工作包括四个步骤:
(1) 第一步寻找DHCP服务器
当DHCP客户端第一次登录网络的时候,计算机发现本机上没有任何IP地址设定,将以广播方式发送DHCP discover发现信息来寻找DHCP服务器,即向255.255.255.255发送特定的广播信息 。网络上每一台安装了TCP/IP协议的主机都会接收这个广播信息,但只有DHCP服务器才会做出响应 。
(2) 第二步分配IP地址
在网络中接收到DHCP discover发现信息的DHCP服务器就会做出响应,它从尚未分配的IP地址池中挑选一个分配给DHCP客户机,并向DHCP客户机发送一个包含分配的IP地址和其他设置的DHCP offer提供信息 。
(3) 第三步接受IP地址
DHCP客户端接受到DHCP offer提供信息之后,选择第一个接收到的提供信息,然后以广播的方式回答一个DHCP request请求信息,该信息包含向它所选定的DHCP服务器请求IP地址的内容 。
(4) 第四步IP地址分配确认
当DHCP服务器收到DHCP客户端回答的DHCP request请求信息之后,便向DHCP客户端发送一个包含它所提供的IP地址和其他设置的DHCP ack确认信息,告诉DHCP客户端可以使用它提供的IP地址 。然后,DHCP客户机便将其TCP/IP协议与网卡绑定,另外,除了DHCP客户机选中的DHCP服务器外,其他的DHCP服务器将收回曾经提供的IP地址 。
重新登录:
以后DHCP客户端每次重新登录网络时,就不需要再发送DHCP discover发现信息了,而是直接发送包含前一次所分配的IP地址的DHCP request请求信息 。当DHCP服务器收到这一信息后,它会尝试让DHCP客户机继续使用原来的IP地址,并回答一个DHCP ack确认信息 。如果此IP地址已无法再分配给原来的DHCP客户机使用时,则DHCP服务器给DHCP客户机回答一个DHCP nack否认信息 。当原来的DHCP客户机收到此DHCP nack否认信息后,它就必须重新发送DHCP discover发现信息来请求新的IP地址 。
如果客户端DHCP request 内的IP地址在服务器端没有被使用,DHCP服务器回复DHCP ACK继续使用IP 。
如果客户端DHCP request 内的IP地址在服务器端已被使用,DHCP服务器回复DHCP NACK告诉客户端IP已被使用 。
推荐阅读
- Windows 10中的DHCP安全性:分析关键漏洞CVE-2019-0726
- DHCP服务如何配置才能尽量减少被攻击的可能
- 最早的设计草图是谁发明的 指南车原理
- 服务器安全运行的方法
- h5 与原生 app 交互的原理
- 服务器RAID0,RAID1,RAID10,RAID3,RAID5详细解说
- 服务器被黑给我上了一课,由0到1轻松应对各式攻击!
- 如何提高网站内页权重?
- 5分钟彻底搞清楚nginx工作原理
- 深入浅出反向代理服务器“Nginx”