一种地址快速分配的方法及装置与流程

文档序号:16149731发布日期:2018-12-05 17:19阅读:169来源:国知局

本发明涉及通信技术领域,尤其涉及一种地址快速分配的方法及装置。

背景技术

dhcp(dynamichostconfigurationprotocol,动态主机配置协议)是常用协议,通过dhcp协议,客户端能够获取dhcp服务器动态分配的ip地址。现有方式中客户端首次获取ip地址时,客户端与dhcp服务器通常通过dhcp-discover发现报文、dhcp-offer提供报文、dhcp-request请求报文以及dhcp-ack确认应答报文,这四步交互获取一个可用的ip地址,具体过程如下:

dhcp客户端通过发送dhcp-discover报文来寻找dhcp服务器;

网络中接收到dhcp-discover报文的dhcp服务器会从dhcp地址池中寻找到任意可用的ip地址后,通过dhcp-offer报文将ip地址发送给dhcp客户端;

dhcp客户端接受动态分配的ip地址后发送dhcp-request请求报文;

收到dhcp-request报文后,dhcp服务器会在本服务器生成相应租约记录后,发送dhcp-ack报文作为应答,通知dhcp客户端可以使用动态分配的ip地址;

如果dhcp客户端通过dhcp-request报文请求的ip地址不可用,dhcp服务器会发送dhcpnak报文拒绝dhcp客户端的请求,并触发dhcp客户端开始新的ip地址申请流程。

在配置了一个dhcp服务器的网络中,客户端仍需要通过上述四步交互过程获取一个可用的ip地址,效率较低;如果在配置了多个dhcp服务器的网络中,由于一个客户端进行地址请求时,网络中的多个dhcp服务器都可以为客户端分配ip地址并提供offer报文,而客户端只会使用其中一个dhcp服务器分配的ip地址,因此客户端不但需要通过上述四步交互过程获取ip地址,还会因为多个dhcp服务器与该客户端的交互,导致客户端与dhcp服务器的交互效率较低且增加了网络中带宽的负载。



技术实现要素:

有鉴于此,本发明提供一种地址快速分配的方法及装置,以减少现有技术中dhcp服务器与客户端交互的步骤,降低网络带宽的负载。

具体地,本发明是通过如下技术方案实现的:

本发明提供一种地址快速分配的方法,所述方法应用于dhcp服务器,所述方法包括:

当收到客户端发送的发现报文时,判断所述发现报文中是否携带预设标识;

若是,则为所述客户端分配ip地址,生成相应的租约记录,向所述客户端反馈携带所述ip地址的应答报文,以使所述客户端使用所述应答报文中的ip地址访问网络;

若否,则为所述客户端预分配ip地址,并向所述客户端反馈携带所述预分配ip地址的提供报文,以使所述客户端根据所述提供报文反馈请求报文来获取可用ip地址。

作为一个实施例,判断所述发现报文中是否携带预设标识,包括:

检查所述发现报文中option254rapidcommit字段是否为1;

若是,则确定所述发现报文中携带预设标识;

若否,则确定所述发现报文中未携带预设标识。

作为一个实施例,为所述客户端分配ip地址,包括:

判断所述发现报文中携带的客户端的mac地址是否存在租约记录;

若是,则将所述租约记录中的已分配的ip地址分配给所述客户端;

若否,则判断所述发现报文中是否携带特定ip地址;若携带,且所述特定ip地址在地址池中,则将所述特定ip地址分配给所述客户端;若未携带,则从地址池获取可用的ip地址分配给所述客户端。

作为一个实施例,为所述客户端分配ip地址,还包括:

判断所述发现报文中携带的客户端的mac地址在静态绑定表中是否存在对应的ip地址;

若是,则将所述mac地址对应的ip地址分配给所述客户端;

若否,则从地址池获取可用的ip地址分配给所述客户端。

本发明还提供一种地址快速分配的方法,所述方法应用于客户端,所述方法包括:

创建发现报文,所述发现报文中携带预设标识;

向dhcp服务器发送所述发现报文,以使所述dhcp服务器根据所述发现报文中携带的预设标为所述客户端分配ip地址以及生成相应的租约记录,并向所述客户端反馈携带所述ip地址的应答报文;

