一种IP地址分配方法、装置、设备及机器可读存储介质与流程

文档序号:15567944发布日期:2018-09-29 03:47阅读:133来源:国知局

本公开涉及通信技术领域,尤其是涉及一种ip地址分配方法、装置、设备及机器可读存储介质。



背景技术:

当dhcp(dynamichostconfigurationprotocol,动态主机配置协议)客户端和dhcp服务器处于不同物理网段时,dhcp客户端可以通过dhcp中继与dhcp服务器通信,从而从dhcp服务器获取到ip地址。例如,dhcp中继接收到dhcp客户端发送的地址申请报文时,将dhcp中继的ip地址添加到该地址申请报文中,并将该地址申请报文转发给dhcp服务器。dhcp服务器从dhcp中继的ip地址对应的地址池中选择未使用的ip地址a,并通过dhcp中继将ip地址a通知给dhcp客户端,从而成功为dhcp客户端分配ip地址。

但是,当与该ip地址对应的地址池中没有未使用的ip地址时,则dhcp服务器无法为dhcp客户端分配ip地址,从而导致dhcp客户端不可用。



技术实现要素:

本公开提供一种ip地址分配方法,应用于动态主机配置协议dhcp中继,所述dhcp中继包括至少两个中继ip地址,所述方法包括:

接收dhcp客户端发送的地址申请报文;若不存在主用中继ip地址,则将携带所述至少两个中继ip地址的第一请求报文发送给dhcp服务器;

接收dhcp服务器针对第一请求报文中的中继ip地址返回的响应报文,所述响应报文携带所述dhcp服务器为dhcp客户端分配的主机ip地址;

从接收的所有响应报文中选择一个响应报文,将选择的响应报文对应的中继ip地址确定为主用中继ip地址,并将选择的响应报文发送给dhcp客户端,以使所述dhcp客户端获取所述选择的响应报文中携带的主机ip地址。

本公开提供一种ip地址分配装置,应用于动态主机配置协议dhcp中继,所述dhcp中继包括至少两个中继ip地址,所述装置包括:

接收模块,用于接收dhcp客户端发送的地址申请报文;

发送模块,用于当不存在主用中继ip地址时,则将携带所述至少两个中继ip地址的第一请求报文发送给dhcp服务器;

所述接收模块,还用于接收所述dhcp服务器针对所述第一请求报文中的中继ip地址返回的响应报文,所述响应报文携带所述dhcp服务器为dhcp客户端分配的主机ip地址;

选择模块,用于从接收的所有响应报文中选择一个响应报文,并将选择的响应报文对应的中继ip地址确定为主用中继ip地址;

所述发送模块,还用于将选择的响应报文发送给dhcp客户端,以使所述dhcp客户端获取所述选择的响应报文中携带的主机ip地址。

本公开提供一种dhcp中继,包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;所述处理器用于执行机器可执行指令,以实现上述的方法步骤。

本公开提供一种机器可读存储介质,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使所述处理器实现上述的方法步骤。

基于上述技术方案,本公开实施例中,在不存在主用中继ip地址时,dhcp中继将携带所有中继ip地址的请求报文发送给dhcp服务器,使dhcp服务器从所有中继ip地址对应的地址池中选择主机ip地址。由于一次性从所有中继ip地址对应的地址池中选择主机ip地址,成功为dhcp客户端分配主机ip地址,使得dhcp客户端可以根据主机ip地址访问网络;而且,基于dhcp中继发送的一个请求报文,dhcp服务器就可以将主机ip地址分配给dhcp客户端,加快地址分配速度。

附图说明

为了更加清楚地说明本公开实施例或者现有技术中的技术方案,下面将对本公开实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本公开实施例的这些附图获得其他的附图。

图1是本公开一种实施方式中的应用场景示意图;

图2a和图2b是本公开一种实施方式中的ip地址分配方法的流程图;

