一种基于dhcp中继实现dhcp服务器负载分配的方法

文档序号:7611158阅读:156来源:国知局
专利名称:一种基于dhcp中继实现dhcp服务器负载分配的方法
技术领域
本发明涉及DHCP技术领域,具体涉及一种基于DHCP中继实现DHCP服务器负载分配的方法。
背景技术
随着网络规模的扩大、网络复杂度的提高,网络配置也越来越复杂。
在实际的网络环境中,由于便携机或无线网络等原因,经常会出现计算机位置变化和计算机数量超过可分配的IP地址的情况。DHCP(Dynamic HostConfiguration Protocol动态主机配置协议)就是为了满足这些需求而逐渐发展起来的。
目前,DHCP技术已普遍应用于各大型企业内部的网络中。
当网络中DHCP Client(客户端)的数目非常庞大时,通常会设置多个DHCPserver(服务器),以实现DHCP server的负载分担。
各DHCP Client通过DHCP relay(中继)与多个DHCP server连接的逻辑框图如附图1所示。
图1中,DHCP Client通过发起探询报文来查询网络上DHCP Server的存在情况,该探询报文通过DHCP relay传输至各DHCP Server,然后,DHCP Client根据接收的DHCP Server对其探询报文的应答报文随机选择DHCP Server,并将其选择某个DHCP Server为其分配IP地址等参数的请求报文以广播或组播方式通过DHCP relay传输至DHCP Server。
DHCP Client在根据其接收的DHCP Server的应答报文选择DHCP Server时,一般会选择其接收的第一个应答报文对应的DHCP Server。
这样,如果DHCP Server n的应答报文由于中间隔着某个网络等原因而后到,则DHCP Server n就失去了被选择的机会。在非常极端的情况下可能会导致一个DHCP server承载了多数DHCP Client,处理非常忙,而另外的DHCPserver却相对轻闲。
在实际应用中,各DHCP Server的处理能力可能会有所区别,处理能力强的DHCP Server应为主DHCP Server,承载多数的DHCP Client,处理能力弱的DHCP Server应为次要的DHCP Server,相应的少承载一些DHCP Client,从而使网络中的资源得到充分利用。而目前DHCP relay这种传输请求报文的方法使各DHCP Server承载的负载具有很强的不确定性,且不能够区分DHCP Server的主次地位,使网络资源没有得到充分利用。

发明内容
本发明的目的在于,提供一种基于DHCP中继实现DHCP服务器负载分配的方法,使各DHCP Server的负载动态可调,从而实现了充分利用网络资源的目的。
为达到上述目的,本发明提供的一种基于DHCP中继实现DHCP服务器负载分配的方法,包括a、分别设置各DHCP服务器的预定负载;b、DHCP中继确定各DHCP服务器的当前负载;c、所述DHCP中继根据各DHCP服务器的预定负载、当前负载将其接收的DHCP客户端的请求报文传输至对应的DHCP服务器。
所述请求报文包括基于IPv4的DHCP请求报文、基于IPv6的DHCP请求报文。
所述步骤a具体为
在DHCP中继的接口中配置与其直接连接的各DHCP服务器的预定负载。
所述步骤a还包括在DHCP中继的接口中配置与其直接连接的其他DHCP中继的预定负载。
所述步骤a还包括设置所述预定负载的缺省值。
所述步骤b具体包括DHCP中继根据请求报文承载的内容确定并存储DHCP服务器/其他DHCP中继与DHCP客户端的对应关系。
所述DHCP服务器/其他DHCP中继与DHCP客户端的对应关系包括所述DHCP服务器/其他DHCP中继与DHCP客户端的介质访问控制地址的对应关系;所述DHCP中继根据其存储的DHCP服务器/其他DHCP中继与DHCP客户端的对应关系确定各DHCP服务器/其他DHCP中继的当前负载。
所述步骤c还包括所述DHCP中继在将DHCP客户端的请求报文传输至对应的DHCP服务器/其他DHCP中继时,存储所述DHCP服务器/其他DHCP中继与所述DHCP客户端的对应关系。
所述DHCP服务器/其他DHCP中继与DHCP客户端的对应关系包括所述DHCP服务器/其他DHCP中继与所述DHCP客户端的介质访问控制地址的对应关系。
通过上述技术方案的描述可明显得知,本发明中的DHCP中继能够根据一定的策略将DHCP client的请求报文分配传输至不同的DHCP服务器,避免了各DHCP Server承载负载的不确定性,不但能够使设置多个DHCP服务器进行负载分担的目的得以实现,还能够使各DHCP Server承载的负载根据DHCP Server的具体情况如处理能力等因素动态可调;从而通过本发明提供的技术方案实现了充分利用网络资源的目的。


