一、DHCP基础

1.1 DHCP的前世今身

DHCP(动态主机配置协议)的前身是 BOOTP(引导协议)。

  • 但是BOOTP有一个缺点,他会把IP地址和MAC地址绑定,这就会造成更换设备后,我原来的IP地址无法使用,导致IP地址的浪费。

1.2 什么是DHCP?

DHCP全称:Dynamic Host Configuration Protocol--动态主机分配协议,DHCP是一个局域网网络协议,使用UDP协议工作,其前身是BOOTP协议

  • 利用DHCP服务可以为局域网的主机动态分配IP地址,避免手动配置IP地址而引起的IP地址冲突问题。

1.3 DHCP的工作端口

DHCP在局域网工作,为了加快它的工作效率,因此采用了UDP协议为工作协议

  • 工作端口为:UDP67(DHCP server)、UDP68(DHCP client),因此它也是一个典型的 C/S(client/server)的架构
  • B/S:客户端 / 服务器
  • C/S:浏览器 / 服务器
为什么采用UDP协议?
1)轻量级:UDP是一种轻量级的传输层协议,开销小

2)高效性:由于DHCP消息通常很小,而且需要快速传输,所以采用UDP协议可以提高传输效率

3)易于管理:在IP协议栈中,端口号是用来标识应用程序的。由于DHCP使用标准的UDP端口号,所以可以轻松跟踪和管理它的流量。

4)没有需要可靠传输的需求:DHCP消息是一次性的,没有需要可靠传输的需求,即使出现了数据包丢失或重复,也不会对协议的执行造成太大影响,因此使用UDP也不会对其稳定性产生不利影响。

1.4 DHCP的应用场景

1. 公司或机构内部网络:在公司或机构内部网络中,可能需要给大量的设备分配IP地址,手动管理这些地址非常麻烦。

2. 无线网络:在公共场所或企业内部设置无线网络时,需要为连接的设备分配IP地址。DHCP协议可以自动分配IP地址,让用户无需手动配置。

3. ISP提供的网络服务:互联网服务提供商(ISP)需要为大量用户分配IP地址,使用DHCP协议可以简化IP地址管理工作。

4. 虚拟化环境:在虚拟化环境中,多个虚拟机需要使用网络。使用DHCP协议可以自动分配IP地址和其他网络参数,方便管理。

总之,任何需要自动分配IP地址和其他网络参数的网络环境,都可以使用DHCP协议来简化管理和提高效率。

1.5 DHCP工作原理

1.5.1 DHCP DISCOVER

客户端开始DHCP过程发送的包,是DHCP协议的开始

image20210709161902847.png

1.5.2 DHCP OFFER

服务器接收到DHCP DISCOVER之后做出的响应

  • IP,子网掩码,网关,地址的租约时间等

image20210709161932178.png

1.5.3 DHCP REQUEST

客户端对于服务器发出的DHCP OFFER所做出的响应。在续约租期的时候同样会使用

image20210709161956364.png

1.5.4 DHCP ACK

确认IP地址已经被主机租用。

image20210709162137955.png

1.6 IP地址的租约

这里涉及到几个重要的概念

1、租约:DHCP分配给客户端IP地址的时间

2、续租:因为客户机申请的IP地址是有一定的时间限制的,DHCP服务器向DHCP客户端分配IP地址称为出租,通常都设置有租借期限,所以在地址到期之前客户机还会向DHCP服务器发送一个续约的请求

	 DHCP续租  8h
	   1、租约到期前的50%,向DHCP服务器发送续租请求
	   2、租约到期前的75%,向DHCP服务器发送续租请求
	   3、租约到期前的87.5%,向DHCP服务器发送续租请求
	   4、租约到期100%

	     1、DHCP discover
	     2、DHCP offer
	         IP,子网掩码,网关,地址的租约时间等
	     3、DHCP request
   	     4、DHCP ACK