專利名稱:一種基于dhcp中繼實現(xiàn)dhcp服務器負載分配的方法
技術領域:
本發(fā)明涉及DHCP技術領域,具體涉及一種基于DHCP中繼實現(xiàn)DHCP服務器負載分配的方法。
背景技術:
隨著網絡規(guī)模的擴大、網絡復雜度的提高,網絡配置也越來越復雜。
在實際的網絡環(huán)境中,由于便攜機或無線網絡等原因,經常會出現(xiàn)計算機位置變化和計算機數量超過可分配的IP地址的情況。DHCP(Dynamic HostConfiguration Protocol動態(tài)主機配置協(xié)議)就是為了滿足這些需求而逐漸發(fā)展起來的。
目前,DHCP技術已普遍應用于各大型企業(yè)內部的網絡中。
當網絡中DHCP Client(客戶端)的數目非常龐大時,通常會設置多個DHCPserver(服務器),以實現(xiàn)DHCP server的負載分擔。
各DHCP Client通過DHCP relay(中繼)與多個DHCP server連接的邏輯框圖如附圖1所示。
圖1中,DHCP Client通過發(fā)起探詢報文來查詢網絡上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的處理能力可能會有所區(qū)別,處理能力強的DHCP Server應為主DHCP Server,承載多數的DHCP Client,處理能力弱的DHCP Server應為次要的DHCP Server,相應的少承載一些DHCP Client,從而使網絡中的資源得到充分利用。而目前DHCP relay這種傳輸請求報文的方法使各DHCP Server承載的負載具有很強的不確定性,且不能夠區(qū)分DHCP Server的主次地位,使網絡資源沒有得到充分利用。
發(fā)明內容
本發(fā)明的目的在于,提供一種基于DHCP中繼實現(xiàn)DHCP服務器負載分配的方法,使各DHCP Server的負載動態(tài)可調,從而實現(xiàn)了充分利用網絡資源的目的。
為達到上述目的,本發(fā)明提供的一種基于DHCP中繼實現(xiàn)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客戶端的介質訪問控制地址的對應關系。
通過上述技術方案的描述可明顯得知,本發(fā)明中的DHCP中繼能夠根據一定的策略將DHCP client的請求報文分配傳輸至不同的DHCP服務器,避免了各DHCP Server承載負載的不確定性,不但能夠使設置多個DHCP服務器進行負載分擔的目的得以實現(xiàn),還能夠使各DHCP Server承載的負載根據DHCP Server的具體情況如處理能力等因素動態(tài)可調;從而通過本發(fā)明提供的技術方案實現(xiàn)了充分利用網絡資源的目的。
圖1是單DHCP中繼的網絡拓撲示意圖;圖2是多DHCP中繼的網絡拓撲示意圖一;圖3是多DHCP中繼的網絡拓撲示意圖二。
具體實施例方式
當網絡中設置了多個DHCP server時,如果DHCP relay不僅僅作為一個透明傳輸通道將其接收的請求報文直接轉發(fā),而是采用一定的策略、有目的性的將其接收的請求報文進行分配傳輸,就能夠使各DHCP Server承載的負載具有確定性。
因此,本發(fā)明的核心是分別設置各DHCP服務器的預定負載,DHCP中繼確定各DHCP服務器的當前負載,所述DHCP中繼根據各DHCP服務器的預定負載、當前負載將其接收的DHCP客戶端的請求報文傳輸至對應的DHCP服務器。
下面基于本發(fā)明的核心思想對本發(fā)明提供的技術方案做進一步的描述。
本發(fā)明中DHCP client的請求報文包括基于IPv4的DHCP client的請求報文、基于IPv6的DHCP client的請求報文。
本發(fā)明首先需要預先設置與DHCP relay直接連接的各DHCP server的預定負載,各DHCP server的預定負載可以相同,也可以不相同。
本發(fā)明可以設置預定負載的缺省值,如果各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的地址信息與預定負載的對應關系,來實現(xiàn)設置與其直接連接的各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的數量來體現(xiàn)。
由于DHCP client的請求報文是以廣播或組播的方式發(fā)送的,所以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時,本發(fā)明實現(xiàn)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的數量基本相同。
本發(fā)明中的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時,本發(fā)明實現(xiàn)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本發(fā)明中的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時,本發(fā)明實現(xiàn)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各發(fā)送一個請求報文消息,而通過DHCPrelay2發(fā)送其他的8個請求報文。
DHCP relay2對DHCP relay1傳輸來的8個請求報文處理如下DHCP relay2將5個請求報文傳輸至DHCP Server3,將其他3個請求報文通過DHCP Relay3傳輸。
DHCP relay3對DHCP relay2傳輸來的3請求報文處理如下向DHCPServer4、DHCP Server5、DHCP Server6各發(fā)送一個請求報文。
雖然通過實施例描繪了本發(fā)明,本領域普通技術人員知道,本發(fā)明有許多變形和變化而不脫離本發(fā)明的精神,本發(fā)明的申請文件的權利要求包括這些變形和變化。
權利要求
1.一種基于DHCP中繼實現(xiàn)DHCP服務器負載分配的方法,其特征在于,包括a、分別設置各DHCP服務器的預定負載;b、DHCP中繼確定各DHCP服務器的當前負載;c、所述DHCP中繼根據各DHCP服務器的預定負載、當前負載將其接收的DHCP客戶端的請求報文傳輸至對應的DHCP服務器。
2.如權利要求1所述的一種基于DHCP中繼實現(xiàn)DHCP服務器負載分配的方法,其特征在于,所述請求報文包括基于IPv4的DHCP請求報文、基于IPv6的DHCP請求報文。
3.如權利要求1所述的一種基于DHCP中繼實現(xiàn)DHCP服務器負載分配的方法,其特征在于,所述步驟a具體為在DHCP中繼的接口中配置與其直接連接的各DHCP服務器的預定負載。
4.如權利要求1所述的一種基于DHCP中繼實現(xiàn)DHCP服務器負載分配的方法,其特征在于,所述步驟a還包括在DHCP中繼的接口中配置與其直接連接的其他DHCP中繼的預定負載。
5.如權利要求1所述的一種基于DHCP中繼實現(xiàn)DHCP服務器負載分配的方法,其特征在于,所述步驟a還包括設置所述預定負載的缺省值。
6.如權利要求1至5中任一權利要求所述的一種基于DHCP中繼實現(xiàn)DHCP服務器負載分配的方法,其特征在于,所述步驟b具體包括DHCP中繼根據請求報文承載的內容確定并存儲DHCP服務器/其他DHCP中繼與DHCP客戶端的對應關系;所述DHCP中繼根據其存儲的DHCP服務器/其他DHCP中繼與DHCP客戶端的對應關系確定各DHCP服務器/其他DHCP中繼的當前負載。
7.如權利要求6所述的一種基于DHCP中繼實現(xiàn)DHCP服務器負載分配的方法,其特征在于,所述DHCP服務器/其他DHCP中繼與DHCP客戶端的對應關系包括所述DHCP服務器/其他DHCP中繼與DHCP客戶端的介質訪問控制地址的對應關系。
8.如權利要求1至5所述的一種基于DHCP中繼實現(xiàn)DHCP服務器負載分配的方法,其特征在于,所述步驟c還包括所述DHCP中繼在將DHCP客戶端的請求報文傳輸至對應的DHCP服務器/其他DHCP中繼時,存儲所述DHCP服務器/其他DHCP中繼與所述DHCP客戶端的對應關系。
9.如權利要求8所述的一種基于DHCP中繼實現(xiàn)DHCP服務器負載分配的方法,其特征在于,所述DHCP服務器/其他DHCP中繼與DHCP客戶端的對應關系包括所述DHCP服務器/其他DHCP中繼與所述DHCP客戶端的介質訪問控制地址的對應關系。
全文摘要
本發(fā)明提供一種基于DHCP中繼實現(xiàn)DHCP服務器負載分配的方法,其核心為分別設置各DHCP服務器的預定負載,DHCP中繼確定各DHCP服務器的當前負載,所述DHCP中繼根據各DHCP服務器的預定負載、當前負載將其接收的DHCP客戶端的請求報文傳輸至對應的DHCP服務器。本發(fā)明避免了各DHCP Server承載負載的不確定性,不但能夠使設置多個DHCP服務器進行負載分擔的目的得以實現(xiàn),還能夠使各DHCP Server承載的負載動態(tài)可調;從而通過本發(fā)明提供的技術方案實現(xiàn)了充分利用網絡資源的目的。
文檔編號H04L12/24GK1812399SQ20051000290
公開日2006年8月2日 申請日期2005年1月26日 優(yōu)先權日2005年1月26日
發(fā)明者陳雙龍 申請人:華為技術有限公司