图3是本公开一种实施方式中的ip地址分配装置的结构图;

图4是本公开一种实施方式中的dhcp中继的硬件结构图。

具体实施方式

在本公开实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本公开。本公开和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本公开实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

本公开实施例提出一种ip地址分配方法,可以应用于包括dhcp客户端、dhcp中继和dhcp服务器的系统中。参见图1所示,为本公开实施例的应用场景示意图,dhcp客户端和dhcp服务器处于不同物理网段,dhcp客户端可以通过dhcp中继与dhcp服务器进行通信,从而从dhcp服务器获取到ip地址。其中,dhcp客户端可以为终端设备,dhcp中继可以为bras(broadbandremoteaccessserver,宽带远程接入服务器)设备,dhcp客户端与dhcp中继之间可以通过以太网相连,dhcp客户端可以通过ipoe(ipprotocoloverethernet,以太网上承载ip协议)方式接入dhcp中继,对此方式不做限制。

在一个例子中,dhcp服务器可以配置至少两个地址池,每个地址池包括能够为主机分配的ip地址。dhcp中继可以配置至少两个ip地址,每个ip地址与dhcp服务器的地址池对应。为了区分方便,可以将dhcp中继的ip地址称为中继ip地址,并将dhcp服务器的地址池中的ip地址称为主机ip地址。

例如,dhcp中继包括中继ip地址3.3.3.1、4.4.4.1、5.5.5.1和6.6.6.1,dhcp服务器包括地址池a、地址池b、地址池c、地址池d,每个中继ip地址对应一个地址池。如中继ip地址3.3.3.1对应地址池a,中继ip地址4.4.4.1对应地址池b,中继ip地址5.5.5.1对应地址池c,中继ip地址6.6.6.1对应地址池d。

上述实施例中,是以中继ip地址的数量与地址池的数量相同为例,实际应用中,中继ip地址的数量与地址池的数量也可以不同。例如,中继ip地址包括3.3.3.1、4.4.4.1、5.5.5.1和6.6.6.1,dhcp服务器包括地址池a和地址池b,3.3.3.1和4.4.4.1对应地址池a,5.5.5.1和6.6.6.1对应地址池b。又例如,中继ip地址包括3.3.3.1和4.4.4.1,dhcp服务器包括地址池a、地址池b、地址池c、地址池d,3.3.3.1对应地址池a和地址池b,4.4.4.1对应地址池c和地址池d。

在上述实施例中,地址池a、地址池b、地址池c、地址池d可以部署在同一个dhcp服务器,也可以部署在不同的dhcp服务器。例如,若dhcp中继与一个dhcp服务器连接,则地址池a、地址池b、地址池c、地址池d可以部署在该dhcp服务器;若dhcp中继与两个dhcp服务器连接,则地址池a、地址池b可以部署在一个dhcp服务器,而地址池c、地址池d可以部署在另一个dhcp服务器。当然,上述方式只是一个示例,对此不做限制。

在上述实施例中,地址池a对应中继ip地址3.3.3.1,地址池a的地址范围是(3.3.3.0至3.3.18.160),该地址范围的3.3.3.1是禁用ip地址(即已经被分配给dhcp中继)。地址池b对应中继ip地址4.4.4.1,地址池b的地址范围是(4.4.4.0至4.4.19.160),该地址范围的4.4.4.1是禁用ip地址。地址池c对应中继ip地址5.5.5.1,地址池c的地址范围是(5.5.5.0至5.5.20.160),该地址范围的5.5.5.1是禁用ip地址。地址池d对应中继ip地址6.6.6.1,地址池d的地址范围是(6.6.6.0至6.6.21.160),该地址范围的6.6.6.1是禁用ip地址。