当收到所述应答报文时,获取所述应答报文中携带的ip地址,使用所述ip地址访问网络。

基于相同的构思,本发明还提供一种地址快速分配的装置,所述装置应用于dhcp服务器,所述方法包括:

判断单元,用于当收到客户端发送的发现报文时,判断所述发现报文中是否携带预设标识;

地址分配单元,用于若携带预设标识,则为所述客户端分配ip地址,生成相应的租约记录,向所述客户端反馈携带所述ip地址的应答报文,以使所述客户端使用所述应答报文中的ip地址访问网络;

预分配单元,用于若未携带预设标识,则为所述客户端预分配ip地址,并向所述客户端反馈携带所述预分配ip地址的提供报文,以使所述客户端根据所述提供报文反馈请求报文来获取可用ip地址。

作为一个实施例,所述判断单元,具体用于检查所述发现报文中option254rapidcommit字段是否为1;若是,则确定所述发现报文中携带预设标识;若否,则确定所述发现报文中未携带预设标识。

作为一个实施例,所述地址分配单元,具体用于判断所述发现报文中携带的客户端的mac地址是否存在租约记录;若是,则将所述租约记录中的已分配的ip地址分配给所述客户端;若否,则判断所述发现报文中是否携带特定ip地址;若携带,且所述特定ip地址在地址池中,则将所述特定ip地址分配给所述客户端;若未携带,则从地址池获取可用的ip地址分配给所述客户端。

作为一个实施例,所述地址分配单元,还用于判断所述发现报文中携带的客户端的mac地址在静态绑定表中是否存在对应的ip地址;若是,则将所述mac地址对应的ip地址分配给所述客户端;若否,则从地址池获取可用的ip地址分配给所述客户端。

本发明还提供一种地址快速分配的装置,所述装置应用于客户端,所述方法包括:

报文创建单元,用于创建发现报文,所述发现报文中携带预设标识;

报文发送单元,用于向dhcp服务器发送所述发现报文,以使所述dhcp服务器根据所述发现报文中携带的预设标为所述客户端分配ip地址以及生成相应的租约记录,并向所述客户端反馈携带所述ip地址的应答报文;

报文接收单元,用于当收到所述应答报文时,获取所述应答报文中携带的ip地址,使用所述ip地址访问网络。

由此可见,本发明可以使dhcp服务器在收到客户端发送的发现报文时,判断所述发现报文中是否携带预设标识;若是,则说明该客户端支持两步交互的功能,因此可以为所述客户端分配ip地址,并生成相应的租约记录,然后述客户端反馈携带所述ip地址的应答报文,以使所述客户端使用所述应答报文中的ip地址访问网络;若否,则说明该客户端不支持两步交互的功能,则可以为所述客户端预分配ip地址,并向所述客户端反馈携带所述预分配ip地址的提供报文,以使所述客户端根据所述提供报文反馈请求报文来获取可用ip地址。因此本发明可以通过两步交互的方式实现对客户端进行快速的ip地址分配,从而可以提升地址分配速率,减少报文交互对带宽的占用。

附图说明

图1是本发明一种示例性实施方式中的一种地址快速分配的方法的处理流程图;

图2是本发明一种示例性实施方式中的另一种地址快速分配的方法的处理流程图;

图3是本发明一种示例性实施方式中的dhcp服务器快速分配ip地址的处理流程图;

图4a本发明一种示例性实施方式中的地址快速分配的装置所在dhcp服务器的硬件结构图;

图4b本发明一种示例性实施方式中的地址快速分配的装置的逻辑结构图;

图5a本发明一种示例性实施方式中的地址快速分配的装置所在客户端的硬件结构图;

图5b本发明一种示例性实施方式中的地址快速分配的装置的逻辑结构图。

具体实施方式