图1是单DHCP中继的网络拓扑示意图;图2是多DHCP中继的网络拓扑示意图一;图3是多DHCP中继的网络拓扑示意图二。
具体实施例方式
当网络中设置了多个DHCP server时,如果DHCP relay不仅仅作为一个透明传输通道将其接收的请求报文直接转发,而是采用一定的策略、有目的性的将其接收的请求报文进行分配传输,就能够使各DHCP Server承载的负载具有确定性。
因此,本发明的核心是分别设置各DHCP服务器的预定负载,DHCP中继确定各DHCP服务器的当前负载,所述DHCP中继根据各DHCP服务器的预定负载、当前负载将其接收的DHCP客户端的请求报文传输至对应的DHCP服务器。
下面基于本发明的核心思想对本发明提供的技术方案做进一步的描述。
本发明中DHCP client的请求报文包括基于IPv4的DHCP client的请求报文、基于IPv6的DHCP client的请求报文。
本发明首先需要预先设置与DHCP relay直接连接的各DHCP server的预定负载,各DHCP server的预定负载可以相同,也可以不相同。
本发明可以设置预定负载的缺省值,如果各DHCP server的预定负载均设置为缺省值,则可以认为各DHCP server均匀承载DHCP client的数量。
当网络中设置了多个DHCP relay时,DHCP relay可以将与其直接连接的其他DHCP relay当作一个DHCP server来对待,根据上述其他DHCP relay连接的DHCP server来设置该其他DHCP relay的预定负载。
DHCP relay可以通过存储DHCP server和其他DHCP relay的地址信息与预定负载的对应关系,来实现设置与其直接连接的各DHCP server和其他DHCPrelay的预定负载。
DHCP relay可将上述存储的DHCP server和DHCP relay的地址信息与预定负载的对应关系配置在其接口上,如以下述形式表示Next Server-Address Server-1 99Next Server-Address Server-2 1在上述对应关系中,DHCP server1由于处理能力强等因素是主要的DHCPserver,设置其预定负载为99%。DHCP server2由于处理能力弱等因素是次要的DHCP server,设置其预定负载为1%。
根据上述预定负载的设置,DHCP relay应将99%的DHCP client的请求报文传输至DHCP server1,使DHCP server1承载99%的DHCP client,DHCP relay应将1%的DHCP client的请求报文传输至DHCP server2,使DHCP server2承载1%的DHCP client。
DHCP relay在接收到DHCP client的请求报文时,需要确定与其连接的各DHCP server的当前负载。各DHCP server的当前负载可通过各DHCP server承载的DHCP client的数量来体现。
由于DHCP client的请求报文是以广播或组播的方式发送的,所以DHCPrelay在接收到该报文时,可以根据请求报文中承载的内容确定DHCP client选择的DHCP server,DHCP relay可以通过记录各DHCP client选择的DHCP server的情况,来确定各DHCP server/其他DHCP relay的当前负载,如通过记录DHCPclient的Mac(介质访问控制地址)和DHCP Server/其他DHCP relay的对应关系,从而确定各DHCP Server/其他DHCP relay当前承载的DHCP client的数量,通过该数量来确定各DHCP Server/其他DHCP relay的当前负载。
在确定了各DHCP Server/其他DHCP relay的当前负载、预定负载后,DHCPrelay应根据各DHCP Server/其他DHCP relay的当前负载、预定负载将其接收的DHCP client的请求报文传输至对应的DHCP Server。使DHCP server/其他DHCP relay的当前负载与对其预先设定的预定负载相符。
DHCP relay在根据各DHCP Server/其他DHCP relay的当前负载、预定负载将DHCP client的请求报文传输至对应的DHCP server或其他DHCP relay时,同时应记录并存储DHCP client与该DHCP server或DHCP relay的对应关系,在确定各DHCP server/其他DHCP relay承载的DHCP client数量时,应包括上述存储的DHCP client与该DHCP server或DHCP relay的对应关系,以准确记载各DHCP server/其他DHCP relay的当前负载。
下面结合附图1对网络中设置单DHCP relay时,本发明实现DHCP Server负载分配的方法进行详细说明。
网络中设置单DHCP relay时的网络拓扑如附图1所示。
DHCP relay首先需要预先设置与其直接连接的各DHCP server的预定负载。设定与DHCP relay直接连接的各DHCP server包括DHCP server1至DHCPserverN的N个DHCP server。
DHCP relay在其接口中设置与其直接连接的各DHCP server的预定负载,如设置为以下述形式Next Server-Address Server-1 1Next Server-Address Server-2 1......
Next Server-Address Server-N 1设定1为预定负载的缺省值,N个DHCP server的预定负载均设置为缺省值,则可以认为N个DHCP server的预定负载均为1/N,即各DHCP server应承载的DHCP client的数量基本相同。
本发明中的DHCP relay可以在开始接收到第一个请求报文时,就开始根据各DHCP server的当前负载、预定负载将请求报文均衡的传输至各DHCPserver,也可以在之后某个时间如已接入了预定个数的DHCP client后,再根据各DHCP server的当前负载、预定负载将请求报文均衡的传输至各DHCPserver。
DHCP relay在将DHCP client请求报文传输至DHCP server时,应记录存储DHCP client与DHCP server的对应关系。
当DHCP relay在不根据各DHCP server的当前负载、预定负载传输请求报文时,DHCP relay可以根据请求报文中承载的内容确定DHCP client与DHCPserver的对应关系,并存储。
当DHCP relay在根据各DHCP server的当前负载、预定负载传输请求报文时,应在将该请求报文传输至对应的DHCP server的同时,确定DHCP client与该对应的DHCP server的对应关系,并存储。以准确记载各DHCP server承载的DHCP client的数量,准确记载各DHCP server的当前负载。
下面结合附图2对网络中设置多DHCP relay时,本发明实现DHCP Server负载分配的方法进行详细说明。
网络中设置多DHCP relay时的网络拓扑如附图2所示。
当网络中设置了两个DHCP relay时,可以将与DHCP relay连接的其他DHCP relay当作DHCP server来处理,即将图2中的DHCP relay2当作DHCPserver来处理。
图2中,与DHCP relay1直接连接的DHCP server和其他DHCP relay包括DHCP server1至DHCP serverN的N个DHCP server和DHCP relay2。与DHCPrelay2直接连接的DHCP server包括DHCP serverN+1。
DHCP relay1在其接口中设置与其直接连接的各DHCP server和DHCPrelay2的预定负载,如设置为以下述形式Next Server-Address Server-1 1Next Server-Address Server-2 1......
Next Server-Address Server-N 1Next Server-Address DHCP relay2 1
设定1为预定负载的缺省值,N个DHCP server和DHCP relay2的预定负载均设置为缺省值,则可以认为N个DHCP server和DHCP relay2的预定负载均为1/(N+1),即N+1个DHCP server应承载的DHCP client的数量相同。
DHCP relay2在其接口中设置与其直接连接的DHCP server,如设置为以下述形式Next Server-Address Server-N+1 1本发明中的DHCP relay1可以在开始接收到第一个请求报文时,就开始根据各DHCP server的当前负载、预定负载将请求报文均衡的传输至各DHCPserver和DHCP relay2,也可以在之后某个时间如已接入了预定个数的DHCPclient后,再根据各DHCP server和DHCP relay2的当前负载、预定负载将请求报文均衡的传输至各DHCP server和DHCP relay2。
DHCP relay1在将DHCP client请求报文传输至DHCP server或DHCP relay2时,应记录存储DHCP client与DHCP server和DHCP relay2的对应关系。
当DHCP relay1在不根据各DHCP server和DHCP relay2的当前负载、预定负载传输请求报文时,DHCP relay1可以根据请求报文中承载的内容确定DHCP client与DHCP server和DHCP relay2的对应关系,并存储。
当DHCP relay1在根据各DHCP server和DHCP relay2的当前负载、预定负载传输请求报文时,应在将该请求报文传输至对应的DHCP server或DHCPrelay2的同时,确定DHCP client与该对应的DHCP server或DHCP relay2的对应关系,并存储。以准确记载各DHCP server和DHCP relay2承载的DHCP client的数量,准确记载各DHCP server和DHCP relay2的当前负载。
下面结合附图3对网络中设置多DHCP relay时,本发明实现DHCP Server负载分配的方法进行详细说明。
网络中设置三个DHCP relay时的网络拓扑如附图3所示。
当网络中设置了多个DHCP relay时,可以将与DHCP relay连接的其他DHCP relay当作DHCP server来处理,即将图3中的DHCP relay2和DHCPrelay3应当作DHCP server来处理。
图3中,与DHCP relay1直接连接的DHCP server和其他DHCP relay包括DHCP server1、DHCP server2和DHCP relay2。
与DHCP relay2直接连接的DHCP server和其他DHCP relay包括DHCPserver3和DHCP relay3。
与DHCP relay3直接连接的DHCP server包括DHCP server4、DHCP server5和DHCP server6。
如果Server3为主要的DHCP Server,需要其承载50%的DHCP Client,则可以在各DHCP relay的接口作如下设置。
DHCP relay1在其接口中设置与其直接连接的各DHCP server和DHCPrelay2的预定负载Next Server-Address Server-1 1Next Server-Address Server-2 1Next Server-Address DHCP relay2 8设定1为预定负载的缺省值,则可以认为DHCP server1和DHCP relay2的预定负载均为10%,DHCP relay2的预定负载为80%。
DHCP relay2在其接口中设置与其直接连接的各DHCP server和DHCPrelay3的预定负载Next Server-Address Server-3 5Next Server-Address DHCP relay3 3通过DHCP relay2接口的配置可以认为DHCP server3的预定负载为50%,而DHCP relay3的预定负载为30%。
DHCP relay3在其接口中设置与其直接连接的各DHCP server的预定负载Next Server-Address Server-4 1Next Server-A ddress Server-5 1
Next Server-Address Server-6 1通过DHCP relay3接口的配置可以认为DHCP server4、DHCP server5和DHCP server6的预定负载均为10%。
如果DHCP relay1在接收到第一个请求报文时就开始根据各DHCP server的当前负载、预定负载传输请求报文,若DHCP relay1接收到10个请求报文时,应向DHCP server1和DHCP server2各发送一个请求报文消息,而通过DHCPrelay2发送其他的8个请求报文。
DHCP relay2对DHCP relay1传输来的8个请求报文处理如下DHCP relay2将5个请求报文传输至DHCP Server3,将其他3个请求报文通过DHCP Relay3传输。
DHCP relay3对DHCP relay2传输来的3请求报文处理如下向DHCPServer4、DHCP Server5、DHCP Server6各发送一个请求报文。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,本发明的申请文件的权利要求包括这些变形和变化。
权利要求
1.一种基于DHCP中继实现DHCP服务器负载分配的方法,其特征在于,包括a、分别设置各DHCP服务器的预定负载;b、DHCP中继确定各DHCP服务器的当前负载;c、所述DHCP中继根据各DHCP服务器的预定负载、当前负载将其接收的DHCP客户端的请求报文传输至对应的DHCP服务器。
2.如权利要求1所述的一种基于DHCP中继实现DHCP服务器负载分配的方法,其特征在于,所述请求报文包括基于IPv4的DHCP请求报文、基于IPv6的DHCP请求报文。
3.如权利要求1所述的一种基于DHCP中继实现DHCP服务器负载分配的方法,其特征在于,所述步骤a具体为在DHCP中继的接口中配置与其直接连接的各DHCP服务器的预定负载。
4.如权利要求1所述的一种基于DHCP中继实现DHCP服务器负载分配的方法,其特征在于,所述步骤a还包括在DHCP中继的接口中配置与其直接连接的其他DHCP中继的预定负载。
5.如权利要求1所述的一种基于DHCP中继实现DHCP服务器负载分配的方法,其特征在于,所述步骤a还包括设置所述预定负载的缺省值。
6.如权利要求1至5中任一权利要求所述的一种基于DHCP中继实现DHCP服务器负载分配的方法,其特征在于,所述步骤b具体包括DHCP中继根据请求报文承载的内容确定并存储DHCP服务器/其他DHCP中继与DHCP客户端的对应关系;所述DHCP中继根据其存储的DHCP服务器/其他DHCP中继与DHCP客户端的对应关系确定各DHCP服务器/其他DHCP中继的当前负载。
7.如权利要求6所述的一种基于DHCP中继实现DHCP服务器负载分配的方法,其特征在于,所述DHCP服务器/其他DHCP中继与DHCP客户端的对应关系包括所述DHCP服务器/其他DHCP中继与DHCP客户端的介质访问控制地址的对应关系。
8.如权利要求1至5所述的一种基于DHCP中继实现DHCP服务器负载分配的方法,其特征在于,所述步骤c还包括所述DHCP中继在将DHCP客户端的请求报文传输至对应的DHCP服务器/其他DHCP中继时,存储所述DHCP服务器/其他DHCP中继与所述DHCP客户端的对应关系。
9.如权利要求8所述的一种基于DHCP中继实现DHCP服务器负载分配的方法,其特征在于,所述DHCP服务器/其他DHCP中继与DHCP客户端的对应关系包括所述DHCP服务器/其他DHCP中继与所述DHCP客户端的介质访问控制地址的对应关系。
全文摘要
本发明提供一种基于DHCP中继实现DHCP服务器负载分配的方法,其核心为分别设置各DHCP服务器的预定负载,DHCP中继确定各DHCP服务器的当前负载,所述DHCP中继根据各DHCP服务器的预定负载、当前负载将其接收的DHCP客户端的请求报文传输至对应的DHCP服务器。本发明避免了各DHCP Server承载负载的不确定性,不但能够使设置多个DHCP服务器进行负载分担的目的得以实现,还能够使各DHCP Server承载的负载动态可调;从而通过本发明提供的技术方案实现了充分利用网络资源的目的。
文档编号H04L12/24GK1812399SQ20051000290
公开日2006年8月2日 申请日期2005年1月26日 优先权日2005年1月26日
发明者陈双龙 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1