在一个例子中,dhcp中继在接收到dhcp客户端发送的地址申请报文后,将3.3.3.1添加到地址申请报文,并将携带3.3.3.1的地址申请报文发送给dhcp服务器。若地址池a已经没有可用的主机ip地址,则dhcp服务器不会向dhcp中继返回针对该地址申请报文的响应报文。在一个方式中,dhcp中继没有接收到针对该地址申请报文的响应报文,无法向dhcp客户端返回响应报文,导致地址申请失败。在另一个方式中,dhcp中继预设时间内未接收到针对该地址申请报文的响应报文时,则将4.4.4.1添加到地址申请报文,并将携带4.4.4.1的地址申请报文发送给dhcp服务器。若地址池b已经没有可用的主机ip地址,则dhcp服务器不会向dhcp中继返回针对该地址申请报文的响应报文;若地址池b存在可用的主机ip地址,则dhcp服务器从地址池b中选择可用的主机ip地址,并向dhcp中继返回针对地址申请报文的响应报文;以此类推,一直到dhcp中继接收到响应报文。显然,dhcp中继可能发送多次地址申请报文后,如发送4次地址申请报文后,才接收到响应报文,地址申请过程很长。

与上述方式不同的是,本申请实施例中,dhcp中继在接收到dhcp客户端发送的地址申请报文后,将中继ip地址3.3.3.1、4.4.4.1、5.5.5.1和6.6.6.1均添加到地址申请报文,并将携带中继ip地址3.3.3.1、4.4.4.1、5.5.5.1和6.6.6.1的地址申请报文发送给dhcp服务器。若地址池a、地址池b、地址池c均没有可用的主机ip地址,而地址池d存在可用的主机ip地址,则dhcp服务器可以从地址池d中选择可用的主机ip地址,并向dhcp中继返回针对中继ip地址6.6.6.1的响应报文。显然,dhcp中继在发送一次地址申请报文后,就可以接收到响应报文,而不用多次发送地址申请报文,加快地址申请的速度。

在上述应用场景下,参见图2a所示,为ip地址分配方法的流程图,该方法应用于dhcp中继,该dhcp中继包括至少两个中继ip地址,该方法包括:

步骤201,接收dhcp客户端发送的地址申请报文。

其中,该地址申请报文可以为dhcp发现报文,如dhcp-discover报文。

步骤202,判断是否存在主用中继ip地址;如果否,则执行步骤203。

其中,若步骤202之前,dhcp中继已经将某个中继ip地址确定为主用中继ip地址,则说明存在主用中继ip地址。若没有将任一中继ip地址确定为主用中继ip地址,或者某个中继ip地址被确定为主用中继ip地址后,撤销该主用中继ip地址,即主用中继ip地址被还原,则说明不存在主用中继ip地址。

步骤203,将携带至少两个中继ip地址的第一请求报文发送给dhcp服务器。其中,该第一请求报文可以为地址申请报文,与步骤201的地址申请报文相比,步骤203中的地址申请报文多了中继ip地址,而其它内容类似。

其中,将携带至少两个中继ip地址的第一请求报文发送给dhcp服务器时,可以包括:方式一、为每个中继ip地址生成一个携带该中继ip地址的第一请求报文,并将生成的每个第一请求报文发送给dhcp服务器。方式二、生成携带至少两个中继ip地址的第一请求报文,并将第一请求报文发送给dhcp服务器。

在方式一中,dhcp中继可以将中继ip地址3.3.3.1添加到地址申请报文(如添加到地址申请报文的giaddr(dhcp中继ip地址)字段),得到第一请求报文1。此外,dhcp中继可以将中继ip地址4.4.4.1添加到地址申请报文,得到第一请求报文2,并将中继ip地址5.5.5.1添加到地址申请报文,得到第一请求报文3,并将中继ip地址6.6.6.1添加到地址申请报文,得到第一请求报文4。