为了解决现有技术存在的问题,本发明提供一种地址快速分配的方法及装置,本发明可以使dhcp服务器在收到客户端发送的发现报文时,判断所述发现报文中是否携带预设标识;若是,则说明该客户端支持两步交互的功能,因此可以为所述客户端分配ip地址,并生成相应的租约记录,然后述客户端反馈携带所述ip地址的应答报文,以使所述客户端使用所述应答报文中的ip地址访问网络;若否,则说明该客户端不支持两步交互的功能,则可以为所述客户端预分配ip地址,并向所述客户端反馈携带所述预分配ip地址的提供报文,以使所述客户端根据所述提供报文反馈请求报文来获取可用ip地址。因此本发明可以通过两步交互的方式实现对客户端进行快速的ip地址分配,从而可以提升地址分配速率,减少报文交互对带宽的占用。

请参考图1,是本发明一种示例性实施方式中的一种地址快速分配的方法的处理流程图,所述方法应用于dhcp服务器,所述方法包括:

步骤101、当收到客户端发送的发现报文时,判断所述发现报文中是否携带预设标识;若是,则转步骤102;若否,则转步骤103;

在本实施例中,当dhcp服务器收到客户端发送的发现报文(例如dhcp-discover)时,可以进一步判断该发现报文中是否携带预设标识,如果携带,则说明该客户端支持本发明的地址快速分配方法;如果未携带,则说明该客户端不支持本发明的地址快速分配方法。

作为一个实施例,dhcp服务器在判断发现报文中是否携带预设标识的具体方法,包括:检查该发现报文中option254rapidcommit字段是否为1;若是,则确定所述发现报文中携带预设标识;若否,则确定所述发现报文中未携带预设标识。

通过使用标记来区分客户端是否支持本发明的快速分配地址功能,从而可以使dhcp服务器区分客户端是否支持本发明的快速分配地址功能,以便于按照不同的交互流程从与客户端交互,从而可以实现快速分配地址的功能。

步骤102、为所述客户端分配ip地址,生成相应的租约记录,向所述客户端反馈携带所述ip地址的应答报文,以使所述客户端使用所述应答报文中的ip地址访问网络;

在本实施例中,如果客户端的发现报文中携带预设标识,则说明该客户端支持本发明的快速分配地址功能,因此dhcp服务器可以为该客户端分配ip地址,并且生成租约记录,该租约记录中包括该客户端的mac地址、已分配的ip地址,以及该ip地址租用时间等等。然后向该客户端反馈携带该ip地址的应答报文(例如dhcp-ack),以使客户端使用该应答报文中的ip地址访问网络。

步骤103、为所述客户端预分配ip地址,并向所述客户端反馈携带所述预分配ip地址的提供报文,以使所述客户端根据所述提供报文反馈请求报文来获取可用ip地址。

在本实施例中,如果客户端的发现报文中未携带预设标识,则说明该客户端不支持本发明的快速分配地址功能,因此dhcp服务器可以按照常规方式为该客户端预分配ip地址,然后将该预分配的ip地址添加到提供报文(例如dhcp-offer),以使客户端根据该提供报文向dhcp服务器反馈请求报文(例如dhcp-request)来继续获取可用ip地址。

作为一个实施例,dhcp服务器为客户端分配ip地址的具体方法包括:先判断所述发现报文中携带的客户端的mac地址是否存在租约记录;若是,则说明该ip地址曾经分配给了该客户端,客户端处于续约状态,因此dhcp服务器可以将所述租约记录中的已分配的ip地址分配给所述客户端,更新对应的租约记录并回复应答报文;若否,则说明该ip地址未分配给过该客户端,因此可以进一步再判断所述发现报文中是否携带特定ip地址;若携带,且所述特定ip地址在地址池中,则将所述特定ip地址分配给所述客户端,并生成租约记录;若未携带,则从地址池获取可用的ip地址分配给所述客户端,并生成租约记录。因此,可以尽量保证客户端的ip地址比较稳定,不会不断变化,从而也增强了客户端访问网络的稳定性。

作为一个实施例,dhcp服务器为客户端分配ip地址的具体方法还包括:判断所述发现报文中携带的客户端的mac地址在静态绑定表中是否存在对应的ip地址;若是,则可以将静态绑定表中的客户端的mac地址对应的ip地址分配给该客户端,并生成租约记录;若否,则从地址池获取可用的ip地址分配给所述客户端,并生成租约记录。

