專利名稱:動態(tài)地址分配方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,特別涉及一種動態(tài)地址分配方法和設(shè)備。
背景技術(shù):
當(dāng)前主流企業(yè)及部分家庭用戶獲取IP地址均是通過動態(tài)主機(jī)配置協(xié)議(DynamicHost Configuration Protocol,DHCP)實(shí)現(xiàn)的。DHCP采用C/S通信模式,對網(wǎng)絡(luò)中的客戶端進(jìn)行網(wǎng)絡(luò)地址及配置信息的分配。DHCP的一個顯著特點(diǎn)是DHCP客戶端可以通過DHCP報文交互的方式從DHCP服務(wù)器中獲得需要的網(wǎng)絡(luò)配置信息。DHCP的另一個特點(diǎn)是為IP地址指定了一個有限的租約,租約到期后DHCP服務(wù)器將收回該IP地址,使得網(wǎng)絡(luò)中的地址能夠被最大限度的利用,而客戶端也可以向服務(wù)器提出延長租約的請求,因此,網(wǎng)絡(luò)中的地址能夠被不斷地復(fù)用。
參見圖1,圖I是現(xiàn)有技術(shù)中DHCP報文交互過程的示意圖,包括以下步驟步驟101、客戶端發(fā)送DHCP-DISCOVER (DHCP發(fā)現(xiàn))報文查找可用DHCP服務(wù)器;步驟102、DHCP服務(wù)器返回DHCP-OFFER (DHCP授權(quán))報文;步驟103、DHCP根據(jù)接收到的DHCP-0FFER報文確定可用的DCHP服務(wù)器,并選擇其中一臺DHCP服務(wù)器,向該DHCP服務(wù)器發(fā)送DHCP-REQUEST (DHCP請求)報文以申請地址;步驟104、接收到DHCP-REQUEST報文的DHCP服務(wù)器正式將IP地址分配給DHCP客戶端,返回DHCP-ACK報文并在本地建立對應(yīng)的租約信息。參見圖2,圖2是現(xiàn)有技術(shù)第一種典型的DHCP組網(wǎng)示意圖,包括DHCP客戶端、DHCP中繼設(shè)備(Relay)和DHCP服務(wù)器;其中,DHCP服務(wù)器用于為DHCP客戶端分配IP地址及網(wǎng)絡(luò)配置參數(shù)以及管理租約表。DHCP Relay用于轉(zhuǎn)發(fā)DHCP客戶端和DHCP服務(wù)器交互之間的DHCP報文。參見圖3,圖3是現(xiàn)有技術(shù)第二種典型的DHCP組網(wǎng)示意圖,包括DHCP客戶端,DHCP探測設(shè)備(Snooping)和DHCP服務(wù)器。其中,DHCP服務(wù)器用于為DHCP客戶端分配IP地址及網(wǎng)絡(luò)配置參數(shù)以及管理租約表。DHCPSnooping在二層網(wǎng)絡(luò)中使用,用于記錄DHCP客戶端信息、設(shè)置信任端口防止冒牌DHCP服務(wù)器、為來自DHCP客戶端的報文添加0ption82選項、以及為來自DHCP服務(wù)器的報文脫去0ption82選項。由于DHCP Server需要管理大量租約表并頻繁分配、釋放地址,負(fù)載較大,而且,由于內(nèi)存有限,會限制地址分配的數(shù)量,當(dāng)達(dá)到租約表的管理上限后無法對DHCP客戶端進(jìn)行地址分配,而此時地址池可能還有大量地址空閑;另外,DHCP Relay/Snooping主要用于記錄DHCP客戶端信息和透傳DHCP報文,利用率較低。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的目的在于提供一種動態(tài)地址分配方法,該方法能夠降低DHCP服務(wù)器的負(fù)載。為了達(dá)到上述目的,本發(fā)明提供的技術(shù)方案為
一種動態(tài)地址分配方法,該方法包括中繼設(shè)備向動態(tài)主機(jī)配置協(xié)議DHCP服務(wù)器申請IP地址,將申請得到的IP地址放入動態(tài)地址池;中繼設(shè)備接收到DHCP客戶端的分配IP地址的請求時,判斷所述動態(tài)地址池中是否存在空閑的IP地址,當(dāng)存在空閑IP地址時,基于所述動態(tài)地址池為DHCP客戶端分配IP地址。
該方法進(jìn)一步包括當(dāng)所述動態(tài)地址池不存在空閑IP地址時,將所述DHCP客戶端發(fā)送的分配IP地址的請求轉(zhuǎn)發(fā)給所述DHCP服務(wù)器處理。該方法進(jìn)一步包括中繼設(shè)備接收到DHCP服務(wù)器發(fā)送的指示DHCP配置變化的DHCP配置通告報文時,回收分配給各DHCP客戶端的IP地址,刪除分配給各DHCP客戶端的IP地址對應(yīng)的租約信息,并重新向DHCP服務(wù)器申請IP地址。所述中繼設(shè)備接收到DHCP客戶端的分配IP地址的請求時,判斷所述動態(tài)地址池中是否存在空閑的IP地址,當(dāng)存在空閑IP地址時,基于所述動態(tài)地址池為DHCP客戶端分配IP地址包括當(dāng)中繼設(shè)備接收到DHCP客戶端的DHCP發(fā)現(xiàn)報文時,判斷所述動態(tài)地址池中是否存在空閑IP地址,當(dāng)存在空閑IP地址時,從所述動態(tài)地址池中選擇一個空閑IP地址分配給所述DHCP客戶端,建立該IP地址對應(yīng)的臨時租約信息,并模擬DHCP服務(wù)器返回攜帶該IP地址的DHCP授權(quán)報文;當(dāng)中繼設(shè)備接收到DHCP客戶端的DHCP請求報文時,判斷是否存在DHCP請求報文中攜帶的IP地址對應(yīng)的臨時租約信息,當(dāng)存在所述IP地址對應(yīng)的臨時租約信息時,建立DHCP請求報文中攜帶的IP地址對應(yīng)的租約信息,并模擬DHCP服務(wù)器返回DHCP確認(rèn)報文。上述方法中,所述選擇一個空閑IP地址分配給所述DHCP客戶端,建立該IP地址對應(yīng)的臨時租約信息之后,進(jìn)一步包括如果臨時租約到期未接收到DHCP客戶端發(fā)送的攜帶該IP地址的DHCP請求報文,則回收該IP地址,刪除該IP地址對應(yīng)的臨時租約信息;所述建立DHCP請求報文中攜帶的IP地址對應(yīng)的租約信息之后,進(jìn)一步包括如果租約到期,則回收該IP地址,刪除該IP地址對應(yīng)的租約信息。該方法進(jìn)一步包括中繼設(shè)備接收到DHCP客戶端的DHCP續(xù)約報文時,判斷是否存在DHCP續(xù)約報文中攜帶的IP地址對應(yīng)的租約信息,當(dāng)存在對應(yīng)的租約信息時,重置該IP地址對應(yīng)的租約信息;當(dāng)中繼設(shè)備接收到DHCP客戶端的DHCP釋放報文時,判斷是否存在DHCP釋放報文中攜帶的IP地址對應(yīng)的租約信息,當(dāng)存在對應(yīng)的租約信息時,回收該IP地址,并刪除該IP地址對應(yīng)的租約信息。上述方法中,所述中繼設(shè)備為DHCP中繼設(shè)備relay ;所述中繼設(shè)備向DHCP服務(wù)器申請IP地址的方法為向DHCP服務(wù)器發(fā)送攜帶預(yù)設(shè)IP地址范圍信息和中繼設(shè)備地址的DHCP配置請求報文,所述中繼設(shè)備地址的值為中繼設(shè)備的IP地址;接收DHCP服務(wù)器返回的DHCP配置應(yīng)答報文,獲取DHCP配置應(yīng)答報文中攜帶的IP地址信息,其中,所述IP地址信息為DHCP服務(wù)器對接收到的DHCP配置請求報文中攜帶的預(yù)設(shè)IP地址范圍和DHCP服務(wù)器中該中繼設(shè)備地址對應(yīng)的地址池范圍的交集運(yùn)算結(jié)果;上述方法中,所述中繼設(shè)備為DHCP探測設(shè)備snooping ;所述中繼設(shè)備向DHCP服務(wù)器申請IP地址的方法為向DHCP服務(wù)器發(fā)送攜帶預(yù)設(shè)IP地址范圍信息和中繼設(shè)備地址的DHCP配置請求報文,所述中繼設(shè)備地址的值為0 ;接收DHCP服務(wù)器返回的DHCP配置應(yīng)答報文,獲取DHCP配置應(yīng)答報文中攜帶的IP地址信息,其中,所述IP地址信息為DHCP服務(wù)器對接收到的DHCP配置請求報文中攜帶的預(yù)設(shè)IP地址范圍和DHCP服務(wù)器接收該DCHP配置請求報文的端口的IP地址對應(yīng)的地址池范圍的交集運(yùn)算結(jié)果。本發(fā)明還提供了另一種動態(tài)地址分配方法,該方法包括
DHCP服務(wù)器接收到中繼設(shè)備的DHCP配置請求報文;判斷所述DCHP配置請求報文中攜帶的中繼設(shè)備地址的值是否為0,當(dāng)中繼設(shè)備地址的值為0時,查找接收DHCP配置請求報文的端口的IP地址對應(yīng)的地址池,對DHCP配置請求報文中攜帶的IP地址范圍和接收DHCP配置請求報文的端口的IP地址對應(yīng)的地址池范圍進(jìn)行交集運(yùn)算;當(dāng)中繼設(shè)備地址的值不為0時,查找該中繼設(shè)備地址的值對應(yīng)的地址池,對DHCP配置請求報文中攜帶的IP地址范圍和該中繼設(shè)備地址對應(yīng)的地址池范圍進(jìn)行交集運(yùn)算;將交集運(yùn)算結(jié)果中的每個IP地址設(shè)置為禁用IP ;將交集運(yùn)算結(jié)果中的所有IP地址攜帶在DHCP配置應(yīng)答報文中返回給中繼設(shè)備。該方法進(jìn)一步包括DHCP服務(wù)器檢測到自身的DHCP配置變化時,恢復(fù)所有被禁止IP并向中繼設(shè)備發(fā)送指示DHCP配置變化的DHCP配置通告報文,用以使中繼設(shè)備回收已經(jīng)分配給各DHCP客戶端的IP地址并重新發(fā)送DHCP配置請求報文。本發(fā)明還提供了一種中繼設(shè)備,該中繼設(shè)備包括地址申請單元、地址分配單元;所述地址申請單元,用于向動態(tài)主機(jī)配置協(xié)議DHCP服務(wù)器申請IP地址,將申請得到的IP地址放入動態(tài)地址池;所述地址分配單元,用于接收到DHCP客戶端的分配IP地址的請求時,判斷所述動態(tài)地址池中是否存在空閑的IP地址,當(dāng)存在空閑IP地址時,基于所述動態(tài)地址池為DHCP客戶端分配IP地址。所述地址分配單元,進(jìn)一步用于當(dāng)所述動態(tài)地址池不存在空閑IP地址時,將所述DHCP客戶端發(fā)送的分配IP地址的請求轉(zhuǎn)發(fā)給所述DHCP服務(wù)器處理。所述地址申請單元,進(jìn)一步用于接收DHCP服務(wù)器發(fā)送的指示DHCP配置變化的DHCP配置通告報文,回收分配給各DHCP客戶端的IP地址,刪除分配給各DHCP客戶端的IP地址對應(yīng)的租約信息,并重新向DHCP服務(wù)器申請IP地址。上述裝置中,所述地址分配單元包括接收單元、分配單元、發(fā)送單元;所述接收單元,用于接收DHCP客戶端發(fā)送的DHCP發(fā)現(xiàn)報文;用于接收DHCP客戶端發(fā)送的DHCP請求報文;所述分配單元,用于在收發(fā)單元接收到DHCP客戶端的DHCP發(fā)現(xiàn)報文時,判斷動態(tài)地址池中存在空閑IP地址,當(dāng)存在空閑IP地址時,選擇一個空閑IP地址分配給所述DHCP客戶端,建立該IP地址對應(yīng)的臨時租約信息,并通知發(fā)送單元模擬DHCP服務(wù)器返回攜帶該IP地址的DHCP授權(quán)報文;用于在接收單元接收到DHCP客戶端的DHCP請求報文時,判斷是否存在DHCP請求報文中攜帶的IP地址對應(yīng)的臨時租約信息,當(dāng)存在所述IP地址對應(yīng)的臨時租約信息時,建立DHCP請求報文中攜帶的IP地址對應(yīng)的租約信息,并通知發(fā)送單元模擬DHCP服務(wù)器返回DHCP確認(rèn)報文。所述分配單元在選擇一個空閑IP地址分配給所述DHCP客戶端,建立該IP地址對應(yīng)的臨時租約信息之后,進(jìn)一步用于如果臨時租約到期接收單元未接收到DHCP客戶端發(fā)送的攜帶該IP地址的DHCP請求報文,則回收該IP地址,刪除該IP地址對應(yīng)的臨時租約信
息;所述分配單元在建立DHCP請求報文中攜帶的IP地址對應(yīng)的租約信息之后,進(jìn)一步用于如果租約到期,則回收該IP地址,刪除該IP地址對應(yīng)的租約信息。所述接收單元,進(jìn)一步用于接收DHCP客戶端的DHCP續(xù)約報文;用于接收DHCP客戶端的DHCP釋放報文;所述分配單元,進(jìn)一步用于在接收單元接收到DHCP客戶端的DHCP續(xù)約報文時,判斷是否存在DHCP續(xù)約報文中攜帶的IP地址對應(yīng)的租約信息,當(dāng)存在對應(yīng)的租約信息時,重置該IP地址對應(yīng)的租約信息;用于在接收單元接收到DHCP客戶端的DHCP釋放報文時,判斷是否存在DHCP釋放報文中攜帶的IP地址對應(yīng)的租約信息,當(dāng)存在對應(yīng)的租約信息時,回收該IP地址,并刪除該IP地址對應(yīng)的租約信息,否則,正常處理該DHCP釋放報文。所述中繼設(shè)備為DHCP中繼設(shè)備relay ;所述地址申請單元在向DHCP服務(wù)器申請IP地址時,用于向DHCP服務(wù)器發(fā)送攜帶預(yù)設(shè)IP地址范圍信息和中繼設(shè)備地址的DHCP配置請求報文,所述中繼設(shè)備地址的值為中繼設(shè)備的IP地址;接收DHCP服務(wù)器返回的DHCP配置應(yīng)答報文,獲取DHCP配置應(yīng)答報文中攜帶的IP地址信息,其中,所述IP地址信息為DHCP服務(wù)器對接收到的DHCP配置請求報文中攜帶的預(yù)設(shè)IP地址范圍和DHCP服務(wù)器中該中繼設(shè)備地址對應(yīng)的地址池范圍的交集運(yùn)算結(jié)果;所述中繼設(shè)備為DHCP探測設(shè)備snooping ;所述地址申請單元在向DHCP服務(wù)器申請IP地址時,用于向DHCP服務(wù)器發(fā)送攜帶預(yù)設(shè)IP地址范圍信息和中繼設(shè)備地址的DHCP配置請求報文,所述中繼設(shè)備地址的值為0 ;接收DHCP服務(wù)器返回的DHCP配置應(yīng)答報文,獲取DHCP配置應(yīng)答報文中攜帶的IP地址信息,其中,所述IP地址信息為DHCP服務(wù)器對接收到的DHCP配置請求報文中攜帶的預(yù)設(shè)IP地址范圍和DHCP服務(wù)器接收該DHCP配置請求報文的端口的IP地址對應(yīng)的地址池范圍的交集運(yùn)算結(jié)果。本發(fā)明還提供了一種DHCP服務(wù)器,該DHCP服務(wù)器包括報文接收單元、地址運(yùn)算單元、地址設(shè)置單元、報文發(fā)送單元;所述報文接收單元,用于接收中繼設(shè)備的DHCP配置請求報文;所述地址運(yùn)算單元,用于在報文接收單元接收到中繼設(shè)備的DHCP配置請求報文時,判斷DHCP配置請求報文中攜帶的中繼地址字段的值是否為0,當(dāng)中繼設(shè)備地址的值為0時,查找接收該DHCP配置請求報文的端口的IP地址對應(yīng)的地址池,對DHCP配置請求報文中攜帶的IP地址范圍和接收DHCP配置請求報文的端口的IP地址對應(yīng)的地址池范圍進(jìn)行交集運(yùn)算,當(dāng)中繼設(shè)備地址的值不為O時,查找該中繼設(shè)備地址對應(yīng)的地址池,對DHCP配置請求報文中攜帶的IP地址范圍和該中繼設(shè)備地址對應(yīng)的地址池范圍進(jìn)行交集運(yùn)算;所述地址設(shè)置單元,用于將地址運(yùn)算單元的交集運(yùn)算結(jié)果中的每個IP地址設(shè)置為禁用IP ;所述報文發(fā)送單元,用于將地址運(yùn)算單元的交集運(yùn)算結(jié)果中的所有IP地址攜帶在DHCP配置應(yīng)答報文中返回給中繼設(shè)備。該DHCP服務(wù)器還包括檢測單元;所述檢測單元,用于檢測本設(shè)備的DHCP配置是否發(fā)生變化; 所述報文發(fā)送單元,進(jìn)一步用于在檢測單元檢測到本設(shè)備的DHCP配置變化時,向中繼設(shè)備發(fā)送指示DHCP配置變化的DHCP配置通告報文,用以使中繼設(shè)備回收已經(jīng)分配給各DHCP客戶端的IP地址并重新發(fā)送DHCP配置請求報文;所述地址設(shè)置單元,用于在檢測單元檢測到本設(shè)備的DHCP配置變化時,恢復(fù)所有被禁止IP。由上面的技術(shù)方案可知,本發(fā)明中,中繼設(shè)備向DHCP服務(wù)器申請IP地址并將申請的IP地址放入動態(tài)地址池;當(dāng)接收到DHCP客戶端的申請地址的請求時,如果動態(tài)地址池中存在空閑IP地址,則基于動態(tài)地址池為DHCP客戶端分配IP地址。應(yīng)用本發(fā)明后,中繼設(shè)備可以代替DHCP服務(wù)器完成執(zhí)行部分IP地址的動態(tài)分配,從而可以降低DHCP服務(wù)器的負(fù)載。
圖I是現(xiàn)有技術(shù)中DHCP報文交互過程的示意圖;圖2是現(xiàn)有技術(shù)第一種典型的DHCP組網(wǎng)示意圖;圖3是現(xiàn)有技術(shù)第二種典型的DHCP組網(wǎng)示意圖;圖4是本發(fā)明實(shí)施例動態(tài)地址分配方法的流程圖;圖5是本發(fā)明實(shí)施例另一種動態(tài)地址分配方法的流程圖;圖6是本發(fā)明實(shí)施例DHCP配置報文中UDP數(shù)據(jù)部分的格式示意圖;圖7是本發(fā)明實(shí)施例提供的中繼設(shè)備的結(jié)構(gòu)示意圖;圖8是本發(fā)明實(shí)施例提供的DHCP服務(wù)器的結(jié)構(gòu)示意圖。
具體實(shí)施例方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,下面結(jié)合附圖并舉實(shí)施例,對本發(fā)明的技術(shù)方案進(jìn)行詳細(xì)說明。本發(fā)明的主要思想是中繼設(shè)備代替DHCP服務(wù)器完成部分地址分配工作。為此,先向DHCP服務(wù)器申請批量IP地址放入動態(tài)地址池;當(dāng)接收到DHCP客戶端的分配IP地址的請求時,判斷動態(tài)地址池中是否存在空閑的IP地址,當(dāng)存在空閑的IP地址時,基于動態(tài)地址池為DHCP客戶端分配IP地址,當(dāng)不存在空閑的IP地址時,按照現(xiàn)有技術(shù)的方法轉(zhuǎn)發(fā)DHCP客戶端的分配IP地址的請求到DHCP服務(wù)器處理。其中,DHCP客戶端發(fā)送的分配IP地址的請求包括=DHCP發(fā)現(xiàn)報文和DHCP請求報文,下面結(jié)合圖4對中繼設(shè)備接收到這兩種報文后的IP地址分配處理進(jìn)行說明。參見圖4,圖4是本發(fā)明實(shí)施例動態(tài)地址分配方法的流程圖,包括以下步驟步驟401、中繼設(shè)備向DHCP服務(wù)器申請IP地址,將申請得到的IP地址放入動態(tài)地址池。本實(shí)施例中,預(yù)先定義了 DHCP配置請求報文和DHCP配置應(yīng)答報文,其中,DHCP配置請求報文是中繼設(shè)備向DHCP服務(wù)器發(fā)送的,用于向DHCP服務(wù)器申請批量IP地址;DHCP配置應(yīng)答報文是DHCP服務(wù)器向中繼設(shè)備發(fā)送的,用于將中繼設(shè)備可以申請到的IP地址信息反饋給中繼設(shè)備。因此,中繼設(shè)備向DHCP服務(wù)器申請IP地址的方法為向DHCP服務(wù)器發(fā)送攜帶預(yù)設(shè)IP地址范圍信息的DHCP配置請求報文;接收DHCP服務(wù)器返回的DHCP配置應(yīng)答報文,獲取DHCP配置應(yīng)答報文中攜帶的IP地址信息,其中,DHCP配置應(yīng)答報文中攜帶的IP地址即為中繼設(shè)備從DHCP服務(wù)器申請得到的IP地址。DHCP接收到中繼設(shè)備的申請IP地址的請 求后,確定可以分配給中繼設(shè)備的IP地址的具體實(shí)現(xiàn)將在后續(xù)進(jìn)行詳細(xì)說明。步驟402、當(dāng)中繼設(shè)備接收到DHCP客戶端的DHCP發(fā)現(xiàn)報文時,判斷動態(tài)地址池中是否存在空閑IP地址,當(dāng)存在空閑IP地址時,選擇一個空閑IP地址分配給所述DHCP客戶端,建立該IP地址對應(yīng)的臨時租約信息,并模擬DHCP服務(wù)器返回攜帶該IP地址的DHCP授權(quán)報文。在實(shí)際應(yīng)用中,DHCP客戶端和DHCP服務(wù)器之間需要交互DHCP發(fā)現(xiàn)報文、DHCP授權(quán)報文、DHCP請求報文和DHCP確認(rèn)報文完成地址分配。本步驟中,中繼設(shè)備接收到DHCP客戶端的DHCP發(fā)現(xiàn)報文后,先判斷動態(tài)地址池中是否存在空閑IP地址(也即尚未分給給其他DHCP客戶端的IP地址),如果存在,則由中繼設(shè)備為DHCP客戶端分配IP地址,并模擬DHCP服務(wù)器返回DHCP授權(quán)報文,DHCP授權(quán)報文中攜帶臨時分配給DHCP客戶端的IP地址,如果不存在,則由DHCP服務(wù)器為DHCP客戶端分配IP地址,也即按照現(xiàn)有技術(shù)的方法正常處理DHCP客戶端發(fā)送的DHCP發(fā)現(xiàn)報文,包括轉(zhuǎn)發(fā)DHCP發(fā)現(xiàn)報文到DHCP服務(wù)器,如果接收到DHCP服務(wù)器在接收到DHCP發(fā)現(xiàn)報文后返回的DHCP授權(quán)報文,則轉(zhuǎn)發(fā)DHCP授權(quán)報文至DHCP客戶端。這里,臨時租約的租期較短,如果在分配給DHCP客戶端的IP地址對應(yīng)的臨時租約到期時,如果未能接收到DHCP客戶端的DHCP請求報文,則需要回收該IP地址,并刪除該IP地址對應(yīng)的臨時租約信息。步驟403、中繼設(shè)備接收到DHCP客戶端的DHCP請求報文時,判斷是否存在DHCP請求報文中攜帶的IP地址對應(yīng)的臨時租約信息,當(dāng)存在存在所述IP地址對應(yīng)的臨時租約信息時,建立將DHCP請求報文中攜帶的IP地址對應(yīng)的租約信息,并模擬DHCP服務(wù)器返回DHCP確認(rèn)報文。本步驟中,中繼設(shè)備接收到DHCP客戶端的DHCP請求報文時,如果存在DHCP請求報文中攜帶的IP地址對應(yīng)的臨時租約信息,則說明該IP地址是由中繼設(shè)備分配給DHCP客戶端的,中繼設(shè)備可以將該IP地址正式分配給DHCP客戶端,建立該IP地址對應(yīng)的正式的租約信息(將該IP地址對應(yīng)的臨時租約的租期修改為正式租約的租期即可),同時還需要模擬DHCP服務(wù)器返回DHCP確認(rèn)報文;如果DHCP請求報文中攜帶的IP地址不是中繼設(shè)備的動態(tài)地址池中的IP地址,則說明該IP地址是由DHCP服務(wù)器按照現(xiàn)有技術(shù)的方法分配給DHCP客戶端的,因此,中繼設(shè)備需要正常處理該DHCP請求報文,也即轉(zhuǎn)發(fā)該DHCP請求報文至DHCP服務(wù)器,如果接收到DHCP服務(wù)器在接收到DHCP請求報文后返回的DHCP確認(rèn)報文或DHCP nak (DHCP否決)報文時,則轉(zhuǎn)發(fā)DHCP確認(rèn)報文或DHCP否決報文至DHCP客戶端。本步驟中,在判斷是否存在DHCP請求報文中攜帶的IP地址對應(yīng)的臨時租約信息時,還可以進(jìn)一步判斷DHCP請求報文中的服務(wù)器標(biāo)識(identifier)字段的值,根據(jù)該字段的值確定DHCP請求報文是否是發(fā)送給自己的。本實(shí)施例中,中繼設(shè)備可以使DHCP Relay,也可以是DHCP Snooping。當(dāng)中繼設(shè)備為DHCP Relay時,DHCP Relay接收到DHCP客戶端的DHCP發(fā)現(xiàn)報文后,模擬DHCP服務(wù)器向DHCP客戶端發(fā)送的DHCP授權(quán)報文中攜帶DHCP Relay的IP地址,而DHCP客戶端在接著發(fā)送的DHCP請求報文中,會將DHCP Relay的IP地址作為DHCP請求報文中服務(wù)器標(biāo)識字段的值。這樣,當(dāng)DHCP relay接收到DHCP客戶端的DHCP請求報文時,如果DHCP請求報文中攜帶的服務(wù)器標(biāo)識字段的值是自身的IP地址,則可以確定DHCP請求 報文是發(fā)給自己的。當(dāng)中繼設(shè)備為DHCP snooping時,由于DHCP snooping應(yīng)用于二層網(wǎng)絡(luò),不具備IP地址,為了標(biāo)識DHCP Snooping, DHCP服務(wù)器在回應(yīng)DHCP Snooping的申請IP地址的請求時,可以在回應(yīng)報文中攜帶接收DHCP snooping的申請IP地址的請求的端口的IP地址,以下將該IP地址簡稱為服務(wù)器IP地址。DHCPsnooping接收到DHCP客戶端的DHCP發(fā)現(xiàn)報文時,可以將該服務(wù)器IP地址作為自身的IP地址攜帶在DHCP授權(quán)報文中,而DHCP客戶端在接著發(fā)送DHCP請求報文中,可以將該服務(wù)器IP地址作為DHCP請求報文中服務(wù)器標(biāo)識字段的值。這樣,當(dāng)DHCP Snooping接收到DHCP客戶端的DHCP請求報文時,如果DHCP請求報文中攜帶的服務(wù)器標(biāo)識字段的值是該服務(wù)器IP地址,則可以確定DHCP請求報文是發(fā)給自己的。圖4所示本發(fā)明實(shí)施例中,當(dāng)中繼設(shè)備選擇一個空閑IP地址分配給DHCP客戶端時,如果因為設(shè)備故障或網(wǎng)絡(luò)故障等原因?qū)е翫HCP客戶端未能及時發(fā)送DHCP請求報文,導(dǎo)致中繼設(shè)備未能再及時接收到DHCP客戶端的DHCP請求報文,則需要及時對該IP地址進(jìn)行回收。為此,中繼設(shè)備建立分配給DHCP客戶端的IP地址對應(yīng)的臨時租約信息,并模擬DHCP服務(wù)器返回攜帶臨時分配給DHCP客戶端的IP地址的DHCP授權(quán)報文之后,進(jìn)一步包括如果臨時租約到期未接收到DHCP客戶端發(fā)送的攜帶該IP地址的DHCP請求報文,則回收該IP地址,并刪除該IP地址對應(yīng)的臨時租約信息。IP地址被回收后,重新作為動態(tài)地址池中的空閑IP地址,可以繼續(xù)被分配給其它DHCP客戶端。另外,中繼設(shè)備為DHCP客戶端正式分配IP地址后,建立該IP地址對應(yīng)的租約信息之后,如果租約到期,則也需要及時回收該IP地址,刪除該IP地址對應(yīng)的租約信息。圖4所示本發(fā)明實(shí)施例中,中繼設(shè)備接收到DHCP客戶端發(fā)送的DHCP請求報文,并建立DHCP請求報文攜帶的IP地址對應(yīng)的租約信息,實(shí)現(xiàn)將IP地址正式分配給DHCP客戶端后,還需要能夠支持DHCP客戶端對分配到的IP地址的續(xù)約需求。當(dāng)中繼設(shè)備接收到DHCP客戶端的DHCP續(xù)約報文時,需要先判斷DHCP續(xù)約報文中攜帶的IP地址是否存在對應(yīng)的租約信息,如果是,則說明該IP地址是由中繼設(shè)備分配給DHCP客戶端的,中繼設(shè)備可以重置該IP地址對應(yīng)的租約信息,從而由中繼設(shè)備實(shí)現(xiàn)DHCP客戶端的IP地址續(xù)約需求,如果否,則說明該IP地址是由DHCP服務(wù)器分配給DHCP客戶端的,因此,可以按照現(xiàn)有技術(shù)的方法正常處理該DHCP續(xù)約報文也即轉(zhuǎn)發(fā)該DHCP續(xù)約報文至DHCP服務(wù)器,從而由DHCP服務(wù)器實(shí)現(xiàn)根據(jù)DHCP客戶端的需求延長該IP地址的租期。另外,中繼設(shè)備為DHCP客戶端正式分配IP地址后,還需要能夠支持DHCP客戶端對分配到的IP地址的釋放需求。當(dāng)中繼設(shè)備接收到DHCP客戶端的DHCP release (DHCP釋放)報文時,需要先判斷DHCP釋放報文中攜帶的IP地址是否存在對應(yīng)的租約信息,如果是,則說明該IP地址是由中繼設(shè)備分配給DHCP客戶端的,中繼設(shè)備可以回收該IP地址,并刪除該IP地址對應(yīng)的租約信息,由中繼設(shè)備實(shí)現(xiàn)DHCP客戶端的IP地址釋放需求,如果否,則說明該IP地址是由DHCP服務(wù)器分配給DHCP客戶端的,因此,可以按照現(xiàn)有技術(shù)的方法正常處理該DHCP釋放報文也即轉(zhuǎn)發(fā)該DHCP釋放報文至DHCP服務(wù)器,由DHCP服務(wù)器實(shí)現(xiàn)DHCP客戶端的IP地址釋放需求。在實(shí)際應(yīng)用中,當(dāng)DHCP服務(wù)器的DHCP配置發(fā)生變化時,中繼設(shè)備需要重新向DHCP 服務(wù)器申請IP地址,以免造成DHCP配置信息不一致。為此,圖4所示本發(fā)明實(shí)施例中,還預(yù)先定義了 DHCP配置通告報文,由DHCP服務(wù)器向中繼設(shè)備發(fā)送,用于通知中繼設(shè)備DHCP服務(wù)器的DHCP配置發(fā)送變化。中繼設(shè)備接收到DHCP服務(wù)器發(fā)送的指示DHCP配置變化的DHCP配置通告報文時,需要回收分配給各DHCP客戶端的IP地址,刪除分配給各DHCP客戶端的IP地址對應(yīng)的租約信息,并重新向DHCP服務(wù)器申請IP地址。圖4所示本發(fā)明實(shí)施例中,所述DHCP配置請求報文攜帶有預(yù)設(shè)IP地址范圍信息和中繼設(shè)備地址。其中,預(yù)設(shè)IP地址范圍信息包括最大地址掩碼長度和最小地址掩碼長度,表明中繼設(shè)備申請的IP地址范圍,例如,當(dāng)最大地址掩碼長度為32,最小地址掩碼長度為24時,說明中繼設(shè)備能夠申請255個IP地址(其中包括廣播地址等無法分配的地址在內(nèi))。中繼設(shè)備地址的值隨中繼設(shè)備的不同而不同,當(dāng)中繼設(shè)備為DHCP Relay時,中繼設(shè)備地址的值為該中繼設(shè)備的IP地址,相應(yīng)的,DHCP服務(wù)器接收到中繼設(shè)備的DHCP配置請求報文后,為中繼設(shè)備分配申請的IP地址的方法也不相同,下面分別進(jìn)行說明當(dāng)中繼設(shè)備為DHCP Relay時,中繼設(shè)備發(fā)送的DHCP配置請求報文中的中繼設(shè)備地址的值為該中繼設(shè)備的IP地址。DHCP服務(wù)器接收到中繼設(shè)備的DHCP配置請求報文時,會查找DHCP配置請求報文中攜帶的中繼設(shè)備地址的值對應(yīng)的地址池,對DHCP配置請求報文中攜帶的預(yù)設(shè)IP地址范圍和中繼設(shè)備地址字段的值對應(yīng)的地址池范圍進(jìn)行交集運(yùn)算,得到的交集運(yùn)算結(jié)果中的IP地址即為中繼設(shè)備可以申請得到的IP地址,可以將交集運(yùn)算結(jié)果中的所有IP地址攜帶在DHCP配置應(yīng)答報文中返回給中繼設(shè)備。當(dāng)中繼設(shè)備為DHCP Snooping時,由于DHCP Snooping應(yīng)用于二層網(wǎng)絡(luò),中繼設(shè)備發(fā)送的DHCP配置請求報文中的中繼設(shè)備地址的值為O。DHCP服務(wù)器接收到中繼設(shè)備的DHCP配置請求報文時,會查找接收DHCP配置請求報文的端口的IP地址對應(yīng)的地址池,對DHCP配置請求報文中攜帶的預(yù)設(shè)IP地址范圍和接收該DHCP配置請求報文的端口的IP地址對應(yīng)的地址池范圍進(jìn)行交集運(yùn)算,得到的交集運(yùn)算結(jié)果中的IP地址即為中繼設(shè)備可以申請得到的IP地址,可以將交集運(yùn)算結(jié)果中的所有IP地址攜帶在DHCP配置應(yīng)答報文中返回給中繼設(shè)備。需要說明的是,DHCP服務(wù)器將所述交集運(yùn)算結(jié)果中的IP地址攜帶在DHCP配置應(yīng)答報文中返回給DHCP中繼設(shè)備時,還需要將所述交集運(yùn)算結(jié)果中的IP地址得到的各IP地址設(shè)置為禁用IP (forbidden IP),從而這些IP地址不會再被分配給其它中繼設(shè)備。DHCP服務(wù)器中該中繼設(shè)備對應(yīng)的地址池范圍包括該地址池中當(dāng)前未被設(shè)置為禁用IP的所有IP地址,不包括該地址池中當(dāng)前已經(jīng)被設(shè)置為禁用IP的IP地址。本發(fā)明還提供了一種動態(tài)地址分配方法,應(yīng)用于DHCP服務(wù)器,下面結(jié)合圖5進(jìn)行說明。圖5是本發(fā)明實(shí)施例另一種動態(tài)地址分配方法的流程圖,包括以下步驟步驟501、DHCP服務(wù)器接收到中繼設(shè)備的DHCP配置請求報文;步驟502、判斷DCHP配置請求報文中攜帶的中繼設(shè)備地址的值是否為0,當(dāng)中繼設(shè)備地址的值為0時,查找接收DHCP配置請求報文的端口的IP地址對應(yīng)的地址池,對DHCP配置請求報文中攜帶的IP地址范圍和接收DHCP配置請求報文的端口的IP地址對應(yīng)的地 址池范圍進(jìn)行交集運(yùn)算,當(dāng)中繼設(shè)備地址的值不為0時,查找該中繼設(shè)備地址的值對應(yīng)的地址池,對DHCP配置請求報文中攜帶的IP地址范圍和該中繼設(shè)備地址對應(yīng)的地址池范圍進(jìn)行交集運(yùn)算;步驟503、將交集運(yùn)算結(jié)果中的每個IP地址設(shè)置為禁用IP ;步驟504、將交集運(yùn)算結(jié)果中的所有IP地址攜帶在DHCP配置應(yīng)答報文中返回給中繼設(shè)備。圖5所示本發(fā)明實(shí)施例還進(jìn)一步包括DHCP服務(wù)器檢測到自身的DHCP配置變化時,恢復(fù)所有被禁用IP并向中繼設(shè)備發(fā)送指示DHCP配置變化的DHCP配置通告報文,用以使中繼設(shè)備回收已經(jīng)分配給各DHCP客戶端的IP地址并重新發(fā)送DHCP配置請求報文。在上述圖4、圖5所示本發(fā)明實(shí)施例中,DHCP配置報文(包括DHCP配置請求報文、DHCP配置應(yīng)答報文、DHCP配置通告報文)可以采用UDP封裝,并作為單播報文傳輸,UDP數(shù)據(jù)部分的格式具體可以如圖6所示,包括操作碼(op-code)字段、中繼設(shè)備地址(relay-addr)字段、CLV (code、length、value)字段。其中,op-code字段用于標(biāo)識報文的類型,例如,該字段的值為0x01時,表示是DHCP配置請求報文,該字段的值為0x02時,表示是DHCP配置應(yīng)答報文,該字段的值為0x03時,表示是DHCP配置通告報文;relay-addr字段表示中繼設(shè)備地址;CLV字段則用于封裝DHCP相關(guān)選項,例如,在DHCP配置請求報文中,該字段可以封裝預(yù)設(shè)IP地址范圍信息,;在DHCP配置應(yīng)答報文中,該字段可以封裝IP地址信息、IP地址掩碼、以及相應(yīng)的DHCP選項等信息,在DHCP配置通告報文中,該字段可以為空。以上對本發(fā)明實(shí)施例動態(tài)地址分配方法進(jìn)行了詳細(xì)說明,本發(fā)明還提供了一種中繼設(shè)備和一種DHCP服務(wù)器,下面結(jié)果圖7、圖8進(jìn)行說明。圖7是本發(fā)明實(shí)施例提供的中繼設(shè)備的結(jié)構(gòu)示意圖,該中繼設(shè)備包括地址申請單元710、地址分配單元720 ;其中,地址申請單元710,用于向動態(tài)主機(jī)配置協(xié)議DHCP服務(wù)器申請IP地址,將申請得到的IP地址放入動態(tài)地址池;地址分配單元720,用于接收到DHCP客戶端的分配IP地址的請求時,判斷所述動態(tài)地址池中是否存在空閑的IP地址,當(dāng)存在空閑IP地址時,基于所述動態(tài)地址池為DHCP客戶端分配IP地址。所述地址分配單元720,進(jìn)一步用于當(dāng)所述動態(tài)地址池不存在空閑IP地址時,將所述DHCP客戶端發(fā)送的分配IP地址的請求轉(zhuǎn)發(fā)給所述DHCP服務(wù)器處理。所述地址申請單元710,進(jìn)一步用于接收DHCP服務(wù)器發(fā)送的指示DHCP配置變化的DHCP配置通告報文,回收分配給各DHCP客戶端的IP地址,刪除分配給各DHCP客戶端的IP地址對應(yīng)的租約信息,并重新向DHCP服務(wù)器申請IP地址。在上述裝置中,所述地址分配單元720包括接收單元721、分配單元722、發(fā)送單元 723 ;所述接收單元721,用于接收DHCP客戶端發(fā)送的DHCP發(fā)現(xiàn)報文;用于接收DHCP客戶端發(fā)送的DHCP請求報文;所述分配單元,用于在收發(fā)單元接收到DHCP客戶端的DHCP發(fā)現(xiàn)報文時,判斷動態(tài)地址池中存在空閑IP地址,當(dāng)存在空閑IP地址時,選擇一個空閑IP地址分配給所述DHCP客戶端,建立該IP地址對應(yīng)的臨時租約信息,并通知發(fā)送單元723模擬DHCP服務(wù)器返回攜帶該IP地址的DHCP授權(quán)報文;用于在接收單元721接收到DHCP客戶端的DHCP請求報文時,判斷是否存在DHCP請求報文中攜帶的IP地址對應(yīng)的臨時租約信息,當(dāng)存在所述IP地址對應(yīng)的臨時租約信息時,建立DHCP請求報文中攜帶的IP地址對應(yīng)的租約信息,并通知發(fā)送單元723模擬DHCP服務(wù)器返回DHCP確認(rèn)報文。所述分配單元722在選擇一個空閑IP地址分配給所述DHCP客戶端,建立該IP地址對應(yīng)的臨時租約信息之后,進(jìn)一步用于如果臨時租約到期接收單元721未接收到DHCP客戶端發(fā)送的攜帶該IP地址的DHCP請求報文,則回收該IP地址,刪除該IP地址對應(yīng)的臨時租約信息;所述分配單元722在建立DHCP請求報文中攜帶的IP地址對應(yīng)的租約信息之后,進(jìn)一步用于如果租約到期,則回收該IP地址,刪除該IP地址對應(yīng)的租約信息。所述接收單元721,進(jìn)一步用于接收DHCP客戶端的DHCP續(xù)約報文;用于接收DHCP客戶端的DHCP釋放報文;所述分配單元722,進(jìn)一步用于在接收單元721接收到DHCP客戶端的DHCP續(xù)約報文時,判斷是否存在DHCP續(xù)約報文中攜帶的IP地址對應(yīng)的租約信息,當(dāng)存在對應(yīng)的租約信息時,重置該IP地址對應(yīng)的租約信息;用于在接收單元721接收到DHCP客戶端的DHCP釋放報文時,判斷是否存在DHCP釋放報文中攜帶的IP地址對應(yīng)的租約信息,當(dāng)存在對應(yīng)的租約信息時,回收該IP地址,并刪除該IP地址對應(yīng)的租約信息,否則,正常處理該DHCP釋放報文。在上述裝置中,所述中繼設(shè)備為DHCP中繼設(shè)備relay ;所述地址申請單元710在向DHCP服務(wù)器申請IP地址時,用于向DHCP服務(wù)器發(fā)送攜帶預(yù)設(shè)IP地址范圍信息和中繼設(shè)備地址的DHCP配置請求報文,所述中繼設(shè)備地址的值為中繼設(shè)備的IP地址;接收DHCP服務(wù)器返回的DHCP配置應(yīng)答報文,獲取DHCP配置應(yīng)答報文中攜帶的IP地址信息,其中,所述IP地址信息為DHCP服務(wù)器對接收到的DHCP配置請求報文中攜帶的預(yù)設(shè)IP地址范圍和DHCP服務(wù)器中該中繼設(shè)備地址對應(yīng)的地址池范圍的交 集運(yùn)算結(jié)果;在上述裝置中,所述中繼設(shè)備為DHCP探測設(shè)備snooping ;所述地址申請單元710在向DHCP服務(wù)器申請IP地址時,用于向DHCP服務(wù)器發(fā)送攜帶預(yù)設(shè)IP地址范圍信息和中繼設(shè)備地址的DHCP配置請求報文,所述中繼設(shè)備地址的值為o ;接收DHCP服務(wù)器返回的DHCP配置應(yīng)答報文,獲取DHCP配置應(yīng)答報文中攜帶的IP地址信息,其中,所述IP地址信息為DHCP服務(wù)器對接收到的DHCP配置請求報文中攜帶的預(yù)設(shè)IP地址范圍和DHCP服務(wù)器接收該DHCP配置請求報文的端口的IP地址對應(yīng)的地址池范圍的交集運(yùn)算結(jié)果。圖8是本發(fā)明實(shí)施例提供的DHCP服務(wù)器的結(jié)構(gòu)示意圖,該DHCP服務(wù)器包括報文接收單元801、地址運(yùn)算單元802、地址設(shè)置單元803、報文發(fā)送單元803 ;其中,報文接收單元801,用于接收中繼設(shè)備的DHCP配置請求報文;地址運(yùn)算單元802,用于在報文接收單元701接收到中繼設(shè)備的DHCP配置請求報文時,判斷DHCP配置請求報文中攜帶的中繼地址字段的值是否為0,當(dāng)中繼設(shè)備地址的值為0時,查找接收該DHCP配置請求報文的端口的IP地址對應(yīng)的地址池,對DHCP配置請求 報文中攜帶的IP地址范圍和接收DHCP配置請求報文的端口的IP地址對應(yīng)的地址池范圍進(jìn)行交集運(yùn)算,當(dāng)中繼設(shè)備地址的值不為0時,查找該中繼設(shè)備地址對應(yīng)的地址池,對DHCP配置請求報文中攜帶的IP地址范圍和該中繼設(shè)備地址對應(yīng)的地址池范圍進(jìn)行交集運(yùn)算;地址設(shè)置單元803,用于將地址運(yùn)算單元的交集運(yùn)算結(jié)果中的每個IP地址設(shè)置為禁用IP ;報文發(fā)送單元803,用于將地址運(yùn)算單元802的交集運(yùn)算結(jié)果中的所有IP地址攜帶在DHCP配置應(yīng)答報文中返回給中繼設(shè)備。該DHCP服務(wù)器還包括檢測單元805 ;所述所述檢測單元805,用于檢測本設(shè)備的DHCP配置是否發(fā)生變化;所述報文發(fā)送單元804,進(jìn)一步用于在檢測單元805檢測到本設(shè)備的DHCP配置變化時,向中繼設(shè)備發(fā)送指示DHCP配置變化的DHCP配置通告報文,用以使中繼設(shè)備回收已經(jīng)分配給各DHCP客戶端的IP地址并重新發(fā)送DHCP配置請求報文;所述地址設(shè)置單元803,用于在檢測單元805檢測到本設(shè)備的DHCP配置變化時,恢復(fù)所有被禁止IP。以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)的范圍之內(nèi)。
權(quán)利要求
1.ー種動態(tài)地址分配方法,其特征在于,該方法包括 中繼設(shè)備向動態(tài)主機(jī)配置協(xié)議DHCP服務(wù)器申請IP地址,將申請得到的IP地址放入動態(tài)地址池; 中繼設(shè)備接收到DHCP客戶端的分配IP地址的請求時,判斷所述動態(tài)地址池中是否存在空閑的IP地址,當(dāng)存在空閑IP地址時,基于所述動態(tài)地址池為DHCP客戶端分配IP地址。
2.根據(jù)權(quán)利要求I所述的動態(tài)地址分配方法,其特征在于,該方法進(jìn)ー步包括 當(dāng)所述動態(tài)地址池不存在空閑IP地址時,將所述DHCP客戶端發(fā)送的分配IP地址的請求轉(zhuǎn)發(fā)給所述DHCP服務(wù)器處理。
3.根據(jù)權(quán)利要求I所述的動態(tài)地址分配方法,其特征在于,該方法進(jìn)ー步包括 中繼設(shè)備接收到DHCP服務(wù)器發(fā)送的指示DHCP配置變化的DHCP配置通告報文吋,回收分配給各DHCP客戶端的IP地址,刪除分配給各DHCP客戶端的IP地址對應(yīng)的租約信息,并重新向DHCP服務(wù)器申請IP地址。
4.根據(jù)權(quán)利要求I所述的動態(tài)地址分配方法,其特征在于,所述中繼設(shè)備接收到DHCP客戶端的分配IP地址的請求時,判斷所述動態(tài)地址池中是否存在空閑的IP地址,當(dāng)存在空閑IP地址時,基于所述動態(tài)地址池為DHCP客戶端分配IP地址包括 當(dāng)中繼設(shè)備接收到DHCP客戶端的DHCP發(fā)現(xiàn)報文時,判斷所述動態(tài)地址池中是否存在空閑IP地址,當(dāng)存在空閑IP地址時,從所述動態(tài)地址池中選擇ー個空閑IP地址分配給所述DHCP客戶端,建立該IP地址對應(yīng)的臨時租約信息,并模擬DHCP服務(wù)器返回攜帶該IP地址的DHCP授權(quán)報文; 當(dāng)中繼設(shè)備接收到DHCP客戶端的DHCP請求報文時,判斷是否存在DHCP請求報文中攜帶的IP地址對應(yīng)的臨時租約信息,當(dāng)存在所述IP地址對應(yīng)的臨時租約信息吋,建立DHCP請求報文中攜帯的IP地址對應(yīng)的租約信息,并模擬DHCP服務(wù)器返回DHCP確認(rèn)報文。
5.根據(jù)權(quán)利要求4所述的動態(tài)地址分配方法,其特征在干, 所述選擇一個空閑IP地址分配給所述DHCP客戶端,建立該IP地址對應(yīng)的臨時租約信息之后,進(jìn)ー步包括如果臨時租約到期未接收到DHCP客戶端發(fā)送的攜帶該IP地址的DHCP請求報文,則回收該IP地址,刪除該IP地址對應(yīng)的臨時租約信息; 所述建立DHCP請求報文中攜帯的IP地址對應(yīng)的租約信息之后,進(jìn)ー步包括如果租約到期,則回收該IP地址,刪除該IP地址對應(yīng)的租約信息。
6.根據(jù)權(quán)利要求4所述的動態(tài)地址分配方法,其特征在于,該方法進(jìn)ー步包括 中繼設(shè)備接收到DHCP客戶端的DHCP續(xù)約報文時,判斷是否存在DHCP續(xù)約報文中攜帯的IP地址對應(yīng)的租約信息,當(dāng)存在對應(yīng)的租約信息吋,重置該IP地址對應(yīng)的租約信息; 當(dāng)中繼設(shè)備接收到DHCP客戶端的DHCP釋放報文時,判斷是否存在DHCP釋放報文中攜帶的IP地址對應(yīng)的租約信息,當(dāng)存在對應(yīng)的租約信息吋,回收該IP地址,并刪除該IP地址對應(yīng)的租約信息。
7.根據(jù)權(quán)利要求I或3所述的動態(tài)地址分配方法,其特征在干, 所述中繼設(shè)備為DHCP中繼設(shè)備relay ; 所述中繼設(shè)備向DHCP服務(wù)器申請IP地址的方法為向DHCP服務(wù)器發(fā)送攜帯預(yù)設(shè)IP地址范圍信息和中繼設(shè)備地址的DHCP配置請求報文,所述中繼設(shè)備地址的值為中繼設(shè)備的IP地址;接收DHCP服務(wù)器返回的DHCP配置應(yīng)答報文,獲取DHCP配置應(yīng)答報文中攜帶的IP地址信息,其中,所述IP地址信息為DHCP服務(wù)器對接收到的DHCP配置請求報文中攜帯的預(yù)設(shè)IP地址范圍和DHCP服務(wù)器中該中繼設(shè)備地址對應(yīng)的地址池范圍的交集運(yùn)算結(jié)果。
8.根據(jù)權(quán)利要求I或3所述的動態(tài)地址分配方法,其特征在干, 所述中繼設(shè)備為DHCP探測設(shè)備snooping ; 所述中繼設(shè)備向DHCP服務(wù)器申請IP地址的方法為向DHCP服務(wù)器發(fā)送攜帯預(yù)設(shè)IP地址范圍信息和中繼設(shè)備地址的DHCP配置請求報文,所述中繼設(shè)備地址的值為O ;接收DHCP服務(wù)器返回的DHCP配置應(yīng)答報文,獲取DHCP配置應(yīng)答報文中攜帯的IP地址信息,其中,所述IP地址信息為DHCP服務(wù)器對接收到的DHCP配置請求報文中攜帶的預(yù)設(shè)IP地址范圍和DHCP服務(wù)器接收該DCHP配置請求報文的端ロ的IP地址對應(yīng)的地址池范圍的交集運(yùn)算結(jié)果O
9.一種動態(tài)地址分配方法,其特征在于,該方法包括 DHCP服務(wù)器接收到中繼設(shè)備的DHCP配置請求報文; 判斷所述DCHP配置請求報文中攜帯的中繼設(shè)備地址的值是否為0,當(dāng)中繼設(shè)備地址的值為O時,查找接收DHCP配置請求報文的端ロ的IP地址對應(yīng)的地址池,對DHCP配置請求報文中攜帶的IP地址范圍和接收DHCP配置請求報文的端ロ的IP地址對應(yīng)的地址池范圍進(jìn)行交集運(yùn)算;當(dāng)中繼設(shè)備地址的值不為O吋,查找該中繼設(shè)備地址的值對應(yīng)的地址池,對DHCP配置請求報文中攜帯的IP地址范圍和該中繼設(shè)備地址對應(yīng)的地址池范圍進(jìn)行交集運(yùn)算; 將交集運(yùn)算結(jié)果中的每個IP地址設(shè)置為禁用IP ; 將交集運(yùn)算結(jié)果中的所有IP地址攜帶在DHCP配置應(yīng)答報文中返回給中繼設(shè)備。
10.根據(jù)權(quán)利要求9所述的動態(tài)地址分配方法,其特征在于,該方法進(jìn)ー步包括 DHCP服務(wù)器檢測到自身的DHCP配置變化吋,恢復(fù)所有被禁止IP并向中繼設(shè)備發(fā)送指示DHCP配置變化的DHCP配置通告報文,用以使中繼設(shè)備回收已經(jīng)分配給各DHCP客戶端的IP地址并重新發(fā)送DHCP配置請求報文。
11.ー種中繼設(shè)備,其特征在于,該中繼設(shè)備包括地址申請単元、地址分配単元; 所述地址申請單元,用于向動態(tài)主機(jī)配置協(xié)議DHCP服務(wù)器申請IP地址,將申請得到的IP地址放入動態(tài)地址池; 所述地址分配単元,用于接收到DHCP客戶端的分配IP地址的請求時,判斷所述動態(tài)地址池中是否存在空閑的IP地址,當(dāng)存在空閑IP地址時,基于所述動態(tài)地址池為DHCP客戶端分配IP地址。
12.根據(jù)權(quán)利要求11所述的中繼設(shè)備,其特征在干, 所述地址分配単元,進(jìn)ー步用于當(dāng)所述動態(tài)地址池不存在空閑IP地址時,將所述DHCP客戶端發(fā)送的分配IP地址的請求轉(zhuǎn)發(fā)給所述DHCP服務(wù)器處理。
13.根據(jù)權(quán)利要求11所述的中繼設(shè)備,其特征在干, 所述地址申請單元,進(jìn)ー步用于接收DHCP服務(wù)器發(fā)送的指示DHCP配置變化的DHCP配置通告報文,回收分配給各DHCP客戶端的IP地址,刪除分配給各DHCP客戶端的IP地址對應(yīng)的租約信息,并重新向DHCP服務(wù)器申請IP地址。
14.根據(jù)權(quán)利要求11所述的中繼設(shè)備,其特征在于,所述地址分配単元包括接收單元、分配単元、發(fā)送單元;所述接收單元,用于接收DHCP客戶端發(fā)送的DHCP發(fā)現(xiàn)報文;用于接收DHCP客戶端發(fā)送的DHCP請求報文; 所述分配単元,用于在收發(fā)單元接收到DHCP客戶端的DHCP發(fā)現(xiàn)報文時,判斷動態(tài)地址池中存在空閑IP地址,當(dāng)存在空閑IP地址時,選擇一個空閑IP地址分配給所述DHCP客戶端,建立該IP地址對應(yīng)的臨時租約信息,并通知發(fā)送單元模擬DHCP服務(wù)器返回攜帶該IP地址的DHCP授權(quán)報文;用于在接收單元接收到DHCP客戶端的DHCP請求報文時,判斷是否存在DHCP請求報文中攜帶的IP地址對應(yīng)的臨時租約信息,當(dāng)存在所述IP地址對應(yīng)的臨時租約信息時,建立DHCP請求報文中攜帯的IP地址對應(yīng)的租約信息,并通知發(fā)送單元模擬DHCP服務(wù)器返回DHCP確認(rèn)報文。
15.根據(jù)權(quán)利要求14所述的中繼設(shè)備,其特征在干, 所述分配單元在選擇ー個空閑IP地址分配給所述DHCP客戶端,建立該IP地址對應(yīng)的臨時租約信息之后,進(jìn)ー步用于如果臨時租約到期接收單元未接收到DHCP客戶端發(fā)送的攜帶該IP地址的DHCP請求報文,則回收該IP地址,刪除該IP地址對應(yīng)的臨時租約信息; 所述分配単元在建立DHCP請求報文中攜帯的IP地址對應(yīng)的租約信息之后,進(jìn)ー步用于如果租約到期,則回收該IP地址,刪除該IP地址對應(yīng)的租約信息。
16.根據(jù)權(quán)利要求14所述的中繼設(shè)備,其特征在干, 所述接收單元,進(jìn)ー步用于接收DHCP客戶端的DHCP續(xù)約報文;用于接收DHCP客戶端的DHCP釋放報文; 所述分配単元,進(jìn)ー步用于在接收單元接收到DHCP客戶端的DHCP續(xù)約報文時,判斷是否存在DHCP續(xù)約報文中攜帯的IP地址對應(yīng)的租約信息,當(dāng)存在對應(yīng)的租約信息吋,重置該IP地址對應(yīng)的租約信息;用于在接收單元接收到DHCP客戶端的DHCP釋放報文時,判斷是否存在DHCP釋放報文中攜帯的IP地址對應(yīng)的租約信息,當(dāng)存在對應(yīng)的租約信息吋,回收該IP地址,并刪除該IP地址對應(yīng)的租約信息,否則,正常處理該DHCP釋放報文。
17.根據(jù)權(quán)利要求11或13所述的中繼設(shè)備,其特征在干, 所述中繼設(shè)備為DHCP中繼設(shè)備relay ; 所述地址申請單元在向DHCP服務(wù)器申請IP地址時,用于向DHCP服務(wù)器發(fā)送攜帶預(yù)設(shè)IP地址范圍信息和中繼設(shè)備地址的DHCP配置請求報文,所述中繼設(shè)備地址的值為中繼設(shè)備的IP地址;接收DHCP服務(wù)器返回的DHCP配置應(yīng)答報文,獲取DHCP配置應(yīng)答報文中攜帶的IP地址信息,其中,所述IP地址信息為DHCP服務(wù)器對接收到的DHCP配置請求報文中攜帯的預(yù)設(shè)IP地址范圍和DHCP服務(wù)器中該中繼設(shè)備地址對應(yīng)的地址池范圍的交集運(yùn)算結(jié)果O
18.根據(jù)權(quán)利要求11或13所述的中繼設(shè)備,其特征在干, 所述中繼設(shè)備為DHCP探測設(shè)備snooping ; 所述地址申請單元在向DHCP服務(wù)器申請IP地址時,用于向DHCP服務(wù)器發(fā)送攜帶預(yù)設(shè)IP地址范圍信息和中繼設(shè)備地址的DHCP配置請求報文,所述中繼設(shè)備地址的值為O ;接收DHCP服務(wù)器返回的DHCP配置應(yīng)答報文,獲取DHCP配置應(yīng)答報文中攜帶的IP地址信息,其中,所述IP地址信息為DHCP服務(wù)器對接收到的DHCP配置請求報文中攜帯的預(yù)設(shè)IP地址范圍和DHCP服務(wù)器接收該DHCP配置請求報文的端ロ的IP地址對應(yīng)的地址池范圍的交集運(yùn)算結(jié)果。
19.ー種DHCP服務(wù)器,其特征在干,該DHCP服務(wù)器包括報文接收單元、地址運(yùn)算單元、地址設(shè)置単元、報文發(fā)送単元; 所述報文接收單元,用于接收中繼設(shè)備的DHCP配置請求報文; 所述地址運(yùn)算單元,用于在報文接收單元接收到中繼設(shè)備的DHCP配置請求報文時,判斷DHCP配置請求報文中攜帯的中繼地址字段的值是否為O,當(dāng)中繼設(shè)備地址的值為O吋,查找接收該DHCP配置請求報文的端ロ的IP地址對應(yīng)的地址池,對DHCP配置請求報文中攜帶的IP地址范圍和接收DHCP配置請求報文的端ロ的IP地址對應(yīng)的地址池范圍進(jìn)行交集運(yùn)算,當(dāng)中繼設(shè)備地址的值不為O吋,查找該中繼設(shè)備地址對應(yīng)的地址池,對DHCP配置請求報文中攜帯的IP地址范圍和該中繼設(shè)備地址對應(yīng)的地址池范圍進(jìn)行交集運(yùn)算; 所述地址設(shè)置單元,用于將地址運(yùn)算単元的交集運(yùn)算結(jié)果中的每個IP地址設(shè)置為禁用IP; 所述報文發(fā)送單元,用于將地址運(yùn)算単元的交集運(yùn)算結(jié)果中的所有IP地址攜帶在DHCP配置應(yīng)答報文中返回給中繼設(shè)備。
20.根據(jù)權(quán)利要求19所述的DHCP服務(wù)器,其特征在干,該DHCP服務(wù)器還包括檢測單元; 所述檢測単元,用于檢測本設(shè)備的DHCP配置是否發(fā)生變化; 所述報文發(fā)送單元,進(jìn)ー步用于在檢測單元檢測到本設(shè)備的DHCP配置變化時,向中繼設(shè)備發(fā)送指示DHCP配置變化的DHCP配置通告報文,用以使中繼設(shè)備回收已經(jīng)分配給各DHCP客戶端的IP地址并重新發(fā)送DHCP配置請求報文; 所述地址設(shè)置單元,用于在檢測單元檢測到本設(shè)備的DHCP配置變化時,恢復(fù)所有被禁止IP。
全文摘要
本發(fā)明提供了一種動態(tài)地址分配方法和設(shè)備,該方法中,中繼設(shè)備向DHCP服務(wù)器申請IP地址并將申請的IP地址放入動態(tài)地址池;當(dāng)接收到DHCP客戶端的分配IP地址的請求時,如果動態(tài)地址池中存在空閑IP地址,則基于動態(tài)地址池為DHCP客戶端分配IP地址。本發(fā)明能夠降低DHCP服務(wù)器的負(fù)載。
文檔編號H04L29/12GK102685270SQ20121017160
公開日2012年9月19日 申請日期2012年5月25日 優(yōu)先權(quán)日2012年5月25日
發(fā)明者王偉, 王志晟 申請人:杭州華三通信技術(shù)有限公司