资源请求的方法、服务器及资源分配系统与流程

文档序号:12662348阅读:904来源:国知局
资源请求的方法、服务器及资源分配系统与流程
本发明涉及通信领域,尤其涉及到一种资源请求的方法、DHCPv6服务器和资源分配系统。

背景技术:
在通信网络中,动态主机配置协议(DynamicHostConfigurationProtocol,DHCP)设计用来处理向计算机分配IP地址和其他网络信息,以便计算机可以在网络上自动通信。DHCPforIPv6(DHCPv6)可以向IPv6主机提供有状态的地址配置。DHCPv6服务器除了能够为客户端分配IP地址或前缀以外,还能够为客户端提供DNS服务器、SNTP服务器等配置信息。要获取IPv6地址或前缀和配置设置的DHCPv6有状态消息交换包括以下过程:当客户端需要获取一个或多个IP地址时,客户端需要先发送请求(Solicit)报文定位服务器位置。其中Solicit报文被发往所有DHCP服务器,链路上任意DHCP服务器收到Solicit报文后,回应通告(Advertise)报文。客户端可以从回应的服务器中选择一个,向其发送申请(Request)报文请求服务器为其分配IP地址或前缀和配置信息;请求的服务器发送包含地址或前缀和配置设置的应答(Reply)报文。但是,当宽带接入服务器(BroadbandAccessServer,简称BAS;BAS是一种设置在网络汇聚层的用户接入服务设备,通过内置DHCPServer分配不同的IP地址域)上DHCPv6服务器的IPv6地址池或者前缀池中地址和前缀分配完了以后,如果下面的接入设备(客户端)再次发送solicit报文进行前缀或者地址请求,DHCPv6服务器发送Advertise报文携带状态码(StatusCode)为无前缀可用NoPrefixAvail以及无地址可用NoAddrsAvail,告知客户端地址池或前缀池中地址或前缀已经耗尽,无剩余地址或前缀进行回应;协议要求客户端忽略该类Advertise报文,并按照RT=2*RTprev+RAND*RTprev(RAND为随机值)的间隔不断重新发起DHCPv6Solicit报文,请求地址和前缀。当地址池或者前缀池中地址或者前缀耗尽时,客户端随机间隔发起Solicit是无用的报文。并且当现网BRAS下挂的客户端数量较多时,虽然各客户端以随机间隔发起Solicit报文,但是大量的客户端随机周期发送Solicit报文时仍然可造成网络拥塞,带宽负荷加重。