上述两个实施例可以单独使用,也可以结合起来使用,在结合使用时,可以先判断所述发现报文中携带的客户端的mac地址在静态绑定表中是否存在对应的ip地址,如果不存在,再判断所述发现报文中携带的客户端的mac地址是否存在对应的租约记录。在地址池中为客户端分配ip地址之前可以通过判断客户端请求的ip地址是否属于静态绑定的ip地址,或者是已为该客户端分配过的ip地址,又或者是特定的ip地址,可以进一步满足用户请求ip地址的不同需求情况,还可以进一步提升分配ip地址的效率。

相比于现有技术中dhcp服务器与客户端通过四步交互实现ip地址分配,本发明可以通过两步交互的方式(即仅包括发现报文和应答报文)实现对客户端进行快速的ip地址分配,从而可以提升地址分配速率,减少报文交互对带宽的占用。同时本发明也支持原有的四步交互方式,因此在客户端或者dhcp服务器不支持本发明的地址快速分配方法的情况下,还可以按照现有的四步交互方法为客户端分配ip地址,因此可以更好的与现有技术进行融合,适用性更强。

请参考图2,是本发明一种示例性实施方式中的另一种地址快速分配的方法的处理流程图,所述方法应用于访问dhcp服务器的客户端,所述方法包括:

步骤201、创建发现报文,所述发现报文中携带预设标识;

在本实施例中,当客户端支持本发明的地址快速分配的方法时,可以创建发现报文,所述发现报文中携带预设标识。作为一个实施例,客户端可以在该发现报文中添加option254rapidcommit字段,并设置为1,则使dhcp服务器在收到发现报文时,可以通过解析该option254rapidcommit字段确定该发现报文中携带预设标识,因此确定该客户端支持本发明的地址快速分配的方法。

步骤202、向dhcp服务器发送所述发现报文,以使所述dhcp服务器根据所述发现报文中携带的预设标为所述客户端分配ip地址以及生成相应的租约记录,并向所述客户端反馈携带所述ip地址的应答报文;

客户端向dhcp服务器发送该发现报文,以使所述dhcp服务器根据所述发现报文中携带的预设标确定该客户端支持本发明的地址快速分配的方法。因此为该客户端分配ip地址以及生成相应的租约记录,该租约记录中包括该客户端的mac地址、已分配的ip地址,以及该ip地址租用时间等等。之后可以向该客户端反馈携带所述ip地址的应答报文。

步骤203、当收到所述应答报文时,获取所述应答报文中携带的ip地址,使用所述ip地址访问网络。

当客户端收到dhcp服务器反馈的该应答报文时,可以获取所述应答报文中携带的ip地址,并使用所述ip地址访问网络。

相比于现有技术中dhcp服务器与客户端通过四步交互实现ip地址分配,本发明可以通过两步交互的方式(即仅包括发现报文和应答报文)实现对客户端进行快速的ip地址分配,从而可以提升地址分配速率,减少报文交互对带宽的占用。

为使本发明的目的、技术方案及优点更加清楚明白,下面结合图3对本发明的方案作进一步地详细说明。

请参见图3,是本发明实施例中dhcp服务器快速分配ip地址的处理流程图,该方法包括:

步骤301、接收客户端发送的discover报文;

步骤302、判断discover报文中的客户端mac地址是否在静态配置表项中有对应的ip地址;若是,则转步骤303;若否,则转步骤304;

步骤303、获取静态配置表项中的该ip地址分配给客户端,转步骤309;

步骤304、判断该discover报文中的客户端mac地址是否存在租约记录;若是,则转步骤305;若否,则转步骤306;

步骤305、将所述租约记录中的已分配的ip地址分配给客户端,转步骤309;

步骤306、判断该discover报文中是否携带特定ip地址;若是,则转步骤307;若否,则转步骤308;

步骤307、若该特定ip地址在地址池中,则将所述特定ip地址分配给客户端,转步骤309;

步骤308、从地址池获取可用的ip地址分配给客户端,转步骤309;

步骤309、根据分配客户端的ip地址生成或者更新租约记录;