假设地址池a、地址池b、地址池c、地址池d部署在同一个dhcp服务器121,则dhcp中继可以配置dhcp服务器121的ip地址与3.3.3.1、4.4.4.1、5.5.5.1、6.6.6.1的对应关系。基于dhcp服务器121的ip地址,dhcp中继可以将携带3.3.3.1的第一请求报文1、携带4.4.4.1的第一请求报文2、携带5.5.5.1的第一请求报文3、携带6.6.6.1的第一请求报文4发送给dhcp服务器121。

假设地址池a、地址池b部署在dhcp服务器121,且地址池c、地址池d部署在dhcp服务器122,则dhcp中继可以配置dhcp服务器121的ip地址与3.3.3.1、4.4.4.1的对应关系,并可以配置dhcp服务器122的ip地址与5.5.5.1、6.6.6.1的对应关系。基于dhcp服务器121的ip地址,dhcp中继可以将携带3.3.3.1的第一请求报文1、携带4.4.4.1的第一请求报文2发送给dhcp服务器121。基于dhcp服务器122的ip地址,dhcp中继可以将携带5.5.5.1的第一请求报文3、携带6.6.6.1的第一请求报文4发送给dhcp服务器122。

在方式二中,dhcp中继可以将中继ip地址3.3.3.1、4.4.4.1、5.5.5.1和6.6.6.1添加到同一个地址申请报文(如地址申请报文的giaddr字段),得到第一请求报文5。假设地址池a、地址池b、地址池c、地址池d部署在同一个dhcp服务器121,则将第一请求报文5发送给dhcp服务器121;假设地址池a、地址池b部署在dhcp服务器121,且地址池c、地址池d部署在dhcp服务器122,则将第一请求报文5分别发送给dhcp服务器121和dhcp服务器122。

步骤204,接收dhcp服务器针对第一请求报文中的中继ip地址返回的响应报文,该响应报文携带dhcp服务器为dhcp客户端分配的主机ip地址。

针对方式一,dhcp服务器在接收到第一请求报文1后,从第一请求报文1中解析中继ip地址3.3.3.1,确定与中继ip地址3.3.3.1对应的地址池a。然后,判断地址池a中是否存在未使用的主机ip地址;如果存在,则从未使用的主机ip地址中选择一个主机ip地址,将该主机ip地址标记为已使用,将该主机ip地址分配给dhcp客户端;如果不存在,则无法基于地址池a为dhcp客户端分配主机ip地址。为了方便描述,假设dhcp服务器从地址池a中选择主机ip地址1。然后,dhcp服务器向dhcp中继发送针对中继ip地址3.3.3.1的响应报文1,该响应报文1携带dhcp服务器为dhcp客户端分配的主机ip地址1。

dhcp服务器在接收到第一请求报文2、第一请求报文3和第一请求报文4后,其处理流程与第一请求报文1的处理流程类似,在此不再赘述,后续以dhcp服务器向dhcp中继发送针对中继ip地址4.4.4.1的响应报文2、针对中继ip地址5.5.5.1的响应报文3、针对中继ip地址6.6.6.1的响应报文4为例。

在一个例子中,上述响应报文1中还可以携带中继ip地址3.3.3.1,上述响应报文2中还可以携带中继ip地址4.4.4.1,上述响应报文3中还可以携带中继ip地址5.5.5.1,上述响应报文4中还可以携带中继ip地址6.6.6.1。

针对方式二,dhcp服务器在接收到第一请求报文5后,从第一请求报文5中解析中继ip地址3.3.3.1、4.4.4.1、5.5.5.1和6.6.6.1,确定与3.3.3.1对应的地址池a、与4.4.4.1对应的地址池b、与5.5.5.1对应的地址池c、与6.6.6.1对应的地址池d。后续过程与方式一类似,假设dhcp服务器向dhcp中继发送针对中继ip地址3.3.3.1的响应报文1、针对中继ip地址4.4.4.1的响应报文2、针对中继ip地址5.5.5.1的响应报文3、针对中继ip地址6.6.6.1的响应报文4。

在上述实施例中,各响应报文可以包括dhcpoffer(提供)报文。