技术实现要素:
本发明实施例提供了一种资源请求的方法、DHCPv6服务器和系统,以解决现有技术中客户端频繁发起无用的solicit报文,且由此造成网络拥塞、带宽负荷加重的问题。一方面,本发明实施例提供了一种资源请求的方法,所述方法包括:动态主机配置协议第六版DHCPv6服务器发送第一通告报文至DHCPv6客户端,所述第一通告报文携带有第一资源状态指示;所述第一资源状态指示携带有在指定的时间内无资源可用的状态码;以使得所述DHCPv6客户端在经过所述指定的时间后发送资源请求消息。另一方面,相应地,本发明实施例提供了一种动态主机配置协议第六版DHCPv6服务器,包括:数据发送器,用于发送第一通告报文至DHCPv6客户端,所述第一通告报文携带有第一资源状态指示;所述第一资源状态指示携带有在指定的时间内无资源可用状态码;以使得所述DHCPv6客户端经过所述指定的时间后发送资源请求消息。另一方面,相应地,本发明实施例提供了一种资源分配系统,包括:DHCPv6服务器和DHCPv6客户端,所述DHCPv6服务器,用于向所述DHCPv6客户端发送第一通告报文,所述第一通告报文携带有第一资源状态指示;所述第一资源状态指示携带有在指定的时间内无资源可用状态码;所述DHCPv6客户端,用于接收所述第一通告报文,经过所述指定的时间后向所述DHCPv6服务器发送资源请求报文。本发明通过在消息中通过第一资源状态指示携带有表示无资源可用的指定的时间,客户端在该指定的时间内不再发送solicit报文,经过指定的时间后才发送solicit报文;从而减少了客户端Client/服务器Server间不必要的报文交互开销,减轻网络带宽负荷,避免了DHCPv6服务器不断处理大量无效请求报文,缓解服务器处理压力。附图说明为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明资源请求的方法的第一实施例流程图;图2为本发明资源请求的方法的第二实施例流程图;图3为本发明动态主机配置协议第六版DHCPv6服务器的结构示意图;图4为本发明资源请求的系统的结构示意图。具体实施方式下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。本发明提供了资源请求方法实施例,该实施例是由服务器作为执行主体来执行的,本方法实施例包括以下过程:动态主机配置协议第六版DHCPv6服务器发送第一通告报文至DHCPv6客户端,所述第一通告报文携带有第一资源状态指示;所述第一资源状态指示携带有在指定的时间内无资源可用的状态码;以使得所述DHCPv6客户端在经过所述指定的时间后发送资源请求消息。本发明在上述实施例的基础上还提供了资源请求方法的另一实施例,在该实施例中,服务器除了执行上述过程之后,还执行以下步骤,即本实施例还包括:所述DHCPv6服务器向所述DHCPv6客户端发送第二通告报文,所述第二通告报文携带有第二状态指示,所述第二资源状态指示为资源可用状态码,以使得所述DHCPv6客户端收到所述第二通告报文后向所述DHCPv6服务器发送资源请求报文。图1为本发明资源请求的方法的第一实施例流程图。如图1所示,本实施例包括如下步骤:步骤11,动态主机配置协议第六版DHCPv6服务器发送第一通告(Advertise)报文至DHCPv6客户端,所述第一通告报文携带有第一资源状态指示;所述第一资源状态指示携带有在指定的时间内无资源可用的状态码;以使得所述DHCPv6客户端在经过所述指定的时间后发送资源请求消息。在本步骤中,应当注意本发明是在客户端进行资源例如地址或前缀或者地址前缀请求后,DHCPv6服务器判断其本地地址池和前缀池中没有可用的地址或前缀或地址和前缀的情况下应用。具体地,所述第一资源状态指示为无资源可用状态码;所述无资源可用状态码可以为:无前缀可用NoPrefixAvail状态码,或者无地址可用NoAddrsAvail状态码,或者NoPrefixAvail和NoAddrsAvail状态码。所述在指定的时间内无资源可用的状态码携带在所述无资源可用状态码的子选项中。具体地,在advertise报文中包括可扩展的选项字段,现有的Advertise报文已经扩展了选项(option)字段形成了无前缀可用NoPrefixAvail状态码和无地址可用NoAddrsAvail状态码。在本实施例中,服务器通过扩展这些NoPrefixAvail状态码和无地址可用NoAddrsAvail状态码的选项字段的子选项字段,来形成在指定的时间内无资源可用的状态码。具体为:例如将该NoAddrsAvail状态码的选项字段的子选项字段设置为类型XX长度YY,子选项的具体内容为指定的时间值,单位秒,例如30s;即该NoAddrsAvail状态码携带有在30s内无地址资源可用的状态码,用于指示30秒内无地址资源可用。当仅仅表示一种资源例如地址或者前缀资源不可用时,仅设置NoPrefixAvail或者NoAddrsAvail状态码的选项(option)字段的子选项的具体内容为指定时间即可。当表示两种资源均不可用时,设置NoPrefixAvail或者NoAddrsAvail状态码的选项(option)字段的子选项的具体内容为指定的时间值即可。即在本步骤中,所述第一通告报文用于指示所述DHCPv6客户端接收到所述第一通告报文后在所述指定的时间内停止发送资源请求消息,且经过所述指定的时间后发送资源请求消息。步骤12,DHCPv6客户端接收到所述第一通告报文后,经过所述指定的时间后发送资源请求消息。具体地,客户端接收到DHCPv6服务器发送的Advertise报文后,根据该Advertise报文中的无资源状态码携带的在指定的时间内无资源可用的状态码,即无资源状态码的选项字段的子选项的设置的具体内容:指定的时间,获知所述DHCPv6服务器在该指定的时间内无资源可用,DHCPv6客户端停止在该指定的时间内主动发送资源请求消息:Solicit报文,只有等到经过该指定的时间后才发送solicit报文。例如客户端得知无资源状态码中的指定的时间为30s,则客户端等待30s后发起solicit报文。由于DHCPv6服务器给不同的客户端发送的第一资源状态指示中携带的表示无资源可用的指定的时间的值不同,服务器将接收不同的客户端不同时刻发送的Solicit报文,请求进行地址或者前缀或者地址和前缀的资源分配。本发明该实施例通过扩展DHCPv6NoPrefixAvail以及NoAddrsAvail状态码的子选项,在advertising报文的无资源可用状态码中携带抑制时间(即指定的时间),使得客户端在该抑制时间内不再发送solicit请求,只有等到经过指定的时间后才发送solicit报文,从而消除了现有技术中客户端每间隔一定时间地就发起solicit报文,减少了客户端Client/服务器Server间不必要的报文交互开销,减轻网络带宽负荷,并且避免了DHCPv6服务器不断处理大量无效请求报文,缓解了服务器处理压力,增强服务器的可靠性。图2为本发明资源请求的方法的第二实施例流程图。如图2所示,本实施例包括以下步骤:步骤21,DHCPv6服务器发送第一通告Advertise报文至DHCPv6客户端,所述第一通告报文携带有第一资源状态指示,所述第一资源状态指示携带有在指定的时间内无资源可用的状态码;以使得所述DHCPv6客户端在经过所述指定的时间后发送资源请求消息。应当注意,DHCPv6服务器发送第一advertise报文的前提是在客户端进行资源例如地址或前缀或者地址前缀请求后,DHCPv6服务器判断其本地地址池和前缀池中没有可用的地址或前缀或地址和前缀资源。其中,所述第一资源状态指示为无资源可用的状态码,所述在指定的时间内无资源可用的状态码携带在所述无资源可用状态码的子选项中。所述无资源可用状态码为:无前缀可用NoPrefixAvail状态码,或者无地址可用NoAddrsAvail状态码,或者NoPrefixAvail和NoAddrsAvail状态码。状态码的扩展可以参见上述第一实施例说明。即所述第一通告报文用于指示所述DHCPv6客户端接收到所述第一通告报文后在所述指定的时间内停止发送资源请求消息,且经过所述指定的时间后发送资源请求消息。步骤22,所述DHCPv6服务器发送第二通告Advertise报文至所述DHCPv6客户端,所述第二通告报文携带有第二资源状态指示,所述第二资源状态指示为资源可用状态码;以使得所述DHCPv6客户端收到所述第二通告报文后向所述DHCPv6服务器发送资源请求报文。具体地,在本步骤中,在该指定的时间内,所述DHCPv6服务器判断本地是否有资源,当确定本地有资源可用时,发送第二通告Advertise报文至所述DHCPv6客户端。由此可知:发送所述第二通告报文与发送所述第一通告报文的时间间隔在所述指定的时间内。当服务器判断本地有资源可用时,服务器可以向多个客户端发送第二通告报文,也可以服务器仅向优先权排前的客户端发送第二通告报文。其中,所述资源可用状态码为前缀可用PrefixAvail状态码,或者地址可用AddrsAvail状态码,或者PrefixAvail和AddrsAvail状态码。具体地,当服务器判断本地有前缀资源可用时,第二通告报文携带地址前缀可用PrefixAvail状态码;当判断本地有地址资源可用时,第二通告报文携带地址可用AddrsAvail状态码;当判断本地有地址和前缀资源可用时,第二通告报文携带PrefixAvail和AddrsAvail状态码。资源可用状态码是通过扩展Advertise报文中的选项(option)字段实现的。具体地,扩展选项字段为PrefixAvail和AddrsAvail,或者其中之一,来表示地址和前缀资源均可用,或者仅仅地址资源可用或者仅仅前缀资源可用。例如将一个option字段扩展为PrefixAvail状态码时,设置这个option字段的类型为可用,长度为xx,具体内容为PrefixAvail。同样地,将一个选项字段扩展为AddrsAvail状态码时,设置这个option字段的类型为可用,长度为xx,具体内容为AddrsAvail。或者扩展两个option字段为PrefixAvail状态码和AddrsAvail状态码。通过上述扩展,使得advertise报文中携带有资源可用状态码。所述第二通告报文用于指示所述DHCPv6客户端收到所述第二通告报文后,向所述DHCPv6服务器发送资源请求报文,该过程具体为:先停止对第一通告报文的响应,然后向所述DHCPv6服务器发送资源请求报文。步骤23,所述DHCPv6客户端接收到所述第二通告报文后向所述DHCPv6服务器发送资源请求消息。具体地,所述DHCPv6客户端收到所述第二通告报文后,停止对所述第一通告报文的响应,向服务器发送资源请求消息。所述响应为:所述DHCPv6客户端接收到所述第一通告报文后在所述指定的时间内停止发送资源请求消息,且经过所述指定的时间后发送资源请求消息。即,在本步骤中,之前客户端根据第一通告报文在等待经过指定时间例如计时到30s后发起solicit报文,此时客户端接收到该第二通告报文后,客户端停止等待30s,立刻发起solicit报文,即在该等待的指定时间内发送solicit报文,而且即使指定时间30s经过后,客户端也不再发起solicit报文,即不再应答第一通告报文。服务器可以向多个客户端发送第二通告报文,服务器也可以仅向优先权排前的客户端发送第二通告报文。服务器在接收客户端发送的solicit报文后,对客户端进行资源分配。该实施例在第一实施例的基础上又扩展了advertise报文中的一种新的DHCPv6状态码:资源可用状态码,来在指定时间内服务器出现资源可用时,通过该资源可用状态码来表示DHCPv6上资源变为可用,通知客户端停止等待指定时间后发起solicit报文,在该指定时间内立刻发起Solicit报文,并且即使指定时间经过后也不再发起solicit报文。本实施例在服务器资源可用时,即使已经通过携带有指定时间的第一通告报文发送至客户端的情况下,使得服务器可以没有延时地通知到客户端资源在该指定时间内已经可用,客户端随即发起solicit报文,请求资源分配,使得客户端无需再等待指定时间,从而节省了等待时间,并且由此减少了客户端Client/服务器Server间每间隔一定时间而形成的不必要的报文交互开销,减轻网络带宽负荷,并且避免了DHCPv6服务器不断处理大量无效请求报文,缓解服务器处理压力,增强服务器的可靠性。图3为本发明DHCPv6服务器的结构示意图。如图3所示,该DHCPv6服务器包括:数据发送器31,其中该数据发送器,用于发送第一通告报文至DHCPv6客户端,所述第一通告报文携带有第一资源状态指示;所述第一资源状态指示携带有在指定的时间内无资源可用的状态码;以使得所述DHCPv6客户端经过所述指定的时间后发送资源请求消息。其中,所述第一资源状态指示为无资源可用的状态码,所述在指定的时间内无资源可用的状态码携带在所述无资源可用状态码的子选项中。所述无资源可用状态码可以为:无前缀可用NoPrefixAvail状态码,或者无地址可用NoAddrsAvail状态码,或者NoPrefixAvail和NoAddrsAvail状态码。服务器通过扩展这些NoPrefixAvail状态码和无地址可用NoAddrsAvail状态码的选项字段的子选项字段,来形成在指定的时间内无资源可用的状态码。具体描述可以参见上述实施例中的描述。进一步地,所述DHCP服务器还包括:数据接收器32,用于接收所述DHCPv6客户端的资源请求消息;处理器33,用于根据数据接收器32接收到的所述DHCPv6客户端的资源请求消息进行资源分配。所述处理器33还用于判断本地是否有可用的资源。当处理器33判断本地无资源可用时,触发数据发送器31进行动作。本发明DHCPv6服务器通过上述器件和功能,可以实现:通过扩展DHCPv6NoPrefixAvail以及NoAddrsAvail状态码的子选项,在advertising报文的无资源可用状态码中携带抑制时间(即指定的时间),处理器33判断本地无资源可用时,触发数据发送器31进行动作:数据发送器将该通告报文发送给客户端后,使得客户端在该抑制时间内不再发送solicit请求,只有等到经过指定的时间后才发送solicit请求,从而消除了现有技术中客户端每间隔一定时间地就发起solicit请求,减少了客户端Client/服务器Server间不必要的报文交互开销,减轻网络带宽负荷,并且避免了DHCPv6服务器不断处理大量无效请求报文,缓解了服务器处理压力,增强服务器的可靠性。进一步地,所述处理器33还用于在该指定的时间内判断本地是否有可用的资源。当所述处理器33判断本地有可用的资源时,处理器33进一步地触发数据发送器31动作,所述数据发送器31还用于,向所述DHCPv6客户端发送第二通告报文,所述第二通告报文携带有第二状态指示,所述第二资源状态指示为资源可用状态码,以使得所述DHCPv6客户端收到所述第二通告报文后向所述DHCPv6服务器发送资源请求报文。即,当处理器33在该指定的时间内,判断本地是否有资源,当确定本地有资源可用时,触发数据发送器31发送第二通告Advertise报文至所述DHCPv6客户端。其中,所述资源可用状态码为前缀可用PrefixAvail状态码,或者地址可用AddrsAvail状态码,或者PrefixAvail和AddrsAvail状态码。具体地,当处理器判断本地有前缀资源可用时,第二通告报文携带地址前缀可用PrefixAvail状态码;当判断本地有地址资源可用时,第二通告报文携带地址可用AddrsAvail状态码;当判断本地有地址和前缀资源可用时,第二通告报文携带PrefixAvail和AddrsAvail状态码。资源可用状态码是通过扩展Advertise报文中的选项(option)字段实现的。具体扩展可以参见方法第二实施例的描述。数据发送器31在前述功能的基础上,又增加上述功能后,DHCP可以实现:通过advertise报文中的一种新的DHCPv6状态码:资源可用状态码,来在指定时间内服务器出现资源可用时,通过该资源可用状态码来表示DHCPv6上资源变为可用,通知客户端停止等待指定时间后发起solicit报文,在该指定时间内立刻发起Solicit报文,并且即使指定时间经过后也不再发起solicit报文。本实施例在服务器资源可用时,即使已经通过携带有指定时间的第一通告报文发送至客户端的情况下,使得服务器可以没有延时地通知到客户端资源在该指定时间内已经可用,客户端随即发起solicit报文,请求资源分配,使得客户端无需再等待指定时间,从而节省了等待时间,并且由此减少了客户端Client/服务器Server间不必要的报文交互开销,减轻网络带宽负荷,并且避免了DHCPv6Server不断处理大量无效请求报文,缓解Server处理压力,增强Server的可靠性。图4为本发明资源分配系统的结构示意图。包括DHCPv6服务器41和DHCPv6客户端42,其中:所述DHCPv6服务器41,用于向所述DHCPv6客户端发送第一通告报文,所述第一通告报文携带有第一资源状态指示;所述第一资源状态指示携带有在指定的时间内无资源可用的状态码;所述DHCPv6客户端42,用于接收所述第一通告报文,经过所述指定的时间后向所述DHCPv6服务器发送资源请求报文。其中,所述第一资源状态指示为无资源可用的状态码,所述在指定的时间内无资源可用的状态码携带在所述无资源可用状态码的子选项中。所述无资源可用状态码无前缀可用NoPrefixAvail状态码,或者无地址可用NoAddrsAvail状态码,或者NoPrefixAvail和NoAddrsAvail状态码。子状态码的扩展可以参见上述第一实施例说明。本实施例系统通过上述功能的服务器和客户端,可以实现客户端在该抑制时间内不再发送solicit请求,只有等到经过指定的时间后才发送solicit请求,从而消除了现有技术中客户端每间隔一定时间地就发起solicit请求,减少了客户端Client/服务器Server间不必要的报文交互开销,减轻网络带宽负荷,并且避免了DHCPv6服务器不断处理大量无效请求报文,缓解了服务器处理压力,增强服务器的可靠性。进一步地,所述DHCPv6服务器41还用于向所述DHCPv6客户端发送第二通告报文,所述第二通告报文携带有第二状态指示,所述第二资源状态指示为资源可用状态码;所述DHCPv6客户端42还用于在收到所述第二通告报文后向所述DHCPv6服务器发送资源请求报文。其中,所述DHCPv6客户端还用于在接收到所述第二通告报文后,停止发送所述第一通告报文的响应消息。所述响应为:所述DHCPv6客户端接收到所述第一通告报文后在所述指定的时间内停止发送资源请求消息,且经过所述指定的时间后发送资源请求消息。其中,所述资源可用状态码为前缀可用PrefixAvail状态码,或者地址可用AddrsAvail状态码,或者PrefixAvail和AddrsAvail状态码。资源可用状态码是通过扩展Advertise报文中的选项(option)字段实现的。具体描述可以参见方法第二实施例中的描述。客户端可以是计算机、移动终端等接入设备。这些接入设备具有上述功能。本实施例系统通过上述功能的服务器和客户端,在服务器资源可用时,即使已经通过携带有指定时间的第一通告报文发送至客户端的情况下,使得服务器可以没有延时地通知到客户端资源在该指定时间内已经可用,客户端随即发起solicit报文,请求资源分配,使得客户端无需再等待指定时间,从而节省了等待时间,并且由此减少了客户端Client/服务器Server间不必要的报文交互开销,减轻网络带宽负荷,并且避免了DHCPv6Server不断处理大量无效请求报文,缓解Server处理压力,增强Server的可靠性。专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1