專利名稱:虛擬網(wǎng)絡(luò)連接系統(tǒng)、裝置和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及虛擬網(wǎng)絡(luò)連接系統(tǒng)、虛擬網(wǎng)絡(luò)連接裝置和用于虛擬網(wǎng) 絡(luò)連接的方法。
背景技術(shù):
最近,虛擬專用網(wǎng)絡(luò)(VPN)服務(wù)已得到廣泛應(yīng)用。VPN服務(wù) 是經(jīng)由公共網(wǎng)絡(luò)諸如因特網(wǎng)在主機(jī)或站點(diǎn)和另一個主機(jī)或站點(diǎn)之間 進(jìn)行專用通信(類似于由專用線提供的通信)的服務(wù)。當(dāng)多個站點(diǎn)通 過諸如VPN的虛擬網(wǎng)絡(luò)連接時,在用于站點(diǎn)中的私有地址之間可能 出現(xiàn)沖突。在此情形下,使用私有地址作為源地址或目的地址的通信 是不可能的。
在JP 2000-228674 A描述的系統(tǒng)中,在站點(diǎn)之間的連接邊界處提 供地址轉(zhuǎn)換裝置,對通過VPN連接的站點(diǎn)中的每一個主機(jī)準(zhǔn)備了在 多個站點(diǎn)之間沒有重疊的別名地址(alias address)。對于需被傳輸?shù)?信息包而言,在站點(diǎn)中的主機(jī)使用源地址的站點(diǎn)內(nèi)的私有地址和目的 地址的別名地址。當(dāng)該地址轉(zhuǎn)換裝置將信息包從第一站點(diǎn)傳遞到第二 站點(diǎn)時,該地址轉(zhuǎn)換裝置將信息包的目的地址轉(zhuǎn)換為第二站點(diǎn)的私有 地址,并將源地址轉(zhuǎn)換為源主機(jī)的別名地址。
在JP 2003-169070A描述的系統(tǒng)中,通過管理員網(wǎng)絡(luò)地址轉(zhuǎn)換單 元將多個獨(dú)立IP地址空間連接到管理員網(wǎng)絡(luò)。利用識別信息和獨(dú)立 IP地址空間的地址的組合,該管理員網(wǎng)絡(luò)地址轉(zhuǎn)換單元將具有用于識 別每一個獨(dú)立IP地址空間的識別信息的通信數(shù)據(jù)轉(zhuǎn)換為包括SNMP 地址的管理員網(wǎng)絡(luò)的地址。
在JP 2002-204252A描述的系統(tǒng)中,每一個私有地址空間具有作 為VLAN的識別信息的VLAN-ID。當(dāng)需連接私有地址空間和因特網(wǎng) 時,利用由私有地址空間的VLAN-ID和私有地址組成的一對,重疊網(wǎng)絡(luò)地址轉(zhuǎn)換裝置在該私有地址和因特網(wǎng)的全局地址之間進(jìn)行轉(zhuǎn)換。
發(fā)明內(nèi)容
本發(fā)明的一個優(yōu)點(diǎn)是即使在將虛擬地址分配給虛擬網(wǎng)絡(luò)的每一 個站點(diǎn)中的信息處理器時,仍可以解析對應(yīng)于信息處理器名稱的虛擬 地址。
根據(jù)本發(fā)明的第一方面,提供一種.虛擬網(wǎng)絡(luò)連接系統(tǒng),具有收 集單元,其從虛擬網(wǎng)絡(luò)內(nèi)的每一個站點(diǎn)收集該站點(diǎn)內(nèi)的信息處理器的 真實(shí)地址;分配單元,其將不與所述站點(diǎn)內(nèi)的其它信息處理器的虛擬 地址重疊的虛擬地址分配給具有在由所述收集單元收集的真實(shí)地址 中的重疊的真實(shí)地址的每一個信息處理器;第一產(chǎn)生單元,其產(chǎn)生表 示由所述分配單元分配的虛擬地址和所述真實(shí)地址之間的對應(yīng)關(guān)系 的第一對應(yīng)信息;第一提供單元,其根據(jù)所述第一對應(yīng)信息產(chǎn)生用于 虛擬網(wǎng)絡(luò)連接的設(shè)定信息,并將所述設(shè)定信息提供給每一個站點(diǎn)的虛 擬網(wǎng)絡(luò)連接裝置;獲得單元,其從信息處理器所屬的站點(diǎn)獲得表示所 述信息處理器的真實(shí)地址與所述信息處理器的名稱之間的對應(yīng)關(guān)系 的第二對應(yīng)信息;第二產(chǎn)生單元,用于根據(jù)所述第一對應(yīng)信息和所述 第二對應(yīng)信息,產(chǎn)生表示所述虛擬地址與所述信息處理器的名稱之間 的對應(yīng)關(guān)系的第三對應(yīng)信息;以及第二提供單元,其將所述第三對應(yīng) 信息提供給每一個站點(diǎn)的虛擬網(wǎng)絡(luò)連接裝置。
根據(jù)本發(fā)明的第二方面,所述第二提供單元包括接收單元,其 經(jīng)由所述虛擬網(wǎng)絡(luò)從第一信息處理器接收用于請求解析對應(yīng)于第二 信息處理器的名稱的地址的名稱解析請求;以及傳輸單元,其響應(yīng)于 由所述接收單元所接收的名稱解析請求,通過參考所述第三對應(yīng)信息 來識別對應(yīng)于所述第二信息處理器的名稱的虛擬地址,并將所識別的 虛擬地址傳輸給所述第一信息處理器。
根據(jù)本發(fā)明的第三方面,提供一種虛擬網(wǎng)絡(luò)連接裝置,包括第 一存儲單元,其存儲表示站點(diǎn)內(nèi)的信息處理器的真實(shí)地址與虛擬網(wǎng)絡(luò) 內(nèi)的所述信息處理器的虛擬地址之間的對應(yīng)關(guān)系的第一對應(yīng)信息;地 址轉(zhuǎn)換單元,其通過參照所述第一對應(yīng)信息,為在所述站點(diǎn)內(nèi)的信息處理器和所述站點(diǎn)外的信息處理器之間的傳輸信息執(zhí)行地址轉(zhuǎn)換;第 二存儲單元,其存儲表示所述站點(diǎn)內(nèi)的信息處理器的名稱與所述信息 處理器的真實(shí)地址之間的對應(yīng)關(guān)系的第二對應(yīng)信息;產(chǎn)生單元,其根 據(jù)所述第一對應(yīng)信息和所述第二對應(yīng)信息,產(chǎn)生表示所述站點(diǎn)內(nèi)的信 息處理器的名稱與所述信息處理器的虛擬地址之間的對應(yīng)關(guān)系的第 三對應(yīng)信息;以及提供單元,其將所述第三對應(yīng)信息提供給所述虛擬 網(wǎng)絡(luò)內(nèi)的其它站點(diǎn)。
根據(jù)本發(fā)明的第四方面,所述提供單元包括接收單元,其經(jīng)由 所述虛擬網(wǎng)絡(luò)從所述站點(diǎn)外的第一信息處理器接收用于請求解析對 應(yīng)于所述站點(diǎn)內(nèi)的第二信息處理器的名稱的地址的名稱解析請求;以 及傳輸單元,其響應(yīng)于由所述接收單元所接收的名稱解析請求,根據(jù) 所述第三對應(yīng)信息來識別對應(yīng)于所述第二信息處理器的名稱的虛擬 地址,并將所識別的虛擬地址傳輸給所述第一信息處理器。
根據(jù)本發(fā)明的第五方面,所述提供單元還包括通知單元,其向 其它站點(diǎn)通知轉(zhuǎn)發(fā)設(shè)定信息,該轉(zhuǎn)發(fā)設(shè)定信息包括所述站點(diǎn)的域名和 所述虛擬網(wǎng)絡(luò)連接裝置的全局IP地址;轉(zhuǎn)發(fā)設(shè)定存儲單元,其從其 它站點(diǎn)接收轉(zhuǎn)發(fā)設(shè)定信息并存儲該轉(zhuǎn)發(fā)設(shè)定信息,該轉(zhuǎn)發(fā)設(shè)定信息包 括所述其它站點(diǎn)的域名和所述其它站點(diǎn)的虛擬網(wǎng)絡(luò)連接裝置的全局 IP地址;轉(zhuǎn)發(fā)單元,當(dāng)包括在來自所述站點(diǎn)內(nèi)的第三信息處理器的名 稱解析請求中的名稱內(nèi)的域名包括存儲在所述轉(zhuǎn)發(fā)設(shè)定存儲單元中 的所述轉(zhuǎn)發(fā)設(shè)定信息所包括的另一個站點(diǎn)的域名時,所述轉(zhuǎn)發(fā)單元將 所述名稱解析請求轉(zhuǎn)發(fā)給包括在所述轉(zhuǎn)發(fā)設(shè)定信息中的所述其它站 點(diǎn)的虛擬網(wǎng)絡(luò)連接裝置的全局IP地址;以及響應(yīng)單元,其響應(yīng)于由 所述轉(zhuǎn)發(fā)單元轉(zhuǎn)發(fā)的名稱解析請求,將從所述其它站點(diǎn)的虛擬網(wǎng)絡(luò)連 接裝置返回的虛擬地址發(fā)送給所述第三信息處理器。
根據(jù)本發(fā)明的第六方面,提供一種用于虛擬網(wǎng)絡(luò)連接的方法,包 括收集步驟,用于從虛擬網(wǎng)絡(luò)內(nèi)的每一個站點(diǎn)收集該站點(diǎn)內(nèi)的信息 處理器的真實(shí)地址;分配步驟,用于將不與所述站點(diǎn)內(nèi)的其它信息處 理器的虛擬地址重疊的虛擬地址分配給具有所收集的真實(shí)地址中的 重疊的真實(shí)地址的信息處理器;第一產(chǎn)生步驟,用于產(chǎn)生表示所分配的虛擬地址和所述真實(shí)地址之間的對應(yīng)關(guān)系的第一對應(yīng)信息;第一提 供步驟,用于根據(jù)所述第一對應(yīng)信息產(chǎn)生用于虛擬網(wǎng)絡(luò)連接的設(shè)定信 息,并將所述設(shè)定信息提供給每一個站點(diǎn)的虛擬網(wǎng)絡(luò)連接裝置;獲得 步驟,用于從信息處理器所屬的站點(diǎn)獲得表示所述信息處理器的真實(shí) 地址與所述信息處理器的名稱之間的對應(yīng)關(guān)系的第二對應(yīng)信息;第二 產(chǎn)生步驟,用于根據(jù)所述第一對應(yīng)信息和所述第二對應(yīng)信息,產(chǎn)生表 示所述虛擬地址與所述信息處理器的名稱之間的對應(yīng)關(guān)系的第三對 應(yīng)信息;以及第二提供步驟,用于將所述第三對應(yīng)信息提供給每一個 站點(diǎn)的虛擬網(wǎng)絡(luò)連接裝置。
根據(jù)本發(fā)明的第七方面,所述第二提供步驟包括接收步驟,用 于經(jīng)由所述虛擬網(wǎng)絡(luò)從第一信息處理器接收用于請求解析對應(yīng)于第 二信息處理器的名稱的地址的名稱解析請求;以及傳輸步驟,用于響 應(yīng)于所接收的名稱解析請求,通過參考所述第三對應(yīng)信息來識別對應(yīng) 于所述第二信息處理器的名稱的虛擬地址,并將所識別的虛擬地址傳 輸給所述第一信息處理器。
根據(jù)本發(fā)明的第八方面,提供一種用于虛擬網(wǎng)絡(luò)連接的方法,包 括地址轉(zhuǎn)換步驟,用于通過參照第一存儲單元,對在站點(diǎn)內(nèi)的信息 處理器和所述站點(diǎn)外的信息處理器之間的傳輸信息執(zhí)行地址轉(zhuǎn)換,所 述第一存儲單元存儲表示所述站點(diǎn)內(nèi)的信息處理器的真實(shí)地址與虛 擬網(wǎng)絡(luò)內(nèi)的所述信息處理器的虛擬地址之間的對應(yīng)關(guān)系的第一對應(yīng) 信息;獲得步驟,用于從存儲第二對應(yīng)信息的第二存儲單元獲得表示 所述站點(diǎn)內(nèi)的信息處理器的名稱與所述信息處理器的真實(shí)地址之間 的對應(yīng)關(guān)系的第二對應(yīng)信息;產(chǎn)生步驟,用于根據(jù)所述第一對應(yīng)信息
和所述第二對應(yīng)信息,產(chǎn)生表示所述站點(diǎn)內(nèi)的信息處理器的名稱與所
述信息處理器的虛擬地址之間的對應(yīng)關(guān)系的第三對應(yīng)信息;以及提供 步驟,用于將所述第三對應(yīng)信息提供給所述虛擬網(wǎng)絡(luò)內(nèi)的其它站點(diǎn)。 根據(jù)本發(fā)明的第九方面,所述提供步驟包括接收步驟,用于經(jīng)
由所述虛擬網(wǎng)絡(luò)從所述站點(diǎn)外的第一信息處理器接收用于請求解析
對應(yīng)于所述站點(diǎn)內(nèi)的第二信息處理器的名稱的地址的名稱解析請求; 以及傳輸步驟,用于響應(yīng)于所接收的名稱解析請求,根據(jù)所述第三對應(yīng)信息來識別對應(yīng)于所述第二信息處理器的名稱的虛擬地址,并將所 識別的虛擬地址傳輸給所述第一信息處理器。
根據(jù)本發(fā)明的第十方面,所述提供步驟還包括通知步驟,用于 向其它站點(diǎn)通知轉(zhuǎn)發(fā)設(shè)定信息,該轉(zhuǎn)發(fā)設(shè)定信息包括所述站點(diǎn)的域名 和所述虛擬網(wǎng)絡(luò)連接裝置的全局IP地址;轉(zhuǎn)發(fā)設(shè)定存儲步驟,用于 從其它站點(diǎn)接收轉(zhuǎn)發(fā)設(shè)定信息并將該轉(zhuǎn)發(fā)設(shè)定信息存儲在轉(zhuǎn)發(fā)設(shè)定 存儲單元中,所述轉(zhuǎn)發(fā)設(shè)定信息包括所述其它站點(diǎn)的域名和所述其它 站點(diǎn)的虛擬網(wǎng)絡(luò)連接裝置的全局IP地址;轉(zhuǎn)發(fā)步驟,用于當(dāng)包括在 來自所述站點(diǎn)內(nèi)的第三信息處理器的名稱解析請求中的名稱內(nèi)的域 名包括存儲在所述轉(zhuǎn)發(fā)設(shè)定存儲單元中的所述轉(zhuǎn)發(fā)設(shè)定信息所包括 的另一個站點(diǎn)的域名時,將所述名稱解析請求轉(zhuǎn)發(fā)給包括在所述轉(zhuǎn)發(fā) 設(shè)定信息中的所述其它站點(diǎn)的虛擬網(wǎng)絡(luò)連接裝置的全局IP地址;以 及響應(yīng)步驟,用于響應(yīng)于通過所述轉(zhuǎn)發(fā)步驟而轉(zhuǎn)發(fā)的名稱解析請求, 將從所述其它站點(diǎn)的虛擬網(wǎng)絡(luò)連接裝置返回的虛擬地址發(fā)送給所述 第三信息處理器。
根據(jù)本發(fā)明的第一或第六方面,即使在將虛擬地址分配給虛擬網(wǎng) 絡(luò)的每一個站點(diǎn)中的信息處理器時,仍可以解析對應(yīng)于該信息處理器 名稱的虛擬地址。
根據(jù)本發(fā)明的第二、第四、第七或第九方面,當(dāng)通過該虛擬網(wǎng)絡(luò) 從站點(diǎn)外請求對站點(diǎn)內(nèi)的信息處理器進(jìn)行名稱解析時,根據(jù)該第三個 對應(yīng)信息,可以發(fā)送對應(yīng)于該名稱解析請求的虛擬地址響應(yīng)。
根據(jù)本發(fā)明的第三或第八方面,可以將用于解析對應(yīng)于該信息處 理器名稱的虛擬地址的信息提供給另一個站點(diǎn)。
根據(jù)本發(fā)明的第五或第十方面,當(dāng)來自站點(diǎn)內(nèi)的信息處理器的名 稱解析請求與屬于虛擬網(wǎng)絡(luò)的另一個站點(diǎn)內(nèi)的信息處理器相關(guān)時,可 以發(fā)送該網(wǎng)絡(luò)解析請求并通過其它站點(diǎn)的虛擬網(wǎng)絡(luò)連接裝置進(jìn)行處 理。
參考附圖,將詳細(xì)描述本發(fā)明的示例性實(shí)施例,其中-圖1是顯示示例性網(wǎng)絡(luò)結(jié)構(gòu)的示圖2是顯示作為主路由器工作的示例性VPN路由器的功能框圖; 圖3是顯示示例性VPN連接設(shè)定信息的示圖; 圖4是顯示NAT單元中的示例性轉(zhuǎn)換規(guī)則的示圖; 圖5是顯示作為非主路由器的示例性VPN路由器的功能框圖; 圖6是顯示主DNS的區(qū)域信息的示例的示圖; 圖7是顯示根據(jù)圖6的區(qū)域信息產(chǎn)生的虛擬端DNS單元的示例 性區(qū)域信息的示圖8是顯示用于作為主路由器的VPN路由器的VPN設(shè)定處理的
流程圖9是顯示用于作為非主路由器的VPN路由器的VPN設(shè)定處理 的流程圖IO是顯示VPN通信的示例性流程的示圖; 圖11是顯示計(jì)算機(jī)的示例性硬件配置的示圖。
具體實(shí)施例方式
參考圖l,現(xiàn)在將描述示例性實(shí)施例的網(wǎng)絡(luò)結(jié)構(gòu)的例子。在此例 子中,在三個站點(diǎn)A、 B和C的LAN (局域網(wǎng))之間構(gòu)建一個VPN (虛擬專用網(wǎng)絡(luò))。
在站點(diǎn)A、 B和C分別提供VPN路由器IOOA、 100B和IOOC。 該VPN路由器IOOA、 100B和lOOC連接到因特網(wǎng)300。該VPN路 由器IOOA、 100B和100C還分別連接到站點(diǎn)A、B和C的LAN 200A、 200B和200C。計(jì)算機(jī)220A和主DNS (域名系統(tǒng))240A連接到LAN 200A,而計(jì)算機(jī)220B和主DNS 240B連接到LAN 200B。類似地, 計(jì)算機(jī)和主DNS連接到LAN200C (圖未示)。在所示出的配置中, 在LAN200A和200B中設(shè)定同樣的私有網(wǎng)絡(luò)地址10.0.0.0/24。
在此示例性配置中,VPN路由器IOOA、 100B和100C的每一個 具有用于IP (網(wǎng)際協(xié)議)路由的路由器功能和VPN連接控制功能。 在所示出的配置中,將全局IP地址l丄O.l、 1.2.0.1和1.3.0.1分別分 配給在因特網(wǎng)300 —端的VPN路由器IOOA、 100B和100C的VPN接口。另外,在所示出的配置中,將私有IP地址10.0.0.2分配給在 LAN 200A —端的VPN路由器100A的接口 ,并將私有IP地址10.0.0.2 分配給在LAN 200B —端的VPN路由器100B的接口。在此,全局 IP地址涉及在因特網(wǎng)上唯一分配給連接到因特網(wǎng)的裝置的IP地址。 另一方面,私有IP地址涉及在組織內(nèi)唯一分配給連接到該組織中的 網(wǎng)絡(luò)(例如LAN)的裝置的IP地址。因?yàn)樗接蠭P地址在每一個組織 內(nèi)進(jìn)行分配,因此可能存在在不同組織內(nèi)的裝置的私有IP地址具有 相同值的情形。該VPN路由器100A、 100B和100C可以具有不同于 用于VPN的全局IP地址的全局IP地址,并使用不同于通過VPN的 全局IP地址的此全局IP地址進(jìn)行通信。
計(jì)算機(jī)220A和220B中的每一個是信息處理器,諸如個人計(jì)算 機(jī)、工作站或服務(wù)器。將LAN 200A中的私有IP地址10.0.0.1分配 給該計(jì)算機(jī)220A,將LAN 200B中的私有IP地址10.0.0.1分配給該 計(jì)算機(jī)220B。
該主DNS 240A存儲每一個計(jì)算機(jī)的主機(jī)名稱和LAN 200A上的 IP地址之間的對應(yīng)關(guān)系。該主DNS 240B存儲每一個計(jì)算機(jī)的主機(jī)名 稱和該LAN 200B上的IP地址之間的對應(yīng)關(guān)系。該計(jì)算機(jī)的IP地址 可以是私有IP地址或是全局IP地址。當(dāng)根據(jù)DHCP (動態(tài)主機(jī)配置 協(xié)議)或類似協(xié)議將IP地址動態(tài)分配給LAN 200A上的計(jì)算機(jī)或LAN 200B上的計(jì)算機(jī)時,可以將動態(tài)DNS用作主DNS 240A或240B。 雖然圖沒有顯示,但在LAN 200C上提供用于存儲每一個計(jì)算機(jī)的主 機(jī)名稱和該LAN 200C上的IP地址之間的對應(yīng)關(guān)系的主DNS。
當(dāng)在三個站點(diǎn)A、B和C之間構(gòu)建一個VPN時,因?yàn)橛?jì)算機(jī)220A 和220B具有重疊的私有IP地址,因此無法實(shí)現(xiàn)在這些計(jì)算機(jī)之間經(jīng) 由VPN進(jìn)行通信??紤]到此點(diǎn),在所示出的配置中,該VPN路由器 IOOA、 100B和100C合成一個系統(tǒng),從而能夠經(jīng)由該VPN進(jìn)行通信, 即使在形成VPN部分的站點(diǎn)中存在具有重疊的IP地址的計(jì)算機(jī)。
更特別地,在此系統(tǒng)中,收集由該VPN路由器100A、 IOOB和 100C保存的路由信息,以檢查在站點(diǎn)A、 B和C中是否存在具有重 疊的私有IP地址的計(jì)算機(jī)。因此,將是虛擬的(或模擬的)(此后稱作為"虛擬IP地址")和在這些站點(diǎn)中沒有重疊的IP地址分配給具
有重疊IP地址的計(jì)算機(jī),從而這些計(jì)算機(jī)可以參與到該VPN中。
當(dāng)上述系統(tǒng)自動分配該虛擬IP地址時,參與到該VPN中的計(jì)算 機(jī)無法經(jīng)由該VPN進(jìn)行通信,除非該計(jì)算機(jī)知道哪個虛擬IP地址被 分配到哪個計(jì)算機(jī)。因此,在此系統(tǒng)中,被自動分配的虛擬IP地址 在該DNS (域名系統(tǒng))中反映出,從而可以根據(jù)該計(jì)算機(jī)的主機(jī)名 稱解析該虛擬IP地址。
在此系統(tǒng)中,例如,該VPN路由器100A可以作為主路由器運(yùn) 行,從其它VPN路由器100B和100C收集路由信息,并參考所收集 的信息來執(zhí)行該虛擬IP地址的分配處理。參考圖2,現(xiàn)在將描述作為 主路由器運(yùn)行的VPN路由器100A的功能性結(jié)構(gòu)。
該VPN路由器IOOA具有路由器單元110、VPN連接控制器120、 VPN設(shè)定單元130、虛擬端DNS單元140和DNS設(shè)定單元150。該 路由器單元IIO執(zhí)行在網(wǎng)絡(luò)之間通信的信息包的路由。該路由器單元 IIO涉及用于路由的路由信息112。類似于眾所周知的技術(shù)中的路由 器的路由器可以用作該路由器單元110,且類似于眾所周知技術(shù)中的 路由信息的路由信息可以用作該路由信息112。
該VPN連接控制器120是執(zhí)行經(jīng)由該VPN通信的處理的功能模 塊。該VPN連接控制器120通過例如IPsec (網(wǎng)際協(xié)議安全)執(zhí)行 VPN通信。該IPsec僅僅是示例性的,且該VPN連接控制器120可 以使用其它VPN技術(shù)。該VPN連接控制器120通過參考VPN連接 設(shè)定信息122執(zhí)行該VPN通信。該VPN連接設(shè)定信息122可以包括 例如該VPN上其它VPN路由器100B和100C的全局IP地址的信息。 該VPN連接設(shè)定信息122還可以包括例如指示哪個IP信息包需經(jīng)由 VPN傳送的安全策略的信息。該安全策略可以包括諸如需經(jīng)由該 VPN通信的IP信息包的源地址和目的地址組合的信息。
圖3示出了該VPN連接設(shè)定信息122的例子。所示出的例子是 對于包括站點(diǎn)A、 B和C的VPN由該VPN路由器100A保存的VPN 連接設(shè)定信息122的例子。從該VPN路由器100A的觀點(diǎn)看,在此 配置中的VPN包括站點(diǎn)A和B之間的VPN連接和站點(diǎn)A和C之間的VPN連接。該VPN連接設(shè)定信息122包括每一個VPN連接的個 別設(shè)定信息。
在該VPN連接設(shè)定信息中,由"本地端選擇器"和"遠(yuǎn)端選擇 器"組成的一對選擇器指示用于通過VPN選擇信息包的選擇條件。 該"本地端選擇器"是關(guān)于在從該VPN路由器100A所見的VPN連 接的本地端上的站點(diǎn)內(nèi)(即,在通過該VPN路由器100A管理的LAN 200A內(nèi))的地址的條件。該"本地端選擇器"包括出站信息包的條 件和入站信息包的條件。對于該出站信息包而言,本地端選擇器是關(guān) 于從該LAN發(fā)出到因特網(wǎng)的信息包的源IP地址的條件,而對于該入 站信息包而言,本地端選擇器是關(guān)于從因特網(wǎng)輸入到LAN的信息包 的目的IP地址的條件。該"遠(yuǎn)端選擇器"是關(guān)于從該VPN路由器100A 所見的VPN連接的另一方的站點(diǎn)中的地址的條件。"本地端對等"是 對于VPN連接通過VPN路由器100A使用的接口的全局IP地址,而 "遠(yuǎn)端對等"是VPN連接的另一方的VPN路由器100B或100C的 全局IP地址。
例如,圖3中連接AB的設(shè)定信息示出(1)規(guī)則"當(dāng)自LAN 200A內(nèi)接收到的信息包的源IP地址的24個高位匹配10.0.0,而目的 IP地址的24個高位匹配30.0.0時,將壓縮該信息包,并將所壓縮的 信息包從VPN路由器IOOA的地址U.0.1傳輸?shù)绞橇硪环降腣PN路 由器100B的地址1.2.0.1",以及(2)規(guī)則"當(dāng)從1.2.0.1 (VPN路 由器100B)傳輸至lJl丄O.l (VPN路由器100A)的信息包的源IP地 址的24個高位匹配20.0.0,而源IP地址的24個高位匹配30.0.0時, 解壓該信息包,并將作為解壓結(jié)果獲得的信息包傳輸給LAN 200A上 的計(jì)算機(jī)"。
在該VPN連接設(shè)定信息122中,該"本地端對等"和"遠(yuǎn)端對 等"是通過VPN中的VPN路由器確定的固定值,并且例如可以由管 理該VPN路由器100A、 100B和100C的管理員設(shè)定。另一方面,該 "本地端選擇器"和"遠(yuǎn)端選擇器"可以是虛擬IP地址,并可以在 確定對虛擬IP地址進(jìn)行分配之后,根據(jù)該分配進(jìn)行自動設(shè)定。例如, 以虛擬IP地址表示該本地端選擇器20.0.0.0/24。圖3所示的該VPN連接設(shè)定信息122的項(xiàng)僅僅是示例性的。該 VPN連接設(shè)定信息122可以另外包括其它項(xiàng),諸如源端口號或目的 端口號和需被使用的協(xié)議。另外,當(dāng)該VPN路由器IOOA控制多個 不同的VPN的連接時,對每一個VPN產(chǎn)生并使用如圖3所例示的個 別設(shè)定信息。
該VPN連接控制器120具有NAT (網(wǎng)絡(luò)地址轉(zhuǎn)換)單元124。 該NAT單元124涉及轉(zhuǎn)換規(guī)則126并在源IP地址和目的IP地址的 真實(shí)IP地址(即,原始專用IP地址)和虛擬IP地址之間進(jìn)行轉(zhuǎn)換。 圖4例示了由該VPN路由器100A保存的轉(zhuǎn)換規(guī)則126。將圖4所示 的轉(zhuǎn)換規(guī)則應(yīng)用到通過該VPN連接設(shè)定信息122確定為"通過VPN 的信息包"的信息包。此示例性規(guī)則定義(1)對于從該LAN200A 離開因特網(wǎng)的出站信息包而言,將該源IP地址從原始IP地址10.0.0.x 轉(zhuǎn)換成虛擬IP地址20.Q.0.x,以及(2)對于從因特網(wǎng)進(jìn)入該LAN 200A 的入站信息包而言,將該目的IP地址從虛擬IP地址20.0.0.x轉(zhuǎn)換成 真實(shí)地址(私有IP地址)lO.O.O.x。在確定虛擬IP地址的分配之后, 設(shè)定該轉(zhuǎn)換規(guī)則126。
當(dāng)該VPN路由器100A控制多個不同的VPN的連接時,對于每 一個VPN產(chǎn)生并使用圖4所示的轉(zhuǎn)換規(guī)則。
即使當(dāng)從該LAN 200A到因特網(wǎng)的出站信息包的源IP地址是 lO.O.O.x時,如果該目的IP地址是不同于該VPN連接的另一方的站 點(diǎn),也不應(yīng)用該轉(zhuǎn)換規(guī)則126。在標(biāo)準(zhǔn)NAT或IP偽裝領(lǐng)域中,此種 情形是例如將源IP地址轉(zhuǎn)換為由該路由器保存的全局IP地址,且不 與VPN直接相關(guān)。該VPN路由器IOOA、 100B和100C可以具有此 種標(biāo)準(zhǔn)NAT、 NAPT (網(wǎng)絡(luò)地址端口轉(zhuǎn)換)或IP偽裝功能。該NAPT 和IP偽裝是其中一個全局IP地址由公司內(nèi)的多個計(jì)算機(jī)或連接到因 特網(wǎng)的類似物共享的技術(shù)。在諸如RPC 2663 "NAT Terminology and Considerations"中定義該NAPT。
該VPN設(shè)定單元130是執(zhí)行VPN的設(shè)定處理的功能模塊。該 VPN路由器100A的VPN設(shè)定單元130具有路由信息收集單元132、 虛擬地址分配單元134、設(shè)定單元136和設(shè)定信息提供單元138。該路由信息收集單元132從該VPN的站點(diǎn)的VPN路由器IOOA、 100B 和IOOC收集路由信息112。通過該VPN路由器IOOA保存的路由信 息112可以從該路由器單元110獲得??梢愿鶕?jù)該VPN連接設(shè)定信 息122知道VPN路由器100B和100C的全局IP地址,從而該路由 信息收集單元132可以發(fā)送請求給該路由信息的這些IP地址。
該虛擬地址分配單元134通過參考從該VPN的所有VPN路由器 收集的路由信息,檢查在站點(diǎn)A、 B和C的計(jì)算機(jī)中是否存在重疊的 私有IP地址。當(dāng)發(fā)現(xiàn)重疊的私有IP地址時,對于該私有IP地址而 言,該虛擬地址分配單元134分配在VPN內(nèi)不重疊的虛擬IP地址。 另外,還可以使用以下配置,其中不但將該虛擬IP地址分配給具 有與VPN內(nèi)另一個計(jì)算機(jī)重疊的私有IP地址的計(jì)算機(jī),而且分配給 具有不重疊的私有IP地址的計(jì)算機(jī)。
虛擬IP地址的分配可以在上述計(jì)算機(jī)的單元中執(zhí)行,或可以在 LAN的單元中執(zhí)行。更特別地,在此情形下,將在這些站點(diǎn)內(nèi)不重 疊的虛擬網(wǎng)絡(luò)地址分配給在該VPN的站點(diǎn)的LAN中具有重疊的私有 網(wǎng)絡(luò)地址的LAN。為該LAN上的每一個計(jì)算機(jī)分配屬于該虛擬網(wǎng)絡(luò) 地址的虛擬IP地址。例如,通過保持計(jì)算機(jī)的原始私有IP地址的主 機(jī)部分不變,而以虛擬網(wǎng)絡(luò)地址代替該網(wǎng)絡(luò)部分,可以確定計(jì)算機(jī)的 虛擬IP地址。
在圖1的示例性配置中,根據(jù)從站點(diǎn)A、B和C收集的路由信息, 可以明白該LAN 200A和200B都具有網(wǎng)絡(luò)地址10.0.0.0/24 ,而該LAN 200C具有網(wǎng)絡(luò)地址172.16.0.0/24。因?yàn)樗接芯W(wǎng)絡(luò)地址在該LAN 200A 和200B之間重疊,因此該虛擬地址分配單元134將例如20.0.0.0/24 分配為LAN 200A的虛擬網(wǎng)絡(luò)地址,而將30.0.0.0/24分配為LAN 200B 的虛擬網(wǎng)絡(luò)地址。另一方面,因?yàn)樵揕AN 200C不具有與該VPN內(nèi) 其它LAN重疊的網(wǎng)絡(luò)地址,因此將原始網(wǎng)絡(luò)地址用于該LAN 200C。 另外,還可能使用一種配置,其中,將不與該VPN內(nèi)的其它LAN重 疊的虛擬網(wǎng)絡(luò)地址分配給該LAN 200C。
在所例示的系統(tǒng)中,作為LAN內(nèi)計(jì)算機(jī)的IP地址,在該LAN 內(nèi)使用私有IP地址,而在該LAN外使用虛擬IP地址。例如,在圖1例示的配置中,從站點(diǎn)A的計(jì)算機(jī)220A傳輸?shù)秸军c(diǎn)B的計(jì)算機(jī)220B 的信息包的源地址在站點(diǎn)A內(nèi)是10.0.0.1,但當(dāng)將該信息包發(fā)送給因 特網(wǎng)300時,通過該VPN路由器100A以20.0.0.1進(jìn)行替換。
該虛擬地址分配單元134可以從保存為私有IP地址的范圍中分 配虛擬IP地址或虛擬網(wǎng)絡(luò)地址。然而,在圖1的示例性配置中,為 了避免繪圖復(fù)雜性,將私有IP地址之外的相對簡單的地址用作虛擬 IP地址。
通過參考該虛擬地址分配單元134的分配結(jié)果,該設(shè)定單元136 設(shè)定該VPN連接設(shè)定信息122和該轉(zhuǎn)換規(guī)則124。例如,在圖1的 示例性配置中,作為將虛擬網(wǎng)絡(luò)地址20.0.0.0/24分配給VPN路由器 IOOA所屬的站點(diǎn)A (具有私有網(wǎng)絡(luò)地址10.0.0.0/24)的結(jié)果,該設(shè) 定單元136將圖4例示的規(guī)則設(shè)定為轉(zhuǎn)換規(guī)則126。另外,該設(shè)定單 元136在VPN連接設(shè)定信息122中將20.0.0.0/24設(shè)定為入站信息包 的本地端選擇器(對于出站信息包而言,可以設(shè)定私有網(wǎng)絡(luò)地址)。 作為為具有全局IP地址1.2.0.1的VPN路由器1OOB所屬的LAN 200B 分配虛擬網(wǎng)絡(luò)地址30.0.0.0/24的結(jié)果,該設(shè)定單元136在VPN連接 設(shè)定信息122中將連接AB的遠(yuǎn)端選擇器設(shè)定為30.0.0.0/24。另外, 因?yàn)闆]有虛擬網(wǎng)絡(luò)地址分配給站點(diǎn)C,因此可以在VPN連接設(shè)定信 息122中為連接AC的遠(yuǎn)端選擇器設(shè)定該LAN200C的私有網(wǎng)絡(luò)地址 172,16.0.0/24。
通過參考該虛擬地址分配單元134的分配結(jié)果,該設(shè)定信息提供 單元138產(chǎn)生VPN的其它站點(diǎn)內(nèi)的VPN路由器100B和100C的設(shè) 定信息,并將該設(shè)定信息提供給該路由器IOOB和IOOC。
某一個VPN路由器的設(shè)定信息包括在相同的VPN上的其它VPN 路由器的VPN的全局IP地址和在該路由器所屬的LAN上的計(jì)算機(jī) 的VPN內(nèi)的IP地址之間的對應(yīng)關(guān)系的信息。當(dāng)將該VPN的虛擬IP 地址分配給計(jì)算機(jī)時,該計(jì)算機(jī)的VPN內(nèi)的IP地址是虛擬IP地址。 當(dāng)該計(jì)算機(jī)的原始私有IP地址在VPN內(nèi)沒有重疊時,可以將該私有 IP地址用作VPN內(nèi)的地址。在此情形下,該對應(yīng)關(guān)系的信息包括該 私有IP地址。另夕卜,代替該LAN上的個別計(jì)算機(jī)的VPN內(nèi)的IP地址,還可能在對應(yīng)關(guān)系的信息中包括該LAN的VPN內(nèi)的網(wǎng)絡(luò)地址。 例如,該VPN路由器100B的設(shè)定信息包括VPN路由器100A 和100C的每一個的上述對應(yīng)關(guān)系的信息。VPN路由器100A的對應(yīng) 關(guān)系的信息可以包括例如該VPN路由器IOOA的全局IP地址l丄O.l, 和該LAN 200A的虛擬網(wǎng)絡(luò)地址20.0.0.0/24 (或該LAN 200A內(nèi)的計(jì) 算機(jī)和路由器的虛擬IP地址)。因?yàn)樵赩PN內(nèi)不存在與LAN 200C 的私有網(wǎng)絡(luò)地址重疊的私有網(wǎng)絡(luò)地址,因此可以將該LAN200C的私 有網(wǎng)絡(luò)地址用于該VPN中。當(dāng)將該私有網(wǎng)絡(luò)地址也用于該VPN中時, VPN路由器100C的對應(yīng)關(guān)系的信息可以包括LAN 200C的全局IP 地址1.3.0.1和私有網(wǎng)絡(luò)地址172.16.0.0/24 (或在LAN 200C內(nèi)的計(jì)算 機(jī)或類似物的私有IP地址)。
當(dāng)該VPN路由器100B和100C從是主路由器的VPN路由器 100A接收設(shè)定信息時,根據(jù)包括在該設(shè)定信息中的上述對應(yīng)關(guān)系的 信息,該VPN路由器100B和100C的每一個在VPN連接設(shè)定信息 122中設(shè)定遠(yuǎn)端選擇器。例如,根據(jù)所接收的對應(yīng)關(guān)系的信息,該 VPN路由器100B為與站點(diǎn)A連接的遠(yuǎn)端選擇器設(shè)定對應(yīng)于站點(diǎn)A 的遠(yuǎn)端對等l丄O.l的虛擬網(wǎng)絡(luò)地址20.0.0.0/24,并為與站點(diǎn)C連接 的遠(yuǎn)端選擇器設(shè)定對應(yīng)站點(diǎn)C的遠(yuǎn)端對等1.3.0.1的網(wǎng)絡(luò)地址 172.16.0.0/24。設(shè)定信息的獲得由VPN路由器100B和100C的每一 個的信息獲得單元164執(zhí)行,并且根據(jù)所接收的設(shè)定信息,可以由該 設(shè)定單元136a執(zhí)行對VPN連接設(shè)定信息122的設(shè)定(參考圖5)。
由該設(shè)定信息提供單元138提供給該VPN路由器100B的設(shè)定 信息還包括在該VPN路由器100B所屬的LAN 200B上的計(jì)算機(jī)的原 始私有IP地址(真實(shí)IP地址)和分配給這些計(jì)算機(jī)的虛擬IP地址 之間的對應(yīng)關(guān)系的信息。另外,還可以使用以下配置,其中代替在 這些計(jì)算機(jī)的真實(shí)IP地址和虛擬IP地址之間的對應(yīng)關(guān)系的信息,在 該設(shè)定信息中包括在該LAN200B的私有網(wǎng)絡(luò)地址(真實(shí)網(wǎng)絡(luò)地址) 和虛擬網(wǎng)絡(luò)地址之間的對應(yīng)關(guān)系的信息。當(dāng)該VPN路由器IOOB接 收到該設(shè)定信息時,根據(jù)所接收到的設(shè)定信息,該VPN路由器100B 在VPN連接設(shè)定信息122中將與站點(diǎn)A連接的"本地端選擇器(入站)"設(shè)定為諸如虛擬網(wǎng)絡(luò)地址30.0.0.0/24。根據(jù)所接收到的信息, 該VPN路由器100B可以將NAT單元124內(nèi)的如下規(guī)則設(shè)定為VPN 的轉(zhuǎn)換規(guī)則126:用于將源地址從私有地址10.0.0.0/24轉(zhuǎn)換為虛擬地 址30.0.0.0/24的出站信息包的規(guī)則;以及用于將目的地址從虛擬地址 30.0.0.0/24轉(zhuǎn)換為私有地址10.0.0.0/24的入站信息包的規(guī)則。通過該 VPN路由器100B內(nèi)的信息獲得單元164和設(shè)定單元136a來執(zhí)行這 些處理。
當(dāng)將該原始私有地址用作LAN 200C的VPN的地址時,不分配 虛擬地址,從而提供給該VPN路由器100C的設(shè)定信息可能不包括 真實(shí)地址和虛擬地址的對應(yīng)信息。將該VPN路由器100C的VPN連 接設(shè)定信息122內(nèi)的"本地端選擇器(入站)"值設(shè)定為172.16.0.0/24, 類似于"本地端選擇器(出站)"的值,并且可以使該轉(zhuǎn)換規(guī)則126 空閑(即,對該VPN不執(zhí)行地址轉(zhuǎn)換)。
再次參考圖2,響應(yīng)于來自該VPN端的名稱解析請求,該VPN 路由器100A的虛擬端DNS單元140以對應(yīng)該名稱(主機(jī)名稱)的 LAN 200A內(nèi)的計(jì)算機(jī)的VPN中的IP地址做出響應(yīng)。對于此處理而 言,該虛擬端DNS單元140涉及區(qū)域信息142。對于該LAN 200A 上的每一個計(jì)算機(jī)而言,該區(qū)域信息142包括在VPN內(nèi)的主機(jī)名稱 和IP地址之間的對應(yīng)關(guān)系的信息。在通過該VPN設(shè)定單元130分配 虛擬IP地址之后,確定包括在該區(qū)域信息142中的VPN內(nèi)的IP地 址。因此,根據(jù)該VPN設(shè)定單元130執(zhí)行的處理,產(chǎn)生或更新該區(qū) 域信息142。該產(chǎn)生或更新處理由該DNS設(shè)定單元150執(zhí)行。
雖然圖未顯示,但該VPN路由器100A可以具有用于響應(yīng)來自 該LAN200A上的計(jì)算機(jī)的名稱解析請求的LAN端DNS。另夕卜,還 可能使用以下配置,其中代替在該VPN路由器100A內(nèi)提供LAN 端DNS,將該主DNS240A設(shè)定為該LAN端DNS。
該DNS設(shè)定單元150具有區(qū)域信息獲得單元152、區(qū)域信息校 正單元154和通知單元156。該VPN路由器100A的區(qū)域信息獲得單 元152從該LAN 200A上的主DNS 240A獲得區(qū)域信息。如上所述, 該區(qū)域信息包括關(guān)于該LAN 200A上的計(jì)算機(jī)的主機(jī)名稱和真實(shí)IP地址之間的對應(yīng)關(guān)系的信息。該區(qū)域信息校正單元154根據(jù)該區(qū)域信 息獲得單元152獲得的區(qū)域信息和該轉(zhuǎn)換規(guī)則126,為VPN產(chǎn)生區(qū) 域信息142。例如,因?yàn)橥ㄟ^參考該轉(zhuǎn)換規(guī)則126,該VPN路由器 100A的區(qū)域信息校正單元154可以明白需將該LAN 200A上的私有 地址10.0.0.0/24轉(zhuǎn)換成該VPN內(nèi)的虛擬地址20.0.0.0/24,因此通過 在從該主DNS 240A獲得的區(qū)域信息中以20.0.0替換計(jì)算機(jī)的私有地 址10.0.0.x的24個高位,該區(qū)域信息校正單元154產(chǎn)生該區(qū)域信息 142。
圖6示出了由圖1的示例性配置中的主DNS 240A保存的區(qū)域信 息的例子。在此示例性配置中,站點(diǎn)A的域名是"foo.com",該計(jì)算 機(jī)220A的主機(jī)名稱是"PC—Al.foo.com",并且該計(jì)算機(jī)220A的私 有IP地址是10.0.0.1。通過參考圖4所示的區(qū)域信息和轉(zhuǎn)換規(guī)則,產(chǎn) 生具有如圖7所示的內(nèi)容的區(qū)域信息142。在圖7的示例性配置中, 在該區(qū)域信息142中將屬于20.0.0.0/24的虛擬IP地址登記為每一個
計(jì)算機(jī)的IP地址。
該VPN路由器100A的通知單元156將由站點(diǎn)A的域名和該VPN
路由器100A的VPN的全局IP地址l丄O.l組成的一對作為用于設(shè)定 轉(zhuǎn)發(fā)名稱解析請求的信息通知給該VPN內(nèi)的其它VPN路由器100B 和IOOC。在接收該通知之后,通過參考所接收到的信息,該VPN路 由器100B和100C為該LAN 200B或200C設(shè)定LAN端DNS,從而 將包括站點(diǎn)A的域名的主機(jī)名稱的名稱解析請求轉(zhuǎn)發(fā)給該VPN路由 器100A的VPN接口的全局IP地址l丄O.l 。根據(jù)此結(jié)構(gòu),例如,當(dāng) 將該計(jì)算機(jī)220A的主機(jī)名稱的名稱解析請求自計(jì)算機(jī)220B發(fā)送時, 該LAN 200B的LAN端DNS將該請求轉(zhuǎn)發(fā)給該VPN路由器100A 的VPN的全局IP地址。在接收VPN的全局IP地址上的名稱解析請 求之后,該VPN路由器100A指示該虛擬端DNS單元140確定對應(yīng) 該名稱解析請求的IP地址,并將該IP地址返回到該LAN 200B的 LAN端DNS。該LAN端DNS將該IP地址作為對請求的回應(yīng)發(fā)送給 該計(jì)算機(jī)220B。
接下來,將參考圖5描述非主路由器的VPN路由器100B的結(jié)構(gòu)。VPN路由器100C具有類似于該VPN路由器100B的結(jié)構(gòu)。在圖 5中,為對應(yīng)于圖2所示的那些元件的元件指定對應(yīng)的參考數(shù)值,并 省略它們重復(fù)的描述。
該VPN路由器100B不同于該VPN設(shè)定單元130a中的主VPN 路由器IOOA。根據(jù)來自該主VPN路由器100A的指示,該VPN設(shè) 定單元130a的路由信息收集單元132a收集該VPN路由器100B內(nèi)的 路由器單元110的路由信息。將所收集的路由信息通過路由信息傳輸 單元162傳輸給該VPN路由器100A。信息獲得單元164從該主VPN 路由器100A獲得VPN連接設(shè)定信息的設(shè)定信息和該轉(zhuǎn)換規(guī)則的設(shè) 定信息。根據(jù)該設(shè)定信息,該設(shè)定單元136a設(shè)定如上所述的VPN連 接設(shè)定信息122和轉(zhuǎn)換規(guī)則126。另外,該信息獲得單元164從該 VPN內(nèi)的其它VPN路由器IOOA和100C的通知單元156獲得用于設(shè) 定轉(zhuǎn)發(fā)名稱解析請求的信息。通過參考該信息,該設(shè)定單元136a在 該LAN端DNS內(nèi)設(shè)定該轉(zhuǎn)發(fā)設(shè)定。
根據(jù)該VPN路由器IOOA、 100B和100C的合作操作,即使在將 虛擬IP地址分配給LAN 200A、 200B和200C上的計(jì)算機(jī)時,仍可
以根據(jù)計(jì)算機(jī)的主機(jī)名稱解析出虛擬IP地址。
接下來,參考圖8,將描述用于在主VPN路由器100A中進(jìn)行 VPN設(shè)定的處理。例如當(dāng)管理員指示該VPN路由器100A開始VPN 設(shè)定時執(zhí)行該處理。
在此處理中,首先,該VPN路由器100A的路由信息收集單元 132從該路由器單元110和其它VPN路由器100B和100C收集路由 信息112 (Sl)。因?yàn)轭A(yù)先登記例如作為該VPN連接設(shè)定信息122的 遠(yuǎn)端對等信息的其它VPN路由器100B和100C的VPN的全局IP地 址,因此可以通過參考此信息將詢問發(fā)送給該路由器100B和IOOC。 接下來,根據(jù)所收集的路由信息,該虛擬地址分配單元134檢測在站 點(diǎn)A、 B和C的LAN或計(jì)算機(jī)的私有地址中匹配其它地址的私有地 址(S2),并將不與該VPN內(nèi)其它地址重疊的虛擬IP地址分配給具 有重疊的私有地址的LAN或計(jì)算機(jī)(S3)。另外,在此處理中,不管 地址是否重疊,還可以使用以下配置,其中,為該VPN內(nèi)的所有LAN和計(jì)算機(jī)分配在該VPN內(nèi)唯一的虛擬地址。該虛擬地址分配單元134 產(chǎn)生關(guān)于虛擬地址需被分配給的LAN或計(jì)算機(jī)的所分配的虛擬地址 和原始私有地址之間的對應(yīng)關(guān)系的信息(S4)。接著,通過參考該對 應(yīng)關(guān)系的信息,該設(shè)定單元136為該VPN路由器IOOA、 100B和100C 的每一個產(chǎn)生設(shè)定信息(S5)。如上所述,將在此處理中產(chǎn)生的設(shè)定 信息用于設(shè)定該VPN連接設(shè)定信息122和轉(zhuǎn)換規(guī)則126。該設(shè)定信 息提供單元138將對應(yīng)的設(shè)定信息傳輸給該VPN路由器100B和 100C (S6),并根據(jù)該VPN路由器100A本身的設(shè)定信息來設(shè)定該 VPN連接設(shè)定信息122和轉(zhuǎn)換規(guī)則126 (S7)。
接下來,該區(qū)域信息獲得單元152從該主DNS 240A獲得區(qū)域信 息(S8),通過參考該區(qū)域信息和以上述方式在步驟S7中設(shè)定的轉(zhuǎn)換 規(guī)則126來產(chǎn)生該區(qū)域信息142,并在虛擬端DNS單元140中設(shè)定 該區(qū)域信息142 (S9)。另外,該通知單元156將用于設(shè)定轉(zhuǎn)發(fā)名稱 解析請求的信息傳輸給該VPN路由器IOOB和100C (SIO)。
接下來,參考圖9,將描述在非主路由器的VPN路由器IOOB中 執(zhí)行的處理。VPN路由器100C執(zhí)行的處理類似于該VPN路由器100B 執(zhí)行的處理。
此處理在該VPN路由器100B從VPN路由器100A接收到用于 路由信息的請求時開始(Sll)。在接收該請求之后,該路由信息收集 單元132a收集該路由器單元110的路由信息,并且該路由信息傳輸 單元162將該路由信息傳輸給該VPN路由器100A(S12)。接著,當(dāng) 該信息獲得單元164從該VPN路由器100A接收用于VPN連接設(shè)定 的設(shè)定信息時(S13),該設(shè)定單元136a根據(jù)上述設(shè)定信息來設(shè)定該 VPN連接設(shè)定信息122和該轉(zhuǎn)換規(guī)則126 (S14)。該區(qū)域信息獲得單 元152從該主DNS240B獲得區(qū)域信息(S15),并通過參考該區(qū)域信 息和以上述方式在步驟S14中設(shè)定的轉(zhuǎn)換規(guī)則126產(chǎn)生區(qū)域信息 142,并在該虛擬端DNS單元140中設(shè)定該區(qū)域信息142 (S16)。該 通知單元156將用于設(shè)定轉(zhuǎn)發(fā)名稱解析請求的信息傳輸給VPN路由 器IOOA和100C (S17)。
根據(jù)上述處理,啟動經(jīng)由該VPN的通信。接下來,參考圖IO,將描述經(jīng)由VPN的通信流程。在此,將描述一種示例性配置,其中, 在圖1所示的示例性網(wǎng)絡(luò)結(jié)構(gòu)中的計(jì)算機(jī)220A和220B之間執(zhí)行經(jīng) 由VPN的通信。在此示例性配置中,通過詢問該LAN 200A中的LAN 端DNS,該計(jì)算機(jī)220A已獲得計(jì)算機(jī)220B的虛擬IP地址。
在此流程中,首先,該計(jì)算機(jī)220A發(fā)送去往該計(jì)算機(jī)220B的 IP信息包。該信息包的IP標(biāo)頭內(nèi)的源地址是該計(jì)算機(jī)220A的私有 地址10.0.0.1 ,而該信息包的IP標(biāo)頭的目的地址是該計(jì)算機(jī)220B的 虛擬地址30.0.0.1。該VPN路由器IOOA確定由該信息包的源和目的 組成的一對匹配由該VPN連接設(shè)定信息122的本地端選擇器(出站) 和遠(yuǎn)端選擇器組成的一對(參照圖3)。響應(yīng)于此確定,根據(jù)該轉(zhuǎn)換 規(guī)則126,該VPN路由器IOOA將該信息包的源地址替換為虛擬地址 20.0.0.1 (參照圖4)。該VPN路由器100A根據(jù)VPN方法諸如IPsec 來壓縮該信息包,并通過隧道穿過因特網(wǎng)300將所壓縮的信息包傳輸 給該VPN路由器IOOB。在接收所壓縮的信息包之后,該VPN路由 器IOOB解壓該壓縮包,并確定作為解壓結(jié)果獲得的原始信息包的源 和目的匹配由該VPN路由器100B的VPN連接設(shè)定信息122的本地 端選擇器(入站)和遠(yuǎn)端選擇器組成的一對。響應(yīng)于此確定,該VPN 路由器100B根據(jù)該轉(zhuǎn)換規(guī)則126將該信息包的目的地址轉(zhuǎn)換為 10.0.0.1,并將該信息包發(fā)送給該LAN 200B。因此,該計(jì)算機(jī)220B 接收該信息包。以與上述相反的方式處理從該計(jì)算機(jī)220B到該計(jì)算 機(jī)220A的返回信息包。
在上述配置中,根據(jù)主機(jī)名稱解析虛擬IP地址,并且通過VPN 路由器IOOA、 100B和100C的合作操作實(shí)現(xiàn)經(jīng)由VPN的通信,而不 需要在每一個站點(diǎn)的計(jì)算機(jī)內(nèi)實(shí)現(xiàn)特定的協(xié)議。
在上述配置中,該VPN路由器IOOA產(chǎn)生用于確定站點(diǎn)A內(nèi)的 計(jì)算機(jī)的虛擬地址的區(qū)域信息142,并且在接收站點(diǎn)A內(nèi)的計(jì)算機(jī)的 名稱解析請求之后,該VPN路由器IOOB或IOOC將該請求轉(zhuǎn)發(fā)給該 VPN路由器100A。然而,此配置僅僅是示例性的,并且,另外還可 以使用以下配置,其中,該VPN路由器100A產(chǎn)生該區(qū)域信息142 并將該區(qū)域信息142傳輸給該VPN路由器100B和IOOC,并且VPN路由器100B和100C的每一個在對應(yīng)的LAN 200B或200C的LAN 端DNS內(nèi)設(shè)定該區(qū)域信息142。在此情形下,該VPN路由器100A 不必具有虛擬端DNS 140。
在上述配置中,該VPN路由器具有路由器單元110、 VPN連接 控制器120和虛擬端DNS單元140的功能。然而,這僅僅是示例性 的,并且可以通過LAN上的分別的硬件裝置實(shí)現(xiàn)這些功能模塊。
另外,雖然在以上描述中,描述了具有3個站點(diǎn)的VPN,但本 領(lǐng)域的技術(shù)人員將明白可以將上述配置應(yīng)用到具有兩個或更多站點(diǎn) 的一般VPN。
此外,在上述配置中,將形成VPN部分的VPN路由器中的一個 設(shè)定為主路由器,并且該主路由器從其它VPN路由器收集路由信息, 分配虛擬地址并將根據(jù)該分配結(jié)果產(chǎn)生的設(shè)定信息提供給其它VPN 路由器。然而,此配置僅僅是示例性的。另外,還可以使用主管裝置 具有主要功能的配置;即,在因特網(wǎng)300上提供該路由信息收集單元 132、該虛擬地址分配單元134和該設(shè)定信息提供單元138的功能。在 此情形下,形成VPN部分的每一個VPN路由器可以具有類似于非主 路由器的VPN路由器100B的功能(參照圖5)。
通過例如在一般用途的計(jì)算機(jī)上執(zhí)行描述功能模塊的處理的程 序,可以實(shí)現(xiàn)上述示例性實(shí)施例的VPN路由器IOOA、 100B和IOOC。
如圖11所示,該計(jì)算機(jī)可以具有作為硬件的電路結(jié)構(gòu),其中各種硬 件元件經(jīng)由總線414連接;例如,微處理器諸如CPU400、存儲器(主 存儲器)諸如隨機(jī)存取存儲器(RAM) 402和只讀存儲器(ROM) 404、用于控制HDD (硬盤驅(qū)動器)406的HDD控制器408、各種 I/O (輸入/輸出)接口 410和用于控制與網(wǎng)絡(luò)諸如局域網(wǎng)等連接的網(wǎng) 絡(luò)接口 412。用于讀取和/或?qū)懭胍苿邮酱疟P記錄媒介諸如CD和DVD 的磁盤驅(qū)動器416或用于讀取和/或?qū)懭敫鞣N標(biāo)準(zhǔn)的移動式非易失性 記錄媒介諸如閃存的存儲器讀取器/寫入器418可以通過諸如該I/O接 口 410連接到該總線414。通過記錄媒介諸如CD和DVD或通過通 信單元諸如網(wǎng)絡(luò),將描述上述功能模塊的處理的程序存儲在固定的存 儲裝置諸如硬盤驅(qū)動器中,并安裝在該VPN服務(wù)器100中。通過將存儲在固定存儲裝置中的程序讀入該RAM 402并由微處理器諸如 CPU400執(zhí)行,可以實(shí)現(xiàn)上述功能模塊??梢詫⒉糠只蛩泄δ苣K 構(gòu)建為硬件電路,諸如專用LSI (大規(guī)模集成)和ASIC (特定用途 集成電路)或FPGA (現(xiàn)場可編程門陣列)。
出于例示和描述的目的,已提供對本發(fā)明的示例性實(shí)施例的以上 描述。這并不打算是詳盡的或限制本發(fā)明為所披露的精確形式。顯然, 對于本領(lǐng)域的技術(shù)人員而言,很多修改和變化是顯而易見的。選擇并 描述這些實(shí)施例,為的是最佳解釋本發(fā)明的原理和其實(shí)際應(yīng)用,從而 使得本領(lǐng)域的其他技術(shù)人員理解本發(fā)明的各種實(shí)施例和適于預(yù)期的 特定用途的各種修改。本發(fā)明的范圍應(yīng)由隨后的權(quán)利要求和等同項(xiàng)所 定義。
權(quán)利要求
1.一種虛擬網(wǎng)絡(luò)連接系統(tǒng),包括收集單元,其從虛擬網(wǎng)絡(luò)內(nèi)的每一個站點(diǎn)收集該站點(diǎn)內(nèi)的信息處理器的真實(shí)地址;分配單元,其將不與所述站點(diǎn)內(nèi)的其它信息處理器的虛擬地址重疊的虛擬地址分配給具有在由所述收集單元收集的真實(shí)地址中的重疊的真實(shí)地址的每一個信息處理器;第一產(chǎn)生單元,其產(chǎn)生表示由所述分配單元分配的虛擬地址和所述真實(shí)地址之間的對應(yīng)關(guān)系的第一對應(yīng)信息;第一提供單元,其根據(jù)所述第一對應(yīng)信息產(chǎn)生用于虛擬網(wǎng)絡(luò)連接的設(shè)定信息,并將所述設(shè)定信息提供給每一個站點(diǎn)的虛擬網(wǎng)絡(luò)連接裝置;獲得單元,其從信息處理器所屬的站點(diǎn)獲得表示所述信息處理器的真實(shí)地址與所述信息處理器的名稱之間的對應(yīng)關(guān)系的第二對應(yīng)信息;第二產(chǎn)生單元,用于根據(jù)所述第一對應(yīng)信息和所述第二對應(yīng)信息,產(chǎn)生表示所述虛擬地址與所述信息處理器的名稱之間的對應(yīng)關(guān)系的第三對應(yīng)信息;以及第二提供單元,其將所述第三對應(yīng)信息提供給每一個站點(diǎn)的虛擬網(wǎng)絡(luò)連接裝置。
2. 根據(jù)權(quán)利要求1所述的虛擬網(wǎng)絡(luò)連接系統(tǒng),其中, 所述第二提供單元包括-接收單元,其經(jīng)由所述虛擬網(wǎng)絡(luò)從第一信息處理器接收用于請求解析對應(yīng)于第二信息處理器的名稱的地址的名稱解析請求;以及 傳輸單元,其響應(yīng)于由所述接收單元所接收的名稱解析請求,通過參考所述第三對應(yīng)信息來識別對應(yīng)于所述第二信息處理器的名稱 的虛擬地址,并將所識別的虛擬地址傳輸給所述第一信息處理器。
3. —種虛擬網(wǎng)絡(luò)連接裝置,包括第一存儲單元,其存儲表示站點(diǎn)內(nèi)的信息處理器的真實(shí)地址與虛 擬網(wǎng)絡(luò)內(nèi)的所述信息處理器的虛擬地址之間的對應(yīng)關(guān)系的第一對應(yīng) 信息;地址轉(zhuǎn)換單元,其通過參照所述第一對應(yīng)信息,為在所述站點(diǎn)內(nèi) 的信息處理器和所述站點(diǎn)外的信息處理器之間的傳輸信息執(zhí)行地址 轉(zhuǎn)換;第二存儲單元,其存儲表示所述站點(diǎn)內(nèi)的信息處理器的名稱與所 述信息處理器的真實(shí)地址之間的對應(yīng)關(guān)系的第二對應(yīng)信息;產(chǎn)生單元,其根據(jù)所述第一對應(yīng)信息和所述第二對應(yīng)信息,產(chǎn)生 表示所述站點(diǎn)內(nèi)的信息處理器的名稱與所述信息處理器的虛擬地址 之間的對應(yīng)關(guān)系的第三對應(yīng)信息;以及提供單元,其將所述第三對應(yīng)信息提供給所述虛擬網(wǎng)絡(luò)內(nèi)的其它站點(diǎn)。
4. 根據(jù)權(quán)利要求3所述的虛擬網(wǎng)絡(luò)連接裝置,其中, 所述提供單元包括-接收單元,其經(jīng)由所述虛擬網(wǎng)絡(luò)從所述站點(diǎn)外的第一信息處理器 接收用于請求解析對應(yīng)于所述站點(diǎn)內(nèi)的第二信息處理器的名稱的地 址的名稱解析請求;以及傳輸單元,其響應(yīng)于由所述接收單元所接收的名稱解析請求,根 據(jù)所述第三對應(yīng)信息來識別對應(yīng)于所述第二信息處理器的名稱的虛 擬地址,并將所識別的虛擬地址傳輸給所述第一信息處理器。
5. 根據(jù)權(quán)利要求4所述的虛擬網(wǎng)絡(luò)連接裝置,其中, 所述提供單元還包括-通知單元,其向其它站點(diǎn)通知轉(zhuǎn)發(fā)設(shè)定信息,該轉(zhuǎn)發(fā)設(shè)定信息包 括所述站點(diǎn)的域名和所述虛擬網(wǎng)絡(luò)連接裝置的全局IP地址;轉(zhuǎn)發(fā)設(shè)定存儲單元,其從其它站點(diǎn)接收轉(zhuǎn)發(fā)設(shè)定信息并存儲該轉(zhuǎn) 發(fā)設(shè)定信息,該轉(zhuǎn)發(fā)設(shè)定信息包括所述其它站點(diǎn)的域名和所述其它站點(diǎn)的虛擬網(wǎng)絡(luò)連接裝置的全局IP地址;轉(zhuǎn)發(fā)單元,當(dāng)包括在來自所述站點(diǎn)內(nèi)的第三信息處理器的名稱解 析請求中的名稱內(nèi)的域名包括存儲在所述轉(zhuǎn)發(fā)設(shè)定存儲單元中的所 述轉(zhuǎn)發(fā)設(shè)定信息所包括的另一個站點(diǎn)的域名時,所述轉(zhuǎn)發(fā)單元將所述 名稱解析請求轉(zhuǎn)發(fā)給包括在所述轉(zhuǎn)發(fā)設(shè)定信息中的所述其它站點(diǎn)的 虛擬網(wǎng)絡(luò)連接裝置的全局IP地址;以及響應(yīng)單元,其響應(yīng)于由所述轉(zhuǎn)發(fā)單元轉(zhuǎn)發(fā)的名稱解析請求,將從所述其它站點(diǎn)的虛擬網(wǎng)絡(luò)連接裝置返回的虛擬地址發(fā)送給所述第三 信息處理器。
6. —種用于虛擬網(wǎng)絡(luò)連接的方法,包括收集步驟,用于從虛擬網(wǎng)絡(luò)內(nèi)的每一個站點(diǎn)收集該站點(diǎn)內(nèi)的信息 處理器的真實(shí)地址;分配步驟,用于將不與所述站點(diǎn)內(nèi)的其它信息處理器的虛擬地址 重疊的虛擬地址分配給具有所收集的真實(shí)地址中的重疊的真實(shí)地址 的信息處理器;第一產(chǎn)生步驟,用于產(chǎn)生表示所分配的虛擬地址和所述真實(shí)地址 之間的對應(yīng)關(guān)系的第一對應(yīng)信息;第一提供步驟,用于根據(jù)所述第一對應(yīng)信息產(chǎn)生用于虛擬網(wǎng)絡(luò)連 接的設(shè)定信息,并將所述設(shè)定信息提供給每一個站點(diǎn)的虛擬網(wǎng)絡(luò)連接 裝置;獲得步驟,用于從信息處理器所屬的站點(diǎn)獲得表示所述信息處理 器的真實(shí)地址與所述信息處理器的名稱之間的對應(yīng)關(guān)系的第二對應(yīng) 信, I R 'E、,第二產(chǎn)生步驟,用于根據(jù)所述第一對應(yīng)信息和所述第二對應(yīng)信 息,產(chǎn)生表示所述虛擬地址與所述信息處理器的名稱之間的對應(yīng)關(guān)系 的第三對應(yīng)信息;以及第二提供步驟,用于將所述第三對應(yīng)信息提供給每一個站點(diǎn)的虛 擬網(wǎng)絡(luò)連接裝置。
7. 根據(jù)權(quán)利要求6所述的方法,其中, 所述第二提供步驟包括接收步驟,用于經(jīng)由所述虛擬網(wǎng)絡(luò)從第一信息處理器接收用于請 求解析對應(yīng)于第二信息處理器的名稱的地址的名稱解析請求;以及傳輸步驟,用于響應(yīng)于所接收的名稱解析請求,通過參考所述第 三對應(yīng)信息來識別對應(yīng)于所述第二信息處理器的名稱的虛擬地址,并 將所識別的虛擬地址傳輸給所述第一信息處理器。
8. —種用于虛擬網(wǎng)絡(luò)連接的方法,包括地址轉(zhuǎn)換步驟,用于通過參照第一存儲單元,對在站點(diǎn)內(nèi)的信息 處理器和所述站點(diǎn)外的信息處理器之間的傳輸信息執(zhí)行地址轉(zhuǎn)換,所 述第一存儲單元存儲表示所述站點(diǎn)內(nèi)的信息處理器的真實(shí)地址與虛 擬網(wǎng)絡(luò)內(nèi)的所述信息處理器的虛擬地址之間的對應(yīng)關(guān)系的第一對應(yīng) 信息;獲得步驟,用于從存儲第二對應(yīng)信息的第二存儲單元獲得表示所 述站點(diǎn)內(nèi)的信息處理器的名稱與所述信息處理器的真實(shí)地址之間的 對應(yīng)關(guān)系的第二對應(yīng)信息;產(chǎn)生步驟,用于根據(jù)所述第一對應(yīng)信息和所述第二對應(yīng)信息,產(chǎn) 生表示所述站點(diǎn)內(nèi)的信息處理器的名稱與所述信息處理器的虛擬地 址之間的對應(yīng)關(guān)系的第三對應(yīng)信息;以及提供步驟,用于將所述第三對應(yīng)信息提供給所述虛擬網(wǎng)絡(luò)內(nèi)的其 它站點(diǎn)。
9. 根據(jù)權(quán)利要求8所述的方法,其中, 所述提供步驟包括-接收步驟,用于經(jīng)由所述虛擬網(wǎng)絡(luò)從所述站點(diǎn)外的第一信息處理 器接收用于請求解析對應(yīng)于所述站點(diǎn)內(nèi)的第二信息處理器的名稱的 地址的名稱解析請求;以及傳輸步驟,用于響應(yīng)于所接收的名稱解析請求,根據(jù)所述第三對 應(yīng)信息來識別對應(yīng)于所述第二信息處理器的名稱的虛擬地址,并將所識別的虛擬地址傳輸給所述第一信息處理器。
10.根據(jù)權(quán)利要求9所述的方法,其中,所述提供步驟還包括通知步驟,用于向其它站點(diǎn)通知轉(zhuǎn)發(fā)設(shè)定信息,該轉(zhuǎn)發(fā)設(shè)定信息 包括所述站點(diǎn)的域名和所述虛擬網(wǎng)絡(luò)連接裝置的全局IP地址;轉(zhuǎn)發(fā)設(shè)定存儲步驟,用于從其它站點(diǎn)接收轉(zhuǎn)發(fā)設(shè)定信息并將該轉(zhuǎn) 發(fā)設(shè)定信息存儲在轉(zhuǎn)發(fā)設(shè)定存儲單元中,所述轉(zhuǎn)發(fā)設(shè)定信息包括所述 其它站點(diǎn)的域名和所述其它站點(diǎn)的虛擬網(wǎng)絡(luò)連接裝置的全局IP地址;轉(zhuǎn)發(fā)步驟,用于當(dāng)包括在來自所述站點(diǎn)內(nèi)的第三信息處理器的名 稱解析請求中的名稱內(nèi)的域名包括存儲在所述轉(zhuǎn)發(fā)設(shè)定存儲單元中 的所述轉(zhuǎn)發(fā)設(shè)定信息所包括的另一個站點(diǎn)的域名時,將所述名稱解析 請求轉(zhuǎn)發(fā)給包括在所述轉(zhuǎn)發(fā)設(shè)定信息中的所述其它站點(diǎn)的虛擬網(wǎng)絡(luò) 連接裝置的全局IP地址;以及響應(yīng)步驟,用于響應(yīng)于通過所述轉(zhuǎn)發(fā)步驟而轉(zhuǎn)發(fā)的名稱解析請 求,將從所述其它站點(diǎn)的虛擬網(wǎng)絡(luò)連接裝置返回的虛擬地址發(fā)送給所 述第三信息處理器。
全文摘要
提供一種虛擬網(wǎng)絡(luò)連接裝置,包括第一存儲單元,其存儲表示站點(diǎn)內(nèi)的信息處理器的真實(shí)地址和虛擬網(wǎng)絡(luò)內(nèi)的信息處理器的虛擬地址之間的對應(yīng)關(guān)系的第一對應(yīng)信息;地址轉(zhuǎn)換單元,其通過參照該第一對應(yīng)信息,為在所述站點(diǎn)內(nèi)的信息處理器和所述站點(diǎn)外的信息處理器之間的傳輸信息執(zhí)行地址轉(zhuǎn)換;第二存儲單元,其存儲表示該站點(diǎn)內(nèi)信息處理器的名稱和該信息處理器的真實(shí)地址之間的對應(yīng)關(guān)系的第二對應(yīng)信息;產(chǎn)生單元,其根據(jù)該第一對應(yīng)信息和該第二對應(yīng)信息,產(chǎn)生表示該站點(diǎn)內(nèi)信息處理器的名稱和該信息處理器的虛擬地址之間的對應(yīng)關(guān)系的第三對應(yīng)信息。
文檔編號H04L12/56GK101316230SQ200710188750
公開日2008年12月3日 申請日期2007年11月16日 優(yōu)先權(quán)日2007年5月30日
發(fā)明者古川泰之 申請人:富士施樂株式會社