步骤205,从接收的所有响应报文中选择一个响应报文,并将选择的响应报文发送给dhcp客户端,以使dhcp客户端获取所述选择的响应报文中携带的主机ip地址。其中,该响应报文可以携带dhcp服务器为dhcp客户端分配的主机ip地址,这样,就可以成功为dhcp客户端分配主机ip地址。

其中,从接收的所有响应报文中选择一个响应报文,可以包括:若只接收到一个响应报文,则可以选择该响应报文。或者,若接收到多个响应报文,则可以从接收的所有响应报文中选择dhcp中继接收的第一个响应报文,或,可以从接收的所有响应报文中随机选择一个响应报文;对此选择方式不做限制。

例如,假设dhcp中继依次接收到响应报文1、响应报文2、响应报文3和响应报文4,则dhcp中继可以选择dhcp中继接收的第一个响应报文1。

在一个例子中,dhcp中继从接收的所有响应报文中选择一个响应报文之后,还可以从未选择的响应报文中解析dhcp服务器为dhcp客户端分配的主机ip地址,并向dhcp服务器发送携带该主机ip地址的拒绝报文(如decline报文);该拒绝报文用于使dhcp服务器回收该主机ip地址,以避免资源浪费。

例如,dhcp中继从接收的所有响应报文中选择响应报文1后,可以从响应报文2中解析主机ip地址2、从响应报文3中解析主机ip地址3、从响应报文4中解析主机ip地址4。然后,dhcp中继向dhcp服务器发送主机ip地址2、主机ip地址3和主机ip地址4的拒绝报文。dhcp服务器在接收到该拒绝报文后,则可以回收主机ip地址2、主机ip地址3和主机ip地址4,也就是说,可以将主机ip地址2、主机ip地址3和主机ip地址4分配给其它dhcp客户端。

在一个例子中,dhcp客户端在接收到dhcpoffer报文之后,还可以发送dhcp-request(请求)报文,dhcp中继在接收到该dhcp-request报文后,将该dhcp-request报文转发给dhcp服务器。dhcp服务器在接收到该dhcp-request报文后,返回dhcp-ack(确认)报文,dhcp中继在接收到该dhcp-ack报文后,将该dhcp-ack报文转发给dhcp客户端。至此,dhcp客户端成功申请到主机ip地址,对此过程不再详加赘述。

步骤206,将选择的响应报文对应的中继ip地址确定为主用中继ip地址。

其中,响应报文可以携带中继ip地址,如响应报文1携带中继ip地址3.3.3.1,因此,可以将响应报文1携带的中继ip地址3.3.3.1确定为主用中继ip地址。

dhcp中继确定主用中继ip地址后,dhcp中继再次接收到dhcp客户端发送的地址申请报文后,步骤202中,判断结果就是存在主用中继ip地址。

在一个例子中,参见图2b所示,步骤202中,判断是否存在主用中继ip地址之后,若判断结果为存在主用中继ip地址,还可以执行如下步骤:

步骤207,将携带主用中继ip地址的第二请求报文发送给dhcp服务器。

步骤208,接收dhcp服务器针对该第二请求报文返回的响应报文,该响应报文携带dhcp服务器为dhcp客户端分配的主机ip地址。

步骤209,将接收的响应报文发送给dhcp客户端。

例如,确定中继ip地址3.3.3.1为主用中继ip地址后,dhcp中继接收到dhcp客户端发送的地址申请报文后,将携带中继ip地址3.3.3.1的第二请求报文发送给dhcp服务器。dhcp服务器接收到第二请求报文后,从第二请求报文中解析中继ip地址3.3.3.1,确定与中继ip地址3.3.3.1对应的地址池a;若地址池a中存在未使用的主机ip地址,则从未使用的主机ip地址中选择主机ip地址2,将主机ip地址2标记为已使用,将主机ip地址2分配给dhcp客户端,并向dhcp中继发送针对第二请求报文的响应报文,该响应报文携带主机ip地址2。dhcp中继接收该响应报文,并将该响应报文发送给dhcp客户端。

