地址處理方法和設備的制作方法
【專利摘要】本發(fā)明提供了地址處理方法和設備。其中,該方法應用于具有DHCP偵聽snooping功能的網(wǎng)絡設備,包括:所述網(wǎng)絡設備偵聽DHCP客戶端發(fā)送的用于確認IP地址是否可用的報文,并依據(jù)偵聽的報文記錄關聯(lián)所述IP地址的臨時snooping表項;所述網(wǎng)絡設備將偵聽的報文轉(zhuǎn)換為用于申請IP地址的報文,并將DHCP服務器的標識DUID攜帶在轉(zhuǎn)換后的報文中發(fā)送給所述DHCP服務器;所述網(wǎng)絡設備偵聽DHCP服務器針對所述用于申請IP地址的報文返回的應答報文,發(fā)現(xiàn)已記錄的臨時snooping表項中存在與所述應答報文中IP地址關聯(lián)的臨時snooping表項,則將該存在的臨時snooping表項更新為有效的snooping表項,以基于所述有效的snooping表項使所述DHCP客戶端正常訪問局域網(wǎng)。
【專利說明】地址處理方法和設備
【技術(shù)領域】
[0001]本申請涉及網(wǎng)絡通信技術(shù),特別涉及地址處理方法和設備。
【背景技術(shù)】
[0002]動態(tài)主機配置協(xié)議(DHCP:Dynamic Host Configuration Protocol),其采用客戶端/服務器通信模式,由DHCP客戶端(Client)向DHCP服務器(Server)提出配置請求比如申請IP地址等,DHCP服務器返回DHCP客戶端請求的配置信息比如IP地址等,以實現(xiàn)配置信息的動態(tài)配置。
[0003]在DHCP應用組網(wǎng)中,出于安全考慮,往往在DHCP客戶端和DHCP服務器之間部署具有DHCP偵聽(Snooping)功能的網(wǎng)絡設備(簡稱DHCPSnooping設備)。如圖1所示,網(wǎng)絡設備上連接DHCP服務器的端口需要配置為信任屬性(Trusted),以便DHCP Snooping設備正常轉(zhuǎn)發(fā)DHCP服務器向DHCP客戶端返回的應答報文,保證DHCP客戶端能夠從合法的DHCP服務器申請IP地址。
[0004]在DHCP客戶端申請IP地址后,如果該DHCP客戶端重啟,或者從睡眠(sleep)狀態(tài)喚醒,或者物理連接狀態(tài)發(fā)生變化,都會有可能使DHCP客戶端遷移至新的鏈路。當DHCP客戶端遷移至新的鏈路時,DHCP客戶端必須發(fā)起一次確認(Confirm)報文來確認其之前已申請的IP地址是否可用,該Confirm報文的組播地址為All_DHCP_Relay_Agents_and_Servers組播地址。
[0005]DHCP服務器收到DHCP客戶端發(fā)起的Confirm報文后,測試Confirm報文需要續(xù)約的IP地址在DHCP客戶端當前所在的鏈路上是否可用,并依據(jù)測試結(jié)果做出以下應答方式:
[0006]1、在Confirm報文中的IP地址通過測試時,不記錄該IP地址的租約信息,向DHCPClient返回一個應答報文,該應答報文中Status Code Option選項的狀態(tài)標識為用于通知該IP地址可用的SUCCESS,但不攜帶IA選項,這里,IA選項用于攜帶通過測試的、且由confirm報文確認的IP地址;
[0007]2、在Confirm報文中的IP地址未通過測試時,不記錄該IP地址的租約,向DHCPClient返回一個應答報文,該應答報文中Status Code Option選項的狀態(tài)標識為用于通知該IP地址不可用的NotOnLink,不攜帶IA選項;
[0008]3、在Confirm報文中的IP地址未通過測試時,不記錄該IP地址的租約,且不向DHCP Client返回應答報文。
[0009]從上面描述的三種應答方式中可以看出,DHCP Server或者向發(fā)起confirm報文的DHCP客戶端返回應答報文,但應答報文不攜帶IA選項,或者DHCP Server不向發(fā)起confirm報文的DHCP客戶端返回應答報文,但不管哪種情況,DHCP snooping設備均無法獲取由confirm報文確認且通過DHCP服務器測試的IP地址,進而導致DHCP snooping設備無法建立關聯(lián)該IP地址的snooping表項,影響DHCP Client無法基于snooping表項通過由confirm報文確認且通過DHCP服務器測試的IP地址訪問局域網(wǎng)。
【發(fā)明內(nèi)容】
[0010]本申請?zhí)峁┝说刂诽幚矸椒ê驮O備,以實現(xiàn)DHCP Client正常訪問局域網(wǎng)。
[0011]本申請?zhí)峁┑募夹g(shù)方案包括:
[0012]—種地址處理方法,該方法應用于具有DHCP偵聽snooping功能的網(wǎng)絡設備,該方法包括:
[0013]所述網(wǎng)絡設備偵聽DHCP客戶端發(fā)送的用于確認IP地址是否可用的報文,并依據(jù)偵聽的報文記錄關聯(lián)所述IP地址的臨時snooping表項;
[0014]所述網(wǎng)絡設備將偵聽的報文轉(zhuǎn)換為用于申請IP地址的報文,并將DHCP服務器的標識DUID攜帶在轉(zhuǎn)換后的報文中發(fā)送給所述DHCP服務器;
[0015]所述網(wǎng)絡設備偵聽DHCP服務器針對所述用于申請IP地址的報文返回的應答報文,發(fā)現(xiàn)已記錄的臨時snooping表項中存在與所述應答報文中IP地址關聯(lián)的臨時snooping表項,則將該存在的臨時snooping表項更新為有效的snooping表項,以基于所述有效的snooping表項使所述DHCP客戶端正常訪問局域網(wǎng)。
[0016]一種應用于地址處理的網(wǎng)絡設備,該網(wǎng)絡設備具有DHCP偵聽snooping功能,包括:CPU和存儲器;其中,
[0017]所述CPU包含第一偵聽模塊、轉(zhuǎn)換模塊和第二偵聽模塊;
[0018]所述第一偵聽模塊,用于偵聽DHCP客戶端發(fā)送的用于確認IP地址是否可用的報文,并依據(jù)偵聽的報文在所述存儲器中記錄關聯(lián)所述IP地址的臨時snooping表項;
[0019]轉(zhuǎn)換模塊,用于將所述第一偵聽模塊偵聽的報文轉(zhuǎn)換為用于申請IP地址的報文,并將對應DHCP服務器的標識DUID攜帶在轉(zhuǎn)換后的報文中發(fā)送給所述DHCP服務器;
[0020]第二偵聽模塊,用于偵聽DHCP服務器針對所述用于申請IP地址的報文返回的應答報文,發(fā)現(xiàn)所述存儲器中存在與所述應答報文中的IP地址關聯(lián)的臨時snooping表項,則在所述存儲器中將該存在的臨時snooping表項更新為有效的snooping表項,以基于所述有效的snooping表項使所述DHCP客戶端正常訪問局域網(wǎng)。
[0021]由以上技術(shù)方案可以看出,本發(fā)明通過具有DHCP snooping功能的網(wǎng)絡設備對用于確認IP地址是否可用的報文比如confirm報文轉(zhuǎn)換為用于申請IP地址的報文比如request報文,以按照現(xiàn)有DHCP客戶端申請IP地址方式與DHCP服務器進行交互,能夠保證具有DHCP snooping功能的網(wǎng)絡設備建立與該需要確認的IP地址相關聯(lián)的snooping表項,實現(xiàn)DHCP客戶端正常訪問局域網(wǎng)。
【專利附圖】
【附圖說明】
[0022]圖1為DHCP Snooping功能的網(wǎng)絡設備的應用組網(wǎng)圖;
[0023]圖2為本發(fā)明實施例提供的方法流程圖;
[0024]圖3為本發(fā)明實施例提供的步驟202實現(xiàn)流程圖;
[0025]圖4為本發(fā)明實施例提供的網(wǎng)絡設備結(jié)構(gòu)圖。
【具體實施方式】
[0026]為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面結(jié)合附圖和具體實施例對本發(fā)明進行詳細描述。
[0027]通常,為了實現(xiàn)安全防護,組網(wǎng)中DHCP客戶端和DHCP服務器之間的所有報文都是經(jīng)過DHCP snooping設備的,也就是說,DHCP snooping設備能夠偵聽到組網(wǎng)中所有的報文,基于此,本發(fā)明提供的方法中,由DHCPsnooping設備偵聽DHCP客戶端發(fā)起的用于確認IP地址是否可用的報文,并基于偵聽結(jié)果執(zhí)行相關操作,以實現(xiàn)DHCP客戶端通過由confirm報文發(fā)起的需要確認的IP地址訪問局域網(wǎng)。
[0028]下面對本發(fā)明提供的方法進行描述:
[0029]參見圖2,圖2為本發(fā)明實施例提供的方法流程圖。如圖2所示,該流程可包括以下步驟:
[0030]步驟201,DHCP snooping設備偵聽DHCP客戶端發(fā)送的用于確認IP地址是否可用的報文,并依據(jù)偵聽的報文記錄關聯(lián)所述IP地址的臨時snooping表項。
[0031]優(yōu)選地,本步驟201中記錄的臨時snooping表項至少包括:需要確認的IP地址、DHCP客戶端的MAC地址、DHCP snooping設備接收到所述報文的端口、以及VLAN等。
[0032]這里,之所以將該snooping表項稱為臨時snooping表項,主要是因為該IP地址還未被DHCP服務器確認,此時該snooping表項還未有效,不能使用。
[0033]另外,優(yōu)選地,本發(fā)明中,所述用于確認IP地址是否可用的報文可為DHCPv6中的confirm報文,或者其他具有類似功能的報文。以下為便于描述,可將該用于確認IP地址是否可用的報文稱為confirm報文,其他情況原理類似。
[0034]步驟202, DHCP snooping設備將偵聽的confirm報文轉(zhuǎn)換為用于申請IP地址的報文,并將DHCP服務器的標識(OTID:DHCP Unique Identifier)攜帶在轉(zhuǎn)換后的報文中發(fā)送給所述DHCP服務器。
[0035]優(yōu)選地,本發(fā)明中,所述用于申請IP地址的報文可為DHCPv6中的request報文,或者為其他具有類似功能的報文。
[0036]以下為便于描述,將用于申請IP地址的報文稱為request報文。
[0037]當DHCP服務器接收到request報文時,與現(xiàn)有方式一樣,查看該request報文攜帶的DUID是否為自身的DWD,如果否,則丟棄該接收的request報文,如果是,則解析出該request報文攜帶的IP地址,確定該解析出的IP地址是否可分配,如果是,記錄該IP地址的租約信息,并向所述DHCP snooping設備返回應答(reply)報文。這里,確定該解析出的IP地址是否可分配具體可包括:按照不同DHCP客戶端使用不同IP地址的原則確定該解析出的IP地址是否可分配;也即,確定該解析出的IP地址是否空閑,如果是,則確定該IP地址可分配給DHCP客戶端,否則,確定該IP地址不可分配給DHCP客戶端,這能避免IP地址沖突。另外,優(yōu)選地,本發(fā)明中,DHCP服務器記錄的IP地址的租約信息至少包括:IP地址、所述request報文攜帶的DHCP客戶端的MAC地址、IP地址的租約期限。
[0038]而當DHCP snooping設備偵聽到DHCP服務器返回的reply報文時,執(zhí)行步驟203:
[0039]步驟203, DHCP snooping設備偵聽DHCP服務器返回的reply報文,發(fā)現(xiàn)已記錄的臨時snooping表項中存在與所述reply報文中的IP地址關聯(lián)的臨時snooping表項,則將該存在的臨時snooping表項更新為有效的snooping表項,以基于所述有效的snooping表項使所述DHCP客戶端正常訪問局域網(wǎng)。
[0040]其中,當臨時snooping表項更新為有效的snooping表項后,則表示該更新后的snooping表項可用。
[0041]優(yōu)選地,步驟203中,DHCP snooping設備還進一步將偵聽到的reply報文轉(zhuǎn)發(fā)給DHCP客戶端,如此,當DHCP客戶端基于所述reply報文中的IP地址進行局域網(wǎng)訪問時,由于DHCP snooping設備中存在關聯(lián)該IP地址的有效snooping表項,因此,DHCP snooping設備可允許DHCP客戶端訪問局域網(wǎng),實現(xiàn)了 DHCP客戶端正常訪問局域網(wǎng)的目的。
[0042]至此,完成圖2所示流程。
[0043]從圖2所示流程可以看出,本發(fā)明通過由DHCP snooping設備對confirm報文進行轉(zhuǎn)換,以按照現(xiàn)有IP地址申請方式即request/reply方式與DHCP服務器進行交互,一方面確保DHCP服務器記錄confirm報文發(fā)起的需要確認的IP地址的租約信息,另一方面保證DHCP snooping設備建立與該需要確認的IP地址相關聯(lián)的snooping表項,實現(xiàn)DHCP客戶端正常訪問局域網(wǎng)。
[0044]下面對圖2所示流程中步驟202進行詳細描述:
[0045]需要說明的是,本申請中,為便于實現(xiàn)步驟202,需要DHCP snooping設備在本申請的步驟202之前,進一步執(zhí)行以下操作:記錄DHCP服務器的DUID。
[0046]本申請中,DHCP snooping設備可通過以下三種方式中任一方式記錄DHCP服務器的 DUID:
[0047]方式1:如上所述,出于安全防護的目的,組網(wǎng)中DHCP客戶端和DHCP服務器之間的所有報文都是經(jīng)過DHCP snooping設備的,基于此,本方式I中,DHCP snooping設備可通過在DHCP客戶端申請IP地址過程中偵聽DHCP服務器向DHCP客戶端發(fā)送的報文,并依據(jù)偵聽的報文所攜帶的信息建立以下兩個表項:
[0048]表項1,其包含DHCP客戶端的MAC地址、IP地址、DHCP服務器對應的DHD、偵聽到所述報文的端口和該端口所屬的虛擬局域網(wǎng)(VLAN);其中,DHCP客戶端的MAC地址、IP地址、DHCP服務器對應的DUID均從該偵聽到的報文中獲取的。
[0049]表項2,其僅包含DHCP服務器對應的DWD、偵聽到所述報文的端口和該端口所屬的VLAN。其中,DHCP服務器對應的DUID從該偵聽到的報文中獲取的。
[0050]其中,由于表項I包含DHCP客戶端的IP地址,因此,該表項I的老化時間依賴于其包含的IP地址的租約時間,也即,表項I可在其包含的IP地址的租約時間結(jié)束時老化,而表項2,其老化時間可根據(jù)實際情況設置,比如,可設置為建立該表項2時所偵聽到的報文中IP地址的租約時間,或者為該租約時間的倍數(shù)等,本發(fā)明并不具體限定。
[0051]需要說明的是,本方式I下偵聽報文的方式可能會出現(xiàn)重復偵聽同一個DHCP服務器發(fā)起的報文,進而會導致重復建立上述兩個表項,針對這種情況,本發(fā)明中,當DHCPsnooping設備偵聽到報文時,驗證已建立的表項中是否包含該偵聽到的報文攜帶的DUID,如果是,忽略此時偵聽的報文,反之,執(zhí)行上述表項I和表項2的建立。
[0052]方式2:基于組網(wǎng)中DHCP客戶端和DHCP服務器之間的所有報文都是經(jīng)過DHCPsnooping設備的,本方式2中,DHCP snooping設備可通過在DHCP客戶端申請IP地址過程中偵聽DHCP服務器向DHCP客戶端發(fā)送的報文,記錄該偵聽到的報文所攜帶的DUID。也即,本方式2中僅記錄DUID,比較簡單,并不像方式I那樣還記錄偵聽到報文的端口、端口所屬VLAN 等。
[0053]需要說明的是,本方式2下偵聽報文的方式可能會出現(xiàn)重復偵聽同一個DHCP服務器發(fā)起的報文,進而會導致重復記錄DUID,針對這種情況,本發(fā)明中,當DHCP snooping設備偵聽到報文時,驗證已記錄的DUID中是否包含該偵聽到的報文攜帶的DUID,如果是,忽略此時偵聽的報文,反之,記錄該偵聽到的報文攜帶的DUID。
[0054]方式3:本方式可通過靜態(tài)配置實現(xiàn),即預先在DHCP snooping設備上配置各個DHCP服務器的DUID。
[0055]至此,完成DHCP snooping設備記錄DUID的描述。
[0056]基于上面描述的DHCP snooping設備記錄DUID的方式,則上述步驟202具體實現(xiàn)可通過圖3所示:
[0057]參見圖3,圖3為本發(fā)明實施例提供的步驟202實現(xiàn)流程圖。如圖3所示,該流程可包括以下步驟:
[0058]步驟301,DHCP snooping設備從已記錄的所有DUID中確定出當前需要使用的N個DUID,N大于等于I。
[0059]假如DHCP snooping設備通過上面描述的方式I記錄DHD,則步驟301具體為:從偵聽到的confirm報文中獲取DHCP客戶端的MAC地址、以及該confirm報文需要確認的IP地址,確定本地建立的表項中是否存在包含該MAC和IP地址的表項,如果是,則將該表項中的一個DUID確定為當前需要使用的DUID,如果否,比如,包含該MAC和IP地址的表項已老化,則從本地已建立的所有表項中獲取不同的DWD,將該獲取的DUID作為當前需要使用的 DUID。
[0060]假如DHCP snooping設備通過上面描述的方式2或方式3記錄DHD,步驟301具體為:將本地已記錄的所有DUID作為當前需要使用的DUID。在DHCPv6組網(wǎng)應用中,基于方式2或方式3,DHCP snooping設備記錄的DUID個數(shù)可為I,也可大于I,比如為2等,本發(fā)明并不具體限定。
[0061]步驟302, DHCP snooping設備將偵聽的confirm報文轉(zhuǎn)換為N個request報文,將已確定的N個DUID依次填充至N個request報文,并將N個request報文發(fā)送至其攜帶的DUID對應的DHCP服務器。
[0062]本步驟302中,將偵聽的confirm報文轉(zhuǎn)換為request報文,實質(zhì)是中止confirm報文的轉(zhuǎn)發(fā),由DHCP snooping設備代理客戶端生成request報文。也即,DHCP snooping設備偵聽的confirm報文是用于觸發(fā)DHCP snooping設備生成request報文的前提。其中,生成的request報文的數(shù)量與步驟301確定的DUID的數(shù)量一致。另外,本步驟302中,DUID填充至request報文可通過在request報文增加server_id選項實現(xiàn)。
[0063]假如DHCP snooping設備通過上面描述的方式I記錄DHD,則本步驟302中,將request報文發(fā)送至其攜帶的DUID對應的DHCP服務器具體包括:通過該request報文攜帶的DUID所在的表項中的端口和VLAN發(fā)送該request報文。通過這種方式,能夠保證DHCPsnooping設備并非通過所有端口發(fā)送request報文,節(jié)省資源。
[0064]假如DHCP snooping設備通過上面描述的方式2或方式3記錄DUID,則本步驟302中,將request報文發(fā)送至其攜帶的DUID對應的DHCP服務器具體包括:通過本地所有端口或者預先指定的至少一個端口發(fā)送該request報文。
[0065]至此,通過圖3所示流程即可實現(xiàn)上述步驟202的操作。
[0066]以上對本發(fā)明提供的方法進行了描述,下面對本發(fā)明提供的設備進行描述:[0067]參見圖4,圖4為本發(fā)明實施例提供的網(wǎng)絡設備結(jié)構(gòu)圖。該網(wǎng)絡設備應用于地址處理,具有DHCP偵聽snooping功能,如圖4所示,所述網(wǎng)絡設備包括:,所述網(wǎng)絡設備包括:CPU和存儲器;其中,
[0068]所述CPU包含第一偵聽模塊、轉(zhuǎn)換模塊和第二偵聽模塊;
[0069]所述第一偵聽模塊,用于偵聽DHCP客戶端發(fā)送的用于確認IP地址是否可用的報文,并依據(jù)偵聽的報文在所述存儲器中記錄關聯(lián)所述IP地址的臨時snooping表項;
[0070]轉(zhuǎn)換模塊,用于將所述第一偵聽模塊偵聽的報文轉(zhuǎn)換為用于申請IP地址的報文,并將對應DHCP服務器的標識DUID攜帶在轉(zhuǎn)換后的報文中發(fā)送給所述DHCP服務器;
[0071]第二偵聽模塊,用于偵聽DHCP服務器針對所述用于申請IP地址的報文返回的應答報文,發(fā)現(xiàn)所述存儲器中存在與所述應答報文中的IP地址關聯(lián)的臨時snooping表項,則在所述存儲器中將該存在的臨時snooping表項更新為有效的snooping表項,以基于所述有效的snooping表項使所述DHCP客戶端正常訪問局域網(wǎng)。
[0072]優(yōu)選地,本發(fā)明中,所述第二偵聽模塊偵聽的應答報文是DHCP服務器通過執(zhí)行以下步驟發(fā)送的:
[0073]確定所述用于申請IP地址的報文攜帶的IP地址是否可分配,如果是,記錄該IP地址的租約信息,并向所述網(wǎng)絡設備發(fā)送應答報文;其中,所述IP地址的租約信息至少包括:IP地址、所述申請IP地址的報文攜帶的DHCP客戶端的MAC地址、IP地址的租約期限。
[0074]優(yōu)選地,本發(fā)明中,所述用于確認IP地址是否可用的報文為DHCPv6中的確認confirm報文;所述用于申請IP地址的報文為DHCPv6中的request報文。
[0075]優(yōu)選地,本發(fā)明中,所述存儲器進一步記錄DHCP服務器對應的DWD?;诖?,如圖4所示,所述轉(zhuǎn)換模塊包括:
[0076]確定子模塊,用于從所述存儲器已記錄的所有DUID中確定出當前需要使用的N個DUID,N大于等于I ;
[0077]處理子模塊,用于將偵聽的報文轉(zhuǎn)換為N個用于申請IP地址的報文,將所述確定子模塊已確定的N個DUID依次填充至N個轉(zhuǎn)換后的報文,并將N個報文發(fā)送至其攜帶的DUID對應的DHCP服務器。
[0078]本發(fā)明中,所述CPU進一步包括:
[0079]第三偵聽模塊,用于通過在DHCP客戶端申請IP地址過程中偵聽DHCP服務器向DHCP客戶端發(fā)送的報文;基于此,所述存儲器通過以下三種方式中的任一種記錄DHCP服務器對應的DUID:
[0080]方式1:通過以下兩個表項記錄DHCP服務器對應的DUID:表項1,包含DHCP客戶端的MAC地址、DHCP客戶端申請的IP地址、DHCP服務器對應的DWD、所述第三偵聽模塊偵聽到報文的端口和該端口所屬的VLAN ;其中,DHCP客戶端的MAC地址、DHCP客戶端申請的IP地址、DHCP服務器對應的DUID均從第三偵聽模塊偵聽到的報文中獲取;表項2,僅包含DHCP服務器對應的DHD、偵聽到所述報文的端口和該端口所屬的VLAN,其中,DHCP服務器對應的DUID從第三偵聽模塊偵聽到的報文中獲??;
[0081]方式2:僅記錄第三偵聽模塊偵聽到的報文所攜帶的DUID ;
[0082]方式3:記錄配置的各個DHCP服務器的DUID。
[0083]本發(fā)明中,所述表項I的老化時間由所述表項I包含的IP地址的租約時間決定;所述表項2的老化時間預先配置。
[0084]本發(fā)明中,所述確定子模塊從已記錄的所有DUID中確定出當前需要使用的N個DUID包括:
[0085]在所述存儲器通過方式I記錄DHCP服務器的DUID時,從所述confirm報文中獲取DHCP客戶端的MAC地址,并獲取該confirm報文需要確認的IP地址,確定所述存儲器中是否存在包含該MAC和IP地址的表項,如果是,則將該表項中的一個DUID確定為當前需要使用的DWD,如果否,則從所述存儲器存儲的所有表項中獲取不同的DWD,將該獲取的DUID作為當前需要使用的DUID ;
[0086]在所述存儲器通過方式2或3記錄DHCP服務器的DUID時,將所述存儲器已記錄的所有DUID作為當前需要使用的DUID。
[0087]本發(fā)明中,所述處理子模塊將報文發(fā)送至其攜帶的DUID對應的DHCP服務器包括:
[0088]在所述存儲器通過方式I記錄DHCP服務器的DUID時,通過該報文攜帶的DUID所在表項中的端口和VLAN發(fā)送該request報文;
[0089]在所述存儲器通過方式2或3記錄DHCP服務器的DUID時,通過該本地所有端口或者預先指定的至少一個端口發(fā)送該request報文。
[0090]至此,完成本發(fā)明提供的網(wǎng)絡設備結(jié)構(gòu)描述。
[0091]由以上技術(shù)方案可以看出,本發(fā)明中,本發(fā)明通過具有DHCP snooping功能的網(wǎng)絡設備對用于確認IP地址是否可用的報文比如confirm報文轉(zhuǎn)換為用于申請IP地址的報文比如request報文,以按照現(xiàn)有DHCP客戶端申請IP地址方式與DHCP服務器進行交互,能夠保證具有DHCP snooping功能的網(wǎng)絡設備建立與該需要確認的IP地址相關聯(lián)的snooping表項,實現(xiàn)DHCP客戶端正常訪問局域網(wǎng)。
[0092]以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應包含在本發(fā)明保護的范圍之內(nèi)。
【權(quán)利要求】
1.一種地址處理方法,該方法應用于具有DHCP偵聽snooping功能的網(wǎng)絡設備,其特征在于,該方法包括: 所述網(wǎng)絡設備偵聽DHCP客戶端發(fā)送的用于確認IP地址是否可用的報文,并依據(jù)偵聽的報文記錄關聯(lián)所述IP地址的臨時snooping表項; 所述網(wǎng)絡設備將偵聽的報文轉(zhuǎn)換為用于申請IP地址的報文,并將DHCP服務器的標識DUID攜帶在轉(zhuǎn)換后的報文中發(fā)送給所述DHCP服務器; 所述網(wǎng)絡設備偵聽DHCP服務器針對所述用于申請IP地址的報文返回的應答報文,發(fā)現(xiàn)已記錄的臨時snooping表項中存在與所述應答報文中IP地址關聯(lián)的臨時snooping表項,則將該存在的臨時snooping表項更新為有效的snooping表項,以基于所述有效的snooping表項使所述DHCP客戶端正常訪問局域網(wǎng)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述用于確認IP地址是否可用的報文為DHCPv6中的確認confirm報文;和/或, 所述用于申請IP地址的報文為DHCPv6中的request報文。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,該方法之前進一步包括:所述網(wǎng)絡設備記錄DHCP服務器對應的DUID ; 所述將偵聽的報文轉(zhuǎn)換為用于申請IP地址的報文,并將對應DHCP服務器的標識DUID攜帶在轉(zhuǎn)換后的報文中發(fā)送給DHCP服務器包括: 從已記錄的所有DUID中確定出當前需要使用的N個DUID,N大于等于I ; 將偵聽的報文轉(zhuǎn)換為N個用于申請IP地址的報文,將已確定的N個DUID依次填充至N個轉(zhuǎn)換后的報文,并將N個報文發(fā)送至`其攜帶的DUID對應的DHCP服務器。`
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述網(wǎng)絡設備通過以下三種方式中的任一種記錄DHCP服務器對應的DUID: 方式1:所述網(wǎng)絡設備通過在DHCP客戶端申請IP地址過程中偵聽DHCP服務器向DHCP客戶端發(fā)送的報文,并依據(jù)偵聽的報文建立以下兩個表項:表項1,包含DHCP客戶端的MAC地址、DHCP客戶端申請的IP地址、DHCP服務器對應的DWD、偵聽到所述報文的端口和該端口所屬的VLAN ;其中,DHCP客戶端的MAC地址、DHCP客戶端申請的IP地址、DHCP服務器對應的DUID均從該偵聽到的報文中獲??;表項2,僅包含DHCP服務器對應的DWD、偵聽到所述報文的端口和該端口所屬的VLAN,其中,DHCP服務器對應的DUID從該偵聽到的報文中獲取; 方式2:所述網(wǎng)絡設備通過在DHCP客戶端申請IP地址過程中偵聽DHCP服務器向DHCP客戶端發(fā)送的報文,僅記錄該偵聽到的報文所攜帶的DUID ; 方式3:在所述網(wǎng)絡設備上配置各個DHCP服務器的DUID。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述表項I的老化時間由所述表項I包含的IP地址的租約時間決定; 所述表項2的老化時間預先配置。
6.根據(jù)權(quán)利要求4或5所述的方法,其特征在于,所述從已記錄的所有DUID中確定出當前需要使用的N個DUID包括: 在所述網(wǎng)絡設備通過方式I記錄DHCP服務器的DUID時,從偵聽到的confirm報文中獲取DHCP客戶端的MAC地址,并獲取該confirm報文需要確認的IP地址,確定本地建立的表項中是否存在包含該MAC和IP地址的表項,如果是,則將該表項中的DUID確定為當前需要使用的DWD,如果否,則從本地已建立的所有表項中獲取不同的DWD,將該獲取的DUID作為當前需要使用的DUID ; 在所述網(wǎng)絡設備通過所述方式2或方式3記錄DUID時,將本地已記錄的所有DUID作為當前需要使用的DUID。
7.根據(jù)權(quán)利要求4或5所述的方法,其特征在于,所述將報文發(fā)送至其攜帶的DUID對應的DHCP服務器包括: 在所述網(wǎng)絡設備通過方式I記錄DHCP服務器的DUID時,通過該報文攜帶的DUID所在表項中的端口和VLAN發(fā)送該request報文; 在所述網(wǎng)絡設備通過方式2或方式3記錄DHCP服務器的DUID時,通過該本地所有端口或者預先指定的至少一個端口發(fā)送該request報文。
8.一種應用于地址處理的網(wǎng)絡設備,該網(wǎng)絡設備具有DHCP偵聽snooping功能,其特征在于,所述網(wǎng)絡設備包括:CPU和存儲器;其中, 所述CPU包含第一偵聽模塊、轉(zhuǎn)換模塊和第二偵聽模塊; 所述第一偵聽模塊,用于偵聽DHCP客戶端發(fā)送的用于確認IP地址是否可用的報文,并依據(jù)偵聽的報文在所述存儲器中記錄關聯(lián)所述IP地址的臨時snooping表項; 轉(zhuǎn)換模塊,用于將所述第一偵聽模塊偵聽的報文轉(zhuǎn)換為用于申請IP地址的報文,并將對應DHCP服務器的標識DUI D攜帶在轉(zhuǎn)換后的報文中發(fā)送給所述DHCP服務器; 第二偵聽模塊,用于偵聽DHCP服務器針對所述用于申請IP地址的報文返回的應答報文,發(fā)現(xiàn)所述存儲器中存在與所述應答報文中的IP地址關聯(lián)的臨時snooping表項,則在所述存儲器中將該存在的臨時snooping表項更新為有效的snooping表項,以基于所述有效的snooping表項使所述DHCP客戶端正常訪問局域網(wǎng)。
9.根據(jù)權(quán)利要求8所述的網(wǎng)絡設備,其特征在于,所述存儲器進一步記錄DHCP服務器對應的DUID ; 所述轉(zhuǎn)換模塊包括: 確定子模塊,用于從所述存儲器已記錄的所有DUID中確定出當前需要使用的N個DUID,N大于等于I ; 處理子模塊,用于將偵聽的報文轉(zhuǎn)換為N個用于申請IP地址的報文,將所述確定子模塊已確定的N個DUID依次填充至N個轉(zhuǎn)換后的報文,并將N個報文發(fā)送至其攜帶的DUID對應的DHCP服務器。
10.根據(jù)權(quán)利要求7所述的網(wǎng)絡設備,其特征在于,所述CPU進一步包括: 第三偵聽模塊,用于通過在DHCP客戶端申請IP地址過程中偵聽DHCP服務器向DHCP客戶端發(fā)送的報文; 所述存儲器通過以下三種方式中的任一種記錄DHCP服務器對應的DUID: 方式1:通過以下兩個表項記錄DHCP服務器對應的DUID:表項1,包含DHCP客戶端的MAC地址、DHCP客戶端申請的IP地址、DHCP服務器對應的DWD、所述第三偵聽模塊偵聽到報文的端口和該端口所屬的VLAN ;其中,DHCP客戶端的MAC地址、DHCP客戶端申請的IP地址、DHCP服務器對應的DUID均從第三偵聽模塊偵聽到的報文中獲??;表項2,僅包含DHCP服務器對應的DWD、偵聽到所述報文的端口和該端口所屬的VLAN,其中,DHCP服務器對應的DUID從第三偵聽模塊偵聽到的報文中獲??; 方式2:僅記錄第三偵聽模塊偵聽到的報文所攜帶的DUID ; 方式3:記錄配置的各個DHCP服務器的DUID。
11.根據(jù)權(quán)利要求10所述的網(wǎng)絡設備,其特征在于,所述表項I的老化時間由所述表項I包含的IP地址的租約時間決定; 所述表項2的老化時間預先配置。
12.根據(jù)權(quán)利要求10或11所述的網(wǎng)絡設備,其特征在于,所述確定子模塊從已記錄的所有DUID中確定出當前需要使用的N個DUID包括: 在所述存儲器通過方式I記錄DHCP服務器的DUID時,從所述confirm報文中獲取DHCP客戶端的MAC地址,并獲取該confirm報文需要確認的IP地址,確定所述存儲器中是否存在包含該MAC和IP地址的表項,如果是,則將該表項中的一個DUID確定為當前需要使用的DWD,如果否,則從所述存儲器存儲的所有表項中獲取不同的DWD,將該獲取的DUID作為當前需要使用的DUID ; 在所述存儲器通過方式2或3記錄DHCP服務器的DUID時,將所述存儲器已記錄的所有DUID作為當前需要使用的DUID。
13.根據(jù)權(quán)利要求10或11所述的網(wǎng)絡設備,其特征在于,所述處理子模塊將報文發(fā)送至其攜帶的DUID對應的DHCP服務器包括: 在所述存儲器通過方式I記錄DHCP服務器的DUID時,通過該報文攜帶的DUID所在表項中的端口和VLAN發(fā)送該request報文; 在所述存儲器通過方式2或3記錄DHCP服務器的DUID時,通過該本地所有端口或者預先指定的至少一個端口發(fā)送該request報文。
【文檔編號】H04L12/749GK103795581SQ201210422493
【公開日】2014年5月14日 申請日期:2012年10月29日 優(yōu)先權(quán)日:2012年10月29日
【發(fā)明者】田源 申請人:杭州華三通信技術(shù)有限公司