步骤310、判断该discover报文中是否有预设标识;若是,则转步骤311;若否,则转步骤312;

步骤311、向客户端反馈携带该ip地址的ack报文;

步骤312、向客户端反馈携带该ip地址的offer报文。

相对于现有技术中,客户端与dhcp服务器通常通过discover报文、offer报文、request报文以及ack报文,这四步交互获取一个可用的ip地址,本发明可以通过两步交互的方式,即discover报文和ack报文,实现对客户端进行快速的ip地址分配,从而可以提升地址分配速率,减少报文交互对带宽的占用。

基于相同的构思,本发明还提供一种地址快速分配的装置,该装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,本发明的地址快速分配的装置作为一个逻辑意义上的装置,是通过其所在装置的cpu将存储器中对应的计算机程序指令读取后运行而成。

请参考图4a,是本发明一种示例性实施方式中的一种地址快速分配的装置400,所述装置应用于dhcp服务器,该装置基本运行环境包括cpu,存储器以及其他硬件,从逻辑层面上来看,该装置400的逻辑结构如图4b所示,其中包括:

判断单元401,用于当收到客户端发送的发现报文时,判断所述发现报文中是否携带预设标识;

地址分配单元402,用于若携带预设标识,则为所述客户端分配ip地址,生成相应的租约记录,向所述客户端反馈携带所述ip地址的应答报文,以使所述客户端使用所述应答报文中的ip地址访问网络;

预分配单元403,用于若未携带预设标识,则为所述客户端预分配ip地址,并向所述客户端反馈携带所述预分配ip地址的提供报文,以使所述客户端根据所述提供报文反馈请求报文来获取可用ip地址。

作为一个实施例,所述判断单元401,具体用于检查所述发现报文中option254rapidcommit字段是否为1;若是,则确定所述发现报文中携带预设标识;若否,则确定所述发现报文中未携带预设标识。

作为一个实施例,所述地址分配单元402,具体用于判断所述发现报文中携带的客户端的mac地址是否存在租约记录;若是,则将所述租约记录中的已分配的ip地址分配给所述客户端;若否,则判断所述发现报文中是否携带特定ip地址;若携带,且所述特定ip地址在地址池中,则将所述特定ip地址分配给所述客户端;若未携带,则从地址池获取可用的ip地址分配给所述客户端。

作为一个实施例,所述地址分配单元402,还用于判断所述发现报文中携带的客户端的mac地址在静态绑定表中是否存在对应的ip地址;若是,则将所述mac地址对应的ip地址分配给所述客户端;若否,则从地址池获取可用的ip地址分配给所述客户端。

请参考图5a,是本发明一种示例性实施方式中的一种地址快速分配的装置500,所述装置应用于客户端,该装置基本运行环境包括cpu,存储器以及其他硬件,从逻辑层面上来看,该装置500的逻辑结构如图5b所示,其中包括:

报文创建单元501,用于创建发现报文,所述发现报文中携带预设标识;

报文发送单元502,用于向dhcp服务器发送所述发现报文,以使所述dhcp服务器根据所述发现报文中携带的预设标为所述客户端分配ip地址以及生成相应的租约记录,并向所述客户端反馈携带所述ip地址的应答报文;

报文接收单元503,用于当收到所述应答报文时,获取所述应答报文中携带的ip地址,使用所述ip地址访问网络。

综上所述,本发明可以使dhcp服务器在收到客户端发送的发现报文时,判断所述发现报文中是否携带预设标识;若是,则说明该客户端支持两步交互的功能,因此可以为所述客户端分配ip地址,并生成相应的租约记录,然后述客户端反馈携带所述ip地址的应答报文,以使所述客户端使用所述应答报文中的ip地址访问网络;若否,则说明该客户端不支持两步交互的功能,则可以为所述客户端预分配ip地址,并向所述客户端反馈携带所述预分配ip地址的提供报文,以使所述客户端根据所述提供报文反馈请求报文来获取可用ip地址。因此本发明可以通过两步交互的方式实现对客户端进行快速的ip地址分配,从而可以提升地址分配速率,减少报文交互对带宽的占用。

上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1