在一个例子中,dhcp中继在确定主用中继ip地址之后,每次发送携带该主用中继ip地址的第二请求报文后,还可以为该主用中继ip地址设置老化定时器。若该老化定时器超时之前,dhcp中继接收到针对该第二请求报文的响应报文,则删除该老化定时器;若老化定时器超时,则撤销该主用中继ip地址。

例如,dhcp中继在将携带主用中继ip地址3.3.3.1的第二请求报文发送给dhcp服务器后,可以为主用中继ip地址3.3.3.1设置老化定时器。若该老化定时器超时之前,若dhcp中继接收到针对该第二请求报文的响应报文,则可以删除该老化定时器;若该老化定时器超时,则可以撤销该主用中继ip地址。也就是说,再次执行步骤202时,判断结果为不存在主用中继ip地址。

在一个例子中,dhcp中继在确定主用中继ip地址之后,在每次有dhcp客户端分配到该主用中继ip地址对应的主机ip地址、或者每次有dhcp客户端释放该主用中继ip地址对应的主机ip地址时,则可以更新该主用中继ip地址对应的剩余可用地址数量。进一步的,当该剩余可用地址数量小于阈值(可以根据经验配置,如可以为1、2等)时,则可以撤销该主用中继ip地址。

其中,dhcp中继将响应报文1对应的中继ip地址3.3.3.1确定为主用中继ip地址之后,还可以从该响应报文1中解析出subnet选项(即子网掩码选项),该subnet选项用于携带dhcp服务器的地址池a的网段信息。基于该subnet选项,dhcp中继可以确定地址池a中一共存在多少个主机ip地址,在去除地址池a中的禁用ip地址(如已经被分配给dhcp中继的ip地址)后,剩余的主机ip地址就是上述剩余可用地址数量的初始值。当然,上述方式只是给出了确定剩余可用地址数量的初始值的示例,还可以采用其它方式,例如,dhcp服务器将剩余可用地址数量的初始值通知给dhcp中继,对此方式不做限制。

其中,dhcp中继从dhcp服务器收到针对主用中继ip地址的dhcp-ack报文后,就可以确定有dhcp客户端分配到该主用中继ip地址对应的主机ip地址,因此,将剩余可用地址数量减1。dhcp中继从dhcp客户端收到针对主用中继ip地址的dhcp-release(释放)报文后,就可以确定有dhcp客户端释放该主用中继ip地址对应的主机ip地址,因此,将剩余可用地址数量加1。

其中,当剩余可用地址数量小于阈值时,表示主用中继ip地址对应的地址池(如地址池a)已经没有可用的主机ip地址,或者,可用的主机ip地址数量已经很少,因此,可以撤销该主用中继ip地址,这样,可以步骤从该主用中继ip地址对应的地址池中选择主机ip地址,避免地址池的地址资源耗尽,并避免地址池的地址资源耗尽导致无法为dhcp客户端分配主机ip地址的问题。

基于上述技术方案,本公开实施例中,在不存在主用中继ip地址时,dhcp中继将携带所有中继ip地址的请求报文发送给dhcp服务器,使dhcp服务器从所有中继ip地址对应的地址池中选择主机ip地址。由于一次性从所有中继ip地址对应的地址池中选择主机ip地址,成功为dhcp客户端分配主机ip地址,使得dhcp客户端可以根据主机ip地址访问网络;而且,基于dhcp中继发送的一个请求报文,dhcp服务器就可以将主机ip地址分配给dhcp客户端,加快地址分配速度。

