1 DHCP概述
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作,被广泛用来动态分配网络资源,如IP地址、地址租期、默认网关以及DNS服务器等。
若采用静态配置主机的IP地址,需要考虑主机所处的物理位置,网络管理员进行手动指定用户的IP地址,人力成本较大。应用DHCP的方式则只需要在服务器上进行统一配置,可以实现集中化管理,简化配置。因此,在实际应用中,DHCP得到广泛运用。
2 DHCP工作流程
DHCP采用客户端/服务器工作模式。DHCP客户端通过向DHCP服务器发送请求获取网络参数,DHCP服务器负责处理客户端的DHCP请求,分配网络资源,并集中管理所分配的网络参数。常见的DHCP流程有4种,分别是新用户的租约生成过程、客户端的续租过程、客户端的重启接入过程以及客户端地址释放过程。接下来本文将详细介绍这4种DHCP流程。
2.1 DHCP客户端租约
图2-1 DHCP租约生成过程
当新用户接入网络,可通过DHCP方式动态获取IP地址和其他网络参数。DHCP客户端通过向DHCP服务器发送请求来获取IP地址和其他配置信息。DHCP服务器负责响应客户端的DHCP请求,以“租约”的形式动态分配IP地址和其他网络资源。如图2-1所示,具体的DHCP租约生成过程如下:
(1) DHCP客户端发送DISCOVER广播包在网络上寻找可用的DHCP服务器。
(2) 所有接收到客户端DISCOVER数据包的DHCP服务器均会给出响应,从地址池中挑选一个尚未分配的IP地址,向DHCP客户端以单播/广播方式回应OFFER数据包(依据DISCOVER报文中flags字段决定是单播回应还是广播回应)。OFFER数据包中包含IP地址、地址租期以及域名信息等。
(3) DHCP客户端可能会接收到多个DHCP服务器的OFFER报文,但客户端通常只接受接收到的第一个OFFER报文,然后发送REQUEST广播包。DHCP客户端发送REQUEST采用广播包,是为了通知其它所有发送OFFER数据包的DHCP服务器释放已经预分配给该客户端的IP地址。客户端在发送的REQUEST数据包中会加入选中的DHCP服务器IP地址和需要的IP地址,正式向服务器请求分配已提供的IP地址。
(4) DHCP服务器收到REQUEST报文后,判断数据包中服务器的IP地址是否与自己的地址相同。如果不相同,则丢弃数据包;如果相同,DHCP服务器就会处理REQUEST报文并向DHCP客户端响应一个ACK确认报文,同样依据REQUEST报文中flags字段决定是单播回应还是广播回应。至此,客户端可获得一个IP地址。
需要注意的是,当DHCP客户端接收到ACK确认报文时,所分配到的IP地址不能立即使用。客户端需要进行地址冲突检测,检测网络上是否有其他主机也使用了该地址。如果不冲突,DHCP客户端才使用此地址。如果客户端发现IP地址发生冲突,会通过发送DHCP DECLINE消息来通知服务器,一段时间后会重新向服务器申请地址。
2.2 DHCP客户端续租
图2-2 DHCP客户端续租过程
DHCP服务器分配给客户端的动态IP地址通常有一定的租借期限,期满后服务器会收回该IP地址。如果DHCP客户端希望继续使用该IP地址,就需要进行地址续租。如图2-2所示,具体的DHCP续租流程如下:
(1) 在租期到达一半(即T1)时,DHCP客户端会自动向DHCP服务器单播发送DHCP REQUEST报文,以请求IP租约的更新。如果此IP地址有效,则DHCP服务器回应DHCP ACK报文,通知DHCP客户端已经获得新IP租约。
(2) 如果在T1时进行的续租操作失败(例如DHCP服务器未响应),DHCP客户端会在租期达到7/8(即T2)时,进行广播发送DHCP REQUEST报文再次进行续约。DHCP服务器的处理方式同上。
2.3 DHCP客户端重启
图2-3 DHCP客户端重启过程(一)
图2-4 DHCP客户端重启过程(二)
当DHCP客户端进行重启,再次登录网络时,如图2-3、图2-4所示,具体的DHCP客户端重启流程如下:
(1) DHCP客户端广播发送DHCP REQUEST报文进行地址请求,该报文里携带上次服务器分配给它的IP地址,而不需要再次发送DHCP DISCOVER报文重新进行完整的四步租约生成过程。
(2) DHCP服务器收到DHCP REQUEST报文后,如果客户端申请的地址没有被分配,则返回DHCP ACK确认报文,通知该DHCP客户端继续使用原来的IP地址,如图2-3所示。
如果该IP地址已被分配给其他客户端使用,DHCP服务器将返回DHCP NAK报文,如图2-4所示。客户端收到DHCP NAK报文后,将发送DHCP DISCOVER报文,重新进行租约生成(如图2-1),请求新的IP地址。
2.4 DHCP客户端地址释放
图2-5 DHCP客户端地址释放过程
当DHCP客户端不需要DHCP服务器分配的IP地址时,可以主动释放,如图2-5所示,具体的DHCP客户端地址释放流程如下:
(1) DHCP客户端向DHCP服务器发送DHCP RELEASE报文,通知DHCP服务器释放该IP地址的租约。
(2) DHCP服务器收到DHCP RELEASE报文后,向客户端回应一个DHCP ACK确认报文,并回收该IP地址。DHCP服务器会暂时保留该DHCP客户端的配置信息,以便该DHCP客户端重新申请地址时,重用这些参数。
3 结论
DHCP通过地址租用的形式,提高了IP地址的使用率。此外,采用DHCP方式进行动态分配网络参数,可降低网络接入成本,简化配置任务,同时可实现集中化的管理。因此,DHCP技术在实际网络建设中被广泛使用。本文对DHCP常见的几种工作流程进行了详细的介绍,希望帮助读者更好地了解DHCP。
相关链接
相关链接
更多技术博文
-
全调度以太网(GSE),中国智算网络新标准
GSE网络作为一种全调度以太网技术,专为大规模AI训练集群设计,通过按需调度实现无损性能,提供灵活快速的部署方案,构建开放生态,显著提升智算效率和运维体验。
-
#知识百科
-
-
以太和PON,谁能更好地支撑办公室横向流量业务?
了解以太彩光与PON的区别,解析办公资源共享难题,锐捷极简以太彩光方案助您高效适配办公网,共享打印无压力!
-
#交换机
-
-
场景无线 驱动高效办公!锐捷新一代企业无线办公解决方案全新发布!
面对企业数智化转型中的无线办公网络挑战,锐捷新一代企业无线办公解决方案通过全场景AP、智能调度与云端智能运维等技术,实现网络性能、用户体验与运维效率的全面提升。
-
#无线网
-
#办公网
-
-
以太彩光和PON,运维管理谁技高一筹?
锐捷网络提供极简以太全光方案,简化配置流程,降低学习成本,让全光网络升级更平滑。
-
#交换机
-