專利名稱:雙代理在虛擬專用網(wǎng)絡(luò)(vpn)中進(jìn)行應(yīng)用層內(nèi)容路由的方法
技術(shù)領(lǐng)域:
本發(fā)明總體上涉及一種用于虛擬專用網(wǎng)絡(luò)(VPN,virtual private network)系統(tǒng)的系統(tǒng)和方法,該系統(tǒng)可以在應(yīng)用級部署虛擬資源(服務(wù)), 其中可以在不公開該資源(服務(wù))和客戶端(請求者)的本地網(wǎng)絡(luò)拓?fù)涞?情況下跨過通信網(wǎng)絡(luò)(即,因特網(wǎng))來路由應(yīng)用級內(nèi)容,并且尤其涉及一 種用于使用動態(tài)VPN (DVPN)雙重代理方法來進(jìn)行虛擬專用網(wǎng)絡(luò)應(yīng)用級 內(nèi)容路由的系統(tǒng)和方法。
背景技術(shù):
用于互連分布式計算機(jī)系統(tǒng)的最有用網(wǎng)絡(luò)之一是因特網(wǎng)。因特網(wǎng)使計 算機(jī)系統(tǒng)的用戶能夠在全世界內(nèi)交換數(shù)據(jù)。另外,釆用公司或商業(yè)網(wǎng)絡(luò)形 式的許多專用網(wǎng)絡(luò)被連接到因特網(wǎng)。這些專用網(wǎng)絡(luò)典型情況下被稱為"內(nèi) 部網(wǎng)(intranet)"。為了便于數(shù)據(jù)交換,內(nèi)部網(wǎng)通常使用與因特網(wǎng)相同的通 信協(xié)議。這些網(wǎng)際協(xié)議(IP, Internet protocols )規(guī)定怎樣格式化并傳送數(shù)據(jù)。 另外,對公司網(wǎng)絡(luò)或內(nèi)部網(wǎng)的訪問可以借助網(wǎng)絡(luò)網(wǎng)關(guān)來控制,該網(wǎng)絡(luò)網(wǎng)關(guān) 可以包括防火墻系統(tǒng)。隨著因特網(wǎng)普及性的發(fā)展,企業(yè)傾向使之作為擴(kuò)展他們自己網(wǎng)絡(luò)的工 具。首先是內(nèi)部網(wǎng)的到來,其是被設(shè)計僅供公司雇員所使用的訪問控制站 點(diǎn)?,F(xiàn)在,許多公司正創(chuàng)建他們自己的VPN (虛擬專用網(wǎng)絡(luò))來適應(yīng)遠(yuǎn)程 雇員和遠(yuǎn)端辦公室的需要。VPN通常是使用公共網(wǎng)絡(luò)(通常為因特網(wǎng))來 把遠(yuǎn)程站點(diǎn)或用戶連接在一起的專用網(wǎng)絡(luò)。代替使用諸如租用線路之類的 專用的現(xiàn)實連接,VPN使用從公司的專用網(wǎng)絡(luò)到遠(yuǎn)程站點(diǎn)或雇員的經(jīng)由因特網(wǎng)路由的"虛擬"連接。在典型的配置中,局部網(wǎng)使用所指定的"專用"IP地址子網(wǎng)(諸如192.168.x.x, 10.x.x.x或172.16.x.x - 172.31.x.x)之一,并且在該網(wǎng)絡(luò)上的 路由器具有在該地址空間中的專用地址(諸如192.168.0.1 )。路由器還利用 由ISP所分配的單個"公共"地址或多個"公共',地址連接到因特網(wǎng)。當(dāng) 通信業(yè)務(wù)從局部網(wǎng)去往因特網(wǎng)時,在從專用地址到公共地址的傳輸過程中, 將每個分組的源地址進(jìn)行轉(zhuǎn)換。路由器跟蹤關(guān)于每個活動連接的基本數(shù)據(jù)(特別是目的址和端口)。當(dāng)應(yīng)答返回到路由器時,它使用在出站階段期間 所存儲的連接跟蹤數(shù)據(jù)來確定在內(nèi)部網(wǎng)絡(luò)上的什么地方轉(zhuǎn)送該應(yīng)答。典型的虛擬專用網(wǎng)絡(luò)網(wǎng)關(guān)或設(shè)備包括經(jīng)由開放且一般不安全的網(wǎng)絡(luò)(諸如因特網(wǎng))來進(jìn)行安全通信。以便在虛擬專用網(wǎng)絡(luò)(VPN)上的任何 兩個節(jié)點(diǎn)之間建立安全通信,每個節(jié)點(diǎn)以某種方式獲得信息("配置"),該 信息包括但不局限于在該VPN內(nèi)遠(yuǎn)程節(jié)點(diǎn)的身份和狀態(tài),在節(jié)點(diǎn)之間的 關(guān)系(VPN拓?fù)?,和用于在節(jié)點(diǎn)之間進(jìn)行認(rèn)證和數(shù)據(jù)通信加密的密碼術(shù)。 在兩個節(jié)點(diǎn)之間的安全通信通常被稱為"隧道(timnd)",而該節(jié)點(diǎn)本身常 常被稱為"隧道端子"。傳統(tǒng)的VPN解決方案由多個隧道端接設(shè)備組成, 該隧道端接設(shè)備向VPN通信提供了中央"集線器"。然后把軟件部署到希 望參與到VPN中的節(jié)點(diǎn),并且利用VPN設(shè)備的地址來手動配置該軟件, 然后執(zhí)行該軟件以便參與到VPN中。傳統(tǒng)的VPN解決方案暴露兩個端VPN 節(jié)點(diǎn)的內(nèi)部網(wǎng)絡(luò)拓樸??蛻舳?請求者)和資源(服務(wù))分別使用在他們 自己VPN節(jié)點(diǎn)上的本地IP地址來彼此通信。據(jù)此,可能希望應(yīng)用于應(yīng)用系統(tǒng),該應(yīng)用系統(tǒng)可以部署任何虛擬資源(服務(wù))并且可以在不公開本地內(nèi)部網(wǎng)絡(luò)拓樸的情況下經(jīng)由虛擬專用網(wǎng)絡(luò) 隧道來路由那些應(yīng)用級內(nèi)容。發(fā)明內(nèi)容依照一個實施例,使用動態(tài)VPN (DVPN)雙重代理機(jī)制來路由應(yīng)用級內(nèi)容的方法包括向第一虛擬專用網(wǎng)絡(luò)節(jié)點(diǎn)上的至少一個客戶端提供以 第二虛擬專用網(wǎng)絡(luò)節(jié)點(diǎn)作主機(jī)的可用資源列表;在不暴露該第二虛擬專用 網(wǎng)絡(luò)節(jié)點(diǎn)上可用資源列表的實際IP地址的情況下由該至少一個客戶端從以 該第二虛擬專用網(wǎng)絡(luò)節(jié)點(diǎn)作主機(jī)的可用資源列表中發(fā)起對該至少一個資源的請求,就好像該至少一個資源在該至少一個客戶端本地上一樣;經(jīng)由在該第一虛擬專用網(wǎng)絡(luò)節(jié)點(diǎn)和第二虛擬專用網(wǎng)絡(luò)節(jié)點(diǎn)之間的安全連接(隧道)把該請求路由到該至少一個資源;在不暴露該第一虛擬專用網(wǎng)絡(luò)節(jié)點(diǎn)上至 少 一 個客戶端的實際IP地址的情況下,對該第二虛擬專用網(wǎng)絡(luò)節(jié)點(diǎn)上至少一個資源的請求作出響應(yīng),就好像在該第二虛擬專用網(wǎng)絡(luò)節(jié)點(diǎn)上本地發(fā)起 該請求一樣;并且經(jīng)由該安全連接把該響應(yīng)從該第二虛擬專用網(wǎng)絡(luò)節(jié)點(diǎn)路 由回到該第一虛擬專用網(wǎng)絡(luò)節(jié)點(diǎn)上的至少一個客戶端。
現(xiàn)在參考在附圖中所示的優(yōu)選實施例來非常詳細(xì)地描述本發(fā)明,其中 同樣的元素帶有同樣的附圖標(biāo)記,并且其中圖l依照 一個實施例示出了使用雙重代理方法在虛擬專用網(wǎng)絡(luò)系統(tǒng)內(nèi) 的兩個對等體VPN節(jié)點(diǎn)之間進(jìn)行應(yīng)用級內(nèi)容路由的動態(tài)虛擬專用網(wǎng)絡(luò) (DVPN)系統(tǒng)的示意圖;圖2示出了與在虛擬專用網(wǎng)絡(luò)系統(tǒng)的兩個VPN節(jié)點(diǎn)之間進(jìn)行遠(yuǎn)程資源 部署的信息設(shè)置相關(guān)的圖表;圖3示出了用于在兩個對等體VPN節(jié)點(diǎn)之間進(jìn)行遠(yuǎn)程資源訪問的 DVPN體系結(jié)構(gòu)的示意圖;圖4依照 一個實施例示出了與在兩個對等體VPN節(jié)點(diǎn)之間進(jìn)行遠(yuǎn)程資 源服務(wù)部署的信息設(shè)置相關(guān)的圖表;圖5依照 一個實施例示出了關(guān)于在兩個對等體VPN節(jié)點(diǎn)之間的遠(yuǎn)程資 源(ftp)訪問分組流的表;圖6依照一個實施例示出了在具有使用多個(傳輸控制協(xié)議,TCP)端口的應(yīng)用協(xié)議的對等體VPN節(jié)點(diǎn)之間的動態(tài)VPN ( DVPN )體系結(jié)構(gòu)的示意圖;圖7依照如圖6所示的實施例示出了與在兩個對等體VPN節(jié)點(diǎn)之間使 用多個(TCP)應(yīng)用端口進(jìn)行遠(yuǎn)程資源服務(wù)部署的信息設(shè)置相關(guān)的圖表;圖8依照如圖6和7所示的實施例示出了與在兩個對等體VPN節(jié)點(diǎn)之 間使用多個(TCP)端口進(jìn)行遠(yuǎn)程資源訪問的分組流相關(guān)的表;圖9依照 一 個實施例示出了經(jīng)由中間VPN節(jié)點(diǎn)作為代理轉(zhuǎn)送的在兩個 對等體VPN節(jié)點(diǎn)之間的動態(tài)VPN (DVPN)體系結(jié)構(gòu)的示意圖;圖10依照如圖9所示的實施例示出了與經(jīng)由中間節(jié)點(diǎn)在兩個對等體 VPN節(jié)點(diǎn)之間進(jìn)行遠(yuǎn)程資源訪問的信息設(shè)置相關(guān)的圖表;圖11依照如圖9和IO所示的實施例示出了與經(jīng)由中間節(jié)點(diǎn)在兩個對 等體VPN節(jié)點(diǎn)之間進(jìn)行遠(yuǎn)程資源訪問的分組流的表。
具體實施方式
可以理解,今天許多工業(yè)和企業(yè)注意通過提高雇員生產(chǎn)率和企業(yè)靈活 性來簡化和優(yōu)化他們的商業(yè)運(yùn)作同時使網(wǎng)絡(luò)管理現(xiàn)代化并節(jié)省驚人的成 本。為了內(nèi)部和遠(yuǎn)程地提供安全的按需訪問,虛擬專用網(wǎng)絡(luò)(VPN)設(shè)備 (又名網(wǎng)關(guān))可以把雇員與遠(yuǎn)程應(yīng)用和信息(即,資源/服務(wù))需要相連接 以便滿足從小的本地企業(yè)到大的全球企業(yè)以及從金融服務(wù)和健康到政府和 教育的客戶需要。例如,對應(yīng)用和具有網(wǎng)絡(luò)功能的內(nèi)容的安全訪問幾乎可 以被所有類型的企業(yè)利用,從快速傳遞醫(yī)療工業(yè)中管理和臨床應(yīng)用和病人 記錄,并對其進(jìn)行安全訪問,改進(jìn)客戶服務(wù)業(yè)務(wù)及服務(wù)同時降低金融機(jī)構(gòu) 的成本,根據(jù)零售商的供應(yīng)鏈和雇員來產(chǎn)生最優(yōu)的生產(chǎn)率,能夠?qū)芾砗?教育應(yīng)用進(jìn)行快速、安全訪問;向政府部門提供對重要搡作和數(shù)據(jù)的快速訪問和鎧裝的安全性;以及經(jīng)由因特網(wǎng)利用整體的管理來提供快速和安全 訪問及電子郵件服務(wù)、最優(yōu)的可用性和安全性的能力。具有網(wǎng)絡(luò)功能的應(yīng)用幫助綜合公司系統(tǒng)因此他們共享信息并且把雇員、供應(yīng)商和管理員連接到自動化商業(yè)過程。不考慮因特網(wǎng)是否正用于金 融、供應(yīng)鏈、客戶關(guān)系管理或其它商業(yè)關(guān)鍵應(yīng)用,仍然存在同樣的必須要 求在沒有適當(dāng)性能級別、可用性和安全性的情況下,應(yīng)用無法給出所允 諾的回報。此外,因為客戶端和客戶端設(shè)備要求經(jīng)由基于網(wǎng)絡(luò)或具有網(wǎng)絡(luò) 功能的程序來大量訪問數(shù)據(jù)和服務(wù),所以對性能、可用性和安全性增強(qiáng)產(chǎn) 品和解決方案的需要從來就不太大。圖1依照一個實施例示出了使用雙重代理方法來用于應(yīng)用級內(nèi)容路由的動態(tài)虛擬專用網(wǎng)絡(luò)(DVPN)系統(tǒng)10的示意圖。如圖1所示,系統(tǒng)10 包括具有至少一個客戶端或客戶端機(jī)器al.x,com32 (諸如計算機(jī))的第一 虛擬專用網(wǎng)絡(luò)節(jié)點(diǎn)(客戶端VPN節(jié)點(diǎn))x.com 20和與該第一 VPN節(jié)點(diǎn)20 相關(guān)聯(lián)的動態(tài)虛擬專用網(wǎng)絡(luò)(DVPN)代理服務(wù)器40,和具有至少一個資 源svl.y.com 62的第二虛擬專用網(wǎng)絡(luò)節(jié)點(diǎn)(資源VPN節(jié)點(diǎn))y.com 50,以 及與該第二 VPN節(jié)點(diǎn)50相關(guān)聯(lián)的第二動態(tài)虛擬專用網(wǎng)絡(luò)(DVPN)代理 服務(wù)器70。第一和第二DVPN代理服務(wù)器40、 70共同工作,以在不公開 第一和第二 VPN節(jié)點(diǎn)20、 50的本地內(nèi)部網(wǎng)絡(luò)拓樸的情況下部署任何資源 來供客戶端遠(yuǎn)程訪問。第一和第二虛擬專用網(wǎng)絡(luò)節(jié)點(diǎn)20、 50優(yōu)選被配置為 經(jīng)由通信網(wǎng)絡(luò)80(即,因特網(wǎng))在每端上使用虛擬專用網(wǎng)絡(luò)網(wǎng)關(guān)(未在圖 1中示出)來彼此安全地通信。此外,可以理解客戶端VPN節(jié)點(diǎn)可以被配 置為給至少一個資源作主機(jī),以致資源VPN節(jié)點(diǎn)還可以是客戶端節(jié)點(diǎn),并 且該客戶端節(jié)點(diǎn)可以被用為資源節(jié)點(diǎn)??梢岳斫?,在網(wǎng)絡(luò)系統(tǒng)10(圖1)的第一和第二節(jié)點(diǎn)20、 50之間的數(shù) 據(jù)交換可以處于在諸如計算設(shè)備(例如,計算機(jī)、個人數(shù)字助理(PDA)、 蜂窩電話、具有嵌入式中央處理器(CPU) /軟件的任何設(shè)備)之類的客戶 端或客戶端機(jī)器32和/或在計算設(shè)備上運(yùn)行的應(yīng)用與一組資源(文件、服 務(wù)、設(shè)備等)之間,該資源可以用單個名稱和/或IP地址來標(biāo)識。節(jié)點(diǎn)20、 50中的每個優(yōu)選包括敏感性信息,例如包含關(guān)于金融、商業(yè)發(fā)展計劃或私人電子郵件的機(jī)密數(shù)據(jù)。依照一個實施例,系統(tǒng)IO可以包括用于虛擬專用網(wǎng)絡(luò)(VPN)進(jìn)行應(yīng) 用級內(nèi)容路由的系統(tǒng)和方法。如圖1所示,第一和第二DVPN (動態(tài)虛擬專用網(wǎng)絡(luò))代理服務(wù)器40、 70被這樣配置以致應(yīng)用及其它相關(guān)資源,諸如 在一個VPN節(jié)點(diǎn)20、 50上的電子郵件,可被其它VPN節(jié)點(diǎn)20、 50依照 這樣的方式訪問,其中當(dāng)通過提供應(yīng)用級內(nèi)容路由并且提供用于動態(tài)虛擬 專用網(wǎng)絡(luò)隧道管理的方法和系統(tǒng)來傳輸或訪問資源時在不公開兩個VPN 節(jié)點(diǎn)的本地網(wǎng)絡(luò)拓?fù)涞那闆r下該資源是安全的。第一和第二 VPN節(jié)點(diǎn)20、 50均分別包括至少一個DVPN代理服務(wù)器40、 70,其可以以虛擬專用網(wǎng) 絡(luò)網(wǎng)關(guān)(未在圖1中示出)或?qū)S梅?wù)器為主機(jī)。DVPN代理服務(wù)器使客 戶端或客戶端設(shè)備al.x.com 32能夠進(jìn)行請求并連接到其它VPN節(jié)點(diǎn)上的 資源,諸如節(jié)點(diǎn)50上的資源svl.y.eom 62,并且在不知道第二 VPN節(jié)點(diǎn) 50的具體IP地址和/或網(wǎng)絡(luò)拓樸的情況下接收回響應(yīng)。在使用中,客戶端 或客戶端設(shè)備al.x.com 32請求在遠(yuǎn)程VPN節(jié)點(diǎn)y.com 50上可用的文件或 其它資源。用于充當(dāng)虛擬資源svl.y.com 36的第一 VPN節(jié)點(diǎn)20上的第一 DVPN代理服務(wù)器40將接收該請求,并且經(jīng)由用于充當(dāng)?shù)诙?VPN節(jié)點(diǎn)50 上的虛擬客戶端al.x.com 66的第二 DVPN代理服務(wù)器70把該請求路由到 第二 VPN節(jié)點(diǎn)50上的遠(yuǎn)程資源。響應(yīng)沿著反向的路徑??梢岳斫庥袝r候, DVPN代理服務(wù)器可以為了各種目的而改變客戶端請求或服務(wù)器響應(yīng)的內(nèi) 容,該目的諸如為了支持Microsoft交換協(xié)議傳報應(yīng)用程序接口 (MAPI) 和Windows文件共享協(xié)議公共因特網(wǎng)文件系統(tǒng)(CIFS),其將IP地址和端 口號嵌入到它們內(nèi)容中。如圖1所示,使用用于把一個協(xié)議或會話封裝在另一協(xié)議或會話內(nèi)的 隧道協(xié)議來在第一 VPN節(jié)點(diǎn)20和第二 VPN節(jié)點(diǎn)50之間經(jīng)由諸如因特網(wǎng) 之類的通信網(wǎng)絡(luò)80建立隧道90。隧道協(xié)議優(yōu)選包括適當(dāng)?shù)膮f(xié)議,其中旨 在使用的數(shù)據(jù)傳輸僅在于專用,通常為通過以某種方式的公共網(wǎng)絡(luò)的公司網(wǎng),該方式為公共網(wǎng)絡(luò)中的路由節(jié)點(diǎn)沒有意識到傳輸屬于專用網(wǎng)絡(luò)的一部 分。可以理解的是,優(yōu)選地通過將專用網(wǎng)絡(luò)數(shù)據(jù)和協(xié)議封裝在公共網(wǎng)絡(luò)傳 輸單元中來實現(xiàn)該隧道,這樣專用網(wǎng)絡(luò)協(xié)議信息作為數(shù)據(jù)出現(xiàn)在該公共網(wǎng) 絡(luò)??梢岳斫庖勒找粋€實施例,諸如節(jié)點(diǎn)20之類的每個VPN節(jié)點(diǎn)包括虛 擬資源列表,諸如svl.y.com 62位于網(wǎng)絡(luò)系統(tǒng)10內(nèi)的其它VPN節(jié)點(diǎn)50上。 可以在節(jié)點(diǎn)20、 50之間交換可用資源62的列表使用任何適當(dāng)?shù)墓挤椒?即,資源提供)。例如,可用資源svl.y.com 62的公布可以包括由節(jié)點(diǎn)或 網(wǎng)絡(luò)管理員手動輸入(或提供)資源62和/或動態(tài)地資源提供,其中在第 一和第二VPN節(jié)點(diǎn)20、50之間隧道的建立提供可用資源62的列表的輸出, 作為第二 VPN節(jié)點(diǎn)50處的主機(jī),以致可以提供至少 一個資源62用于由與 第一 VPN節(jié)點(diǎn)20相關(guān)聯(lián)的客戶端來訪問。在適當(dāng)?shù)馁Y源提供之后,第一 DVPN代理服務(wù)器40以遠(yuǎn)程資源62的名義與客戶端32相交互,就好像該 遠(yuǎn)程資源62作為具有在第一 VPN節(jié)點(diǎn)20上具有本地IP地址10丄1.20的(虛擬)資源36 —樣。該過程還可以應(yīng)用于從VPN節(jié)點(diǎn)20向VPN節(jié)點(diǎn) 50提供資源。依照 一個實施例,使用諸如安全套接協(xié)議層(SSL, secure sockets layer) 或傳輸層安全性(TLS, transport layer security )之類的安全協(xié)議來形成隧 道90,其向如電子郵件、因特網(wǎng)傳真以及其它數(shù)據(jù)轉(zhuǎn)送這類事物提供了因 特網(wǎng)上的安全通信。SSL使用密碼術(shù)提供了經(jīng)由因特網(wǎng)的端點(diǎn)認(rèn)證和通信 保密。在典型的使用中,只有服務(wù)器進(jìn)行認(rèn)證(即確保其身份)而客戶端 保持未經(jīng)認(rèn)證;相互認(rèn)證要求對客戶端進(jìn)行公鑰基礎(chǔ)結(jié)構(gòu)(PKI, public key infrastructure)部署。如圖1所示,第一 VPN節(jié)點(diǎn)20具有域名x.com并且第二 VPN節(jié)點(diǎn) 50具有域名y.com。 VPN節(jié)點(diǎn)20、 50中的每個包括諸如svl.y.com62之類 的至少一個資源,其可以經(jīng)由諸如svl.y,com之類的資源名稱來訪問。為了遠(yuǎn)程訪問在具有域名y.com的第二 VPN節(jié)點(diǎn)50上的資源svl.y.com 62,與 第一 VPN節(jié)點(diǎn)20相關(guān)聯(lián)的客戶端al .x.com 32經(jīng)由第一 VPN節(jié)點(diǎn)20上的 第一 DVPN代理服務(wù)器40來發(fā)起訪問資源62的請求,以便在第一 VPN 節(jié)點(diǎn)20和第二 VPN節(jié)點(diǎn)50之間經(jīng)由通信網(wǎng)絡(luò)80建立優(yōu)選安全的連接或 隧道90。第二 VPN節(jié)點(diǎn)50上的資源62具有資源名稱svl.y.com,其具有 唯一的數(shù)字IP地址(例如,第二 VPN節(jié)點(diǎn)上的10.2丄200)。在適當(dāng)?shù)奶?供之后,遠(yuǎn)程資源62具有本地IP地址10丄1.20作為第一 VPN節(jié)點(diǎn)20上 的(虛擬)資源36。當(dāng)?shù)谝籚PN節(jié)點(diǎn)20內(nèi)的客戶端al.x.com32請求訪問 以第二 VPN節(jié)點(diǎn)50作主機(jī)的遠(yuǎn)程資源svl.y.com 62時,資源名稱svl.y.com 經(jīng)由第一 VPN節(jié)點(diǎn)20上的第一域名服務(wù)器(DNS) 30被轉(zhuǎn)換為本地IP 地址10丄1.20。然后,用于充當(dāng)虛擬遠(yuǎn)程資源36的第一 DVPN代理服務(wù) 器40會接收第一VPN節(jié)點(diǎn)20上的請求。第一VPN節(jié)點(diǎn)20上的第一DVPN 代理服務(wù)器40通過安全連接90將該請求報文封裝到第二 VPN節(jié)點(diǎn)50上 的第二 DVPN代理服務(wù)器70。用于充當(dāng)虛擬客戶端al.x.com 66的第二 DVPN代理服務(wù)器70利用第二 VPN節(jié)點(diǎn)50上的資源sv 1 .yxom 62的本地 源IP地址10.2丄11 (用于虛擬客戶端al.x.com 66)和本地目的IP地址 10.2丄200來發(fā)送請求。響應(yīng)沿著反向的路徑/過程。第一和第二DVPN代 理服務(wù)器共同工作以便接收具有第一 VPN節(jié)點(diǎn)20內(nèi) 一 對源和目的IP地址 的請求,通過安全連接90把它報文封裝到第二 VPN節(jié)點(diǎn)50,繼而發(fā)送具 有第二 VPN節(jié)點(diǎn)50內(nèi)的一對源和目的IP地址的請求。這使第一 DVPN代 理服務(wù)器40能夠使用第一 VPN節(jié)點(diǎn)20上的本地IP地址以遠(yuǎn)程資源62的 名義與客戶端32相交互,并且第二 DVPN代理服務(wù)器70使用第二 VPN 節(jié)點(diǎn)50上的本地IP地址以(遠(yuǎn)程)客戶端32的名義與該資源62相交互。 這還使請求能夠在數(shù)據(jù)分組不必在傳輸期間訪問或穿越因特網(wǎng)80上的 DNS (域名服務(wù)器)或內(nèi)容路由器的情況下被報文封裝到第二 VPN節(jié)點(diǎn) 50??梢岳斫鉃榱税踩远S護(hù)網(wǎng)絡(luò)不透明性,優(yōu)選只交換遠(yuǎn)程訪問可用 資源或應(yīng)用所需要的最小數(shù)據(jù)。例如,為了遠(yuǎn)程訪問第二 VPN節(jié)點(diǎn)50的 服務(wù)器內(nèi)的資源,只需要資源名稱。然而可以理解還可能需要應(yīng)用端口號 和/或唯 一標(biāo)識符??梢岳斫饪梢詰?yīng)用其它適當(dāng)協(xié)議或規(guī)則,以允許該DVPN代理服務(wù)器從該第一虛擬專用網(wǎng)絡(luò)節(jié)點(diǎn)20請求并獲得遠(yuǎn)程資源的本地因 特網(wǎng)協(xié)議(IP)地址。每當(dāng)從第一 VPN節(jié)點(diǎn)20請求獲取在y.com上或來自 y.com的資源時,第一 VPN節(jié)點(diǎn)20上的DNS 30把資源名稱解析為本地IP 地址以致該請求可以由用于充當(dāng)虛擬資源36的第一 DVPN代理服務(wù)器40 接收,其會代理經(jīng)由隧道90到第二VPN節(jié)點(diǎn)50的通信業(yè)務(wù)??梢岳斫饷?個DVPN代理服務(wù)器優(yōu)選還包括用于標(biāo)識發(fā)起通信業(yè)務(wù)的唯一客戶端機(jī)器 的信息。依照一個實施例,每當(dāng)建立新的VPN會話隧道時可以創(chuàng)建動態(tài)會 話標(biāo)識符。動態(tài)會話標(biāo)識符或會話ID優(yōu)選是基于源和目的名稱和/或IP地 址或任何適當(dāng)方法的唯一散列值。如圖1所示,第一VPN節(jié)點(diǎn)20具有第一域名服務(wù)器(DNS) 30,其 被配置為把遠(yuǎn)程資源名稱svl.y.com解析為本地IP地址10.1丄20。第一VPN 節(jié)點(diǎn)20優(yōu)選包括動態(tài)主機(jī)配置協(xié)議(DHCP)服務(wù)器(未在圖1中示出), 用于在資源提供步驟把諸如10丄l,20之類的本地IP地址分配給svl.y.com。 為此還可以使用IP池或靜態(tài)IP分配,其在不暴露第二 VPN節(jié)點(diǎn)的網(wǎng)絡(luò)拓 撲和/或IP地址的情況下使第二 VPN節(jié)點(diǎn)50上的遠(yuǎn)程資源62能夠作為第 一 VPN節(jié)點(diǎn)20上的虛擬本地資源36被訪問。第一和第二 VPN節(jié)點(diǎn)40、 70用于轉(zhuǎn)換用來訪問在其它VPN節(jié)點(diǎn)內(nèi)資源的任何請求的能力提供了附 加的安全性,其中在不必訪問通信網(wǎng)絡(luò)80內(nèi)的內(nèi)容路由器或內(nèi)容路由代理 的情況下把請求報文封裝到其它VPN節(jié)點(diǎn)。另外,可以理解IP地址還包括端口號,其中該端口號優(yōu)選采用TCP 和UDP協(xié)議的形式??梢源嬖谟跀?shù)據(jù)分組首部中的端口號可以用來把數(shù)據(jù) 映射到在客戶端或客戶端機(jī)器上運(yùn)行的特定過程和資源(服務(wù)器)上的應(yīng)用具體過程。例如,如果郵件代理服務(wù)器用于在第一和第二VPN節(jié)點(diǎn)內(nèi)發(fā) 送和接收電子郵件,那么該第一和第二VPN節(jié)點(diǎn)都包括簡單郵件傳送協(xié)議(SMTP, simple mail transfer protocol)和第三代郵局協(xié)議3 ( POP3, post office protocol version 3 )服務(wù),其中這些由不同的服務(wù)器進(jìn)程來處理,并 且可以使用端口號來確定哪個數(shù)據(jù)與哪個進(jìn)程相關(guān)聯(lián)。圖2示出了在兩個VPN節(jié)點(diǎn)之間遠(yuǎn)程資源部署的設(shè)置信息的圖表,包 括各個客戶端組以及用于每個客戶端組的資源組。如圖2所示,第一VPN 節(jié)點(diǎn)20包括客戶端組(al.x.com和a2.x.com)、作為與第二 VPN節(jié)點(diǎn)50 相關(guān)聯(lián)的遠(yuǎn)程資源的資源組svl.y.com:8080、可以被分配給(虛擬)資源 svl.y.com (圖1, 36)的本地IP地址池10丄1.20以及用于與第二 VPN節(jié) 點(diǎn)50安全通信的隧道標(biāo)識符(vpn.y.com:443 )。第二 VPN節(jié)點(diǎn)50包括(虛 擬)客戶端組(al.x.com和a2.x.com)、資源組(svl.y.com:8080 )及第二 VPN節(jié)點(diǎn)50內(nèi)的本地IP地址10.2丄200:80、可以被分配給虛擬客戶端 al.x.com和a2.x.com(圖1, 66)的本地IP地址池10.2.1,11-12以及用于與 該第一 VPN節(jié)點(diǎn)20安全通信的隧道標(biāo)識符(vpn,x.com:443 )。第一和第二 虛擬專用網(wǎng)絡(luò)節(jié)點(diǎn)20、 50優(yōu)選經(jīng)由通信網(wǎng)絡(luò)80 (即,因特網(wǎng))或其它適 當(dāng)?shù)陌踩W(wǎng)絡(luò)連接來彼此通信。在第一 VPN節(jié)點(diǎn)20上,客戶端名稱 al.x.com和a2.x.com可以通過由第一 DVPN代理服務(wù)器進(jìn)行反向DNS查 找從他們的本地IP地址獲得。在第二VPN節(jié)點(diǎn)50上,該資源可以由諸如 svl.y.com或本地IP地址之類的預(yù)先分配名稱來標(biāo)識。在后一種情況中, 第二DVPN代理服務(wù)器向資源分配任意的但是唯一的名稱以供在第一和第 二DVPN代理服務(wù)器40、 70之間內(nèi)部使用。圖3示出了在用于遠(yuǎn)程資源訪問的兩個VPN節(jié)點(diǎn)20、 50之間的DVPN(動態(tài)虛擬專用網(wǎng)絡(luò))系統(tǒng)10的示意圖。如圖3所示,該系統(tǒng)10包括具 有第一 DVPN代理服務(wù)器T (x->y ) 40的第一 VPN節(jié)點(diǎn)20和具有第二 DVPN代理服務(wù)器T (x<-y) 70的第二 VPN節(jié)點(diǎn)50。依照一個實施例,第一 DVPN代理服夯器用于充當(dāng)?shù)谝?VPN節(jié)點(diǎn)20上客戶端(例如,al.x.com 32)的第二 VPN節(jié)點(diǎn)50的虛擬(遠(yuǎn)程)資源svl.y.com (圖1, 36),并且 第二 DVPN代理服務(wù)器用于充當(dāng)?shù)诙?VPN節(jié)點(diǎn)50上資源(例如,svl.y.com 62)的第一VPN節(jié)點(diǎn)20的虛擬客戶端(圖1, 66)。如圖3所示的系統(tǒng)10 可以提供對多個資源的控制訪問,該資源以第二 VPN節(jié)點(diǎn)50作主機(jī)。多 個資源可以被第一 VPN節(jié)點(diǎn)20內(nèi)的多個客戶端安全地訪問,其中多個客 戶端對在網(wǎng)絡(luò)之外的其它客戶端以及可以訪問該多個資源的其它客戶端來 說是透明的。盡管如圖3所示的系統(tǒng)10被配置為用于一個客戶端從第一 VPN節(jié)點(diǎn) 20 (客戶端節(jié)點(diǎn))訪問第二VPN節(jié)點(diǎn)50 (資源節(jié)點(diǎn)),然而可以理解該客 戶端節(jié)點(diǎn)可以被配置為至少一個資源或應(yīng)用作主機(jī),以致該資源節(jié)點(diǎn)還可 以是客戶端節(jié)點(diǎn),并且該客戶端節(jié)點(diǎn)可以被利用為資源節(jié)點(diǎn)。另外,可以 理解系統(tǒng)IO可以按需提供應(yīng)用級內(nèi)容路由,其可能啟用諸如遠(yuǎn)程打印、文 件服務(wù)器和電子郵件中繼和轉(zhuǎn)送之類的遠(yuǎn)程資源訪問,其對因特網(wǎng)90來說 是安全且透明的。另外,可以在不改變客戶端和資源節(jié)點(diǎn)的現(xiàn)有網(wǎng)絡(luò)拓?fù)?的情況下實現(xiàn)系統(tǒng)10。依照一個實施例,VPN節(jié)點(diǎn)20、 50中的每個優(yōu)選包含資源,其可以 在不要求任何一個管理員知道其它網(wǎng)絡(luò)的拓?fù)涞那闆r下依照透明方式從另 一 VPN節(jié)點(diǎn)遠(yuǎn)程訪問??梢酝ㄟ^按照逐個節(jié)點(diǎn)基礎(chǔ)或其它適當(dāng)方法通過公 布/提供機(jī)制使資源列表可用。第一和第二DVPN代理服務(wù)器40、 70經(jīng)由 通信網(wǎng)絡(luò)80維護(hù)高可用性(HA, high availability ) VPN控制隧道92,以 便交換VPN會話隧道請求。當(dāng)從與第一 VPN節(jié)點(diǎn)20相關(guān)聯(lián)的客戶端 al.x.com 32請求用于充當(dāng)(虛擬)資源svl.y.com 62的第二 VPN節(jié)點(diǎn)50 內(nèi)的資源svl.y.com 62時,該第一 VPN節(jié)點(diǎn)20上的第一 DVPN代理服務(wù) 器40接收該請求并且經(jīng)由VPN控制隧遒92向第二 DVPN代理服務(wù)器70 發(fā)起會話請求以便建立用于與資源svl.y.com 62連接的VPN會話隧道94,該資源svl.y.com 62在該第二 VPN節(jié)點(diǎn)50上可用。第一 VPN節(jié)點(diǎn)20上 的第一 DVPN代理服務(wù)器40使用本地IP地址來接收該請求,并且經(jīng)由VPN 控制隧道92把該請求路由到第二虛擬專用網(wǎng)絡(luò)節(jié)點(diǎn)上50的第二 DVPN代 理服務(wù)器70。第二代理服務(wù)器70使用第二 VPN節(jié)點(diǎn)50上的本地IP地址 以客戶端al.x,com32的名義向資源svl.y.com 62發(fā)布請求。把客戶端名稱 al.x.com和資源名稱svl.y.com轉(zhuǎn)換為本地IP地址優(yōu)選由第一和第二 VPN 節(jié)點(diǎn)20、 50內(nèi)的域名服務(wù)器30和60 (圖1)來執(zhí)行。作為在兩個連接VPN節(jié)點(diǎn)20、 50的第一和第二 DVPN代理服務(wù)器之 間的初始信號交換的一部分,選擇性地,對從客戶端al.x.com 32訪問資源 svl.y.com 62的請求來說經(jīng)由到認(rèn)證和授權(quán)(AAA)服務(wù)器64的VPN設(shè) 備或網(wǎng)關(guān)(未示出)內(nèi)的認(rèn)證和授權(quán)模塊或服務(wù)來檢査。認(rèn)證和授權(quán)(AAA) 服務(wù)器64將檢查您是誰(認(rèn)證);允許您作什么(授權(quán));以及您實際上 作什么(記帳/審計)。可以理解記帳信息可以在跟蹤客戶端中用于安全審 計、開帳單或報告目的。當(dāng)通過AAA檢查時,在兩個DVPN代理服務(wù)器 40、 70之間建立VPN會話隧道94以用于在客戶端al.x.com 32和資源 svl.y.com 62之間的進(jìn)一步數(shù)據(jù)通信業(yè)務(wù)。在客戶端al.x.com 32已經(jīng)(經(jīng)由VPN會話隧道92)與遠(yuǎn)程資源 svl.y.com 62建立安全連接之后,客戶端可以向應(yīng)用通信進(jìn)行多個基于網(wǎng)絡(luò) 的應(yīng)用(諸如但不局限于把文件上傳到資源62的文件處理操作),從該資 源62下載文件,重命名或刪除該資源62上的文件或其它適當(dāng)?shù)膭幼?。?客戶端32所請求的操作被第一 VPN節(jié)點(diǎn)20上的第一 DVPN代理服務(wù)器 40 (用于充當(dāng)虛擬資源svl.y.com 62)接收,該第一 DVPN代理服務(wù)器40 經(jīng)由在第一和第二虛擬專用網(wǎng)絡(luò)節(jié)點(diǎn)20、 50上的第一和第二 DVPN代理 服務(wù)器之間所建立的VPN會話隧道94轉(zhuǎn)送該請求。第二 DVPN代理服務(wù) 器經(jīng)由VPN會話隧道94接收所請求的操作,繼而向資源62發(fā)布所請求的 搡作(用于充當(dāng)al.x.com 32的虛擬客戶端),對該資源62執(zhí)行所想要的操作。資源62經(jīng)由第二 VPN節(jié)點(diǎn)50上的第二 DVPN代理服務(wù)器和所建立 的VPN會話隧道94向客戶端32發(fā)送分組(即,格式化的數(shù)據(jù)塊)來作出 響應(yīng)。該響應(yīng)由第一虛擬專用網(wǎng)絡(luò)節(jié)點(diǎn)20上的第一 DVPN代理服務(wù)器40 接收,該第一 DVPN代理服務(wù)器40把該響應(yīng)轉(zhuǎn)送到客戶端32。圖4依照如圖3所示的實施例示出了與作為 一個例子使用文件傳輸協(xié) 議(ftp)進(jìn)行遠(yuǎn)程資源部署的信息設(shè)置相關(guān)的圖表??梢岳斫庥糜谥T如文 件傳輸或數(shù)據(jù)交換之類的遠(yuǎn)程資源訪問的請求可以依照文件傳輸協(xié)議或任 何其它適當(dāng)?shù)膮f(xié)議。如圖4所示,第一 VPN節(jié)點(diǎn)20可以包括客戶端組 al.x.com和a2.x.com,具有(虛擬)資源組svl.y.com:2121,可以被分配給(虛擬)資源svl.y.com:2121的本地IP地址10.1.1.20和與第二 VPN節(jié)點(diǎn) 50的安全隧道標(biāo)識符(vpn.y.com:443 )。第二 VPN節(jié)點(diǎn)50還可以包括(虛 擬)客戶端組,al.x.com和a2.x.函、實際資源svl,y.com:2121及本地IP 地址10.2.1.200:21、可以被分配給虛擬客戶端組(al .x.com和a2.x.com )的 本地IP地址池(10.2丄11-12)以及與該第一 VPN節(jié)點(diǎn)20的安全隧道標(biāo)識 符(vpn.x.com:443 )。第一和第二 VPN節(jié)點(diǎn)20、 50彼此經(jīng)由通信網(wǎng)絡(luò)80(即,因特網(wǎng))通信。在第一VPN節(jié)點(diǎn)20上,客戶端組的名稱al.x.com 和a2,x.com可以通過由第一 DVPN代理服務(wù)器進(jìn)行反向DNS查找來根據(jù) 他們的本地IP地址標(biāo)識。在第二 VPN節(jié)點(diǎn)50上,該資源可以由諸如 svl.y.com或本地IP地址之類的預(yù)先分配名稱來標(biāo)識。在后一種情況中, 第二 D VPN代理服務(wù)器可以向資源分配任意的但是唯 一 的名稱以供在第一 和第二 DVPN代理服務(wù)器之間使用。圖5依照如圖3和4所示的實施例示出了在兩個DVPN代理服務(wù)器之 間的信號交換和數(shù)據(jù)分組流以用于服務(wù)對遠(yuǎn)程資源的客戶端ftp請求相關(guān) 的表。系統(tǒng)10包括第一 VPN節(jié)點(diǎn)x.com 20上的客戶端al.x.com (圖3, 32 ),用于訪問第二 VPN節(jié)點(diǎn)y.com 50上的遠(yuǎn)程資源(ftp服務(wù)器)svl.y.com(圖3, 62)。如圖5的行1所示,當(dāng)客戶端發(fā)起用于訪問ftp服務(wù)器的請求al.xxom-ftp-〉svl.y.com 110時,在第一和第二 DVPN代理服務(wù)器之 間開始信號交換。第一 VPN節(jié)點(diǎn)x.com 20上的第一 DVPN代理服務(wù)器T (x->y)向VPN控制隧道(圖3, 92)發(fā)送會話請求112,該會話請求112 由第二 VPN節(jié)點(diǎn)50上的第二DVPN代理服務(wù)器T (x<-y)接收114。依照一個實施例,可以使用如圖3-5所示的應(yīng)用級內(nèi)容路由系統(tǒng)來執(zhí) 行在應(yīng)用級上轉(zhuǎn)送文件或數(shù)據(jù)。按照圖3中的步驟順序來解釋圖5中的信 號交換和數(shù)據(jù)分組流。圖4示出了用于在第一和第二 DVPN代理服務(wù)器之 間映射客戶端和資源名稱、IP地址和端口號的設(shè)置信息。步驟l:客戶端al.x.com (圖3, 32 )發(fā)送用于請求訪問y.com 50上的 svl.y,com的TCP同步分組lO丄Ul:llll - syn-> 10.1丄20:2121(圖5,120)。 源IP地址lO丄l.ll是具有第一 VPN節(jié)點(diǎn)20上客戶端al.x.com的端口號 Uli的本地IP地址。目的IP地址10丄1.20是具有第一節(jié)點(diǎn)x.com 20上遠(yuǎn) 程資源svl.y.com的端口號2121的本地IP地址。步驟2:以遠(yuǎn)程資源的名義,第一代理服務(wù)器T(x》y)接收該請求并 且經(jīng)由VPN控制隧道(圖3, 92)向第二代理服務(wù)器T (x<-y)發(fā)送 al.x.com:llll-ftp->svl.y.com:2121 (圖5, 130)。圖4示出了從第一VPN 節(jié)點(diǎn)20上的遠(yuǎn)程資源的本地IP地址10丄1.20到遠(yuǎn)程資源名稱 svl.y.com:2121的映射信息。步驟3:當(dāng)接收該請求時,第二代理服務(wù)器T (x<-y)向第二 VPN節(jié) 點(diǎn)50上的al.x.com:llll (經(jīng)圖4上的每個設(shè)置表)分配本地IP地址和端 口號10.2丄11:2222并且經(jīng)由VPN控制隧道92把具有資源svl.y.com:2121 的本地IP地址10.2丄200:21的此信息發(fā)回到(圖5, 140)第一代理服務(wù)器 T (x—y)。客戶端在第一節(jié)點(diǎn)x.com 20上具有端口號1111并且在第二節(jié) 點(diǎn)y.com 50上具有端口號2222。該資源在第一節(jié)點(diǎn)x.com 20上具有端口號 2U1并且在第二節(jié)點(diǎn)y.com 50上具有端口號21 ??梢酝ㄟ^本地域名服務(wù)系 統(tǒng)(DNS)査找、靜態(tài)IP分配和任何其它適當(dāng)方法來執(zhí)行該資源名稱和IP地址映射。步驟3a:選擇性地,第二代理服務(wù)器T(x《y)執(zhí)行AAA檢查來認(rèn)證 并授權(quán)訪問請求。步驟4:第一代理服務(wù)器T( x->y )接收al.x.com: 1111 <畫> 10.2.1.11:2222 svl.y.com:2121 <-> 10.2.1.200:21 (圖5, 150),其包含客戶端和資源名稱及 它們在第二節(jié)點(diǎn)y.com 50上的本地IP地址和端口號??梢岳斫饪梢允褂玫?二虛擬專用網(wǎng)絡(luò)節(jié)點(diǎn)50上的本地IP地址和端口號來唯一地標(biāo)識此請求。 然而,還可以使用任何其它適當(dāng)?shù)姆椒?。步驟5:作為第一節(jié)點(diǎn)x.com 20上的虛擬客戶端al.x.com,第二代理 服務(wù)器T(x〈-y)向資源svl.y.com發(fā)送TCP同步分組(10.2.1.11:2222 - syn -> 10,2.1.200:21,圖5, 160 )。源IP地址10.2.1.11:2222是用于第二節(jié)點(diǎn)y.com 50上客戶端al.x.com的本地IP地址和端口號。目的IP地址10.2丄200:21 是第二節(jié)點(diǎn)z.com50上資源svl.y.com的本地IP地址和端口號2121。資源 (ftp服務(wù)器)svl.y.com利用TCP同步(syn)/確認(rèn)(ack)分組來向回作出響應(yīng) (10.2.1.200:21 -syn/ack-> 10.2.1.11:2222,圖5, 170)。步驟6:當(dāng)接收TCP同步/確認(rèn)分組(圖5, 770)時,第二代理服務(wù)器 T (x<-y)經(jīng)由圖3中的VPN控制隧道92向第一代理服務(wù)器T (x->y)發(fā) 送svl.y.com:21 - [id#l] syn/ack -> al.x.com:2222 (圖5, 180 ),用于通知第 二節(jié)點(diǎn)50上的資源svl.y.com是可用的并且準(zhǔn)備好用于第一節(jié)點(diǎn)20上的客 戶端al.x.com以進(jìn)行訪問。第二代理服務(wù)器根據(jù)客戶端名稱和資源名稱和/ 或任何適當(dāng)?shù)姆椒?,使用散列函?shù)來產(chǎn)生用于VPN會話隧道94的唯一標(biāo) 識符id弁l (圖3),其可以由這兩個代理服務(wù)器中的任何一個來唯一地重新 產(chǎn)生。唯一標(biāo)識符idW由這兩個代理服務(wù)器用來標(biāo)識在客戶端al.xxom32 和服務(wù)器svl.y.com 62之間通過VPN會話隧道94所交換的數(shù)據(jù)通信業(yè)務(wù)。步驟7:當(dāng)接收通知時,第一代理服務(wù)器把svl.y.com:21跌射到 svl.y.com:2121并且把a(bǔ)l.x.com:2222映射到al .x.coin: 1111 (圖5, 190)。端口號2121和1111是資源svl.y.com和第一節(jié)點(diǎn)x.com 20上的客戶端 al.x.com的本地端口號。此映射是基于在步驟2、 3和4中所交換的信息的(分別為圖5, 130, 140, 150)。然后,第一代理服務(wù)器T (x->y)以(遠(yuǎn) 程)資源svl.y.com的名義向客戶端al.x.com發(fā)送TCP同步/確認(rèn)分組, 10丄1.20:2121-syn/ack-> 10.1.1.11:1111 (圖5, 200)。步驟8:并行地,第二DVPN代理服務(wù)器T (x<-y)經(jīng)由VPN控制隧 道92 (圖3 )向第一 DVPN代理服務(wù)器T (x->y)發(fā)送用于id#l的VPN 會話隧道94創(chuàng)建請求(圖5, 212)。然后,第一 DVPN代理服務(wù)器TU)y) 創(chuàng)建用于id#l的VPN會話隧道94(圖5, 210 )。在建立VPN會話隧道id#l(圖3, 94)之后,客戶端al.x.com和(遠(yuǎn)程)資源svl.y.com可以安全地 通信(交換數(shù)據(jù))就好像它們處于相同的虛擬專用網(wǎng)絡(luò)節(jié)點(diǎn)上一樣。第一 DVPN代理服務(wù)器T ( x->y)和第二 DVPN代理服務(wù)器T ( x<-y )通過VPN 會話隧道id弁l(圖3, 94)來代理(路由)所交換的數(shù)據(jù)。步驟9:當(dāng)完成數(shù)據(jù)交換時,客戶端al.x.com 32發(fā)送TCP分組 10.1.1.11:1111 - [data] ack/fm-> 10丄1.20:2121 (圖5, 220)。在接收以第二 節(jié)點(diǎn)50上的(遠(yuǎn)程)資源svl.y.com62的名義的分組之后,第一DVPN代 理服務(wù)器T( x->y )經(jīng)由VPN會話隧道94向第二 DVPN代理服務(wù)器T( x<-y ) 發(fā)送[id弁l][data] ack/fm (圖5, 222 )。步驟10:當(dāng)接收[id弁l][data]ack/fin (圖5, 224)時,第二DVPN代理 服務(wù)器T (x<-y)以客戶端al.x.com 32的名義向第二節(jié)點(diǎn)50上的資源 svl.y.com 62發(fā)送TCP分組10.2.1.11:2222 -> [data] ack/fm -> 10.2.1.200:21(圖5, 226)。步驟ll:當(dāng)完成數(shù)據(jù)交換時,第一DVPN代理服務(wù)器T (x->y)以第 二 VPN節(jié)點(diǎn)50上的(遠(yuǎn)程)資源svl.y.com 62的名義向第 一節(jié)點(diǎn)20上的 客戶端al.x.com 32發(fā)送TCP分組10丄1.21:2121 - fin/ack扁> 10.1.1.11:1111 (圖5, 230)。步驟12:第一 DVPN代理服務(wù)器T (x->y)經(jīng)由VPN控制隧道92向 第二 DVPN代理服務(wù)器T (x<-y)發(fā)送刪除會話id#l (圖5, 240)。第二 DVPN代理服務(wù)器T (x<-y) /T (y-〉z)關(guān)閉與id#l相關(guān)聯(lián)的VPN會話隧 遒94 (圖5, 242)。這完成客戶端al.x.com 32對(遠(yuǎn)程)資源svl.y.com 62的訪問。 依照 一個實施例,每個DVPN代理服務(wù)器可以根據(jù)(父(parent)) VPN 會話隧道94建立多個(子(child)) VPN會話隧道95以便支持那些應(yīng)用 協(xié)議,諸如主動模式文件傳輸協(xié)議(ftp)、基于網(wǎng)際協(xié)議的語音傳輸(VoIP) /話路初始協(xié)議(SIP)或任何其它適當(dāng)?shù)膽?yīng)用協(xié)議,例如可以把FTP服務(wù) 器向客戶端VPN節(jié)點(diǎn)公開或提供,這會要求控制端口 (端口 21)和數(shù)據(jù) 端口 (端口 20)??梢岳斫庖坏tp控制端口 (端口 21)建立主要(或父) VPN會話隧道94,就要求為ftp數(shù)據(jù)端口 (端口 20)要求輔助(或子)VPN 會話隧道95。圖6示出了在具有應(yīng)用協(xié)議的兩個VPN節(jié)點(diǎn)20、 50之間的DVPN體 系結(jié)構(gòu)系統(tǒng)10的示意圖,該應(yīng)用協(xié)議使用多個(TCP)端口。如圖6所示, 可以通過建立除父VPN會話隧道94之外的子VPN會話隧道95來配置系 統(tǒng)10,其中每個VPN節(jié)點(diǎn)20、 50可以充當(dāng)客戶端節(jié)點(diǎn)和資源節(jié)點(diǎn)。可以 理解,子VPN會話隧道95不局限于只有一個子VPN會話隧道95,并且 根據(jù)建立父VPN會話隧道94,可以建立多個子VPN會話隧道95??梢岳?解,客戶端al.x.com32可以訪問第二 VPN節(jié)點(diǎn)50內(nèi)的多個資源,每個資 源均要求父VPN會話隧道94和多個子VPN會話隧道95。依照一個實施例,例如系統(tǒng)10可以提供主動模式文件傳輸協(xié)議(ftp), 以便從與第一 VPN節(jié)點(diǎn)20相關(guān)聯(lián)的客戶端31.^(:0111 32和與第二 VPN節(jié) 點(diǎn)50相關(guān)聯(lián)的至少一個資源svl.y.com 62 ( ftp服務(wù)器)交換文件或資源。 可以理解,客戶端&1工0011132可以請求與第二節(jié)點(diǎn)50相關(guān)聯(lián)的ftp服務(wù)器 svl.y.com 62建立用于ftp數(shù)據(jù)信道的子VPN會話隧道95,同時使用父VPN會話隧道94作為ftp控制信道??梢岳斫赓Y源還可以請求建立子VPN會話隧道95,諸如支持被動模式ftp。如圖6所示,第一 VPN節(jié)點(diǎn)20上的第一 VPN代理服務(wù)器40根據(jù)主 動ftp協(xié)議接收來自客戶端al.x.com 32的請求并且創(chuàng)建/打開新的端口 #2。 第二 VPN節(jié)點(diǎn)50上的第二 DVPN代理服務(wù)器以第一 VPN節(jié)點(diǎn)20上客戶 端31乂0011132的名義根據(jù)主動ftp協(xié)議創(chuàng)建/打開新的端口弁l并且向ftp服 務(wù)器svl.y.com 62發(fā)送請求。圖7依照如圖6所示的實施例示出了與在兩個節(jié)點(diǎn)20、 50之間的遠(yuǎn)程 主動模式文件傳輸協(xié)議(ftp)服務(wù)部署的設(shè)置相關(guān)的圖表。如圖7所示, 第一 VPN節(jié)點(diǎn)20可以包括客戶端組al.x.com和a2.x.com,其具有要求兩 個TCP端口 svl.y.com:2121和svl.y.com:2020的資源組,還包括可以被分 配給資源svl.y.com的本地IP地址10丄1.20以及與第二 VPN節(jié)點(diǎn)50的安 全隧道標(biāo)識符vpn,y.com:443。第二 VPN節(jié)點(diǎn)50還可以包括(虛擬)客戶 端組al.x.com和a2.x.com,其具有分別要求兩個TCP端口 svl.y.com:2121 和svl.y.com:2020的一個資源組及其本地IP地址/端口號10.2丄200:21和 10.2丄200:20,可以被分配給(虛擬)客戶端組al.x.com和a2.x.com的本 地IP地址池10.2丄11 - 12以及與該第一 VPN節(jié)點(diǎn)20的安全隧道標(biāo)識符 (vpn,x纖:443 )。第一和第二虛擬專用網(wǎng)絡(luò)節(jié)點(diǎn)20、 50彼此經(jīng)由通信網(wǎng) 絡(luò)80(即,因特網(wǎng))通信。在第一VPN節(jié)點(diǎn)20上,客戶端組al.x.com和 alxxom的名稱可以通過由第一 VPN節(jié)點(diǎn)20上的第一 DVPN代理服務(wù)器 40進(jìn)行反向DNS查找來根據(jù)他們的本地IP地址標(biāo)識。在第二 VPN節(jié)點(diǎn) 50上,該資源可以由諸如svl.y.com:2121或本地IP地址之類的預(yù)先分配名 稱來標(biāo)識。在后一種情況中,第二DVPN代理服務(wù)器可以被分配有用于資 源的任意但是唯一的名稱以供在第一和第二 DVPN代理服務(wù)器之間內(nèi)部使 用。圖8依照如圖6和7所示的一個實施例示出了與在兩個DVPN代理服務(wù)器之間的信號交換和數(shù)據(jù)分組流相關(guān)的圖表,該信號交換和數(shù)據(jù)分組流 用于服務(wù)主動模式ftp服務(wù)器請求以便建立數(shù)據(jù)信道。系統(tǒng)IO包括第一節(jié)點(diǎn)20上的客戶端al.x.com,其已經(jīng)與第二 VPN節(jié)點(diǎn)50上的遠(yuǎn)程ftp服務(wù) 器svl.y.com建立安全(父)VPN會話隧道94。如圖8的行0所示,客戶 端al.x.com經(jīng)由如在圖3 - 5中所闡明的第一和第二 VPN節(jié)點(diǎn)20、 50上的 第一 DVPN代理服務(wù)器T (x-〉y)和第二 DVPN代理服務(wù)器T ( x<-y )之 間所建立的父VPN會話隧道94與遠(yuǎn)程ftp服務(wù)器svl.y.com交換ftp控制 通信業(yè)務(wù)。如圖8的行l(wèi)所示,第一 VPN節(jié)點(diǎn)20上的客戶端al.x.com 32想要與 第二 VPN節(jié)點(diǎn)50上的ftp服務(wù)器svl.y.com 62建立數(shù)據(jù)信道,al.x.com -[PORT 4444] ->svl.y.com ( 312 )。數(shù)據(jù)信道的端口號4444按照主動模式ftp 協(xié)議可以是任何適當(dāng)?shù)亩丝谔?。響?yīng)于該請求,第一DVPN代理服務(wù)器T (x->y )發(fā)送PORT命令請求314以便創(chuàng)建與父VPN會話隧道id#l (圖6, 94)相關(guān)聯(lián)的子VPN會話隧道95,并且經(jīng)由圖6中的VPN控制隧道92 被第二DVPN代理服務(wù)器T (x<-y) 316接收。按照圖6中的步驟順序和圖7中的設(shè)置信息來解釋圖8中的信號交換 和數(shù)據(jù)分組流。步驟l:客戶端al.x.com發(fā)送ftpPORT命令lO丄Ul:llll - [PORT4444] ->10丄1.20:2121 (320)。源IP地址和端口號IO丄I.11:1111是第一 VPN節(jié) 點(diǎn)20上的客戶端al.x.com 32的本地IP地址和控制信道端口號。目的IP 地址和端口號10丄1.20:2221是第一VPN節(jié)點(diǎn)20上的(虛擬)資源svl.y.com 62的本地IP地址和端口號。步驟2:響應(yīng)于與所建立的父VPN會話隧道iWl (圖6, 94)相關(guān)聯(lián) 的新PORT4444命令,第一DVPN代理服務(wù)器T (x->y)創(chuàng)建新的端口號 3333以由第二DVPN代理服務(wù)器T (x<-y)使用,并且經(jīng)由VPN控制隧 道92 (圖6 )向第二 VPN節(jié)點(diǎn)50上的第二 DVPN代理服務(wù)器T ( x<-y )發(fā)送此信息324。端口號3333是任意的但是唯一的數(shù)目,在沒有任何改變 的情況下其可以是4444。步驟3:第二 DVPN代理服務(wù)器T (x<-y )為第二 VPN節(jié)點(diǎn)50上的 ftp數(shù)據(jù)信道創(chuàng)建與[ic^l][PORT3333]相關(guān)聯(lián)的新端口 3333 ( 326)。步驟4:以客戶端al.x.com 32的名義,第二 DVPN代理服務(wù)器T( x<-y) 發(fā)送FTP端口命令,10.2.1.11:2222-[PORT 3333]-> 10.2.1.200:21 (330 )。 源IP地址和端口號10.2丄11:2222是第二 VPN節(jié)點(diǎn)50上的(虛擬)客戶 端&1工(:011132的IP地址和端口號。目的IP地址和端口號10.2.1.200:21是 第二 VPN節(jié)點(diǎn)50上的資源svl.y.com 62的IP地址和端口號。步驟5:第二 DVPN代理服務(wù)器T (x<-y )經(jīng)由VPN控制隧道92向 第一DVPN代理服務(wù)器T(x》y)發(fā)送[PORT3333]準(zhǔn)備信息(346 )(圖6 )。步驟6:第—DVPN代理服務(wù)器T (x->y )彼此確認(rèn)[PORT 3333/4444] 準(zhǔn)備好(344 )。步驟7:并行地,F(xiàn)TP服務(wù)器使用其在第二 VPN節(jié)點(diǎn)50上的本地IP 地址和端口號10.2.1.11:3333向(虛擬)客戶端al.x.com發(fā)布TCP同步分 組,10.2丄200:20-syn) 10.2丄11:3333 ( 350)。以(虛擬)客戶端的名義, 第二 DVPN代理服務(wù)器T (x<-y)對同步/確認(rèn)TCP分組作出響應(yīng), 10.2.1.11:3333 -syn7ack-> 10.2.1.200:20 (360)。步驟8:第二 DVPN代理服務(wù)器T (x<-y )經(jīng)由VPN控制隧道92 (圖 6)向第一 DVPN代理服務(wù)器T (x->y)傳遞同步請求,svl.y.com:20 - syn -> al.x.畫:3333 ( 370)。步驟9:在接收同步請求(382)之后,第一DVPN代理服務(wù)器把資源 端口號20映射到端口號2020以便在第一 VPN節(jié)點(diǎn)20上使用并且把客戶 端端口號3333映射到4444以便在該第一 VPN節(jié)點(diǎn)20上使用。步驟10:以(遠(yuǎn)程)FTP服務(wù)器svl.y.com的名義,第一 DVPN代理 服務(wù)器T (x->y)向第一 VPN節(jié)點(diǎn)20上的客戶端al.x.com發(fā)送10.1.1.20:2020-syn-〉 10.1.1.11:4444 (380)??蛻舳薬l.x.com利用TCP同 步/確認(rèn)分組10.1.1.11:4444-syn/ack-> 10.1.1.20:2020作出響應(yīng)(390)。步驟11:第一 DVPN代理服務(wù)器T (x->y )創(chuàng)建用于子VPN會話隧 道95 (圖6 )的唯一標(biāo)識符id#2并且經(jīng)由控制VPN隧道92把它發(fā)送到第 二 DVPN代理服務(wù)器T (x<-y )。唯一標(biāo)識符id#2優(yōu)選使用基于ftp服務(wù)器 和客戶端名稱、IP地址和端口號的散列函數(shù),以致第一代理服務(wù)器T( x-〉y ) 和第二代理服務(wù)器T (x<-y)可以重新創(chuàng)建相同的散列結(jié)果。步驟12:第二 DVPN代理服務(wù)器T (x<-y)接收該消息并且利用標(biāo)識 符id#2創(chuàng)建(子)VPN會話隧道95 (圖6 )。步驟13:在建立子VPN會話隧道96(圖6)之后,客戶端al.x.com 32 和FTP服務(wù)器svl.y.com 62按照主動模式ftp協(xié)議經(jīng)由子VPN會話隧道95 交換數(shù)據(jù)(410和412)。步驟14:當(dāng)完成數(shù)據(jù)交換時,ftp服務(wù)器svl.y.com向(虛擬)客戶端 發(fā)送TCP[data]fin/ack分組,10.2,1.200:20 - [data] fin/ack -> 10.2.1.11:3333 (426 )。響應(yīng)于該分組,第二 DVPN代理服務(wù)器T ( x<-y)向第一 DVPN 代理服務(wù)器T (x->y)發(fā)送[id弁2][data] fin/ack (424)。步驟15:第一 DVPN代理服務(wù)器Tt x->y )接收[id存2][data]fin/ack( 422 )。 然后,以(遠(yuǎn)程)FTP服務(wù)器svl.y.com的名義,第一 DVPN代理服務(wù)器T (x->y )向客戶端al.x.com發(fā)送10.1.1.20:2020 - [data]fin/ack -〉 10.1.1.11:4444 (420)。步驟16:客戶端利用TCP fm/ack分組作出響應(yīng),10丄1.11:4444 - fm/ack ->10.1.1.20:2020 (430)。步驟17:第一DVPN代理服務(wù)器T(x》y)和第二DVPN代理服務(wù)器 T (x<-y)刪除并關(guān)閉(440, 442)子VPN隧道id弁2。步驟18:以客戶端al.x.com的名義,第二 DVPN代理服務(wù)器T( x<-y ) 向ftp服務(wù)器svl.y.com發(fā)送1 G.2丄11:3333 - fm/ack-> 10.2.1.200:20 (444)以便確認(rèn)文件和/或數(shù)據(jù)交換完成。圖9示出了具有多個虛擬專用網(wǎng)絡(luò)節(jié)點(diǎn)20、 50、 400的網(wǎng)絡(luò)系統(tǒng)10的 示意圖,該節(jié)點(diǎn)20、 50、 400彼此經(jīng)由通信網(wǎng)絡(luò)80 (即,因特網(wǎng))安全地 連接。如圖9所示,系統(tǒng)10包括具有在第一VPN網(wǎng)關(guān)(未示出)上運(yùn)行 的第一 DVPN代理服務(wù)器T (x->y ) 40的第一 VPN節(jié)點(diǎn)x.com 20、具有 在第二VPN網(wǎng)關(guān)(未示出)上運(yùn)行的第二DVPN代理服務(wù)器T (x<-y)/T (y->z) 70的第二 VPN節(jié)點(diǎn)y.com 50,以及具有在第三VPN網(wǎng)關(guān)(未示 出)上運(yùn)行的第三DVPN代理服務(wù)器T (y<-z ) 420的第三VPN節(jié)點(diǎn)z.com 400。依照一個實施例,第一 VPN節(jié)點(diǎn)x.com 20上的客戶端al.x.com 32 可以經(jīng)由中間(第二 )VPN節(jié)點(diǎn)y.com 50遠(yuǎn)程訪問第三VPN節(jié)點(diǎn)z.com 400 上的資源svl.z.com 412。第二 DVPN代理服務(wù)器用于在客戶端al.x.com 32 和資源svl.z.com412之間所有通信業(yè)務(wù)的代理轉(zhuǎn)送功能??梢岳斫饪蛻舳?可以通過用于多個VPN節(jié)點(diǎn)上的多個中間DVPN代理來訪問遠(yuǎn)程資源。 第一 DVPN代理服務(wù)器充當(dāng)用于VPN節(jié)點(diǎn)x.com 20上客戶端al.x.com 32 的第三VPN節(jié)點(diǎn)z.com400上的虛擬(遠(yuǎn)程)資源,并且第三DVPN代理 服務(wù)器充當(dāng)用于第三VPN節(jié)點(diǎn)z.com 400上資源svl.z.com 412的第一 VPN 節(jié)點(diǎn)x.com 20上的虛擬客戶端。第二 VPN節(jié)點(diǎn)y.com 50還可以包括諸如svl.y.com 62之類的資源,其 可以由諸如al.x.com 32之類的遠(yuǎn)程客戶端訪問。如圖9所示,系統(tǒng)10還 可以提供對多個資源的控制訪問,該多個資源以第三VPN節(jié)點(diǎn)400作主機(jī)。 多個資源可以被第一 VPN節(jié)點(diǎn)20上的多個客戶端安全地訪問,其中多個 客戶端對在網(wǎng)絡(luò)之外的其它客戶端以及可以訪問該多個資源的其它客戶端 來說是透明的。另外,與第二或第三VPN節(jié)點(diǎn)50、 400相關(guān)聯(lián)的資源62、 412還被配置為向第一節(jié)點(diǎn)20發(fā)起請求以便訪問與節(jié)點(diǎn)20相關(guān)聯(lián)的至少 一個資源。依照一個實施例,可以理解客戶端32可以經(jīng)由安全網(wǎng)絡(luò)連接訪 問位于不同節(jié)點(diǎn)50、 400內(nèi)的資源62、 412。依照進(jìn)一步實施例,可以理解可以創(chuàng)建多個子VPN會話隧道以便經(jīng)由中間節(jié)點(diǎn)50支持諸如主動和被動ftp之類的特定應(yīng)用協(xié)議。在如圖9所示的實施例中,第二節(jié)點(diǎn)(y.com) 和第三節(jié)點(diǎn)(z.com)可以被配置以致只可以經(jīng)由第一節(jié)點(diǎn)20 (x.com)訪 問與兩個節(jié)點(diǎn)50、 400相關(guān)聯(lián)的資源62、 412。還可以理解多個節(jié)點(diǎn)20、 50、 400不局限于如圖9所示的三個節(jié)點(diǎn),相反節(jié)點(diǎn)20、 50、 400的數(shù)目 基本上是無限的。圖10依照如圖9所示的實施例示出了與由在第 一和第三VPN節(jié)點(diǎn)之 間的中間(第二) DVPN代理服務(wù)器所進(jìn)行代理轉(zhuǎn)送的設(shè)置相關(guān)的圖表。 如圖10所示,第一 VPN節(jié)點(diǎn)x.com 20可以包括客戶端組al.x.com和 a2.x.com、從第二 VPN節(jié)點(diǎn)y.com所輸出的(虛擬)資源組svl.y.com:2121 和svl.y.com:2020、可以被分配給(虛擬)資源svl.y.com:2121和 svl.y.com:2020的本地IP地址(10丄1.20)、經(jīng)由第二 VPN節(jié)點(diǎn)50從第三 VPN節(jié)點(diǎn)z.com所輸出的另一 (虛擬)資源組svl.z.com:2121和 svl.z.com:2020和可以被分配給(虛擬)資源svl.z.com:2121和 svl.z.com:2020的本地IP地址池(10.1.1.21 ),以及到第二 VPN節(jié)點(diǎn)y.com 50的安全隧道vpn,y.com:443。第二 VPN節(jié)點(diǎn)50可以包括(虛擬)客戶端 組al.x.com和a2.x.com、分別具有本地IP地址10.2.1.200:21和10.2.1.200:20 的資源組svl.y.com:2121和svl.y.com:2020、可以被分配給(虛擬)客戶端 al.x,com和a2.x.com的本地IP地址池(10,2.1.11 - 12 )、到第一 VPN節(jié)點(diǎn) 20的安全隧道vpn.x.com:443,以及到第三VPN節(jié)點(diǎn)z.com 400的另 一安全 隧道vpn.z.com:444。第三VPN節(jié)點(diǎn)400可以包括(虛擬)客戶端組al.x.com 和a2.xxom、分別具有本地IP地址10.3丄200:21和10.3.1.200:20的資源組 svl.z.com:2121和svl.z.com:2020、可以被分配給(虛擬)客戶端al.x.com 和a2 x.com的本地IP地址池(10.3.1.11 - 12 )以及到第二 VPN節(jié)點(diǎn)y.com 50 的安全隨道vpn.y.com:444 。 諸如 vpn.y.com:443 、 vpn.x.com:443 、 vpn,z.com:444和vpn.y.com:444之類的每個安全隧道可以包括VPN控制隧道(諸如圖9中的92和96)和多個VPN會話隧道(諸如圖9中的94和 98)。可以理解,VPN控制隧道可以由在每端的兩個DVPN代理服務(wù)器用 來協(xié)商創(chuàng)建VPN會話隧道以用于特定遠(yuǎn)程資源訪問的數(shù)據(jù)轉(zhuǎn)送。圖11依照如圖9和10所示的實施例示出了與在第一、第二和第三 DVPN代理服務(wù)器之間的代理轉(zhuǎn)送分組流相關(guān)的表,其用于經(jīng)由中間VPN 節(jié)點(diǎn)服務(wù)客戶端對遠(yuǎn)程資源的請求。系統(tǒng)IO包括用于經(jīng)由第二 VPN節(jié)點(diǎn) y.com 50訪問第三VPN節(jié)點(diǎn) z.com 400上的遠(yuǎn)禾呈資源svl.z.com 的第一 VPN 節(jié)點(diǎn)x.com 20上的客戶端al .x.com, 該第二 VPN節(jié)點(diǎn)y.com 50具有第二 DVPN代理服務(wù)器,其具有兩塊用于與第一DVPN代理服務(wù)器T(x-〉y) 相交互的T (x<-y)和用于與第三DVPN代理服務(wù)器T (y<-z)相交互的T(y->z)。第二 DVPN代理服務(wù)器的功能之一是在x.com和z.com之間的代 理轉(zhuǎn)送通信業(yè)務(wù)515。圖11的行1示出了客戶端想要訪問ftp服務(wù)器 al .x.com - ftp -> svl.z.com 510。第一 DVPN代理服務(wù)器T ( x->y )向VPN 控制隧道92 (圖9)發(fā)送會話請求512,該VPN控制隧道92連接到第二 DVPN代理服務(wù)器T (x<-y )并且該第二 DVPN代理服務(wù)器T ( x<-y )接 收來自該VPN控制隧道92的會話請求514。在接收會話請求514之后, 第二 DVPN代理服務(wù)器T(y》z)把會話請求516轉(zhuǎn)送到VPN控制隧道96(圖9 )并且第三DVPN代理服務(wù)器T ( y<-z)接收來自其它端的會話請求 518。圖11中的代理轉(zhuǎn)送分組流示出了圖9中的步驟順序。步驟l:客戶端al .x.com 32發(fā)送用于請求(遠(yuǎn)程)訪問z.com 400上的svl.z.com的TCP同步分組10.1.1.11:1111曙syn-〉10.1.1.21:2121 (圖11,520)。 svlz.com的目的[P地址10.1.1.21:2121是第一 VPN節(jié)點(diǎn)x.com 20上的本地IP地址。步驟2:以(遠(yuǎn)程)資源的名義,第一 DVPN代理服務(wù)器T ( x->y )經(jīng)由VPN控制隧道92向第二 DVPN代理服務(wù)器T ( x<-y ) /T (y->z)發(fā)送al.x.com: 1111 - ftp-> avl.z.com:2121 (圖11 , 530)。在圖10中示出了關(guān)于名稱和IP地址的映射信息。步驟3:第二 DVPN代理服務(wù)器T (x<-y ) /T ( y->z)經(jīng)由VPN控制 隧道96 (圖9 )向第三DVPN代理服務(wù)器T (y<-z)轉(zhuǎn)送al.x.com:llll - ftp ->svl.z.com:2121 (圖11, 536)。步驟4:第三DVPN代理服務(wù)器T( y<-z )把本地IP地址10.3丄11:2222 分配給al.x.com:llll并且經(jīng)由VPN控制隧道96向第二 DVPN代理服務(wù)器 T (x<-y) /T (y->z)發(fā)送具有svl.z.com:2121本地IP地址10.3.1.200:21的 此信息(圖11, 548)??蛻舳嗽诘谝?VPN節(jié)點(diǎn)x.com20上具有端口號1111 并且在第三VPN節(jié)點(diǎn)z.com 400上具有端口號2222。資源在第一VPN節(jié) 點(diǎn)x.com 20上具有端口號2121并且在第三VPN節(jié)點(diǎn)z.com 400上具有端 口號21。步驟4a:選擇性地,第三代理服務(wù)器執(zhí)行AAA檢查來認(rèn)證并授權(quán)所 請求的訪問。步驟5:第二 DVPN代理服務(wù)器T ( x<-y )經(jīng)由VPN控制隧道92 (圖 9 )向第一 DVPN代理服務(wù)器T(x-〉y)轉(zhuǎn)送a1.x.com: 1111 <-> 10.3丄11:2222 svl.z.com:2121 <-> 10.3.1.200:21 (圖ll, 540)。步驟6:第一 DVPN代理服務(wù)器T (x->y)接收al.x.com: 1111 <-> 10.3.1.11:2222 svl.z.com:2121 <-> 10.3.1.200:21 (圖11, 550),其包含客戶 端和資源名稱以及它們在第三VPN節(jié)點(diǎn)z.com 400上的本地IP地址和端口 號。步驟7:以第一 VPN節(jié)點(diǎn)乂工011120上的客戶端&1乂00111的名義,第三 DVPN代理服務(wù)器T (y<-z)向資源svl.z.eom發(fā)送TCP同步分組 (101Ul:2222-syn-> 10.3.1.200:21 ,圖11,560 )。源IP地址10.3丄11:2222 是用于第三VPN節(jié)點(diǎn)z.com 400上(虛擬)客戶端al.x.com的本地IP地 址和端口號。目的IP地址10.3.1.200:21是第三VPN節(jié)點(diǎn)z.com 400上資源svl.z.com的本地IP地址和端口號。資源SVl .z.com禾l)用TCP同步/確認(rèn)分 組(10.3.1.200:21 -syn/ack-> 10.3.1.11:2222,圖ll, 570 )向回作出響應(yīng)。 步驟8:當(dāng)接收TCP同步/確認(rèn)分組(圖11, 570)時,第三DVPN代 理服務(wù)器T (y<-z)經(jīng)由圖9中的VPN控制隧道96向第二DVPN代理服 務(wù)器T (x<-y) /T (y->z)發(fā)送svl .z.com:21 - [id#l] syn/ack-> al.x.com:2222 (圖11, 588)以便通知第三VPN節(jié)點(diǎn)400上的資源svl.z.com可用并且 準(zhǔn)備好用于第一 VPN節(jié)點(diǎn)20上的客戶端al .x.com以進(jìn)行訪問。第三DVPN 代理服務(wù)器根據(jù)客戶端名稱和資源名稱和/或任何適當(dāng)?shù)姆椒ㄊ褂蒙⒘泻?數(shù)來產(chǎn)生唯一標(biāo)識符id#l,其可以由這三個代理服務(wù)器中的任何一個來唯 一地重新產(chǎn)生。唯一標(biāo)識符id^可以由三個代理服務(wù)器用來標(biāo)識在客戶端 al.x.com 32和服務(wù)器svl.z.com 412之間通過VPN會話控制隧道所交換的 數(shù)據(jù)通信業(yè)務(wù)。步驟9:第二 DVPN代理服務(wù)器T ( x<-y ) /T (y->z)接收svl .z.com:21 -[id#l] syn/ack -> al.x.com:2222 (圖11, 580)并且經(jīng)由圖9中的中的VPN 控制隧道92轉(zhuǎn)送到第一 DVPN代理服務(wù)器T ( x->y )。步驟10:當(dāng)接收通知時,第一DVPN代理服務(wù)器把svl.z.com:21映射 到svl.z.讓:2121并且把a(bǔ)l.x.com:2222映射到al,x.com:llll(圖11,590)。 端口號2121和1111是資源svl.z.com和第一 VPN節(jié)點(diǎn)x.com 20上的客戶 端al.x.com的本地端口號。該映射是基于在步驟4、 5和6中所交換的信息 的(分別為圖11的548, 540, 550)。然后第一 DVPN代理服務(wù)器T ( x->y ) 以(遠(yuǎn)程)資源svl.z.com的名義向客戶端al.x.com發(fā)送TCP同步/確認(rèn)分 組10.1.1.21:2121-syn/ack->10.1丄11:1111 (圖11, 600)。步驟ll:并行地,第三DVPN代理服務(wù)器T(y《z)經(jīng)由VPN控制隧 道96向第二 DVPN代理服務(wù)器T( y->z )發(fā)送用于唯一標(biāo)識符id#l的VPN 會話隧道創(chuàng)建請求(圖11, 618)。然后第二代理服務(wù)器T (y->z)創(chuàng)建用 于唯一標(biāo)識符id弁l的VPN會話隧道98 (圖11, 616)。步驟12:第二DVPN代理服務(wù)器T (x<-y)經(jīng)由VPN控制隧道92向 第一 DVPN代理服務(wù)器T (x->y)轉(zhuǎn)送用于id#l的VPN會話隧道創(chuàng)建請 求(圖ll, 612)。然后,第一DVPN代理服務(wù)器T (x->y)創(chuàng)建用于id弁l 的VPN會話隧道94 (圖11, 610)。在建立VPN會話隧道94和98 (圖9) 之后,客戶端al.x.com 32和(遠(yuǎn)程)資源svl.z.com 412可以安全地通信 (交換數(shù)據(jù))就好像它們處于相同的VPN節(jié)點(diǎn)上一樣。第一、第二和第三 DVPN代理服務(wù)器通過VPN會話隧道94和98路由所交換的數(shù)據(jù)。步驟13:當(dāng)完成數(shù)據(jù)交換時,客戶端al.x.com 32發(fā)送TCP分組 10.1.1.11:1111 - [data] ack/fin-> 10丄1.21:2121 (圖11, 620)。在接收以第 三VPN節(jié)點(diǎn)400上的資源svl.z.com 412名義的此分組之后,第一 DVPN 代理服務(wù)器經(jīng)由VPN會話隧道94向第二 DVPN代理服務(wù)器T (x<-y) /T (y->z)發(fā)送[i(Ml〗[data〗ack/fin (圖11, 622)。步驟14:第二DVPN代理服務(wù)器T (y->z)經(jīng)由VPN會話隧道98向 第三DVPN代理服務(wù)器T (y<-z)轉(zhuǎn)送[id存l][data] ack/fm (圖11, 624)。步驟15:當(dāng)接收[id弁l][data] ack/fin (圖11, 626)時,第三DVPN代 理服務(wù)器T (y<-z)以客戶端al.x.com 32的名義向第三VPN節(jié)點(diǎn)400上的 資源svl.z.com 412發(fā)送TCP分組10.3.1.11:2222 -〉 [data] ack/fin陽> 10.3.1.200:21 (圖11, 628)。步驟16:第一 DVPN代理服務(wù)器T (x->y )以第三VPN節(jié)點(diǎn)400上 的(遠(yuǎn)程)資源svl.z.com 412的名義向第一 VPN節(jié)點(diǎn)20上的客戶端 al.x-com32發(fā)送TCP分組10.1.1.21:2121 - fin/ack-> 10.1.1.11:1111 (圖11, 630)。步驟17:第一 DVPN代理服務(wù)器T (x->y )經(jīng)由VPN控制隧道92向 第二DVPN代理服務(wù)器T (x<-y)發(fā)送刪除會話id#l (圖11, 640)。步驟18:第二 DVPN代理服務(wù)器T (x<-y ) /T ( y-〉z )關(guān)閉與id#l相關(guān)聯(lián)的VPN會話隧道94 (圖11, 642 )并且經(jīng)由VPN控制隧道96向第三(y<-z)轉(zhuǎn)送刪除會話id^ (圖11, 644)。步驟19:第三DVPN代理服務(wù)器T(y《z)關(guān)閉與id#l相關(guān)聯(lián)的VPN 會話隧道98 (圖11, 646)。這完成客戶端al.x.com 32對(遠(yuǎn)程)資源svl.z.com 412的訪問。 本發(fā)明可選的實施例還可以被實現(xiàn)為供計算機(jī)系統(tǒng)使用的計算機(jī)程序 產(chǎn)品。這種實現(xiàn)方式可以包括一系列計算機(jī)指令,其固定在諸如計算機(jī)可 讀介質(zhì)(例如,盤片、只讀光盤存儲器(CD-ROM)、只讀存儲器(ROM) 或固定盤)之類的有形介質(zhì)上,或者可經(jīng)由調(diào)制解調(diào)器或其它接口設(shè)備發(fā) 送到計算機(jī)系統(tǒng),該調(diào)制解調(diào)器諸如經(jīng)由介質(zhì)連接到網(wǎng)絡(luò)的通信適配器。 該介質(zhì)可以是有形介質(zhì)(例如,光學(xué)或模擬通信線路)或者用無線技術(shù)(例 如,微波、紅外或其它傳輸技術(shù))實現(xiàn)的介質(zhì)。計算機(jī)指令系列優(yōu)選實現(xiàn) 這里所預(yù)先描述的關(guān)于系統(tǒng)的所有或部分功能。那些本領(lǐng)域技術(shù)人員應(yīng)當(dāng) 理解可以用供許多計算機(jī)體系結(jié)構(gòu)或操作系統(tǒng)使用的多種編程語言編寫的 這種計算機(jī)指令。此外,這種指令可以被存儲在諸如半導(dǎo)體、磁、光之類 的任何存儲設(shè)備或其它存儲設(shè)備中,并且可以使用諸如光、紅外、微波之 類的任何通信技術(shù)或其它傳輸技術(shù)發(fā)送。預(yù)計這種計算機(jī)程序產(chǎn)品可以作 為帶有印刷或電子文件化的可移動介質(zhì)(例如,熱縮包裝軟件)分送,利 用計算機(jī)系統(tǒng)預(yù)先加載(例如,在系統(tǒng)ROM或固定盤上),或經(jīng)由網(wǎng)絡(luò)(例 如,因特網(wǎng)或全球網(wǎng))從服務(wù)器或電子公告板分送。上面是用于實現(xiàn)本發(fā)明的示例性模式并且不意在限制。對本領(lǐng)域普通 技術(shù)人員來說顯而易見的是,在不脫離如以下權(quán)利要求所闡明的本發(fā)明的 精神和范圍的情況下可以對其進(jìn)行修改。
權(quán)利要求
1.一種使用動態(tài)VPN(DVPN)雙重代理機(jī)制來進(jìn)行應(yīng)用層內(nèi)容路由的方法,其中包括為第一個虛擬專用網(wǎng)絡(luò)上的至少一個客戶端提供在第二個虛擬專用網(wǎng)絡(luò)上的可用資源列表;在不暴露該第二個虛擬專用網(wǎng)絡(luò)上可用資源列表的實際IP地址的情況下,由至少一個客戶端從第一個虛擬專用網(wǎng)絡(luò)向第二虛擬專用網(wǎng)絡(luò)提供的可用資源列表中的至少一個資源發(fā)出請求,就好像該至少一個資源處于該至少一個客戶端所在的本地第一虛擬網(wǎng)絡(luò)一樣;通過在該第一虛擬專用網(wǎng)絡(luò)和第二虛擬專用網(wǎng)絡(luò)之間的安全連接把該請求路由到該至少一個資源;在不暴露該第一虛擬專用網(wǎng)絡(luò)節(jié)點(diǎn)上的客戶端的實際IP地址的情況下,由該第二虛擬專用網(wǎng)絡(luò)節(jié)點(diǎn)上的至少一個資源對該請求作出響應(yīng),就好像響應(yīng)在該第二虛擬專用網(wǎng)絡(luò)節(jié)點(diǎn)上本地發(fā)起的請求一樣;并且通過該安全連接把該響應(yīng)從該第二虛擬專用網(wǎng)絡(luò)節(jié)點(diǎn)路由回到該第一虛擬專用網(wǎng)絡(luò)節(jié)點(diǎn)上的至少一個客戶端。
2. 根據(jù)權(quán)利要求1的方法,其中在該至少一個客戶端和至少一個資源 之間的安全連接是建立在第一虛擬專用網(wǎng)絡(luò)上的第一虛擬專用網(wǎng)絡(luò)網(wǎng)關(guān)和 第二虛擬專用網(wǎng)絡(luò)節(jié)點(diǎn)上的第二虛擬專用網(wǎng)絡(luò)網(wǎng)關(guān)之間的。
3. 根據(jù)權(quán)利要求l的方法,其中進(jìn)一步包括該第一虛擬專用網(wǎng)絡(luò)節(jié)點(diǎn) 上的第一DVPN代理服務(wù)器和該第二虛擬專用網(wǎng)絡(luò)節(jié)點(diǎn)上的第二DVPN代 理服務(wù)器。
4. 根據(jù)權(quán)利要求3的方法,其中該第一和第二 DVPN代理服務(wù)器是相 互獨(dú)立的。
5. 根據(jù)權(quán)利要求3的方法,其中該第一和第二 DVPN代理服務(wù)器是在 相關(guān)聯(lián)的虛擬專用網(wǎng)絡(luò)網(wǎng)關(guān)上的獨(dú)立服務(wù)器。
6. 根據(jù)權(quán)利要求3的方法,其中向該第一DVPN代理服務(wù)器提供在該第二虛擬專用網(wǎng)絡(luò)節(jié)點(diǎn)上的至少一個資源,并且把該第一虛擬專用網(wǎng)絡(luò)節(jié) 點(diǎn)上的本地IP地址和/或本地主機(jī)名稱分配給該至少一個資源。
7. 根據(jù)權(quán)利要求6的方法,其中該至少一個資源的第一節(jié)點(diǎn)上的本地 IP地址來自該第一虛擬專用網(wǎng)絡(luò)節(jié)點(diǎn)上的第一虛擬專用網(wǎng)絡(luò)網(wǎng)關(guān)上所配置 的地址IP池。
8. 根據(jù)權(quán)利要求6的方法,其中該至少一個資源的第一節(jié)點(diǎn)上的本地 IP地址來自該第一虛擬專用網(wǎng)絡(luò)節(jié)點(diǎn)上的DHCP服務(wù)器。
9. 根據(jù)權(quán)利要求6的方法,其中當(dāng)該至少一個客戶端通過主機(jī)名稱來 請求該至少一個資源時,會使用域名系統(tǒng)(DNS)服務(wù)器來向該至少一個 客戶端提供該至少一個資源在該第一虛擬專用網(wǎng)絡(luò)節(jié)點(diǎn)上的本地IP地址。
10. 根據(jù)權(quán)利要求3的方法,其中在提供第二個虛擬網(wǎng)絡(luò)節(jié)點(diǎn)的資源 后,第一 DVPN代理服務(wù)器充當(dāng)?shù)谝粚S镁W(wǎng)絡(luò)上的至少一個客戶端進(jìn)行訪 問的虛擬資源,并且其中該第一 DVPN代理服務(wù)器可以使用第 一專用虛擬 專用網(wǎng)絡(luò)節(jié)點(diǎn)上的本地IP地址來接收從該至少 一個客戶端訪問至少 一個資 源的請求。
11. 根據(jù)權(quán)利要求3的方法,其中該安全連接包括建立虛擬專用網(wǎng)絡(luò) (VPN)控制隧道和至少一個虛擬專用網(wǎng)絡(luò)(VPN)會話隧道。
12. 根據(jù)權(quán)利要求11的方法,其中從該第一DVPN代理服務(wù)器到第二 DVPN代理服務(wù)器鉤初始請求經(jīng)由虛擬專用網(wǎng)絡(luò)(VPN)控制隧道傳送。
13. 根據(jù)權(quán)利要求3的方法,其中該第二DVPN代理服務(wù)器代替第一 虛擬專用網(wǎng)絡(luò)節(jié)點(diǎn)上的至少一個客戶端得到該第二虛擬專用網(wǎng)絡(luò)節(jié)點(diǎn)上的 本地IP地址,并且其中該至少一個客戶端的第二虛擬專用網(wǎng)絡(luò)節(jié)點(diǎn)上的本 地IP地址是通過配置在第二虛擬網(wǎng)絡(luò)節(jié)點(diǎn)網(wǎng)關(guān)上的IP地址池來獲得,或 通過該第二虛擬專用網(wǎng)絡(luò)節(jié)點(diǎn)上的DHCP服務(wù)器來獲得。
14. 根據(jù)權(quán)利要求3的方法,其中該第二DVPN代理服務(wù)器代表該至少一個客戶端發(fā)起對第二專用網(wǎng)絡(luò)節(jié)點(diǎn)上的至少一個資源的請求。
15. 根據(jù)權(quán)利要求11的方法,其中該第一和第二DVPN代理服務(wù)器在完成處理通過這個兩個代理服務(wù)器之間的虛擬專用網(wǎng)絡(luò)(VPN)控制隧道從該至少一個客戶端到至少一個資源的初始請求之后建立虛擬專用網(wǎng)絡(luò)(VPN)會話隧道。
16. 根據(jù)權(quán)利要求11的方法,其中該第一和第二DVPN代理服務(wù)器使 用唯一的會話標(biāo)識符來經(jīng)由虛擬專用網(wǎng)絡(luò)(VPN)會話隧道進(jìn)行該至少一 個客戶端和至少一個資源之間的路由數(shù)據(jù)交換,該唯一會話標(biāo)識符是根據(jù) 該客戶端名稱、資源名稱和第二虛擬專用網(wǎng)絡(luò)節(jié)點(diǎn)上的一個IP地址來創(chuàng)建 的。
17. 根據(jù)權(quán)利要求ll的方法,其中當(dāng)該至少一個客戶端和至少一個資 源完成他們的數(shù)據(jù)交換時,該第一和第二DVPN代理服務(wù)器關(guān)閉并刪除虛 擬專用網(wǎng)絡(luò)(VPN)會話隧道。
18. 根據(jù)權(quán)利要求1的方法,其中進(jìn)一步包括認(rèn)證和授權(quán)系統(tǒng),其中 該認(rèn)證和授權(quán)系統(tǒng)對每個訪問請求進(jìn)行認(rèn)證和授權(quán)。
19. 根據(jù)權(quán)利要求11的方法,其中該第一和第二 DVPN代理服務(wù)器從 初始虛擬專用網(wǎng)絡(luò)會話隧道創(chuàng)建多個虛擬專用網(wǎng)絡(luò)會話隧道以便支持使用 多個IP (網(wǎng)際協(xié)議)端口的應(yīng)用協(xié)議。
20. 根據(jù)權(quán)利要求3的方法,其中該第一和第二DVPN代理服務(wù)器進(jìn) 行內(nèi)容重寫來把數(shù)據(jù)中包含的IP地址和端口號映射到第一和第二虛擬專用 網(wǎng)絡(luò)節(jié)點(diǎn)上以便支持應(yīng)用層協(xié)議。
21. 根據(jù)權(quán)利要求1的方法,其中該至少一個客戶端利用多個中間虛 擬專用網(wǎng)絡(luò)節(jié)點(diǎn)中相應(yīng)的DVPN代理服務(wù)器通過多個中間虛擬專用網(wǎng)絡(luò)來 訪問至少一個資源。
22. 根據(jù)權(quán)利要求1的方法,其中該至少一個客戶端包括第一網(wǎng)絡(luò)節(jié) 點(diǎn)上的多個客戶端,并且其中該多個客戶端訪問該第二虛擬專用網(wǎng)絡(luò)節(jié)點(diǎn)上的多個資源。
23.根據(jù)權(quán)利要求1的方法,其中該第一虛擬專用網(wǎng)絡(luò)節(jié)點(diǎn)擁有多個 本地資源,這些本地資源可由該第二虛擬專用網(wǎng)絡(luò)節(jié)點(diǎn)上的至少一個客戶 端訪問。
全文摘要
一種使用(動態(tài)VPN)雙重代理機(jī)制來進(jìn)行應(yīng)用級內(nèi)容路由的方法,用于在不暴露彼此的實際IP地址和網(wǎng)絡(luò)拓?fù)涞那闆r下向客戶端提供對遠(yuǎn)程網(wǎng)絡(luò)上資源的訪問。該方法包括向客戶端提供遠(yuǎn)程網(wǎng)絡(luò)上的可用資源列表;由該客戶端從以該遠(yuǎn)程網(wǎng)絡(luò)作主機(jī)的可用資源列表中發(fā)起對至少一個資源的請求,就好像該至少一個資源處于該客戶端一樣;通過在該客戶端和遠(yuǎn)程網(wǎng)絡(luò)之間的安全連接把該請求路由到該至少一個遠(yuǎn)程資源;由該至少一個遠(yuǎn)程資源對該請求作出響應(yīng),就好像該請求是在遠(yuǎn)程網(wǎng)絡(luò)上本地發(fā)起一樣;并且通過該安全連接把該響應(yīng)從該遠(yuǎn)程網(wǎng)絡(luò)路由回到該客戶端。
文檔編號H04L12/46GK101222406SQ20071019598
公開日2008年7月16日 申請日期2007年12月14日 優(yōu)先權(quán)日2006年12月14日
發(fā)明者亞瑟·常, 任麗美, 蘇乃婷, 邁克爾·武 申請人:華耀環(huán)宇科技有限公司