DHCP协议笔记
一、DHCP协议概述
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一种网络管理协议,用于自动分配IP地址、子网掩码、默认网关、DNS服务器等信息给网络中的设备。DHCP协议基于BOOTP协议发展而来,为客户端提供即插即用的网络连接功能。
在大型企业网络中,会有大量的主机或设备需要获取IP地址等网络参数。如果采用手工配置,工作量大且不好管理,如果有用户擅自修改网络参数,还有可能会造成IP地址冲突等问题。使用动态主机配置协议 DHCP 来分配IP地址等网络参数,可以减少管理员的工作量,避免用户手工配置网络参数时造成的地址冲突。简单来说,DHCP就是为终端设备配置ip地址,并对ip地址进行集中化管理的协议。DHCP全称为动态主机配置协议,是一个UDP协议,端口号为67(客户请求端)和68(服务应答端)。
二、DHCP报文类型
①discover报文-----发现报文,用来发现网络中的DHCP服务器
客户端:发送DHCP discover广播包:客户端先使用一个临时的IP:0.0.0.0(该IP不可用作通信)作为自己的IP广播discover包来请求IP地址,该广播包中包含客户端的MAC——“我需要一个IP地址,我是XXX”
②offer报文--------由服务器进行回复,当收到discover报文后,并且服务器本地存在可用IP地址,则回复信息
DHCP服务器: 响应DHCP offer 广播包: 由于客户端是广播的消息,若该局域网中有多台DHCP服务器,则这些服务器都可以收到该请求包,并且都会送一个响应包,这个包中含有服务器提供的IP地址(但是不包括该IP的子网掩码、网关等参数)——“我这有一个IP地址,先只给你看看IP,你决定一下要不要”
③request报文------正式向服务器请求IP地址
主机:发送DHCP Request 广播包: 主机从收到的DHCP响应包中挑选一个IP号,并且广播一条请求包,该请求包包括了这个IP和主机的MAC地址——“我选择这个IP,你再把该IP的其他信息(子网掩码、网关等参数)发给我吧!”
④ack报文----------服务器同意使用该IP地址
DHCP服务器:发送DHCP ACK广播包:提供该IP的DHCP服务器收到主机的Request包后,再发送了一个ACK确认包,该包中包含IP的租约信息,IP的子网掩码、网关、DNS、租期等
⑤decline报文------当客户端检测到IP地址冲突时,发送给服务器,用以告知服务器,IP不可用,并且会重新向服务器申请地址。
⑥nak报文----服务器拒绝客户端使用该IP地址---- 一般看不到
DHCP服务器:服务器对客户端分配的 IP 地址已超过使用租借期限(服务器没有找到相应的租约记录)或者由于某些原因无法正常分配 IP 地址,则发送 DHCP nak 报文作为应答(客户端移到了另一个新的网络)。通知 DHCP 客户端无法分配合适 IP 地址。DHCP 客户端需要重新发送
DHCP discover 报文来申请新的 IP 地址。
⑦release报文-----客户端主动释放IP地址。
客户端可通过发送此报文主动释放服务器分配给它的 IP 地址,当服务器收到此报文后,可将这个 IP 地址分配给其它的客户端。
⑧inform报文–从服务器中获得其他的网络配置信息
客户端已经获得了 IP 地址,发送此报文的目的是为了从服务器获得其他的一些网络配置信息,比如网关地址、DNS 服务器地址等。
三、DHCP协议工作原理
-
DHCP Discover(发现阶段)
)
客户端发送广播包(源地址为0.0.0.0,目标地址为255.255.255.255)来查找网络中的DHCP服务器。此时,客户端尚未分配到IP地址。 -
DHCP Offer(提供阶段)
收到Discover消息后,DHCP服务器从地址池中选取一个IP地址,通过Offer消息发送给客户端。Offer消息包含以下信息:·服务器提供的IP地址
·子网掩码
·租约期限
·服务器IP地址 -
DHCP Request(请求阶段)
客户端收到Offer消息后,选择一个DHCP服务器,并向该服务器发送Request消息,请求分配IP地址。Request消息中包含以下信息:·选择的DHCP服务器IP地址
·服务器提供的IP地址 -
DHCP Acknowledge(确认阶段)
DHCP服务器收到Request消息后,确认客户端的选择,并将IP地址分配给客户端。服务器通过Acknowledge消息将以下信息发送给客户端:·分配给客户端的IP地址
·子网掩码
·租约期限
·服务器IP地址
·默认网关
·DNS服务器
·客户端收到Acknowledge消息后,配置网络参数,并开始使用分配到的IP地址。
三、DHCP Acknowledge(确认阶段)
1.租约更新
客户端在租约期限到达一半时,会尝试与DHCP服务器联系,请求更新租约。如果服务器响应,则客户端继续使用原有IP地址;如果服务器未响应,则客户端继续使用IP地址,并在租约期限到达87.5%时再次尝试更新租约。
2.租约释放
当客户端不再需要使用分配到的IP地址时,可以主动发送Release消息给DHCP服务器,释放IP地址。服务器收到Release消息后,将IP地址回收至地址池,供其他客户端使用。
四、DHCP中继代理
在大型网络中,可能会存在多个子网。为了让不同子网的客户端都能获取到DHCP服务器提供的IP地址,需要在各子网中部署DHCP中继代理。中继代理负责转发客户端和服务器之间的DHCP消息,使客户端能够跨子网获取IP地址。
五、DHCP服务器类型
1.Windows DHCP服务器
2.Linux DHCP服务器(如ISC DHCP)
3.网络设备(如路由器、交换机)内置的DHCP服务器功能
六、总结
DHCP协议简化了网络设备的IP地址配置过程,提高了网络管理效率。通过了解DHCP协议的工作原理,我们可以更好地维护和优化网络环境。在实际应用中,应根据网络规模和需求选择合适的DHCP服务器类型,并注意地址池规划、租约期限设置等关键因素。