在传统网络环境下,网络管理者需要手动为网络内的每一台主机分配IP地址,将硬件地址与IP进行绑定,但这种手动配置的方式一般仅适用于静态环境,且如果网络内的某台主机废置不用还会造成IP地址的浪费。
而随着网络规模的不断扩大以及网络复杂程度的不断提高,尤其是智能手机接入网络频繁更换,导致网络分配工作愈发庞杂,手动配置的方式已经无法满足复杂网络环境下对网络IP的实际需求。手动配置IP不仅会对网络管理者带来非常大的工作量,而且也会带来IP地址出错的风险。
在这种背景下,IETF(Internet Engineering Task Force,国际互联网工程任务组)提出了一个新协议,也就是本文所讲的DHCP(Dynamic Host Configuration Protocol,动态主机配置协议),通过“租约”的方式,实现对网络内客户主机IP的动态分配管理。
什么是DHCP?
DHCP是一个局域网的网络协议,使用UDP协议工作,目前广泛应用于大型局域网络中,用来进行动态分配IP地址、默认网关、DNS服务器等基础网络资源。
DHCP采用客户端-服务器工作模式,DHCP客户端通过对DHCP服务器发送IP地址请求消息,DHCP服务器负责为客户端分配网络资源,并集中管理所分配IP网络的设定参数。
DHCP的工作原理
DHCP一般情况下会通过客户端和服务器四步交互,最终来完成IP地址和其他网络资源的动态分配。
(1)DHCP客户端发送DISCOVER广播包在网络上寻找可用的DHCP服务器。
(2)所有接到DISCOVER广播包的DHCP服务器都会做出响应,并挑选一个尚未使用的IP地址,通过OFFER数据包将其响应给发起请求的DHCP客户端,此外在这个数据包中还包含了地址租期、域名信息等数据。
(3)DHCP客户端会接到多个DHCP服务器回复的OFFER数据包,但通常只处理第一个OFFER数据包,然后发送REQUEST广播包,通知其他发送OFFER数据包的DHCP服务器释放已经分配给该客户端但未采用的IP地址。
(4)DHCP服务器在收到REQUEST报文后,判断数据包中服务器IP地址是否和自己相同,如果不相同,则直接丢弃数据包,如果相同,服务器就会为客户端响应一个ACK确认报文,客户端就可以获得一个可以使用的IP地址。
DHCP客户端收到ACK报文后,还会进行地址冲突检测,检测网络上是否有其他主机在使用这个IP地址,如果冲突,客户端会重新通知服务器,并再次请求新IP地址,如果不冲突,DHCP客户端才会使用该IP地址。
DHCP有哪些作用
DHCP通过动态分配IP地址,有效提升了IP地址管理的效率,降低手动分配IP的时间成本和出错风险,同时有效节约IP地址,提高IP地址的使用率,缓解IP地址紧张的问题。在网络管理工作中,使用DHCP能够带来以下优点:
(1)降低网络接入成本。传统静态地址分配模式需要考虑主机所在物理位置,而且需要根据接入主机的增减改变随时调整IP地址,人力成本较大,应用DHCP只需在服务器上进行统一配置,大幅降低网络的接入成本。
(2)简化配置任务,降低网络建设成本。通过DHCP动态地址分配模式,简化了设备配置,即使在没有专业技术人员的业务场景下,也能快速实现网络IP的准确配置。
(3)集中化管理。在对网络设备进行配置管理时,有任何配置参数的变动,只需要修改和更新DHCP服务器的配置即可,不需要针对每一个主机进行改动。