专利名称:Dhcp租约处理方法及装置的制作方法
技术领域:
本发明涉及数据通信领域,具体而言,涉及一种DHCP租约处理方法及装置。
背景技术:
为了避免IP (Internet Protocol,因特网协议)地址永久的分配给客户端,导致 IP地址资源不足,DHCP (Dynamic Host Control Protocol,动态主机控制协议)中提供了 租约功能来避免这种情况。分配给客户端的IP地址都有一定的租约期,例如,微软DHCP服 务器的租约期默认为8天。当租约到期后,如果客户端没有续租约,则DHCP服务器会收回分配给该客户端的 IP地址,提供其他需要IP地址的客户端使用。在租约到期前,存在某些使用租约的客户端 不再需要该租约的情况,比如发生故障,关机等,但是这些租约仍占用的IP地址资源不能 提供给其他需要租约的客户端使用,导致IP地址资源利用率降低。针对相关技术中IP地址资源利用率降低的问题,目前尚未提出有效的解决方案。
发明内容
本发明的主要目的在于提供一种动态主机控制协议DHCP租约处理方法及装置, 以至少解决上述相关技术中IP地址资源利用率降低的问题。根据本发明的一个方面,提供了一种DHCP租约处理方法,包括从在用租约池中 获取客户端的DHCP租约,向所述客户端发送检测所述客户端的DHCP租约是否有效的检测 报文,其中,所述在用租约池中存储正在使用且当前有效的DHCP租约及与其对应的客户端 信息;若在预设时间段内未收到所述客户端反馈的响应信息,则重新发送所述检测报文; 若连续N次发送的所述检测报文均未收到所述客户端反馈的响应信息,则确定所述客户端 的DHCP租约无效,并释放所述客户端的DHCP租约占用的资源,其中,N为自然数。较优的,所述从在用租约池中获取客户端的DHCP租约,包括利用租约检测定时 器周期性从在用租约池中获取客户端的DHCP租约,所述租约检测定时器到时,从在用租约 池中获取客户端的DHCP租约。较优的,所述租约检测定时器定时时间为1小时。较优的,向所述客户端发送检测所述客户端的DHCP租约是否有效的检测报文,包 括当所述客户端与DHCP服务器在同一个子网中时,向所述客户端发送地址解析协议arp 报文;当所述客户端与DHCP服务器不在同一个子网中时,向所述客户端发送因特网信息控 制协议icmp报文。较优的,所述释放所述客户端的DHCP租约占用的资源,包括将所述客户端的 DHCP租约占用的资源释放至超期租约池,其中,所述超期租约池中存储已超期释放的DHCP 租约以及之前占用所述已超期释放的DHCP租约的客户端信息。较优的,所述若在预设时间段内未收到所述客户端反馈的响应信息,则重新发送 所述检测报文,包括利用响应超时定时器等待客户的响应,若所述响应超时定时器超时仍未收到所述客户端反馈的响应信息,则重新发送所述检测报文,其中,所述响应超时定时器 定时时间为2秒。较优的,N= 3。根据本发明的另一方面,提供了一种DHCP租约处理装置,包括发送单元,用于从 在用租约池中获取客户端的DHCP租约,向所述客户端发送检测所述客户端的DHCP租约是 否有效的检测报文,其中,所述在用租约池中存储正在使用且当前有效的DHCP租约及与其 对应的客户端信息;若在预设时间段内未收到所述客户端的响应,则重新发送所述检测报 文;确定单元,用于若连续N次发送的所述检测报文均未收到所述客户端反馈的响应信息, 则确定所述客户端的DHCP租约无效,并释放所述客户端的DHCP租约占用的资源,其中,N为 自然数。较优的,所述发送单元进一步用于当所述客户端与DHCP服务器在同一个子网中 时,向所述客户端发送地址解析协议arp报文;当所述客户端与DHCP服务器不在同一个子 网中时,向所述客户端发送因特网信息控制协议icmp报文。较优的,所述确定单元进一步用于将所述客户端的DHCP租约占用的资源释放至 超期租约池,其中,所述超期租约池中存储已超期释放的DHCP租约以及之前占用所述已超 期释放的DHCP租约的客户端信息。在本发明实施例中,从在用租约池中获取客户端的DHCP租约,并检测该DHCP租约 的有效性,若连续N次发送的检测报文均未收到客户端反馈的响应信息,则确定客户端的 DHCP租约无效,并释放客户端的DHCP租约占用的资源,可以将不再需要租约的客户端占用 的资源释放,后续可以分配给其他客户端使用,提高了 IP地址资源的可利用率。
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发 明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图1是根据本发明实施例的DHCP租约处理方法的处理流程图;图2是根据本发明实施例的对租约有效性检测的处理流程图;图3是根据本发明实施例的DHCP租约处理的典型组网示意图;图4是根据本发明实施例的DHCP租约处理装置的结构示意图;图5是根据本发明实施例的租约检测模块的结构示意图。
具体实施例方式下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的 情况下,本申请中的实施例及实施例中的特征可以相互组合。相关技术中提到,在租约到期前,存在某些使用租约的客户端不再需要该租约的 情况,比如发生故障,关机等,但是这些租约仍占用的IP地址资源不能提供给其他需要租 约的客户端使用,导致IP地址资源利用率降低。为解决上述技术问题,本发明实施例提供 了一种DHCP租约处理方法,其处理流程如图1所示,包括步骤102、从在用租约池中获取客户端的DHCP租约,向客户端发送检测客户端的 DHCP租约是否有效的检测报文,其中,在用租约池中存储正在使用且当前有效的DHCP租约及与其对应的客户端信息;步骤104、若在预设时间段内未收到客户端反馈的响应信息,则重新发送检测报 文;步骤106、若连续N次发送的检测报文均未收到客户端反馈的响应信息,则确定客 户端的DHCP租约无效,并释放客户端的DHCP租约占用的资源,其中,N为自然数。在本发明实施例中,从在用租约池中获取客户端的DHCP租约,并检测该DHCP租约 的有效性,若连续N次发送的检测报文均未收到客户端反馈的响应信息,则确定客户端的 DHCP租约无效,并释放客户端的DHCP租约占用的资源,可以将不再需要租约的客户端占用 的资源释放,后续可以分配给其他客户端使用,提高了 IP地址资源的可利用率。实施时,从在用租约池中获取客户端的DHCP租约可以有多种实施方式,较优的, 可以利用租约检测定时器周期性从在用租约池中获取客户端的DHCP租约,当租约检测定 时器到时,从在用租约池中获取客户端的DHCP租约。上述租约检测步骤由检测定时器周期触发,检测周期可以由用户设置,例如,50分 钟,50秒,等等;通常默认为1小时。实施时,检测报文可以有多种,较优的,包括地址解析协议arp报文和因特网信息 控制协议icmp报文,各检测报文的实施环境如下当客户端与DHCP服务器在同一个子网中时,向客户端发送arp报文;当客户端与DHCP服务器不在同一个子网中时,向客户端发送icmp报文。实施时,释放所述客户端的DHCP租约占用的资源,将客户端的DHCP租约占用的资 源释放至超期租约池,其中,超期租约池中存储已超期释放的DHCP租约以及之前占用已超 期释放的DHCP租约的客户端信息。在后续应用中,若可用租约池中的资源被使用完时,可 以从超期租约池中获取资源进而分配给客户端,提高了 IP地址资源的利用率。实施时,若在预设时间段内未收到所述客户端反馈的响应信息,则重新发送检测 报文,较优的,可以利用响应超时定时器进行控制,若响应超时定时器超时仍未收到客户端 反馈的响应信息,则重新发送检测报文。响应超时定时器的时间也可以由用户设置,例如, 15分钟,20秒,等等,通常默认为2秒。通常,若发送了超过3次的检测报文客户端均没有回应,则认为客户端已经不需 要其原先占用的DHCP租约,将其对应的资源释放。采用本发明实施例提供的方法可以在DHCP服务器上添加了一个租约合法性检测 功能,通过发送arp报文或者icmp报文检测客户端租约的合法性,实现简单,不需要修改协 议,只需要在现有DHCP服务器功能中添加上述功能即可实现。现对租约有效性检测的流程进行描述,流程图请参见图2 步骤202、配置租约有效性检测参数(是否启用检测,响应超时时长(默认是2秒 一次),最大检测次数(默认是3次),检测周期(默认1小时));步骤204、当检测周期到时,触发租约检测;步骤206、重置检测定时器;步骤208、从在用租约池中获取未检测租约,如果获取失败,说明所有租约已经检 测完成,依次执行步骤210及步骤204,否则执行步骤212 ;步骤210、将所有租约的检测标识清零;
步骤212、给获取的租约打上检测标识,检测次数设置为0 ;步骤214、判断是否满足最大检测次数,若是,执行步骤222,否,执行步骤216 ;步骤216、发送检测报文,检测次数加1 ;步骤218、重置检测定时器和响应超时定时器,开始计时;步骤220、如果在响应超时定时器超时前收到检测响应报文,则执行步骤206,否 则,执行步骤214;步骤222、将当前租约从在用租约池移到超期租约池,清除检测标识及已检测次数 后,执行步骤206。实施时,本发明实施例应用的网络环境的典型组网如图3所示,包括客户端1、2, 交换机,DHCP服务器,客户端2经中间网络与DHCP服务器连接。基于同一发明构思,本发明实施例还提供了一种DHCP租约处理装置,其结构如图 4所示,包括发送单元401,用于从在用租约池中获取客户端的DHCP租约,向客户端发送检测 客户端的DHCP租约是否有效的检测报文,其中,在用租约池中存储正在使用且当前有效的 DHCP租约及与其对应的客户端信息;若在预设时间段内未收到客户端的响应,则重新所述 检测报文确定单元402,用于若连续N次发送的检测报文均未收到客户端反馈的响应信息, 则确定客户端的DHCP租约无效,并释放客户端的DHCP租约占用的资源,其中,N为自然数。在一个实施例中,发送单元401可以进一步用于当客户端与DHCP服务器在同一个子网中时,向客户端发送arp报文;当客户端与DHCP服务器不在同一个子网中时,向客户端发送icmp报文。在一个实施例中,确定单元402可以进一步用于将客户端的DHCP租约占用的资 源释放至超期租约池,其中,超期租约池中存储已超期释放的DHCP租约以及之前占用已超 期释放的DHCP租约的客户端信息。实施时,本发明实施例可以在DHCP服务器端实现一个租约检测模块,该模块与 DHCP服务器功能模块需要交互租约检测信息,用于DHCP服务器提前释放可用的IP地址资源。租约检测模块包含如下功能单元定时器功能单元、租约管理单元、检测报文发送 单元、检测报文接收单元、检测控制单元,各单元之间关系参见图5。定时器功能单元管理两个定时器检测定时器和响应超时定时器。检测定时器时 长必须大于响应超时定时器时长。检测定时器定时循环触发检测操作,默认为1小时一次,也可以由用户手工指定 检测时长。响应超时定时器用来触发超时事件,在超时事件中对租约的有效性进行判断,超 时时长默认为2秒,也可以由用户手工指定超时时长。租约管理单元提供租约池的管理和维护功能,主要有三个租约池在用租约池、超 期租约池、可用租约池,在用租约池中存储当前有效、正在使用的租约及相关的用户信息, 超期租约池中存储已超期释放的租约及之前占用该租约的用户信息,可用租约池中存储的 未曾分配使用过的租约信息。主要操作有
定时器功能单元中的检测定时器超时时长到期,触发检测控制单元从租约池中获 取一个租约的用户信息,并发起租约有效性检测;检测控制单元决策出需要释放的租约,通知租约管理单元释放在用租约池中相关 租约的用户信息;并将该用户的租约信息放入超期租约池;由DHCP服务器功能模块触发租约管理单元从可用租约池中获取一个可用的租约 信息,如果可用租约池已空,就从超期租约池中获取;将可用租约池中正常超期释放的租约放入超期租约池中。检测报文发送单元用于构造和发送arp或者icmp报文执行检测功能,检测操作由 检测控制单元触发。检测报文接收单元接收检测响应报文(arp或icmp响应报文)或响应超时定时器 的超时事件,通知检测控制单元。检测控制单元与其他几个功能单元相互协作完成租约检测和租约管理功能决策出需要检测的租约,通知检测报文发送单元进行检测;同时需要记录被检测 的租约信息(被检测的客户端IP地址,已检测次数)。收到检测报文接收单元的检测结果通知,触发检测操作如果是收到正确响应报 文,检测控制单元将触发下一个租约的合法性检测,如果是超时事件,且检测次数不满足最 大检测次数(默认为3次),需要针对当前租约重新发起检测,否则触发下一个租约的检测。检测操作频率由定时器控制单元控制,检测定时器超时时长到期,决策出需要触 发检测的租约,触发检测动作。与租约池单元交互,获取待检测租约;通知租约池被检测租约的检测结果。从以上的描述中,可以看出,本发明实现了如下技术效果在本发明实施例中,从在用租约池中获取客户端的DHCP租约,并检测该DHCP租约 的有效性,若连续N次发送的检测报文均未收到客户端反馈的响应信息,则确定客户端的 DHCP租约无效,并释放客户端的DHCP租约占用的资源,可以将不再需要租约的客户端占用 的资源释放,后续可以分配给其他客户端使用,提高了 IP地址资源的可利用率。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用 的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成 的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储 在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示 出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或 步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技 术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修 改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
一种动态主机控制协议DHCP租约处理方法,其特征在于,包括从在用租约池中获取客户端的DHCP租约,向所述客户端发送检测所述客户端的DHCP租约是否有效的检测报文,其中,所述在用租约池中存储正在使用且当前有效的DHCP租约及与其对应的客户端信息;若在预设时间段内未收到所述客户端反馈的响应信息,则重新发送所述检测报文;若连续N次发送的所述检测报文均未收到所述客户端反馈的响应信息,则确定所述客户端的DHCP租约无效,并释放所述客户端的DHCP租约占用的资源,其中,N为自然数。
2.根据权利要求1所述的方法,其特征在于,所述从在用租约池中获取客户端的DHCP 租约,包括利用租约检测定时器周期性从在用租约池中获取客户端的DHCP租约,所述租 约检测定时器到时,从在用租约池中获取客户端的DHCP租约。
3.根据权利要求2所述的方法,其特征在于,所述租约检测定时器定时时间为1小时。
4.根据权利要求1所述的方法,其特征在于,向所述客户端发送检测所述客户端的 DHCP租约是否有效的检测报文,包括当所述客户端与DHCP服务器在同一个子网中时,向所述客户端发送地址解析协议arp 报文;当所述客户端与DHCP服务器不在同一个子网中时,向所述客户端发送因特网信息控 制协议icmp报文。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述释放所述客户端的DHCP 租约占用的资源,包括将所述客户端的DHCP租约占用的资源释放至超期租约池,其中,所 述超期租约池中存储已超期释放的DHCP租约以及之前占用所述已超期释放的DHCP租约的客户端信息。
6.根据权利要求1至4任一项所述的方法,其特征在于,所述若在预设时间段内未收到 所述客户端反馈的响应信息,则重新发送所述检测报文,包括利用响应超时定时器等待客 户的响应,若所述响应超时定时器超时仍未收到所述客户端反馈的响应信息,则重新发送 所述检测报文,其中,所述响应超时定时器定时时间为2秒。
7.根据权利要求1至4任一项所述的方法,其特征在于,N= 3。
8.一种动态主机控制协议DHCP租约处理装置,其特征在于,包括发送单元,用于从在用租约池中获取客户端的DHCP租约,向所述客户端发送检测所述 客户端的DHCP租约是否有效的检测报文,其中,所述在用租约池中存储正在使用且当前有 效的DHCP租约及与其对应的客户端信息;若在预设时间段内未收到所述客户端的响应,则 重新发送所述检测报文;确定单元,用于若连续N次发送的所述检测报文均未收到所述客户端反馈的响应信 息,则确定所述客户端的DHCP租约无效,并释放所述客户端的DHCP租约占用的资源,其中, N为自然数。
9 根据权利要求8所述的装置,其特征在于,所述发送单元进一步用于当所述客户端与DHCP服务器在同一个子网中时,向所述客户端发送地址解析协议arp 报文;当所述客户端与DHCP服务器不在同一个子网中时,向所述客户端发送因特网信息控 制协议icmp报文。
10.根据权利要求8或9所述的装置,其特征在于,所述确定单元进一步用于将所述 客户端的DHCP租约占用的资源释放至超期租约池,其中,所述超期租约池中存储已超期释 放的DHCP租约以及之前占用所述已超期释放的DHCP租约的客户端信息。
全文摘要
本发明公开了一种动态主机控制协议DHCP租约处理方法及装置,该方法包括从在用租约池中获取客户端的DHCP租约,向所述客户端发送检测所述客户端的DHCP租约是否有效的检测报文,其中,所述在用租约池中存储正在使用且当前有效的DHCP租约及与其对应的客户端信息;若在预设时间段内未收到所述客户端反馈的响应信息,则重新发送所述检测报文;若连续N次发送的所述检测报文均未收到所述客户端反馈的响应信息,则确定所述客户端的DHCP租约无效,并释放所述客户端的DHCP租约占用的资源,其中,N为自然数。采用本发明能够提高IP地址资源的可利用率。
文档编号H04L29/08GK101997920SQ201010550088
公开日2011年3月30日 申请日期2010年11月18日 优先权日2010年11月18日
发明者张晓东 申请人:中兴通讯股份有限公司