此外,在存在主用中继ip地址时,dhcp中继可以将携带主用中继ip地址的请求报文发送给dhcp服务器,使dhcp服务器从主用中继ip地址对应的地址池中选择主机ip地址。而且,由于主用中继ip地址对应的地址池中存在可用的主机ip地址,因此,可以成功为dhcp客户端分配主机ip地址,使得dhcp客户端可以根据主机ip地址访问网络;而且,基于dhcp中继发送的一个请求报文,dhcp服务器就可以将主机ip地址分配给dhcp客户端,从而可以加快地址分配速度。

此外,当地址池部署在多个dhcp服务器时,则dhcp中继接收的第一个响应报文是链路质量最好的dhcp服务器发送的响应报文,因此,将dhcp中继接收的第一个响应报文对应的中继ip地址确定为主用中继ip地址后,dhcp中继会与链路质量最好的dhcp服务器进行交互,从链路质量最好的dhcp服务器获取主机ip地址,进一步加快地址分配速度,提高用户使用体验。

基于与上述方法同样的公开构思,本公开实施例还提出一种ip地址分配装置,应用于dhcp中继,参见图3所示,为所述装置的结构图,所述装置包括:

接收模块301,用于接收dhcp客户端发送的地址申请报文;

发送模块302,用于当不存在主用中继ip地址时,则将携带所述至少两个中继ip地址的第一请求报文发送给dhcp服务器;

所述接收模块301,还用于接收所述dhcp服务器针对所述第一请求报文中的中继ip地址返回的响应报文,所述响应报文携带所述dhcp服务器为dhcp客户端分配的主机ip地址;

选择模块303,用于从接收的所有响应报文中选择一个响应报文,并将选择的响应报文对应的中继ip地址确定为主用中继ip地址;

所述发送模块302,还用于将选择的响应报文发送给dhcp客户端,以使所述dhcp客户端获取所述选择的响应报文中携带的主机ip地址。

所述发送模块302,还用于当存在主用中继ip地址时,则将携带所述主用中继ip地址的第二请求报文发送给dhcp服务器;

所述接收模块301,还用于接收dhcp服务器针对所述第二请求报文返回的响应报文,所述响应报文携带dhcp服务器为dhcp客户端分配的主机ip地址;

所述发送模块302,还用于将接收的响应报文发送给所述dhcp客户端。

所述发送模块302将携带所述至少两个中继ip地址的第一请求报文发送给dhcp服务器时具体用于:为每个中继ip地址生成一个携带该中继ip地址的第一请求报文,并将生成的每个第一请求报文发送给dhcp服务器;或者,生成携带所述至少两个中继ip地址的第一请求报文,并将所述第一请求报文发送给dhcp服务器。

在一个例子中,所述ip地址分配装置还包括(在图中未视出):处理模块,用于在确定主用中继ip地址之后,在每次有dhcp客户端分配到所述主用中继ip地址对应的主机ip地址、或者每次有dhcp客户端释放所述主用中继ip地址对应的主机ip地址时,则更新所述主用中继ip地址对应的剩余可用地址数量;当所述剩余可用地址数量小于阈值时,撤销所述主用中继ip地址。

所述处理模块,还用于在确定主用中继ip地址之后,当每次发送携带主用中继ip地址的第二请求报文时,为所述主用中继ip地址设置老化定时器;若所述老化定时器超时之前,接收到针对第二请求报文的响应报文,则删除所述老化定时器;若所述老化定时器超时,则撤销所述主用中继ip地址。

本公开实施例中提供的dhcp中继,从硬件层面而言,其硬件架构示意图具体可以参见图4所示。包括:机器可读存储介质和处理器,其中:所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;所述处理器用于执行机器可执行指令,以实现本公开上述示例公开的ip地址分配操作。所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使所述处理器实现本公开上述示例公开的ip地址分配操作。

这里,机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:ram(radomaccessmemory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。

为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本公开时可以把各单元的功能在同一个或多个软件和/或硬件中实现。

本领域内的技术人员应明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述仅为本公开的实施例而已,并不用于限制本公开。对于本领域技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本公开的权利要求范围之内。

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