專(zhuān)利名稱(chēng):用于建立虛擬網(wǎng)絡(luò)的設(shè)備、方法和計(jì)算機(jī)程序產(chǎn)品的制作方法
技術(shù)領(lǐng)域:
本發(fā)明通常涉及計(jì)算機(jī)網(wǎng)絡(luò)上的通信,并尤其涉及用于在諸如互聯(lián)網(wǎng)之類(lèi)的全局計(jì)算機(jī)網(wǎng)絡(luò)上建立虛擬網(wǎng)絡(luò)的系統(tǒng)和方法。
背景技術(shù):
隨著互聯(lián)網(wǎng)經(jīng)濟(jì)中事務(wù)之間互相依賴(lài)性的增加,企業(yè)非常依賴(lài)于其與事業(yè)合伙人、供應(yīng)商以及用戶(hù)之間的通信以便成功和迅捷地管理商務(wù)操作。
然而,目前大多數(shù)的企業(yè)網(wǎng)都被一個(gè)或多個(gè)包括防火墻的安全特性保護(hù)著。防火墻幫助這些企業(yè)增強(qiáng)對(duì)基礎(chǔ)數(shù)據(jù)的控制,這可以加強(qiáng)它們的商業(yè)秘密。廣泛地使用防火墻來(lái)隔斷專(zhuān)用網(wǎng)和公共網(wǎng)有助于解決IPv4地址的潛在缺陷。而防火墻的副作用把整個(gè)互聯(lián)網(wǎng)分割成許多不是完全雙向連接的網(wǎng)絡(luò)孤島。企業(yè)之間的連通性在這些孤島上變得很成問(wèn)題。
圖1是被分成多個(gè)″網(wǎng)絡(luò)孤島″105i的網(wǎng)絡(luò)系統(tǒng)100的示意框圖。每個(gè)孤島105i都包括防火墻110i和多個(gè)計(jì)算系統(tǒng)(例如服務(wù)器115i、臺(tái)式機(jī)120i和筆記本電腦125i)。雖然每個(gè)防火墻110i往往都與其它的防火墻110i的配置不同,但是它們?nèi)枷拗迫p向數(shù)據(jù)流。如圖1中所示,防火墻1102后面的每個(gè)計(jì)算系統(tǒng)不能自由訪(fǎng)問(wèn)防火墻1101后面的另一個(gè)計(jì)算系統(tǒng),盡管這些計(jì)算系統(tǒng)都被連接到公共互聯(lián)網(wǎng)130。
除了防火墻110的過(guò)濾/阻擋特色之外,不同防火墻110i后面的計(jì)算系統(tǒng)之間的連通性問(wèn)題的主要原因在于它們使用不同的專(zhuān)用地址空間。防火墻1101和防火墻1102分別為分開(kāi)的孤島1051和1052定義不同的地址空間。事實(shí)上,這隔離了公共互聯(lián)網(wǎng)中不同專(zhuān)用區(qū)域。通過(guò)應(yīng)用網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT),孤島105i的每個(gè)計(jì)算系統(tǒng)都能夠訪(fǎng)問(wèn)互聯(lián)網(wǎng)130,但是將失去對(duì)孤島105i內(nèi)的計(jì)算系統(tǒng)的任何IP連通性,除非使用特殊管理與防火墻110i協(xié)作。
需要有一個(gè)辦法來(lái)解決這個(gè)連通性問(wèn)題,并尤其需要提供建立用于TCP/IP聯(lián)網(wǎng)的虛擬網(wǎng)絡(luò)來(lái)讓不同網(wǎng)絡(luò)孤島的計(jì)算系統(tǒng)互連和協(xié)作的系統(tǒng)和方法。另外,提供用于將現(xiàn)有基于TCP/IP的應(yīng)用無(wú)縫地?cái)U(kuò)展到不同的網(wǎng)絡(luò)孤島上的系統(tǒng)和方法,而該擴(kuò)展將跨越網(wǎng)絡(luò)孤島邊界來(lái)動(dòng)態(tài)地設(shè)置。
發(fā)明內(nèi)容
本公開(kāi)內(nèi)容是用于建立TCP/IP聯(lián)網(wǎng)的虛擬網(wǎng)絡(luò)的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品。系統(tǒng)包括被連接到一個(gè)或多個(gè)虛擬網(wǎng)絡(luò)主機(jī)服務(wù)器的全局網(wǎng);和經(jīng)由第一防火墻連接到一個(gè)或多個(gè)服務(wù)器的第一計(jì)算系統(tǒng),其中,包括第一計(jì)算系統(tǒng)的虛擬網(wǎng)絡(luò)用經(jīng)由第二防火墻連接到一個(gè)或多個(gè)服務(wù)器的第二計(jì)算系統(tǒng)來(lái)形成,使得計(jì)算系統(tǒng)經(jīng)由直接邏輯連接來(lái)相互通信。形成虛擬網(wǎng)絡(luò)的方法包括a)經(jīng)由第一防火墻在第一計(jì)算系統(tǒng)與連接到全局網(wǎng)的虛擬網(wǎng)絡(luò)主機(jī)服務(wù)器之間建立物理連接;b)經(jīng)由第二防火墻與物理連接到虛擬網(wǎng)絡(luò)主機(jī)服務(wù)器的第二計(jì)算系統(tǒng)通信,其中,通信步驟包括經(jīng)由計(jì)算系統(tǒng)之間的直接邏輯連接通信。計(jì)算機(jī)程序產(chǎn)品具有攜帶用于形成虛擬網(wǎng)絡(luò)的程序指令的計(jì)算機(jī)可讀介質(zhì),當(dāng)其被運(yùn)行時(shí)使用兩個(gè)或更多分別經(jīng)由防火墻連接到全局網(wǎng)的計(jì)算系統(tǒng),被運(yùn)行的程序指令執(zhí)行一個(gè)方法,該方法包括a)經(jīng)由第一防火墻建立第一計(jì)算系統(tǒng)與被連接到全局網(wǎng)的虛擬網(wǎng)絡(luò)主機(jī)服務(wù)器之間的物理連接;b)經(jīng)由第二防火墻建立第二計(jì)算系統(tǒng)與虛擬網(wǎng)絡(luò)主機(jī)服務(wù)器之間的物理連接;和c)在計(jì)算系統(tǒng)之間建立邏輯連接以形成虛擬網(wǎng)絡(luò)。
本發(fā)明提供了一個(gè)處理和改進(jìn)現(xiàn)有技術(shù)的連通性問(wèn)題的方法,并且優(yōu)選實(shí)施例提供了建立用于TCP/IP聯(lián)網(wǎng)的虛擬網(wǎng)絡(luò)的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品,以使得不同網(wǎng)絡(luò)孤島的計(jì)算系統(tǒng)能夠互連和協(xié)作。另外,優(yōu)選實(shí)施例讓現(xiàn)有基于TCP/IP的應(yīng)用被無(wú)縫地?cái)U(kuò)展到不同的網(wǎng)絡(luò)孤島上,而擴(kuò)展被跨越網(wǎng)絡(luò)孤島邊界來(lái)動(dòng)態(tài)地設(shè)置以用于各種獨(dú)立配置的孤島。
圖1是被分成多個(gè)″網(wǎng)絡(luò)孤島″的網(wǎng)絡(luò)系統(tǒng)的示意框圖;圖2是虛擬網(wǎng)絡(luò)系統(tǒng)的優(yōu)選實(shí)施例的示意框圖;圖3是服務(wù)器通信應(yīng)用的優(yōu)選實(shí)施例的示意圖;圖4是跨越允許TCP連接請(qǐng)求的防火墻在客戶(hù)端系統(tǒng)和主機(jī)服務(wù)器系統(tǒng)之間的連接序列的說(shuō)明框圖;圖5是跨越不允許TCP連接請(qǐng)求的防火墻在客戶(hù)系統(tǒng)和主機(jī)服務(wù)器系統(tǒng)之間的連接序列的說(shuō)明框圖;圖6是用于檢測(cè)客戶(hù)端計(jì)算系統(tǒng)的可用網(wǎng)絡(luò)環(huán)境的流程框圖;圖7是客戶(hù)端計(jì)算機(jī)系統(tǒng)(例如臺(tái)式機(jī))上的通信軟件結(jié)構(gòu)的說(shuō)明示意圖;圖8是用來(lái)在物理地址級(jí)區(qū)別虛擬適配器的被修改ARP進(jìn)程的流程圖;圖9是網(wǎng)絡(luò)ID選擇進(jìn)程的說(shuō)明流程圖,客戶(hù)端計(jì)算機(jī)系統(tǒng)上的通信軟件使用它來(lái)確定虛擬網(wǎng)絡(luò)的網(wǎng)絡(luò)ID;圖10是經(jīng)由虛擬適配器傳送的輸入TCP分組的基于連接的地址轉(zhuǎn)換進(jìn)程的流程框圖;圖11是可應(yīng)用于經(jīng)由虛擬適配器傳送的分組的輸出TCP分組進(jìn)程的流程框圖;和圖12是用于處理客戶(hù)端計(jì)算機(jī)系統(tǒng)發(fā)起的DNS域名請(qǐng)求的DNS域名請(qǐng)求進(jìn)程的流程框圖。
具體實(shí)施例方式
本發(fā)明涉及提供建立用于TCP/IP聯(lián)網(wǎng)的虛擬網(wǎng)絡(luò)的系統(tǒng)和方法,從而使不同網(wǎng)絡(luò)孤島的計(jì)算系統(tǒng)能夠互連和協(xié)作。另外,本發(fā)明為現(xiàn)有基于TCP/IP的應(yīng)用提供用于無(wú)縫地?cái)U(kuò)展到不同網(wǎng)絡(luò)孤島上的系統(tǒng)和方法,而擴(kuò)展將跨越網(wǎng)絡(luò)孤島邊界被動(dòng)態(tài)地設(shè)置。以下給出的說(shuō)明使得所屬領(lǐng)域的普通技術(shù)人員能夠理解和使用本發(fā)明,并且本說(shuō)明根據(jù)本專(zhuān)利申請(qǐng)的環(huán)境及其要求來(lái)提供。對(duì)于所屬領(lǐng)域技術(shù)人員來(lái)說(shuō),優(yōu)選實(shí)施例的不同修改和在此描述的一般原理和特色將是顯而易見(jiàn)的。從而,本發(fā)明不打算受限于所示的實(shí)施例而將一致于符合在此描述的原理和特色的最寬范圍。
本發(fā)明的優(yōu)選實(shí)施例和它們的優(yōu)點(diǎn)通過(guò)參見(jiàn)附圖2-12可以被最好地理解。
圖2是用于虛擬網(wǎng)絡(luò)系統(tǒng)200的優(yōu)選實(shí)施例的示意框圖。系統(tǒng)200包括為本發(fā)明提供服務(wù)器環(huán)境的虛擬網(wǎng)絡(luò)主機(jī)服務(wù)器205。同樣地,每個(gè)網(wǎng)絡(luò)孤島105i的計(jì)算系統(tǒng)(例如計(jì)算機(jī)系統(tǒng)120i)提供用于本發(fā)明的客戶(hù)端環(huán)境。每個(gè)計(jì)算系統(tǒng)120i經(jīng)由計(jì)算機(jī)網(wǎng)絡(luò)130(例如互聯(lián)網(wǎng))被連接到服務(wù)器205。由于防火墻110i的原因,從120i到網(wǎng)絡(luò)130的這個(gè)連接只是輸出連接,比如被創(chuàng)建的從HTTP客戶(hù)端到HTTP服務(wù)器的任何HTTP連接。另外,本發(fā)明給出了一個(gè)用于經(jīng)由標(biāo)準(zhǔn)SSL隧道協(xié)議來(lái)創(chuàng)建防火墻隧道的方法,已知的有用于連接的HTTP連接方法。
服務(wù)器205可以是能夠在其它服務(wù)器計(jì)算機(jī)系統(tǒng)和客戶(hù)端計(jì)算機(jī)系統(tǒng)之間接受和創(chuàng)建連接的任何類(lèi)型的電子裝置,它還能夠經(jīng)由所創(chuàng)建的連接來(lái)交換數(shù)據(jù)。在圖2所示的實(shí)施例中,虛擬網(wǎng)絡(luò)主機(jī)服務(wù)器205包括處理器(一個(gè)或多個(gè))、存儲(chǔ)器、存儲(chǔ)磁盤(pán)、操作系統(tǒng)軟件、應(yīng)用軟件和通信軟件。處理器可以是任何適當(dāng)?shù)奶幚砥鞅热缬⑻貭柋简v處理器家族的一員。存儲(chǔ)器可以是任何類(lèi)型的存儲(chǔ)器,比如DRAM、SRAM。存儲(chǔ)磁盤(pán)可以是任何類(lèi)型被設(shè)計(jì)來(lái)存儲(chǔ)數(shù)字?jǐn)?shù)據(jù)的裝置,比如硬盤(pán)、軟盤(pán)。操作系統(tǒng)軟件可以是任何類(lèi)型的適當(dāng)?shù)牟僮飨到y(tǒng)軟件,其可以在底層硬件上運(yùn)行,比如Microsoft Windows(例如Windows NT、Windows2000、Windows XP),UNIX版本(例如Sun Solaris或Redhat LINUX)。應(yīng)用軟件可以是任何軟件,比如Microsoft SQL Server、Apache WebServer、計(jì)算機(jī)輔助設(shè)計(jì)應(yīng)用或任何其它類(lèi)型的應(yīng)用程序。通信軟件可以是任何類(lèi)型的軟件,其能夠在服務(wù)器計(jì)算機(jī)系統(tǒng)和客戶(hù)端計(jì)算機(jī)系統(tǒng)之間進(jìn)行數(shù)據(jù)通信,這些軟件包括指令,指令用于執(zhí)行服務(wù)器端的功能以創(chuàng)建本發(fā)明指定的虛擬網(wǎng)絡(luò)。
客戶(hù)端計(jì)算機(jī)系統(tǒng)可以是任何類(lèi)型的電子裝置,其能夠在服務(wù)器計(jì)算機(jī)系統(tǒng)之間創(chuàng)建連接,還能夠經(jīng)由所創(chuàng)建的連接來(lái)交換數(shù)據(jù)。在圖2所示的實(shí)施例中,客戶(hù)端計(jì)算機(jī)系統(tǒng)(例如臺(tái)式機(jī)120i)包括處理器(一個(gè)或多個(gè))、存儲(chǔ)器、存儲(chǔ)磁盤(pán)、操作系統(tǒng)軟件、應(yīng)用軟件和通信軟件。(一個(gè)或多個(gè))處理器可以是任何適當(dāng)?shù)奶幚砥?,比如英特爾奔騰處理器家族的一員。存儲(chǔ)器可以是任何類(lèi)型的存儲(chǔ)器,比如DRAM、SRAM。存儲(chǔ)磁盤(pán)可以是任何類(lèi)型被設(shè)計(jì)來(lái)存儲(chǔ)數(shù)字?jǐn)?shù)據(jù)的裝置,比如硬盤(pán)、軟盤(pán)。操作系統(tǒng)軟件可以是任何類(lèi)型的適當(dāng)?shù)牟僮飨到y(tǒng)軟件,其可以在底層硬件上運(yùn)行,比如Microsoft Windows(例如Windows NT、Windows 2000、Windows XP),UNIX版本(例如Sun Solaris或RedhatLINUX)。應(yīng)用軟件可以是任何軟件,比如Microsoft Word、NetscapeNavigator、電子表格應(yīng)用或任何其它類(lèi)型的應(yīng)用程序。通信軟件可以是任何類(lèi)型的軟件,其使得在客戶(hù)端計(jì)算機(jī)系統(tǒng)和客戶(hù)端計(jì)算機(jī)系統(tǒng)之間能夠進(jìn)行數(shù)據(jù)通信,這些軟件包括用于執(zhí)行客戶(hù)端的功能以創(chuàng)建本發(fā)明指定的虛擬網(wǎng)絡(luò)的指令。
全局計(jì)算機(jī)網(wǎng)絡(luò)130可以是任何類(lèi)型的計(jì)算機(jī)網(wǎng)絡(luò),其包括大量可以相互通信的計(jì)算機(jī)。在本發(fā)明的某些實(shí)施例中,全局計(jì)算機(jī)網(wǎng)絡(luò)被顯示為互聯(lián)網(wǎng)。
諸如防火墻110i之類(lèi)的防火墻可以是在兩個(gè)網(wǎng)絡(luò)之間執(zhí)行訪(fǎng)問(wèn)控制的任何硬件裝置或軟件系統(tǒng),尤其在本發(fā)明的某些實(shí)施例中,這兩個(gè)網(wǎng)絡(luò)涉及企業(yè)專(zhuān)用網(wǎng)和諸如互聯(lián)網(wǎng)130之類(lèi)的全局計(jì)算機(jī)網(wǎng)絡(luò)。
系統(tǒng)200還包括是軟件實(shí)現(xiàn)的網(wǎng)絡(luò)對(duì)象的虛擬網(wǎng)絡(luò)210,其具有與諸如以太網(wǎng)之類(lèi)的物理網(wǎng)絡(luò)相同的特征。它在每個(gè)客戶(hù)端計(jì)算機(jī)系統(tǒng)表現(xiàn)為另一個(gè)物理網(wǎng)絡(luò)接口,而在服務(wù)器計(jì)算機(jī)系統(tǒng)表現(xiàn)為由服務(wù)器通信軟件來(lái)管理的軟件對(duì)象。
在下面將詳細(xì)描述,本發(fā)明提供用于在諸如互聯(lián)網(wǎng)130之類(lèi)的全局計(jì)算機(jī)網(wǎng)絡(luò)上建立虛擬網(wǎng)絡(luò)210的系統(tǒng)和方法。
為了形成虛擬網(wǎng)絡(luò)210,每個(gè)參加的客戶(hù)端計(jì)算機(jī)系統(tǒng)(例如臺(tái)式機(jī)120i)首先建立與將作為虛擬網(wǎng)絡(luò)210主機(jī)的服務(wù)器計(jì)算機(jī)系統(tǒng)(例如虛擬網(wǎng)絡(luò)主機(jī)服務(wù)器205)的連接。取決于任何特殊的客戶(hù)端計(jì)算機(jī)系統(tǒng)想加入的那個(gè)虛擬網(wǎng)絡(luò)210,服務(wù)器通信軟件建立從客戶(hù)端計(jì)算機(jī)系統(tǒng)到其對(duì)應(yīng)的虛擬網(wǎng)絡(luò)對(duì)象的連接,服務(wù)器通信還將管理虛擬網(wǎng)絡(luò)上在每個(gè)單獨(dú)的客戶(hù)端計(jì)算機(jī)系統(tǒng)之間發(fā)生的或在整個(gè)虛擬網(wǎng)絡(luò)上廣播的數(shù)據(jù)交換活動(dòng)。
圖3是服務(wù)器通信應(yīng)用300的優(yōu)選實(shí)施例的示意圖。應(yīng)用300包括多個(gè)虛擬網(wǎng)絡(luò)對(duì)象(例如305、310和315)。在圖3中,通過(guò)與通信軟件300在服務(wù)器計(jì)算機(jī)系統(tǒng)205上創(chuàng)建的虛擬網(wǎng)絡(luò)對(duì)象305通信,客戶(hù)端計(jì)算機(jī)系統(tǒng)(例如臺(tái)式機(jī)1201)和另一個(gè)客戶(hù)端計(jì)算機(jī)系統(tǒng)(例如臺(tái)式機(jī)1202)被加入到虛擬網(wǎng)絡(luò)200中。服務(wù)器205經(jīng)由對(duì)象305來(lái)管理虛擬網(wǎng)絡(luò)210。
圖4是跨越允許TCP連接請(qǐng)求的防火墻在客戶(hù)系統(tǒng)和主機(jī)服務(wù)器系統(tǒng)之間的連接序列的說(shuō)明框圖。在防火墻(例如防火墻110i)允許在客戶(hù)端計(jì)算機(jī)系統(tǒng)(例如臺(tái)式機(jī)120i)和服務(wù)器計(jì)算機(jī)系統(tǒng)(例如虛擬網(wǎng)絡(luò)主機(jī)服務(wù)器205)之間創(chuàng)建直接輸出連接的情況下,連接按照?qǐng)D4所示的序列來(lái)建立。
在圖4中,防火墻1101傳遞輸出TCP連接請(qǐng)求。因此,臺(tái)式機(jī)1201在該圖所示的序列中直接創(chuàng)建與虛擬網(wǎng)絡(luò)主機(jī)服務(wù)器205的連接。對(duì)于這類(lèi)直接TCP連接,客戶(hù)端計(jì)算機(jī)系統(tǒng)直接向服務(wù)器計(jì)算機(jī)系統(tǒng)發(fā)出TCP連接請(qǐng)求,客戶(hù)端計(jì)算機(jī)系統(tǒng)和服務(wù)器計(jì)算機(jī)系統(tǒng)之間的防火墻執(zhí)行請(qǐng)求的網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)并讓TCP連接穿越,同樣地,防火墻將因此而允許響應(yīng)和進(jìn)一步的數(shù)據(jù)交換。
圖5是跨越不允許TCP連接請(qǐng)求的防火墻在客戶(hù)系統(tǒng)和主機(jī)服務(wù)器系統(tǒng)之間的連接序列的說(shuō)明框圖。在防火墻(例如防火墻1202)不允許隨機(jī)的客戶(hù)端計(jì)算機(jī)系統(tǒng)(例如臺(tái)式機(jī)1202)連接到服務(wù)器計(jì)算機(jī)系統(tǒng)(例如虛擬網(wǎng)絡(luò)主機(jī)服務(wù)器205)的情況下,系統(tǒng)200使用SSL隧道協(xié)議以用于穿越防火墻1102。在大多數(shù)情況下,盡管防火墻1102不允許隨機(jī)的輸出連接,然而防火墻1102往往允許某些比如SOCKS服務(wù)器和HTTP代理服務(wù)器一樣的中間服務(wù)器做出輸出連接。圖5示出使用SSL隧道協(xié)議的連接序列。在這種情況下,客戶(hù)端計(jì)算機(jī)系統(tǒng)(臺(tái)式機(jī)1202)沒(méi)有創(chuàng)建與服務(wù)器計(jì)算機(jī)系統(tǒng)(虛擬網(wǎng)絡(luò)主機(jī)服務(wù)器205)的直接TCP連接,而是通過(guò)如圖5所示的使用SSL隧道協(xié)議的HTTP代理服務(wù)器5002來(lái)轉(zhuǎn)發(fā)請(qǐng)求。不同于直接連接的情況,客戶(hù)端計(jì)算機(jī)系統(tǒng)(臺(tái)式機(jī)1202)首先建立與HTTP代理服務(wù)器5002的直接TCP連接。在到HTTP代理服務(wù)器5002的TCP連接被創(chuàng)建之后,臺(tái)式機(jī)1202經(jīng)由HTTP連接方法開(kāi)始SSL隧道請(qǐng)求。用于隧道請(qǐng)求的一般語(yǔ)法遵循CONNECT<主機(jī)地址><端口>HTTP/1.0...HTTP請(qǐng)求報(bào)頭,后面是空行一旦HTTP代理服務(wù)器5002接收隧道請(qǐng)求,它最終將建立與目標(biāo)服務(wù)器的連接并將在請(qǐng)求客戶(hù)端和服務(wù)器兩者之間轉(zhuǎn)發(fā)數(shù)據(jù)直到三方中任何一方終止底層的TCP連接為止。
圖6是用于檢測(cè)客戶(hù)端計(jì)算系統(tǒng)的可用網(wǎng)絡(luò)環(huán)境的流程框圖。由于連接程序基于客戶(hù)端計(jì)算機(jī)系統(tǒng)的特殊網(wǎng)絡(luò)環(huán)境差異而不相同,客戶(hù)端計(jì)算機(jī)系統(tǒng)上的通信軟件在任何嘗試請(qǐng)求連接到服務(wù)器計(jì)算機(jī)系統(tǒng)之前檢測(cè)網(wǎng)絡(luò)環(huán)境。圖6示出優(yōu)選的檢測(cè)/選擇進(jìn)程600的流程框圖。
在步驟605,進(jìn)程600在測(cè)試可用網(wǎng)絡(luò)環(huán)境的軟件(例如在臺(tái)式機(jī)120i上)上開(kāi)始客戶(hù)端通信。在優(yōu)選實(shí)施例中,這個(gè)測(cè)試確定HTTP代理服務(wù)器500i是否可用。當(dāng)服務(wù)器不可用時(shí),進(jìn)程600前進(jìn)到步驟610以執(zhí)行圖4中示出的連接序列。然而如果在步驟605測(cè)試確定服務(wù)器可用,則進(jìn)程600替換地前進(jìn)到步驟615以執(zhí)行圖5中示出的連接序列。進(jìn)程600在步驟610或步驟615已經(jīng)被執(zhí)行之后做出結(jié)論。
如在圖4和圖5中所示,在物理連接已經(jīng)被建立之后,無(wú)論它是直接TCP連接還是經(jīng)由HTTP代理服務(wù)器的間接TCP連接,客戶(hù)端計(jì)算機(jī)系統(tǒng)和服務(wù)器計(jì)算機(jī)系統(tǒng)都可以執(zhí)行任何需要或希望的協(xié)商。這個(gè)協(xié)商可以包括版本檢查、安全性協(xié)議協(xié)商和連接驗(yàn)證。協(xié)商可以包括用于雙方信號(hào)交換的數(shù)據(jù)交換的多個(gè)舍入。
圖7是客戶(hù)端計(jì)算機(jī)系統(tǒng)(例如臺(tái)式機(jī)120i)上通信軟件的軟件結(jié)構(gòu)700的說(shuō)明示意圖。結(jié)構(gòu)700包括兩個(gè)主要的軟件部分,虛擬網(wǎng)絡(luò)客戶(hù)端運(yùn)行時(shí)(runtime)部分705和虛擬網(wǎng)絡(luò)適配器部分710。
虛擬網(wǎng)絡(luò)客戶(hù)端運(yùn)行時(shí)部分705使用客戶(hù)端計(jì)算機(jī)系統(tǒng)上運(yùn)行的主機(jī)操作系統(tǒng)所提供的網(wǎng)絡(luò)服務(wù)來(lái)建立與服務(wù)器計(jì)算機(jī)系統(tǒng)(例如虛擬網(wǎng)絡(luò)主機(jī)服務(wù)器205)的連接,并且參與屬于虛擬網(wǎng)絡(luò)200并由客戶(hù)機(jī)和服務(wù)器計(jì)算機(jī)系統(tǒng)中的通信軟件處理的數(shù)據(jù)交換會(huì)話(huà)。
最終,從將存在于客戶(hù)端計(jì)算機(jī)系統(tǒng)的虛擬網(wǎng)絡(luò)200,虛擬網(wǎng)絡(luò)適配器710將由虛擬網(wǎng)絡(luò)客戶(hù)端運(yùn)行時(shí)705來(lái)加載。在客戶(hù)端計(jì)算機(jī)上運(yùn)行的任何網(wǎng)絡(luò)應(yīng)用程序715將察覺(jué)適配器710并像使用客戶(hù)端計(jì)算機(jī)系統(tǒng)可連接的其他的物理網(wǎng)絡(luò)一樣地來(lái)使用它。
在使用虛擬網(wǎng)絡(luò)200之前,虛擬網(wǎng)絡(luò)適配器710必須被恰當(dāng)?shù)嘏渲?。適配器710具有用于物理地址和邏輯地址的動(dòng)態(tài)屬性使配置變得復(fù)雜。本發(fā)明提供方法來(lái)處理與這兩類(lèi)處理相聯(lián)系的問(wèn)題。
虛擬網(wǎng)絡(luò)適配器710能夠模擬任何的物理介質(zhì)類(lèi)型,IEEE 802.3以太網(wǎng)在優(yōu)選實(shí)施例中被使用。IEEE 802.3以太網(wǎng)地址是48比特地址,具有24位供應(yīng)商ID和24位接口序列號(hào)(由供應(yīng)商來(lái)分配),從而每個(gè)以太網(wǎng)地址在全局環(huán)境中都是唯一的。本發(fā)明動(dòng)態(tài)地創(chuàng)建虛擬網(wǎng)絡(luò),因此每個(gè)被例示的虛擬網(wǎng)絡(luò)適配器710都被動(dòng)態(tài)地分配其自己的物理適配器地址。某些系統(tǒng)不允許對(duì)適配器物理地址的動(dòng)態(tài)轉(zhuǎn)換。為了解決這個(gè)問(wèn)題,本發(fā)明使用偽物理地址。每個(gè)虛擬適配器710都靜態(tài)地用在優(yōu)選實(shí)施例中對(duì)每個(gè)適配器710都一樣的偽物理地址來(lái)配置。為了在物理地址級(jí)別區(qū)別虛擬適配器710,被修改的地址轉(zhuǎn)換協(xié)議(ARP)進(jìn)程被使用。
圖8是在物理地址級(jí)區(qū)別虛擬適配器710的己修改ARP進(jìn)程800的流程圖。每個(gè)虛擬適配器710都由相同的偽物理地址來(lái)配置,然而這個(gè)偽物理地址只有該適配器自己能看見(jiàn),其它的適配器將看到其動(dòng)態(tài)分配的物理地址。
在步驟805,進(jìn)程800以客戶(hù)端計(jì)算機(jī)系統(tǒng)中的通信軟件檢查每個(gè)地址轉(zhuǎn)換協(xié)議(ARP)請(qǐng)求的分組細(xì)節(jié)為開(kāi)始。通信軟件收集用于進(jìn)一步行動(dòng)的所有必需的信息。
接下來(lái)在步驟810,進(jìn)程800檢測(cè)ARP請(qǐng)求是否在客戶(hù)端計(jì)算機(jī)系統(tǒng)用于被動(dòng)態(tài)分配的示例適配器物理地址。當(dāng)回答為是時(shí),進(jìn)程800前進(jìn)到步驟815,否則進(jìn)程800忽略這個(gè)ARP請(qǐng)求。
在步驟815中,進(jìn)程800檢查ARP請(qǐng)求是否從局部計(jì)算機(jī)系統(tǒng)發(fā)出。當(dāng)ARP請(qǐng)求從局部計(jì)算機(jī)系統(tǒng)發(fā)出時(shí),進(jìn)程800用固定的偽物理地址來(lái)響應(yīng),否則進(jìn)程800用動(dòng)態(tài)分配的物理地址來(lái)響應(yīng)。
動(dòng)態(tài)物理地址由在服務(wù)器計(jì)算機(jī)系統(tǒng)205運(yùn)行的通信軟件來(lái)分配,通過(guò)結(jié)合供應(yīng)商ID和虛擬網(wǎng)絡(luò)中唯一的動(dòng)態(tài)分配序列號(hào)來(lái)產(chǎn)生。
與用于TCP/IP聯(lián)網(wǎng)的物理地址分配類(lèi)似,TCP/IP設(shè)置也被配置用于每個(gè)虛擬網(wǎng)絡(luò)適配器710。通信軟件在客戶(hù)端計(jì)算機(jī)系統(tǒng)和服務(wù)器計(jì)算機(jī)系統(tǒng)協(xié)作防止虛擬網(wǎng)絡(luò)和這些網(wǎng)絡(luò)上的計(jì)算機(jī)系統(tǒng)中的地址沖突。
虛擬網(wǎng)絡(luò)的客戶(hù)端計(jì)算機(jī)系統(tǒng)可以橫越多個(gè)企業(yè)網(wǎng)。存在于單獨(dú)的專(zhuān)用網(wǎng)上的仲裁工具被分開(kāi)管理并且可能不適用于虛擬網(wǎng)絡(luò)。因此,虛擬網(wǎng)絡(luò)的IP地址分配可能存在與某些專(zhuān)用網(wǎng)的沖突問(wèn)題。本發(fā)明提供子網(wǎng)定位方法來(lái)處理這個(gè)可能性。
IP地址包括兩個(gè)部分,網(wǎng)絡(luò)ID部分和主機(jī)ID部分,子網(wǎng)定位方法工作在網(wǎng)絡(luò)ID部分上。只要?jiǎng)?chuàng)建了虛擬網(wǎng)絡(luò)就挑選優(yōu)選的網(wǎng)絡(luò)ID。一旦客戶(hù)端通信軟件設(shè)法配置了虛擬適配器的TCP/IP設(shè)置,這個(gè)優(yōu)選的網(wǎng)絡(luò)ID就在任何可能的情況下被使用。圖9是網(wǎng)絡(luò)ID選擇進(jìn)程900的說(shuō)明流程圖,其被客戶(hù)端計(jì)算機(jī)系統(tǒng)上的通信軟件用來(lái)確定虛擬網(wǎng)絡(luò)的網(wǎng)絡(luò)ID。進(jìn)程900包括測(cè)試步驟905來(lái)確定是否所選的優(yōu)選網(wǎng)絡(luò)ID與局部系統(tǒng)發(fā)生沖突。當(dāng)不出現(xiàn)沖突時(shí)可以使用優(yōu)選的網(wǎng)絡(luò)ID。當(dāng)存在沖突時(shí),局部系統(tǒng)選擇另一個(gè)候選的網(wǎng)絡(luò)ID,并返回步驟905來(lái)測(cè)試候選的網(wǎng)絡(luò)ID。
當(dāng)優(yōu)選的網(wǎng)絡(luò)ID不能被選擇用于客戶(hù)端計(jì)算機(jī)系統(tǒng)時(shí),這個(gè)客戶(hù)端計(jì)算機(jī)系統(tǒng)將具有虛擬網(wǎng)絡(luò)的定位視圖。定位視圖意指當(dāng)其它客戶(hù)端計(jì)算機(jī)系統(tǒng)看到具有優(yōu)選ID的網(wǎng)絡(luò)ID的虛擬網(wǎng)絡(luò)時(shí),客戶(hù)端計(jì)算機(jī)系統(tǒng)將把虛擬網(wǎng)絡(luò)作為具有被定位選擇的網(wǎng)絡(luò)ID來(lái)看待。為了允許該客戶(hù)端計(jì)算機(jī)系統(tǒng)能夠與其它系統(tǒng)通信,一個(gè)特殊的進(jìn)程被執(zhí)行在客戶(hù)端通信軟件上。對(duì)于每個(gè)穿越客戶(hù)系統(tǒng)的IP分組來(lái)說(shuō),客戶(hù)端通信軟件執(zhí)行基于連接的地址轉(zhuǎn)換進(jìn)程。
圖10是用于經(jīng)由虛擬適配器傳送的輸入TCP分組的基于連接的地址轉(zhuǎn)換的流程框圖。進(jìn)程1000從步驟1005開(kāi)始并測(cè)試輸入分組是否是TCP SYN分組。當(dāng)它是TCP SYN分組時(shí),進(jìn)程1000執(zhí)行從1010開(kāi)始的步驟,否則進(jìn)程1000運(yùn)行從1045開(kāi)始的動(dòng)作。
在步驟1010,進(jìn)程1000測(cè)試源IP地址中的網(wǎng)絡(luò)ID是否匹配虛擬適配器的網(wǎng)絡(luò)ID。當(dāng)它們不匹配時(shí),如步驟1015(改變?cè)碔D)和步驟1020(更新校驗(yàn)和)中所示的地址轉(zhuǎn)換被執(zhí)行。另外在步驟1025,進(jìn)程1000基于源IP和源端口來(lái)創(chuàng)建映射入口以用于稍后的地址轉(zhuǎn)換。當(dāng)步驟1010的測(cè)試為否定時(shí)完成步驟1015到步驟1025之后,或當(dāng)測(cè)試為肯定時(shí)完成步驟1010之后,進(jìn)程1000在步驟1030執(zhí)行另一個(gè)測(cè)試。這個(gè)測(cè)試確定目的網(wǎng)絡(luò)ID是否匹配虛擬適配器的網(wǎng)絡(luò)ID。當(dāng)匹配的時(shí)候結(jié)束進(jìn)程1000。當(dāng)它不匹配時(shí),進(jìn)程1000在結(jié)束之前運(yùn)行步驟1035(改變目標(biāo)網(wǎng)絡(luò)ID來(lái)匹配虛擬適配器的網(wǎng)絡(luò)ID)和步驟1040(更新校驗(yàn)和)。
對(duì)于不是SYN分組的TCP分組,進(jìn)程1000從步驟1005的測(cè)試運(yùn)行步驟1045。當(dāng)源IP地址/源端口的映射入口存在時(shí),進(jìn)程1000在步驟1050執(zhí)行測(cè)驗(yàn),否則進(jìn)程1000結(jié)束。
在步驟1050,進(jìn)程1000測(cè)試源IP地址中的網(wǎng)絡(luò)ID是否匹配虛擬適配器的網(wǎng)絡(luò)ID。當(dāng)它們不匹配時(shí),如步驟1055(改變?cè)碔D)和步驟1060(更新校驗(yàn)和)中所示的地址轉(zhuǎn)換被執(zhí)行。當(dāng)步驟1050的測(cè)試為否定時(shí)完成步驟1055到步驟1060之后,或當(dāng)測(cè)試為肯定時(shí)完成步驟1050之后,進(jìn)程1000如上所述執(zhí)行從測(cè)試步驟1030開(kāi)始的步驟。
圖11是可應(yīng)用于經(jīng)由虛擬適配器傳送的分組的輸出TCP分組進(jìn)程的流程框圖。進(jìn)程1100在步驟1105為每個(gè)輸出TCP分組測(cè)試是否存在具有基于分組中的目標(biāo)地址和目標(biāo)端口的信息的映射入口。當(dāng)沒(méi)有找到映射入口時(shí),進(jìn)程1100結(jié)束。當(dāng)發(fā)現(xiàn)映射入口時(shí),進(jìn)程1100執(zhí)行起始于步驟1110的動(dòng)作。
步驟1110是用于確定源IP地址的網(wǎng)絡(luò)ID是否匹配記錄在映射入口中的原始網(wǎng)絡(luò)ID的測(cè)試。當(dāng)源IP地址的網(wǎng)絡(luò)ID不匹配記錄在映射入口中的原始網(wǎng)絡(luò)ID時(shí),進(jìn)程1100執(zhí)行在步驟1115(改變?cè)碔D來(lái)匹配在入口中陳列的原始ID)和步驟1120(更新校驗(yàn)和)中指定的地址轉(zhuǎn)換。
在步驟1115和步驟1120之后,或在步驟1110確定存在匹配的測(cè)試之后,進(jìn)程1100在步驟1125執(zhí)行另一個(gè)測(cè)試來(lái)確定目標(biāo)IP地址的網(wǎng)絡(luò)ID是否匹配記錄在映射入口中的原始網(wǎng)絡(luò)ID。當(dāng)目標(biāo)IP地址的網(wǎng)絡(luò)ID匹配記錄在映射入口中的原始網(wǎng)絡(luò)ID時(shí),進(jìn)程1100結(jié)束。
當(dāng)目標(biāo)IP地址的網(wǎng)絡(luò)ID不匹配記錄在映射入口中的原始網(wǎng)絡(luò)ID時(shí),進(jìn)程1100執(zhí)行在步驟1130(改變分組中的目標(biāo)IP地址以使之匹配記錄在入口中的原始源網(wǎng)絡(luò)ID)和步驟1135(更新校驗(yàn)和)中指定的地址轉(zhuǎn)換。如步驟1120和步驟1135中對(duì)應(yīng)所示,對(duì)于分組中的每個(gè)改變,IP校驗(yàn)和與TCP校驗(yàn)和被重新計(jì)算并更新。
除了IP地址的分配之外,本發(fā)明還提供一個(gè)用于執(zhí)行基于客戶(hù)端的域名服務(wù)(DNS)服務(wù)的方法,因此每個(gè)被連接的客戶(hù)端計(jì)算機(jī)系統(tǒng)可以具有與其動(dòng)態(tài)分配的IP地址相關(guān)的域名。IP地址和相關(guān)域名之間的映射將通過(guò)在客戶(hù)端計(jì)算機(jī)系統(tǒng)運(yùn)行的通信軟件來(lái)執(zhí)行。
為了解析″非虛擬″域中的域名,DNS系統(tǒng)中一般包括兩個(gè)主要部分DNS服務(wù)器和域名解析器(DNR)。優(yōu)選的實(shí)施例和DNR部分協(xié)同工作。對(duì)于像Windows操作系統(tǒng)的操作系統(tǒng)軟件,DNR部分被設(shè)計(jì)有一個(gè)允許插入域名服務(wù)供應(yīng)商的開(kāi)放式體系結(jié)構(gòu)。通過(guò)提供這類(lèi)域名服務(wù)供應(yīng)商,客戶(hù)端通信軟件在虛擬網(wǎng)絡(luò)之上寄住其自己的域名服務(wù)。
圖12是用于處理在客戶(hù)端計(jì)算機(jī)系統(tǒng)發(fā)起的DNS域名請(qǐng)求進(jìn)程的流程框圖。在客戶(hù)端計(jì)算機(jī)系統(tǒng)由通信軟件執(zhí)行的進(jìn)程1200提供用于虛擬網(wǎng)絡(luò)的域名服務(wù)。進(jìn)程1200從測(cè)試步驟1205開(kāi)始確定域名空間的域名是否被定義用于虛擬網(wǎng)絡(luò)。
當(dāng)域名請(qǐng)求匹配定義用于虛擬網(wǎng)絡(luò)的域名空間模式時(shí),步驟1210將被執(zhí)行并且動(dòng)態(tài)分配的IP地址直接返回客戶(hù)端計(jì)算機(jī)系統(tǒng),而不用跟任何DNS服務(wù)器聯(lián)系。換言之,域名解析完全在客戶(hù)端設(shè)備來(lái)完成。
當(dāng)域名請(qǐng)求不匹配定義用于虛擬網(wǎng)絡(luò)的域名空間模式時(shí),步驟1215將被執(zhí)行,并且請(qǐng)求將被轉(zhuǎn)發(fā)給默認(rèn)的DNR。因此,一個(gè)附加的域名空間用這個(gè)方法被建立來(lái)補(bǔ)充常規(guī)的DNS域名空間。
本發(fā)明的其中一個(gè)優(yōu)選實(shí)現(xiàn)是操作系統(tǒng)中的一個(gè)例程,其由在計(jì)算機(jī)操作過(guò)程中駐留在計(jì)算機(jī)系統(tǒng)的RAM中的程序步驟或指令構(gòu)成。程序指令直到計(jì)算機(jī)系統(tǒng)需要它為止都可以被存儲(chǔ)在另一個(gè)可讀介質(zhì)中,例如被存儲(chǔ)在磁盤(pán)驅(qū)動(dòng)器或可移動(dòng)的存儲(chǔ)器中,比如用于CD ROM計(jì)算機(jī)輸入的光盤(pán)或用于軟盤(pán)驅(qū)動(dòng)器計(jì)算機(jī)輸入的軟盤(pán)。此外,程序指令在本發(fā)明的系統(tǒng)使用它之前可以被存儲(chǔ)在另一個(gè)計(jì)算機(jī)的存儲(chǔ)器中,并且當(dāng)本發(fā)明的用戶(hù)需要時(shí)可以在LAN或諸如互聯(lián)網(wǎng)之類(lèi)的WAN上被發(fā)出。所屬領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,控制本發(fā)明的進(jìn)程能夠被分配在多種形式的計(jì)算機(jī)可讀介質(zhì)中。
本發(fā)明已經(jīng)參考其特殊實(shí)施例被描述。然而,這些本發(fā)明的實(shí)施例僅僅是說(shuō)明性而不是限制性的,而其范圍僅僅通過(guò)附加的權(quán)利要求來(lái)確定。
權(quán)利要求
1.一個(gè)網(wǎng)絡(luò)系統(tǒng),包括連接到一個(gè)或多個(gè)虛擬網(wǎng)絡(luò)主機(jī)服務(wù)器的全局網(wǎng);一個(gè)經(jīng)由第一防火墻連接到所述的一個(gè)或多個(gè)服務(wù)器的第一計(jì)算系統(tǒng);和經(jīng)由第二防火墻連接到所述的一個(gè)或多個(gè)服務(wù)器的第二計(jì)算系統(tǒng),其中,包括所述這些計(jì)算系統(tǒng)的虛擬網(wǎng)絡(luò)被這樣形成使得所述這些計(jì)算系統(tǒng)經(jīng)由直接邏輯連接相互通信。
2.如權(quán)利要求1所述的網(wǎng)絡(luò)系統(tǒng),其中,所述的虛擬網(wǎng)絡(luò)使用所述的一個(gè)或多個(gè)服務(wù)器和每個(gè)計(jì)算系統(tǒng)之間的物理層連接。
3.如權(quán)利要求2所述的網(wǎng)絡(luò)系統(tǒng),其中,所述物理層用HTTP連接命令來(lái)建立。
4.如權(quán)利要求1所述的網(wǎng)絡(luò)系統(tǒng),其中,所述的物理層連接包括連接到在所述的服務(wù)器中形成的虛擬網(wǎng)絡(luò)對(duì)象。
5.一個(gè)使用有虛擬網(wǎng)絡(luò)主機(jī)服務(wù)器的全局網(wǎng)的通信系統(tǒng),包括用全局網(wǎng)連接到虛擬網(wǎng)絡(luò)主機(jī)服務(wù)器的多個(gè)計(jì)算系統(tǒng);和多個(gè)分別用于每個(gè)計(jì)算系統(tǒng)的防火墻,用于過(guò)濾計(jì)算系統(tǒng)和全局網(wǎng)之間的網(wǎng)絡(luò)通信,其中,包括所述這些計(jì)算系統(tǒng)的虛擬網(wǎng)絡(luò)被這樣形成使得所述的計(jì)算系統(tǒng)經(jīng)由直接邏輯連接相互通信。
6.一個(gè)虛擬網(wǎng)絡(luò)形成方法,該方法包括a)經(jīng)由第一防火墻在第一計(jì)算系統(tǒng)與連接到全局網(wǎng)的虛擬網(wǎng)絡(luò)主機(jī)服務(wù)器之間建立物理連接;b)經(jīng)由第二防火墻在第二計(jì)算系統(tǒng)與所述的虛擬網(wǎng)絡(luò)主機(jī)服務(wù)器之間建立物理連接;和c)在所述這些計(jì)算系統(tǒng)之間建立邏輯連接來(lái)形成虛擬網(wǎng)絡(luò)。
7.如權(quán)利要求6所述的方法,其中,所述的建立步驟a)和b)之一包括d)向所述服務(wù)器發(fā)出來(lái)自所述計(jì)算系統(tǒng)的TCP連接請(qǐng)求;e)響應(yīng)從所述服務(wù)器到所述計(jì)算系統(tǒng)的所述TCP連接請(qǐng)求;f)與所述服務(wù)器交換來(lái)自所述計(jì)算系統(tǒng)的連接握手?jǐn)?shù)據(jù);g)與所述計(jì)算系統(tǒng)交換來(lái)自所述服務(wù)器的連接握手?jǐn)?shù)據(jù);和h)在所述的計(jì)算系統(tǒng)和所述的服務(wù)器之間交換數(shù)據(jù)。
8.如權(quán)利要求6所述的方法,還包括連接到所述第一防火墻前面的所述第一計(jì)算系統(tǒng)的HTTP代理服務(wù)器,其中,所述的建立步驟a)包括d)向所述的代理服務(wù)器發(fā)出來(lái)自所述第一計(jì)算系統(tǒng)的代理連接請(qǐng)求;e)向所述服務(wù)器發(fā)出來(lái)自所述代理服務(wù)器的TCP連接請(qǐng)求;f)響應(yīng)從所述服務(wù)器到所述代理服務(wù)器的所述的TCP連接請(qǐng)求;h)響應(yīng)從所述代理服務(wù)器到所述第一計(jì)算系統(tǒng)的所述TCP連接請(qǐng)求;g)經(jīng)由所述的代理服務(wù)器與所述的服務(wù)器交換來(lái)自所述計(jì)算系統(tǒng)的連接握手?jǐn)?shù)據(jù);g)經(jīng)由所述代理服務(wù)器與所述計(jì)算系統(tǒng)交換來(lái)自所述服務(wù)器的連接握手?jǐn)?shù)據(jù);和h)經(jīng)由所述的代理服務(wù)器在所述的計(jì)算系統(tǒng)和所述的服務(wù)器之間交換數(shù)據(jù)。
9.一個(gè)包括攜帶程序指令的計(jì)算機(jī)可讀介質(zhì)的計(jì)算機(jī)程序產(chǎn)品,其在運(yùn)行時(shí)使用兩個(gè)或更多經(jīng)由防火墻連接到全局網(wǎng)的計(jì)算系統(tǒng)來(lái)形成虛擬網(wǎng)絡(luò),被執(zhí)行的程序指令運(yùn)行一個(gè)方法,該方法包括a)經(jīng)由第一防火墻在第一計(jì)算系統(tǒng)與連接到全局網(wǎng)的虛擬網(wǎng)絡(luò)主機(jī)服務(wù)器之間建立物理連接;b)經(jīng)由第二防火墻在第二計(jì)算系統(tǒng)與所述的虛擬網(wǎng)絡(luò)主機(jī)服務(wù)器之間建立物理連接;和c)在所述這些計(jì)算系統(tǒng)之間建立邏輯連接來(lái)形成虛擬網(wǎng)絡(luò)。
10.一個(gè)用于連接到全局網(wǎng)的第一計(jì)算機(jī)系統(tǒng)的虛擬網(wǎng)絡(luò)通信系統(tǒng),包括用第一計(jì)算機(jī)系統(tǒng)的處理器來(lái)操作的網(wǎng)絡(luò)應(yīng)用程序,所述的網(wǎng)絡(luò)應(yīng)用程序連接到網(wǎng)絡(luò)API;用所述處理器來(lái)操作的網(wǎng)絡(luò)接口卡,用于在全局網(wǎng)和網(wǎng)絡(luò)子系統(tǒng)之間交換通信協(xié)議信號(hào),所述的網(wǎng)絡(luò)子系統(tǒng)被連接到所述的網(wǎng)絡(luò)API;用所述的第一計(jì)算機(jī)系統(tǒng)的處理器來(lái)操作的虛擬網(wǎng)絡(luò)客戶(hù)端運(yùn)行時(shí),所述的網(wǎng)絡(luò)客戶(hù)端運(yùn)行時(shí)被連接到所述的網(wǎng)絡(luò)API;和用所述的處理器來(lái)操作的虛擬網(wǎng)絡(luò)適配器,其被連接到所述的運(yùn)行時(shí)和所述的網(wǎng)絡(luò)系統(tǒng)。
11.如權(quán)利要求10所述的虛擬網(wǎng)絡(luò)通信系統(tǒng),其中,所述的虛擬網(wǎng)絡(luò)適配器在第一計(jì)算機(jī)系統(tǒng)的操作過(guò)程中被動(dòng)態(tài)地創(chuàng)建。
12.如權(quán)利要求11所述的虛擬網(wǎng)絡(luò)通信系統(tǒng),其中,所述的虛擬網(wǎng)絡(luò)適配器被分配了其自己的物理適配器地址。
13.如權(quán)利要求11所述的虛擬網(wǎng)絡(luò)通信系統(tǒng),其中,所述的虛擬網(wǎng)絡(luò)適配器用偽物理地址來(lái)靜態(tài)地配置。
14.如權(quán)利要求13所述的虛擬網(wǎng)絡(luò)通信系統(tǒng),其中,所述的虛擬網(wǎng)絡(luò)適配器具有匹配第二計(jì)算機(jī)系統(tǒng)的第二虛擬網(wǎng)絡(luò)適配器地址的地址,第二計(jì)算機(jī)系統(tǒng)經(jīng)由虛擬網(wǎng)絡(luò)主機(jī)服務(wù)器邏輯上連接到所述的第一計(jì)算機(jī)系統(tǒng)的虛擬網(wǎng)絡(luò)適配器。
15.如權(quán)利要求14所述的虛擬網(wǎng)絡(luò)通信系統(tǒng),其中,第一計(jì)算機(jī)系統(tǒng)包括已修改的地址轉(zhuǎn)換協(xié)議進(jìn)程。
16.如權(quán)利要求15所述的虛擬網(wǎng)絡(luò)通信系統(tǒng),其中,取決于第一計(jì)算機(jī)系統(tǒng)的物理地址請(qǐng)求的地址轉(zhuǎn)換協(xié)議請(qǐng)求的來(lái)源,所述已修改地址轉(zhuǎn)換協(xié)議進(jìn)程返回所述偽物理地址和動(dòng)態(tài)分配的物理地址中的一個(gè)。
17.一個(gè)用于在第一計(jì)算機(jī)系統(tǒng)中提供的虛擬網(wǎng)絡(luò)適配器的地址轉(zhuǎn)換協(xié)議請(qǐng)求應(yīng)答進(jìn)程,該方法包括a)當(dāng)?shù)刂忿D(zhuǎn)換協(xié)議請(qǐng)求從第一計(jì)算機(jī)系統(tǒng)被發(fā)送時(shí),用虛擬網(wǎng)絡(luò)適配器的偽物理地址來(lái)響應(yīng)地址轉(zhuǎn)換協(xié)議請(qǐng)求;和b)當(dāng)?shù)刂忿D(zhuǎn)換協(xié)議請(qǐng)求不是從第一計(jì)算機(jī)系統(tǒng)發(fā)送時(shí),用虛擬網(wǎng)絡(luò)適配器的動(dòng)態(tài)分配的物理地址來(lái)響應(yīng)地址轉(zhuǎn)換協(xié)議請(qǐng)求。
18.一個(gè)網(wǎng)絡(luò)系統(tǒng),包括連接到一個(gè)或多個(gè)虛擬網(wǎng)絡(luò)主機(jī)服務(wù)器的全局網(wǎng);和經(jīng)由第一防火墻連接到所述的一個(gè)或多個(gè)服務(wù)器的第一計(jì)算系統(tǒng);其中,包括所述第一計(jì)算系統(tǒng)的虛擬網(wǎng)絡(luò)用經(jīng)由第二防火墻連接到所述一個(gè)或多個(gè)服務(wù)器的第二計(jì)算系統(tǒng)來(lái)形成,因此所述的計(jì)算系統(tǒng)經(jīng)由直接邏輯連接相互通信。
19.一個(gè)用于形成虛擬網(wǎng)絡(luò)的方法,該方法包括a)經(jīng)由第一防火墻在第一計(jì)算系統(tǒng)與連接到全局網(wǎng)的虛擬網(wǎng)絡(luò)主機(jī)服務(wù)器之間建立物理連接;b)經(jīng)由第二防火墻與物理連接到所述虛擬網(wǎng)絡(luò)主機(jī)服務(wù)器的第二計(jì)算系統(tǒng)通信,其中,所述的通信步驟包括經(jīng)由所述計(jì)算系統(tǒng)之間的直接邏輯連接來(lái)通信。
20.一個(gè)用于形成虛擬網(wǎng)絡(luò)的方法,該方法包括a)在連接到全局網(wǎng)的虛擬網(wǎng)絡(luò)主機(jī)服務(wù)器和通過(guò)多個(gè)防火墻與所述全局網(wǎng)隔開(kāi)的多個(gè)計(jì)算系統(tǒng)中的每一個(gè)之間建立物理連接,所述的多個(gè)防火墻的每一個(gè)與所述的多個(gè)計(jì)算系統(tǒng)中每一個(gè)的對(duì)應(yīng)防火墻相關(guān)聯(lián);和b)在所述的多個(gè)計(jì)算系統(tǒng)的每個(gè)計(jì)算系統(tǒng)之間使用它們之間的直接邏輯連接來(lái)通信,從而形成所述的多個(gè)計(jì)算系統(tǒng)的虛擬網(wǎng)絡(luò)。
21.一個(gè)用于多個(gè)計(jì)算系統(tǒng)中每一個(gè)計(jì)算系統(tǒng)的子網(wǎng)定位方法,每個(gè)計(jì)算系統(tǒng)經(jīng)由防火墻被物理連接到虛擬網(wǎng)絡(luò)主機(jī)服務(wù)器并具有虛擬網(wǎng)絡(luò)適配器,多個(gè)計(jì)算系統(tǒng)和定義虛擬網(wǎng)絡(luò)的主機(jī)服務(wù)器具有計(jì)算系統(tǒng)之間的直接邏輯連接,該方法包括a)為除具有沖突的一個(gè)或多個(gè)虛擬適配器之外的每個(gè)虛擬適配器配置TCP/IP設(shè)置,每個(gè)虛擬適配器都包括公用網(wǎng)絡(luò)ID和主機(jī)ID部分的結(jié)合;b)為每個(gè)所述具有沖突的一個(gè)或多個(gè)包括替換網(wǎng)絡(luò)ID和主機(jī)ID部分結(jié)合的虛擬適配器配置TCP/IP設(shè)置;和c)執(zhí)行基于連接的經(jīng)由所述虛擬適配器來(lái)傳遞的IP分組的地址轉(zhuǎn)換,其中,所有的計(jì)算系統(tǒng)都邏輯上被一起連接到一個(gè)虛擬網(wǎng)絡(luò)中。
22.如權(quán)利要求21所述的子網(wǎng)定位方法,其中,用于IP分組進(jìn)入其中一個(gè)虛擬適配器的所述地址轉(zhuǎn)換步驟c)包括c1)測(cè)試IP分組源地址部分中的網(wǎng)絡(luò)ID是否匹配所述虛擬適配器的網(wǎng)絡(luò)ID;和c2)當(dāng)所述測(cè)試步驟c1)為假時(shí),改變所述源地址部分中的所述網(wǎng)絡(luò)ID來(lái)匹配所述虛擬適配器的所述網(wǎng)絡(luò)ID;c3)當(dāng)所述測(cè)試步驟c1)為假時(shí),更新所述IP分組的分組校驗(yàn)和;和c4)當(dāng)所述測(cè)試步驟c1)為假時(shí),基于一源IP和一源端口來(lái)創(chuàng)建映射入口。
23.如權(quán)利要求21所述的子網(wǎng)定位方法,其中,用于IP分組進(jìn)入所述虛擬適配器之一的所述地址轉(zhuǎn)換步驟c)包括c1)測(cè)試IP分組目標(biāo)地址部分中的網(wǎng)絡(luò)ID是否匹配虛擬適配器的網(wǎng)絡(luò)ID;和c2)當(dāng)所述測(cè)試步驟c1)為假時(shí),改變所述目標(biāo)地址部分中的所述網(wǎng)絡(luò)ID來(lái)匹配所述虛擬適配器的所述網(wǎng)絡(luò)ID;和c3)當(dāng)所述測(cè)試步驟c1)為假時(shí),更新IP分組的分組校驗(yàn)和。
24.如權(quán)利要求21所述的子網(wǎng)定位方法,其中,用于IP分組從其中一個(gè)虛擬適配器發(fā)出的所述地址轉(zhuǎn)換步驟c)包括c1)測(cè)試是否存在用于目標(biāo)地址和目標(biāo)端口的映射入口;c2)當(dāng)c1)的測(cè)試步驟為真時(shí),測(cè)試IP分組源地址部分中的網(wǎng)絡(luò)ID是否匹配所述虛擬適配器的網(wǎng)絡(luò)ID;c3)當(dāng)所述測(cè)試步驟c1)為真而所述測(cè)試步驟c2)為假時(shí),改變所述源地址部分中的所述網(wǎng)絡(luò)ID來(lái)匹配所述映射入口的網(wǎng)絡(luò)ID;和c3)當(dāng)所述測(cè)試步驟c1)為真而所述測(cè)試步驟c2)為假時(shí),更新IP分組的分組校驗(yàn)和。
25.如權(quán)利要求21所述的子網(wǎng)定位方法,其中,用于IP分組從其中一個(gè)虛擬適配器發(fā)出的所述地址轉(zhuǎn)換步驟c)包括c1)測(cè)試是否存在用于目標(biāo)地址和目標(biāo)端口的映射入口;c2)當(dāng)c1)的測(cè)試步驟為真時(shí),測(cè)試是否IP分組目標(biāo)地址部分中的網(wǎng)絡(luò)ID匹配虛擬適配器的網(wǎng)絡(luò)ID;c3)當(dāng)所述測(cè)試步驟c1)為真而所述測(cè)試步驟c2)為假時(shí),改變所述目標(biāo)地址部分中的所述網(wǎng)絡(luò)ID來(lái)匹配所述映射入口的網(wǎng)絡(luò)ID;和c3)當(dāng)所述測(cè)試步驟c1)為真而所述測(cè)試步驟c2)為假時(shí),更新IP分組的分組校驗(yàn)和。
26.一個(gè)用于虛擬網(wǎng)絡(luò)的計(jì)算機(jī)系統(tǒng)的域名服務(wù)處理方法,計(jì)算機(jī)系統(tǒng)具有虛擬適配器,該方法包括a)在計(jì)算機(jī)系統(tǒng)來(lái)測(cè)試計(jì)算機(jī)系統(tǒng)的域名空間的域名請(qǐng)求是否被定義用于所述虛擬網(wǎng)絡(luò);b)當(dāng)測(cè)試步驟a)為真時(shí),響應(yīng)于所述的域名請(qǐng)求返回所述虛擬適配器的一動(dòng)態(tài)分配IP地址;和c)當(dāng)測(cè)試步驟a)為假時(shí),把所述的域名請(qǐng)求轉(zhuǎn)發(fā)到用于計(jì)算機(jī)系統(tǒng)的默認(rèn)域名解析器。
全文摘要
本公開(kāi)是用于建立TCP/IP聯(lián)網(wǎng)的虛擬網(wǎng)絡(luò)的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品。系統(tǒng)包括連接到一個(gè)或多個(gè)虛擬網(wǎng)絡(luò)主機(jī)服務(wù)器的全局網(wǎng);和經(jīng)由第一防火墻連接到一個(gè)或多個(gè)服務(wù)器的第一計(jì)算系統(tǒng),其中,包括第一計(jì)算系統(tǒng)的虛擬網(wǎng)絡(luò)用經(jīng)由第二防火墻連接到一個(gè)或多個(gè)服務(wù)器的第二計(jì)算系統(tǒng)來(lái)形成,使得計(jì)算系統(tǒng)經(jīng)由直接邏輯連接相互通信。用于形成虛擬網(wǎng)絡(luò)的方法包括a)經(jīng)由第一防火墻建立第一計(jì)算系統(tǒng)與連接到全局網(wǎng)的虛擬網(wǎng)絡(luò)主機(jī)服務(wù)器之間的物理連接;b)經(jīng)由第二防火墻與物理連接到虛擬網(wǎng)絡(luò)主機(jī)服務(wù)器的第二計(jì)算系統(tǒng)通信,其中,通信步驟包括經(jīng)由計(jì)算系統(tǒng)之間的直接邏輯連接通信。具有攜帶用于形成虛擬網(wǎng)絡(luò)的程序指令的計(jì)算機(jī)可讀介質(zhì)的計(jì)算機(jī)程序產(chǎn)品,當(dāng)其被運(yùn)行時(shí)使用兩個(gè)或更多分別經(jīng)由防火墻連接到全局網(wǎng)的計(jì)算系統(tǒng),被運(yùn)行的程序指令運(yùn)行一個(gè)方法,該方法包括a)在第一計(jì)算系統(tǒng)之間經(jīng)由第一防火墻與連接到全局網(wǎng)的虛擬網(wǎng)絡(luò)主機(jī)服務(wù)器建立物理連接;b)在第二計(jì)算系統(tǒng)之間經(jīng)由第二防火墻與虛擬網(wǎng)絡(luò)主機(jī)服務(wù)器建立物理連接;和c)在計(jì)算系統(tǒng)之間建立邏輯連接以形成虛擬網(wǎng)絡(luò)。
文檔編號(hào)G06F15/173GK1754161SQ200380103257
公開(kāi)日2006年3月29日 申請(qǐng)日期2003年10月17日 優(yōu)先權(quán)日2002年10月18日
發(fā)明者G·楊 申請(qǐng)人:科拉圖斯公司