專利名稱:隧道轉(zhuǎn)發(fā)方法、裝置及網(wǎng)絡設備的制作方法
技術領域:
本發(fā)明涉及數(shù)據(jù)通信技術,尤其涉及一種隧道轉(zhuǎn)發(fā)方法、裝置及網(wǎng)絡設備。
背景技術:
動態(tài)主機配置協(xié)議(DynamicHost Configuration Protocol,簡稱為 DHCP)主要用于內(nèi)部網(wǎng)絡有效的、動態(tài)的、自動的分配網(wǎng)際協(xié)議(Internet Protocol,簡稱為IP)地址。因特網(wǎng)安全協(xié)議(Internet Protocol Security,簡稱為IPsec)用于在IP層提供安全服務,用來保護一條或多條主機與主機間、安全網(wǎng)關與安全網(wǎng)關間、安全網(wǎng)關與主機間的路 徑?;贗Psec 的 DHCP (DHCP over IPSec)是用 IPSec 報文承載 DHCP 報文,DHCP 報文被IPSec加密和封裝,防止其在傳輸過程中被竊取、篡改而造成內(nèi)部網(wǎng)絡結(jié)構部署被泄露。DHCP over IPSec的原理包括DHCP客戶端和安全網(wǎng)關(security gateway)建立IPSecDHCP隧道(簡稱為DHCP隧道),DHCP客戶端的IP地址通過DHCP動態(tài)獲取,該過程中DHCP客戶端的DHCP報文通過DHCP隧道傳輸?shù)桨踩W(wǎng)關,安全網(wǎng)關轉(zhuǎn)發(fā)DHCP報文到DHCP服務器,DHCP服務器響應DHCP報文并向安全網(wǎng)關返回DHCP響應報文,安全網(wǎng)關通過DHCP隧道將DHCP響應報文返回給DHCP客戶端。在實際應用中,多個DHCP客戶端可能會在同一時間段內(nèi)同時與安全網(wǎng)關建立DHCP隧道。由于IPSec是基于感興趣流查找DHCP隧道的,安全網(wǎng)關上的感興趣流實際上都是IP是任意到任意,目的端口是固定端口的訪問控制列表(Access Control List,簡稱為ACL),例如IP Any to Any, destination:UDP port 68(該感興趣流的意思是可以匹配IP是任意到任意,目的端口為68的UDP報文),所以當安全網(wǎng)關同時和多個客戶端建立DHCP隧道時,安全網(wǎng)關就無法正確選擇隧道來封裝DHCP服務器返回的DHCP響應報文,從而無法成功將DHCP服務器返回的DHCP響應報文轉(zhuǎn)發(fā)給DHCP客戶端。
發(fā)明內(nèi)容
本發(fā)明提供一種隧道轉(zhuǎn)發(fā)方法、裝置及網(wǎng)絡設備,用以在安全網(wǎng)關同時與多個DHCP客戶端建立起DHCP隧道的情況下,成功轉(zhuǎn)發(fā)DHCP服務器與DHCP客戶端之間的報文。本發(fā)明第一方面提供一種隧道轉(zhuǎn)發(fā)方法,包括當與多個動態(tài)主機配置協(xié)議DHCP客戶端建立起DHCP隧道時,按照激活策略每次激活其中一條DHCP隧道,并設置其它DHCP隧道的狀態(tài)為暫定狀態(tài);使用處于激活狀態(tài)的DHCP隧道轉(zhuǎn)發(fā)所述處于激活狀態(tài)的DHCP隧道對應的DHCP客戶端與DHCP服務器之間的DHCP報文。本發(fā)明第二方面提供一種隧道轉(zhuǎn)發(fā)裝置,包括隧道激活模塊,用于當與多個動態(tài)主機配置協(xié)議DHCP客戶端建立起DHCP隧道時,按照激活策略每次激活其中一條DHCP隧道,并設置其它DHCP隧道的狀態(tài)為暫定狀態(tài);報文轉(zhuǎn)發(fā)模塊,用于使用處于激活狀態(tài)的DHCP隧道轉(zhuǎn)發(fā)所述處于激活狀態(tài)的DHCP隧道對應的DHCP客戶端與DHCP服務器之間的DHCP報文。本發(fā)明第三方面提供一種網(wǎng)絡設備,包括本發(fā)明提供的任一隧道轉(zhuǎn)發(fā)裝置。本發(fā)明提供的隧道轉(zhuǎn)發(fā)方法、裝置及網(wǎng)絡設備,當與多個DHCP客戶端建立起DHCP隧道時,按照激活策略每次激活其中一條DHCP隧道,并使其它DHCP隧道處于暫定狀態(tài),然后使用處于激活狀態(tài)的隧道轉(zhuǎn)發(fā)該隧道對應的DHCP客戶端與DHCP服務器之間的DHCP報文,由此可見,本發(fā)明在與多個DHCP客戶端建立起DHCP隧道的情況下,通過每次激活一條DHCP隧道成功解決了 DHCP服務器與DHCP客戶端之間報文的轉(zhuǎn)發(fā)問題。
圖I為本發(fā)明一實施例提供的隧道轉(zhuǎn)發(fā)方法的流程圖;
圖2為本發(fā)明另一實施例提供的隧道轉(zhuǎn)發(fā)方法的流程圖;圖3為本發(fā)明一實施例提供的隧道轉(zhuǎn)發(fā)網(wǎng)絡的一種拓撲示意圖;圖4為本發(fā)明又一實施例提供的隧道轉(zhuǎn)發(fā)方法的流程圖;圖5為本發(fā)明一實施例提供的隧道轉(zhuǎn)發(fā)裝置的結(jié)構示意圖;圖6為本發(fā)明另一實施例提供的隧道轉(zhuǎn)發(fā)裝置的結(jié)構示意圖。
具體實施例方式圖I為本發(fā)明一實施例提供的隧道轉(zhuǎn)發(fā)方法的流程圖。如圖I所示,本實施例的方法包括步驟101、當與多個DHCP客戶端建立起DHCP隧道時,按照激活策略每次激活其中一條DHCP隧道,并設置其它DHCP隧道的狀態(tài)為暫定狀態(tài)。本實施例的執(zhí)行主體可以是連接于DHCP服務器與DHCP客戶端之間,并且運行有IPsec可以向DHCP客戶端提供DHCP隧道的任何設備,例如可以是安全網(wǎng)關。本實施例以安全網(wǎng)關為執(zhí)行主體進行說明,但不限于此。在本實施例中,安全網(wǎng)關在一段時間內(nèi)同時與多個DHCP客戶端建立起DHCP隧道,那么在安全網(wǎng)關上就同時存在多條感興趣流,每條感興趣流對應一條隧道,每條隧道有自己獨特的封裝轉(zhuǎn)發(fā)行為。每條感興趣流均為IP是任意到任意,目的端口為固定端口的ACL,例如感興趣流可以是IP :Any to Any, destination:UDP port 68,端口 68是DHCP協(xié)議使用的端口。在該情況下,為了使得DHCP服務器返回的DHCP響應報文能夠通過正確的隧道進行封裝并轉(zhuǎn)發(fā)給DHCP客戶端,本實施例的安全網(wǎng)關在存在多條DHCP隧道的情況下,按照激活策略每次激活多條DHCP隧道中的一條DHCP隧道,并將其它DHCP隧道置為暫定狀態(tài)。在本實施例中,只有處于激活狀態(tài)的DHCP隧道才能用于轉(zhuǎn)發(fā)報文,處于暫定狀態(tài)的DHCP隧道暫時不能轉(zhuǎn)發(fā)報文。也就是說,在多條感興趣流IP :Any to Any, destination:UDP port68中,將只有一條處于激活狀態(tài),該條處于激活狀態(tài)的感興趣流才能用于轉(zhuǎn)發(fā)報文。上述激活策略的目的主要是使安全網(wǎng)關能夠?qū)HCP隧道進行區(qū)分,每次僅激活其中一條DHCP隧道??蛇x的,安全網(wǎng)關可以預先配置上述激活策略。可選的,該激活策略可以是按照每條DHCP隧道建立的先后順序進行激活。基于此,安全網(wǎng)關按照激活策略每次激活其中一條DHCP隧道包括安全網(wǎng)關按照每條DHCP隧道建立的先后時間,每次激活其中一條DHCP隧道。例如,安全網(wǎng)關可以優(yōu)先激活建立時間最早的DHCP隧道。舉例說明,假設安全網(wǎng)關與第一 DHCP客戶端、第二 DHCP客戶端和第三DHCP客戶端之間分別存在第一 DHCP隧道、第二 DHCP隧道和第三DHCP隧道,其中,第一 DHCP隧道建立時間最早,其次是第二DHCP隧道,最后是第三DHCP隧道;基于此,安全網(wǎng)關可以首先激活第一 DHCP隧道,并通過第一 DHCP隧道完成第一 DHCP客戶端與DHCP服務器之間的DHCP報文的轉(zhuǎn)發(fā),然后激活第二 DHCP隧道,并通過第二 DHCP隧道完成第二 DHCP客戶端與DHCP服務器之間的DHCP報文的轉(zhuǎn)發(fā),最后激活第三DHCP隧道,并通過第三DHCP隧道完成第三DHCP客戶端與DHCP服務器之間的DHCP報文的轉(zhuǎn)發(fā)??蛇x的,本實施例的激活策略還可以是根據(jù)每條DHCP隧道對應的DHCP客戶端的信息進行激活。其中,DHCP客戶端的信息可以是任何能夠唯一區(qū)分DHCP客戶端的信息,例如可以是DHCP客戶端的IP地址或介質(zhì)訪問控制(Media Access Control,簡稱為MAC)地址等。以DHCP客戶端的信息為DHCP客戶端的IP地址為例,則安全網(wǎng)關按照激活策略每次激活其中一條DHCP隧道包括安全網(wǎng)關按照每條DHCP隧道對應的DHCP客戶端的IP地址的大小,每次激活其中一條DHCP隧道。例如,安全網(wǎng)關可以按照DHCP客戶端的IP地址由大到小的順序,依次激活每條DHCP隧道。又例如,安全網(wǎng)關可以按照DHCP客戶端的IP地址由小到大的順序,依次激活每條DHCP隧道。以DHCP客戶端的信息為DHCP客戶端的MAC 地址為例,則安全網(wǎng)關按照激活策略每次激活其中一條DHCP隧道包括安全網(wǎng)關按照每條DHCP隧道對應的DHCP客戶端的MAC地址的大小,每次激活其中一條DHCP隧道。例如,安全網(wǎng)關可以按照DHCP客戶端的MAC地址由大到小的順序,依次激活每條DHCP隧道。又例如,安全網(wǎng)關可以按照DHCP客戶端的MAC地址由小到大的順序,依次激活每條DHCP隧道。可選的,本實施例的激活策略還可以是隨機選擇策略,即每次從未被激活的DHCP隧道中隨機選擇一條DHCP隧道進行激活。在本實施例的一可選實施方式中,為了便于區(qū)分哪條DHCP隧道被激活,哪些DHCP隧道被置為暫定狀態(tài),安全網(wǎng)關可以為每條DHCP隧道設置狀態(tài)標志?;诖?,當安全網(wǎng)關根據(jù)激活策略選擇出需要被激活的DHCP隧道后,為選擇激活的DHCP隧道設置激活標志,相應的,并為其它DHCP隧道設置暫定標志,從而設置其它DHCP隧道的狀態(tài)為暫定狀態(tài)。步驟102、使用處于激活狀態(tài)的DHCP隧道轉(zhuǎn)發(fā)該處于激活狀態(tài)的DHCP隧道對應的DHCP客戶端與DHCP服務器之間的DHCP報文。當激活多條DHCP隧道中的一條DHCP隧道并設置其它DHCP隧道為暫定狀態(tài)之后,安全網(wǎng)關可以使用處于激活狀態(tài)的DHCP隧道來轉(zhuǎn)發(fā)該處于激活狀態(tài)的DHCP隧道對應的DHCP客戶端與DHCP服務器之間的DHCP報文。具體的,安全網(wǎng)關通過處于激活狀態(tài)的DHCP隧道接收該處于激活狀態(tài)的DHCP隧道對應的DHCP客戶端發(fā)送的DHCP報文,例如可以是DHCP發(fā)現(xiàn)(discover)報文或DHCP請求(request)報文,然后將接收到的DHCP發(fā)現(xiàn)報文或DHCP請求報文轉(zhuǎn)發(fā)給DHCP服務器;DHCP服務器對接收到的DHCP客戶端的DHCP發(fā)現(xiàn)報文或DHCP請求報文做出回應,然后將回應的DHCP提供(offer)報文或DHCP確認(ACK)報文發(fā)送給安全網(wǎng)關,安全網(wǎng)關通過處于激活狀態(tài)的DHCP隧道將DHCP提供報文或DHCP確認報文轉(zhuǎn)發(fā)給該處于激活狀態(tài)的DHCP隧道對應的DHCP客戶端。其中,安全網(wǎng)關通過處于激活狀態(tài)的DHCP隧道將DHCP提供報文或DHCP確認報文轉(zhuǎn)發(fā)給該處于激活狀態(tài)的DHCP隧道對應的DHCP客戶端具體包括安全網(wǎng)關根據(jù)多條感興趣流中處于激活狀態(tài)的感興趣流,找到該處于激活狀態(tài)的感興趣流對應的隧道,使用該隧道的轉(zhuǎn)發(fā)行為對DHCP提供報文或DHCP確認報文進行加密和隧道封裝等處理,然后通過該處于激活狀態(tài)的DHCP隧道轉(zhuǎn)發(fā)給對應的DHCP客戶端。在該過程中,由于只有一條感興趣流可用,所以不存在無法正確選擇隧道的問題。當該條DHCP隧道使用結(jié)束后,可以按照激活策略再去激活下一條DHCP隧道,并使用激活的該條DHCP隧道進行該條DHCP隧道對應的DHCP客戶端與DHCP服務器之間的報文轉(zhuǎn)發(fā)??蛇x的,當一條DHCP隧道使用結(jié)束后,可以將該DHCP隧道拆除。其中,拆除一條DHCP隧道意味著將該條隧道對應的感興趣流、轉(zhuǎn)發(fā)行為等信息刪除。在DHCP場景下,一旦收到DHCP ACK報文就意味著本次DHCP請求過程結(jié) 束?;诖?,安全網(wǎng)關可以在接收到DHCP服務器返回的DHCPACK報文并將該DHCP ACK報文通過處于激活狀態(tài)的DHCP隧道轉(zhuǎn)發(fā)給對應的DHCP客戶端之后,將該條處于激活狀態(tài)的DHCP隧道拆除,并重新按照激活策略從當前處于暫定狀態(tài)的DHCP隧道中選擇一條DHCP隧道激活。在此說明,按照激活策略每次激活其中一條隧道的觸發(fā)條件可以是上一條處于激活狀態(tài)的DHCP隧道被拆除,但不限于此。例如,安全網(wǎng)關也可以按照指定的激活周期,在激活周期到達時按照激活策略選擇被激活的DHCP隧道并進行激活。優(yōu)選的,該激活周期要長于使用一條DHCP隧道進行報文轉(zhuǎn)發(fā)的整個過程。這種方式可以克服因某種原因(例如DHCP客戶端或服務器故障)導致長時間接收不到DHCP確認報文進而導致其他DHCP隧道一直不能被激活的問題,有利于保證各條DHCP隧道被激活的公平性。在此說明,當一條DHCP隧道使用結(jié)束后,并不一定要拆除,例如,還可以將其設置為暫定狀態(tài)。其中,當一條DHCP隧道使用結(jié)束后,將其拆除可以釋放所占用的資源,有利于減輕安全網(wǎng)關及DHCP客戶端的負擔,節(jié)約資源。由上述可見,在本實施例中,安全網(wǎng)關在與多個DHCP客戶端建立起DHCP隧道的情況下,按照激活策略每次激活其中一條DHCP隧道,并使其它DHCP隧道處于暫定狀態(tài),然后使用處于激活狀態(tài)的隧道轉(zhuǎn)發(fā)該隧道對應的DHCP客戶端與DHCP服務器之間的DHCP報文,由此可見,本發(fā)明在與多個DHCP客戶端建立起DHCP隧道的情況下,通過每次激活一條DHCP隧道成功解決了 DHCP服務器與DHCP客戶端之間報文的轉(zhuǎn)發(fā)問題。另外,本實施例在同一時間內(nèi)僅有一條DHCP隧道被激活,可以保證DHCP報文傳輸?shù)陌踩?,防止敏感泄露或被非法篡改。圖2為本發(fā)明另一實施例提供的隧道轉(zhuǎn)發(fā)方法的流程圖。本實施例基于圖I所示實施例實現(xiàn)。如圖2所示,本實施例的方法還包括步驟103、如果通過處于暫定狀態(tài)的DHCP隧道接收到的該處于暫定狀態(tài)的DHCP隧道對應的DHCP客戶端發(fā)送的DHCP報文,將通過該處于暫定狀態(tài)的DHCP隧道接收到的DHCP報文進行緩存,以待該處于暫定狀態(tài)的DHCP隧道被激活時進行轉(zhuǎn)發(fā)。在此說明,步驟103與步驟102的先后順序不做限定。步驟103所描述的操作可以是在步驟102之前進行,也可以是在步驟102執(zhí)行過程中進行,還可以是在步驟102之后執(zhí)行。對于處于暫定狀態(tài)的DHCP隧道,不能用于轉(zhuǎn)發(fā)報文,但是可以接收其對應的DHCP客戶端發(fā)送的報文,這里的報文主要是指DHCP發(fā)現(xiàn)報文。當安全網(wǎng)關接收到處于暫定狀態(tài)的DHCP隧道對應的DHCP客戶端發(fā)送的DHCP報文后,由于該DHCP隧道處于暫定狀態(tài),故暫時不能將通過其接收到的DHCP報文轉(zhuǎn)發(fā)給DHCP服務器,因此,安全網(wǎng)關可以將接收到的DHCP報文進行緩存,這樣當該DHCP隧道被激活時可以直接將該DHCP報文轉(zhuǎn)發(fā)給DHCP服務器,然后接收DHCP服務器針對該DHCP報文返回的DHCP響應報文,進而通過該DHCP隧道(已經(jīng)處于激活狀態(tài))轉(zhuǎn)發(fā)給對應的DHCP客戶端??蛇x的,安全網(wǎng)關通過處于暫定狀態(tài)的DHCP隧道接收到DHCP報文后,除了可以將DHCP報文進行緩存之外,也可以將DHCP報文丟棄??蛇x的,如圖2所示,在步驟101之前包括步驟100、接收上述多個DHCP客戶端中每個DHCP客戶端發(fā)送的DHCP發(fā)現(xiàn)報文,并在接收到DHCP發(fā)現(xiàn)報文后,與對應的DHCP客戶端進行隧道協(xié)商以建立起DHCP隧道。該步驟100主要描述在執(zhí)行上述步驟之前,安全網(wǎng)關與多個DHCP客戶端建立DHCP 隧道的過程。其中,安全網(wǎng)關與每個DHCP客戶端建立DHCP隧道的過程相同,以其中一個為例進行說明。當DHCP客戶端有請求DHCP服務器為其分配IP地址的需求時,會先向安全網(wǎng)關發(fā)送DHCP發(fā)現(xiàn)報文,該動作會觸發(fā)DHCP客戶端主動與安全網(wǎng)關進行隧道協(xié)商,以建立起DHCP隧道。在隧道建立過程中,DHCP客戶端發(fā)送的第一個DHCP報文是DHCP發(fā)現(xiàn)報文,該DHCP發(fā)現(xiàn)報文主要用于觸發(fā)DHCP客戶端主動與安全網(wǎng)關進行隧道協(xié)商以建立DHCP隧道,通常在DHCP客戶端就會直接被丟棄;當DHCP發(fā)現(xiàn)報文超時后,DHCP客戶端會再次發(fā)送DHCP發(fā)現(xiàn)報文,這時DHCP發(fā)現(xiàn)報文才會通過建立好的DHCP隧道到達安全網(wǎng)關。如果對應的DHCP隧道未被激活,則安全網(wǎng)關接收到DHCP發(fā)現(xiàn)報文后會進行緩存,直到該DHCP發(fā)現(xiàn)報文超時后將其丟棄。在該過程中,如果DHCP客戶端如果發(fā)現(xiàn)DHCP發(fā)現(xiàn)報文超時,會重新發(fā)送DHCP發(fā)現(xiàn)報文。其中,如果安全網(wǎng)關已經(jīng)收到并緩存了一個DHCP發(fā)現(xiàn)報文,則當其再次收到DHCP發(fā)現(xiàn)報文時可以將先前已經(jīng)緩存的DHCP發(fā)現(xiàn)報文丟棄,而緩存最新接收到的DHCP發(fā)現(xiàn)報文,這樣可以保證DHCP報文不會出現(xiàn)亂序問題。圖3為本發(fā)明一實施例提供的隧道轉(zhuǎn)發(fā)網(wǎng)絡的一種拓撲示意圖。如圖3所示,安全網(wǎng)關31與DHCP服務器32連接,安全網(wǎng)關31還與第一 DHCP客戶端33、第二 DHCP客戶端34和第三DHCP客戶端35連接。其中,在一段時間內(nèi),第一 DHCP客戶端33、第二 DHCP客戶端34和第三DHCP客戶端35分別與安全網(wǎng)關31建立起DHCP隧道,分別為第一 DHCP隧道、第二 DHCP隧道和第三DHCP隧道,每條隧道對應的感興趣流均為IP :Any to Any, destination:UDP port 68。為了能夠正確轉(zhuǎn)發(fā)第一 DHCP客戶端33、第二 DHCP客戶端34和第三DHCP客戶端35與DHCP服務器32之間的DHCP報文,安全網(wǎng)關按照激活策略,依次激活第一 DHCP隧道、第二 DHCP隧道和第三DHCP隧道。其中,在激活第一 DHCP隧道的情況下,安全網(wǎng)關31通過第一 DHCP隧道轉(zhuǎn)發(fā)DHCP報文的過程如圖4所示。步驟al、第一 DHCP客戶端33通過第一 DHCP隧道向安全網(wǎng)關31發(fā)送DHCP發(fā)現(xiàn)報文。步驟a2、安全網(wǎng)關31將DHCP發(fā)現(xiàn)報文轉(zhuǎn)發(fā)給DHCP服務器32。步驟a3、第二 DHCP客戶端34通過第二 DHCP隧道向安全網(wǎng)關31發(fā)送DHCP發(fā)現(xiàn)報文。步驟a4、安全網(wǎng)關31緩存第二 DHCP客戶端34發(fā)送的DHCP發(fā)現(xiàn)報文。
步驟a5、安全網(wǎng)關31接收DHCP服務器32發(fā)送的DHCP提供報文。步驟a6、安全網(wǎng)關31通過第一 DHCP隧道將DHCP提供報文發(fā)送給第一 DHCP客戶端33。步驟a7、第一 DHCP客戶端33通過第一 DHCP隧道向安全網(wǎng)關31發(fā)送DHCP請求報文。步驟a8、安全網(wǎng)關31將DHCP請求報文轉(zhuǎn)發(fā)給DHCP服務器32。步驟a9、第三DHCP客戶端35通過第三DHCP隧道向安全網(wǎng)關31發(fā)送DHCP發(fā)現(xiàn)報文。步驟alO、安全網(wǎng)關31緩存第三DHCP客戶端35發(fā)送的DHCP發(fā)現(xiàn)報文。 步驟all、安全網(wǎng)關31接收DHCP服務器32發(fā)送的DHCP確認報文。步驟al2、安全網(wǎng)關31通過第一 DHCP隧道將DHCP確認報文發(fā)送給第一 DHCP客戶端33。步驟al3、安全網(wǎng)關31拆除第一 DHCP隧道,并激活第二 DHCP隧道。步驟al4、安全網(wǎng)關31通過第二 DHCP隧道將緩存的第二 DHCP客戶端34發(fā)送的DHCP發(fā)現(xiàn)報文發(fā)送給DHCP服務器32。后續(xù)步驟與通過第一 DHCP隧道轉(zhuǎn)發(fā)第一 DHCP客戶端33與DHCP服務器32之間的報文的過程相類似,在此不再贅述。由上述可見,在本實施例中,安全網(wǎng)關在與多個DHCP客戶端建立起DHCP隧道的情況下,按照激活策略每次激活其中一條DHCP隧道,并使其它DHCP隧道處于暫定狀態(tài),然后使用處于激活狀態(tài)的隧道轉(zhuǎn)發(fā)該隧道對應的DHCP客戶端與DHCP服務器之間的DHCP報文,由此可見,本發(fā)明在與多個DHCP客戶端建立起DHCP隧道的情況下,通過每次激活一條DHCP隧道成功解決了 DHCP服務器與DHCP客戶端之間報文的轉(zhuǎn)發(fā)問題。圖5為本發(fā)明一實施例提供的隧道轉(zhuǎn)發(fā)裝置的結(jié)構示意圖。如圖5所示,本實施例的裝置包括隧道激活模塊51和報文轉(zhuǎn)發(fā)模塊52。隧道激活模塊51,用于當與多個DHCP客戶端建立起DHCP隧道時,按照激活策略每次激活其中一條DHCP隧道,并設置其它DHCP隧道的狀態(tài)為暫定狀態(tài)。報文轉(zhuǎn)發(fā)模塊52,與隧道激活模塊51連接,用于使用隧道激活模塊51激活的處于激活狀態(tài)的DHCP隧道轉(zhuǎn)發(fā)該處于激活狀態(tài)的DHCP隧道對應的DHCP客戶端與DHCP服務器之間的DHCP報文。在一可選實施方式中,如圖6所示,本實施例的隧道轉(zhuǎn)發(fā)裝置還包括報文緩存模塊53。報文緩存模塊53,用于如果通過處于暫定狀態(tài)的DHCP隧道接收到的該處于暫定狀態(tài)的DHCP隧道對應的DHCP客戶端發(fā)送的DHCP報文,將通過該處于暫定狀態(tài)的DHCP隧道接收到的DHCP報文進行緩存,以待該處于暫定狀態(tài)的DHCP隧道被激活時進行轉(zhuǎn)發(fā)??蛇x的,報文緩存模塊53與隧道激活模塊51連接,用于在隧道激活模塊51將處于暫定狀態(tài)的DHCP隧道激活后,向處于激活狀態(tài)的DHCP隧道提供緩存的DHCP報文。在一可選實施方式中,隧道激活模塊51按照激活策略每次激活其中一條DHCP隧道的方式會因激活策略的不同而不同。例如,隧道激活模塊51具體可用于按照每條DHCP隧道建立的先后時間,每次激活其中一條DHCP隧道?;蛘撸淼兰せ钅K51具體可用于按照每條DHCP隧道對應的DHCP客戶端的IP地址的大小,每次激活其中一條DHCP隧道。或者,隧道激活模塊51具體可用于按照每條DHCP隧道對應的DHCP客戶端的MAC地址的大小,每次激活其中一條DHCP隧道。在一可選實施方式中,為區(qū)分激活的DHCP隧道和未被激活的DHCP隧道,隧道激活模塊51具體可用于為選擇激活的DHCP隧道設置激活標志,為其它DHCP隧道設置暫定標志,以設置其它DHCP隧道的狀態(tài)為暫定狀態(tài)。在一可選實施方式中,報文轉(zhuǎn)發(fā)模塊52具體可用于當接收到DHCP服務器返回的DHCP確認報文后,通過處于激活狀態(tài)的DHCP隧道轉(zhuǎn)發(fā)給處于激活狀態(tài)的DHCP隧道對應的DHCP客戶端?;诖耍淼兰せ钅K51還可用于將該處于激活狀態(tài)的DHCP隧道拆除,并重新按照激活策略從處于暫定狀態(tài)的DHCP隧道中選擇一條DHCP隧道激活。在一可選實施方式中,如圖6所示,本實施例的隧道轉(zhuǎn)發(fā)裝置還包括隧道建立模塊54。隧道建立模塊54,與隧道激活模塊51連接,用于在隧道激活模塊51按照激活策略·每次激活其中一條DHCP隧道,并設置其它DHCP隧道的狀態(tài)為暫定狀態(tài)之前,接收多個DHCP客戶端中每個DHCP客戶端發(fā)送的DHCP發(fā)現(xiàn)報文,并在接收到DHCP發(fā)現(xiàn)報文后,與DHCP客戶端進行隧道協(xié)商以建立起DHCP隧道。本實施例提供的隧道轉(zhuǎn)發(fā)裝置可以設置于安全網(wǎng)關中實現(xiàn),但不限于此。例如,本實施例的隧道轉(zhuǎn)發(fā)裝置也可以直接作為安全網(wǎng)關實現(xiàn),或獨立于安全網(wǎng)關而與安全網(wǎng)關連接。本實施例提供的隧道轉(zhuǎn)發(fā)裝置的各功能模塊可用于執(zhí)行上述實施例提供的隧道轉(zhuǎn)發(fā)方法的流程,其具體工作原理不再贅述,詳見方法實施例的描述。本實施例提供的隧道轉(zhuǎn)發(fā)裝置,在與多個DHCP客戶端建立起DHCP隧道時,按照激活策略每次激活其中一條DHCP隧道,并使其它DHCP隧道處于暫定狀態(tài),然后使用處于激活狀態(tài)的隧道轉(zhuǎn)發(fā)該隧道對應的DHCP客戶端與DHCP服務器之間的DHCP報文,通過每次激活一條DHCP隧道成功解決了 DHCP服務器與DHCP客戶端之間報文的轉(zhuǎn)發(fā)問題。本發(fā)明一實施例提供一種網(wǎng)絡設備,包括隧道轉(zhuǎn)發(fā)裝置。其中,隧道轉(zhuǎn)發(fā)裝置可以是本發(fā)明上述實施例提供的隧道轉(zhuǎn)發(fā)裝置,其工作原理和實現(xiàn)結(jié)構均可參見上述實施例的描述,在此不再贅述。本實施例的網(wǎng)絡設備可以是連接于DHCP服務器與DHCP客戶端之間,并且運行有IPsec可以向DHCP客戶端提供DHCP隧道的任何設備,例如可以是安全網(wǎng)關。本實施例的網(wǎng)絡設備包括本發(fā)明實施例提供的隧道轉(zhuǎn)發(fā)裝置,并且可用于執(zhí)行上述實施例提供的隧道轉(zhuǎn)發(fā)方法的流程,因此,在與多個DHCP客戶端建立起DHCP隧道時,也可以通過每次激活一條DHCP隧道成功解決DHCP服務器與DHCP客戶端之間報文的轉(zhuǎn)發(fā)問題。本領域普通技術人員可以理解實現(xiàn)上述各方法實施例的全部或部分步驟可以通過程序指令相關的硬件來完成。前述的程序可以存儲于一計算機可讀取存儲介質(zhì)中。該程序在執(zhí)行時,執(zhí)行包括上述各方法實施例的步驟;而前述的存儲介質(zhì)包括R0M、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。最后應說明的是以上各實施例僅用以說明本發(fā)明的技術方案,而非對其限制;盡管參照前述各實施例對本發(fā)明進行了詳細的說明,本領域的普通技術人員應當理解其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分或者全部技術特征 進行等同替換;而這些修改或者替換,并不使相應技術方案的本質(zhì)脫離本發(fā)明各實施例技術方案的范圍。
權利要求
1.一種隧道轉(zhuǎn)發(fā)方法,其特征在于,包括當與多個動態(tài)主機配置協(xié)議DHCP客戶端建立起DHCP隧道時,按照激活策略每次激活其中一條DHCP隧道,并設置其它DHCP隧道的狀態(tài)為暫定狀態(tài);使用處于激活狀態(tài)的DHCP隧道轉(zhuǎn)發(fā)所述處于激活狀態(tài)的DHCP隧道對應的DHCP客戶端與DHCP服務器之間的DHCP報文。
2.根據(jù)權利要求I所述的隧道轉(zhuǎn)發(fā)方法,其特征在于,還包括如果通過處于暫定狀態(tài)的DHCP隧道接收到的所述處于暫定狀態(tài)的DHCP隧道對應的DHCP客戶端發(fā)送的DHCP報文,將通過所述處于暫定狀態(tài)的DHCP隧道接收到的DHCP報文進行緩存,以待所述處于暫定狀態(tài)的DHCP隧道被激活時進行轉(zhuǎn)發(fā)。
3.根據(jù)權利要求I所述的隧道轉(zhuǎn)發(fā)方法,其特征在于,所述按照激活策略每次激活其中一條DHCP隧道包括按照每條DHCP隧道建立的先后時間,每次激活其中一條DHCP隧道;或者按照每條DHCP隧道對應的DHCP客戶端的網(wǎng)際協(xié)議IP地址的大小,每次激活其中一條DHCP隧道;或者按照每條DHCP隧道對應的DHCP客戶端的介質(zhì)訪問控制MAC地址的大小,每次激活其中一條DHCP隧道。
4.根據(jù)權利要求I或2或3所述的隧道轉(zhuǎn)發(fā)方法,其特征在于,所述使用處于激活狀態(tài)的DHCP隧道轉(zhuǎn)發(fā)所述處于激活狀態(tài)的DHCP隧道對應的DHCP客戶端與DHCP服務器之間的DHCP報文包括當接收到所述DHCP服務器返回的DHCP確認報文后,通過所述處于激活狀態(tài)的DHCP隧道轉(zhuǎn)發(fā)給所述處于激活狀態(tài)的DHCP隧道對應的DHCP客戶端;所述方法還包括將所述處于激活狀態(tài)的DHCP隧道拆除,并重新按照所述激活策略從所述處于暫定狀態(tài)的DHCP隧道中選擇一條DHCP隧道激活。
5.根據(jù)權利要求I或2或3所述的隧道轉(zhuǎn)發(fā)方法,其特征在于,所述按照激活策略每次激活其中一條DHCP隧道,并設置其它DHCP隧道的狀態(tài)為暫定狀態(tài)之前包括接收所述多個DHCP客戶端中每個DHCP客戶端發(fā)送的DHCP發(fā)現(xiàn)報文,并在接收到所述DHCP發(fā)現(xiàn)報文后,與所述DHCP客戶端進行隧道協(xié)商以建立起所述DHCP隧道。
6.一種隧道轉(zhuǎn)發(fā)裝置,其特征在于,包括隧道激活模塊,用于當與多個動態(tài)主機配置協(xié)議DHCP客戶端建立起DHCP隧道時,按照激活策略每次激活其中一條DHCP隧道,并設置其它DHCP隧道的狀態(tài)為暫定狀態(tài);報文轉(zhuǎn)發(fā)模塊,用于使用處于激活狀態(tài)的DHCP隧道轉(zhuǎn)發(fā)所述處于激活狀態(tài)的DHCP隧道對應的DHCP客戶端與DHCP服務器之間的DHCP報文。
7.根據(jù)權利要求6所述的隧道轉(zhuǎn)發(fā)裝置,其特征在于,還包括報文緩存模塊,用于如果通過處于暫定狀態(tài)的DHCP隧道接收到的所述處于暫定狀態(tài)的DHCP隧道對應的DHCP客戶端發(fā)送的DHCP報文,將通過所述處于暫定狀態(tài)的DHCP隧道接收到的DHCP報文進行緩存,以待所述處于暫定狀態(tài)的DHCP隧道被激活時進行轉(zhuǎn)發(fā)。
8.根據(jù)權利要求6所述的隧道轉(zhuǎn)發(fā)裝置,其特征在于,所述隧道激活模塊具體用于按照每條DHCP隧道建立的先后時間,每次激活其中一條DHCP隧道;或者所述隧道激活模塊具體用于按照每條DHCP隧道對應的DHCP客戶端的網(wǎng)際協(xié)議IP地址的大小,每次激活其中一條DHCP隧道;或者所述隧道激活模塊具體用于按照每條DHCP隧道對應的DHCP客戶端的介質(zhì)訪問控制MAC地址的大小,每次激活其中一條DHCP隧道。
9.根據(jù)權利要求6或7或8所述的隧道轉(zhuǎn)發(fā)裝置,其特征在于,所述報文轉(zhuǎn)發(fā)模塊具體用于當接收到所述DHCP服務器返回的DHCP確認報文后,通過所述處于激活狀態(tài)的DHCP隧道轉(zhuǎn)發(fā)給所述處于激活狀態(tài)的DHCP隧道對應的DHCP客戶端;所述隧道激活模塊還用于將所述處于激活狀態(tài)的DHCP隧道拆除,并重新按照所述激活策略從所述處于暫定狀態(tài)的DHCP隧道中選擇一條DHCP隧道激活。
10.根據(jù)權利要求6或7或8所述的隧道轉(zhuǎn)發(fā)裝置,其特征在于,還包括隧道建立模塊,用于在所述隧道激活模塊按照激活策略每次激活其中一條DHCP隧道,并設置其它DHCP隧道的狀態(tài)為暫定狀態(tài)之前,接收所述多個DHCP客戶端中每個DHCP客戶端發(fā)送的DHCP發(fā)現(xiàn)報文,并在接收到所述DHCP發(fā)現(xiàn)報文后,與所述DHCP客戶端進行隧道協(xié)商以建立起所述DHCP隧道。
11.一種網(wǎng)絡設備,其特征在于,包括權利要求6-10任一項所述的隧道轉(zhuǎn)發(fā)裝置。
全文摘要
本發(fā)明提供一種隧道轉(zhuǎn)發(fā)方法、裝置及網(wǎng)絡設備。其中,方法包括當與多個動態(tài)主機配置協(xié)議DHCP客戶端建立起DHCP隧道時,按照激活策略每次激活其中一條DHCP隧道,并設置其它DHCP隧道的狀態(tài)為暫定狀態(tài);使用處于激活狀態(tài)的DHCP隧道轉(zhuǎn)發(fā)所述處于激活狀態(tài)的DHCP隧道對應的DHCP客戶端與DHCP服務器之間的DHCP報文。本發(fā)明技術方案可以在安全網(wǎng)關同時與多個DHCP客戶端建立起DHCP隧道的情況下,成功轉(zhuǎn)發(fā)DHCP服務器與DHCP客戶端之間的報文。
文檔編號H04L12/46GK102833174SQ20121034553
公開日2012年12月19日 申請日期2012年9月17日 優(yōu)先權日2012年9月17日
發(fā)明者張濤 申請人:北京星網(wǎng)銳捷網(wǎng)絡技術有限公司