虛擬化與非虛擬化網(wǎng)絡(luò)之間的虛擬化網(wǎng)關(guān)的制作方法
【專利摘要】提供了用于通過使用虛擬化網(wǎng)關(guān)來控制在虛擬化網(wǎng)絡(luò)與非虛擬化實(shí)體之間的通信的方法和設(shè)備。由虛擬化網(wǎng)絡(luò)中的虛擬機(jī)將分組發(fā)送給非虛擬化實(shí)體。分組由虛擬機(jī)的主機(jī)路由到虛擬化網(wǎng)關(guān)的提供者地址。網(wǎng)關(guān)將該網(wǎng)關(guān)的提供者地址轉(zhuǎn)換成非虛擬化實(shí)體的目的地地址,并且將分組發(fā)送到非虛擬化實(shí)體。非虛擬化實(shí)體可以是物理資源,諸如物理服務(wù)器或存儲(chǔ)設(shè)備。物理資源可以專用于一個(gè)客戶或者可以在客戶之間共享。
【專利說明】虛擬化與非虛擬化網(wǎng)絡(luò)之間的虛擬化網(wǎng)關(guān)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及在虛擬化網(wǎng)絡(luò)與非虛擬化網(wǎng)絡(luò)之間橋接通信的虛擬化網(wǎng)關(guān),并且更具體地,涉及用于控制在虛擬化網(wǎng)絡(luò)與非虛擬化實(shí)體之間(諸如虛擬機(jī)與物理服務(wù)器之間)的通信的方法和設(shè)備。
【背景技術(shù)】
[0002]數(shù)據(jù)中心可以包括由高速交換機(jī)和路由器互連的數(shù)百個(gè)或數(shù)千個(gè)服務(wù)器。云數(shù)據(jù)中心可以為多個(gè)客戶提供各種各樣的服務(wù),諸如web應(yīng)用、電子郵件服務(wù)、搜索引擎服務(wù)等。近年來,隨著企業(yè)IT大規(guī)模合并到數(shù)據(jù)中心樞紐中并且隨著云計(jì)算服務(wù)提供者的出現(xiàn),數(shù)據(jù)中心已經(jīng)改變了計(jì)算。
[0003]虛擬機(jī)(VM)技術(shù)允許一種或多種操作系統(tǒng)或者虛擬機(jī)并發(fā)地運(yùn)行在一個(gè)物理主機(jī)或物理機(jī)上。虛擬機(jī)技術(shù)的優(yōu)點(diǎn)已經(jīng)變得被廣泛認(rèn)可。這些優(yōu)點(diǎn)所共有的是在單個(gè)主機(jī)上運(yùn)行多個(gè)虛擬機(jī)的能力,以及將虛擬機(jī)從一個(gè)主機(jī)遷移到另一個(gè)主機(jī)的能力。
[0004]存在對云數(shù)據(jù)中心的需求,以支持多租戶或多組織網(wǎng)絡(luò)隔離,而同時(shí)跨越各種范圍的建筑物(premise)地保持客戶地址。客戶需要在不會(huì)因?yàn)榈刂返闹匦戮幪柖袛喾?wù)的情況下將服務(wù)從公司網(wǎng)絡(luò)移動(dòng)到云數(shù)據(jù)中心,而數(shù)據(jù)中心管理員需要在不重新配置網(wǎng)絡(luò)或中斷服務(wù)的情況下遷移或合并工作負(fù)載的靈活性。為了滿足這些要求,云數(shù)據(jù)中心需要調(diào)停(accommodate)潛在地重疊的客戶地址。
[0005]在虛擬化網(wǎng)絡(luò)中,虛擬機(jī)可以與諸如存儲(chǔ)設(shè)備的物理資源通信,所述物理資源是非虛擬化的。物理資源可以位于數(shù)據(jù)中心內(nèi)、位于客戶位置處或者位于另一個(gè)數(shù)據(jù)中心。物理資源可以專用于一個(gè)客戶,或者可以在客戶之間共享。虛擬機(jī)和物理資源可以利用不同的尋址方案。
【發(fā)明內(nèi)容】
[0006]已經(jīng)提出利用策略控制的網(wǎng)絡(luò)虛擬化來使應(yīng)用或客戶地址從物理或提供者地址解除耦合,而同時(shí)保持這兩組地址之間的映射。這允許客戶在跨越子網(wǎng)或建筑物移動(dòng)服務(wù)的同時(shí)保持客戶地址。這還允許數(shù)據(jù)中心管理員在不中斷服務(wù)的情況下在子網(wǎng)內(nèi)以及跨越子網(wǎng)地合并與遷移服務(wù),并且使數(shù)據(jù)中心提供者能夠調(diào)停來自客戶的重疊的地址空間。
[0007]本發(fā)明提供用于通過使用虛擬化網(wǎng)關(guān)來控制在虛擬化網(wǎng)絡(luò)與非虛擬化實(shí)體之間的通信的方法和設(shè)備。由虛擬化網(wǎng)絡(luò)中的虛擬機(jī)將分組發(fā)送給非虛擬化實(shí)體。該分組由虛擬機(jī)的主機(jī)路由到虛擬化網(wǎng)關(guān)的提供者地址。該網(wǎng)關(guān)將網(wǎng)關(guān)的提供者地址轉(zhuǎn)換成非虛擬化實(shí)體的目的地地址,并且將該分組發(fā)送到非虛擬化實(shí)體。
[0008]在一些實(shí)施例中,非虛擬化實(shí)體包括物理服務(wù)器,其具有虛擬化網(wǎng)絡(luò)的地址空間中的客戶地址。網(wǎng)關(guān)將網(wǎng)關(guān)的提供者地址轉(zhuǎn)換成物理服務(wù)器的客戶地址。在這樣的實(shí)施例中,物理服務(wù)器可以專用于該虛擬化網(wǎng)絡(luò)。
[0009]在另外的實(shí)施例中,非虛擬化實(shí)體包括具有提供者地址的物理服務(wù)器。網(wǎng)關(guān)通過施行網(wǎng)絡(luò)地址轉(zhuǎn)換來轉(zhuǎn)換網(wǎng)關(guān)的提供者地址。在這樣的實(shí)施例中,物理服務(wù)器可以在客戶之間共享。網(wǎng)絡(luò)地址轉(zhuǎn)換可以包括響應(yīng)于接收到來自第一虛擬網(wǎng)絡(luò)中的虛擬機(jī)的分組而施行第一網(wǎng)絡(luò)地址轉(zhuǎn)換,以及響應(yīng)于接收到來自第二虛擬網(wǎng)絡(luò)中的虛擬機(jī)的分組而施行第二網(wǎng)絡(luò)地址轉(zhuǎn)換。
[0010]在另外的實(shí)施例中,轉(zhuǎn)換網(wǎng)關(guān)的提供者地址包括訪問虛擬網(wǎng)絡(luò)策略,該虛擬網(wǎng)絡(luò)策略包含將網(wǎng)關(guān)的提供者地址映射到非虛擬化實(shí)體的地址的映射策略。網(wǎng)關(guān)可以從虛擬化網(wǎng)絡(luò)的虛擬機(jī)管理器接收映射策略更新。映射策略更新可以反映虛擬化網(wǎng)絡(luò)中的映射策略變化。
[0011]在另外的實(shí)施例中,網(wǎng)關(guān)可以接收由非虛擬化實(shí)體發(fā)送給虛擬化網(wǎng)絡(luò)中的虛擬機(jī)的分組。網(wǎng)關(guān)將虛擬機(jī)的客戶地址轉(zhuǎn)換成虛擬機(jī)的提供者地址,并且將分組發(fā)送到虛擬化網(wǎng)絡(luò)中的虛擬機(jī)的提供者地址。
[0012]根據(jù)本發(fā)明的一個(gè)方面,提供一種用于控制在虛擬化網(wǎng)絡(luò)與非虛擬化實(shí)體之間的通信的方法。該方法包括:由虛擬化網(wǎng)關(guān)接收分組,該分組由虛擬化網(wǎng)絡(luò)中的虛擬機(jī)發(fā)送給非虛擬化實(shí)體,并且由虛擬機(jī)的主機(jī)路由到網(wǎng)關(guān)的提供者地址;由網(wǎng)關(guān)將網(wǎng)關(guān)的提供者地址轉(zhuǎn)換成非虛擬化實(shí)體的目的地地址;以及由網(wǎng)關(guān)將分組發(fā)送到非虛擬化實(shí)體。
[0013]根據(jù)本發(fā)明的另一方面,提供一種用于控制在虛擬化網(wǎng)絡(luò)與非虛擬化實(shí)體之間的通信的虛擬化網(wǎng)關(guān)。所述虛擬化網(wǎng)關(guān)包括處理設(shè)備和用指令編碼的存儲(chǔ)設(shè)備,當(dāng)所述指令由處理設(shè)備執(zhí)行時(shí)被配置成:接收分組,該分組由虛擬化網(wǎng)絡(luò)中的虛擬機(jī)發(fā)送給非虛擬化實(shí)體,并且由虛擬機(jī)的主機(jī)路由到網(wǎng)關(guān)的提供者地址;將網(wǎng)關(guān)的提供者地址轉(zhuǎn)換成非虛擬化實(shí)體的目的地地址;以及將分組發(fā)送到非虛擬化實(shí)體。
[0014]根據(jù)本發(fā)明的另外的方面,提供一種用于控制在虛擬化網(wǎng)絡(luò)與非虛擬化實(shí)體之間的通信的方法。所述方法包括:由主機(jī)接收分組,該分組由虛擬機(jī)發(fā)送給目的地地址處的非虛擬化實(shí)體;由主機(jī)將分組的目的地地址轉(zhuǎn)換成虛擬化網(wǎng)關(guān)的提供者地址;以及由主機(jī)將分組發(fā)送到虛擬化網(wǎng)關(guān)的提供者地址,以用于地址轉(zhuǎn)換和發(fā)送到非虛擬化實(shí)體。
【專利附圖】
【附圖說明】
[0015]參考附圖以便更好地理解本發(fā)明,所述附圖通過引用合并于此,其中:
圖1是連接到客戶系統(tǒng)的數(shù)據(jù)中心的實(shí)施例的示意性框圖;
圖2是數(shù)據(jù)中心的實(shí)施例的示意性框圖,其示出虛擬機(jī)與專用物理服務(wù)器之間通過虛擬化網(wǎng)關(guān)的通信;
圖3是示出圖2的虛擬化網(wǎng)關(guān)的實(shí)施例的示意性框圖;
圖4是示出根據(jù)本發(fā)明的實(shí)施例的、在虛擬機(jī)與專用物理服務(wù)器之間的通信的流程
圖;
圖5是示出根據(jù)本發(fā)明的實(shí)施例的、在物理服務(wù)器與虛擬化網(wǎng)絡(luò)中的虛擬機(jī)之間的通信的流程圖;
圖6是數(shù)據(jù)中心的實(shí)施例的示意性框圖,其示出虛擬機(jī)與共享物理資源之間的通信; 圖7是示出圖6的虛擬化網(wǎng)關(guān)的實(shí)施例的示意性框圖;
圖8是示出根據(jù)本發(fā)明的實(shí)施例的、在虛擬機(jī)與共享物理資源之間的通信的流程圖; 圖9是數(shù)據(jù)中心的實(shí)施例的示意性框圖,其示出在虛擬機(jī)的實(shí)時(shí)遷移(livemigration)的情況下虛擬機(jī)與共享物理資源之間的通信;
圖10是數(shù)據(jù)中心的實(shí)施例的示意性框圖,其示出虛擬機(jī)與非IP資源之間的通信;
圖11是數(shù)據(jù)中心的實(shí)施例的示意性框圖,其示出供應(yīng)有虛擬化網(wǎng)關(guān)功能性的負(fù)載均衡器;以及
圖12是計(jì)算設(shè)備的實(shí)施例的示意性框圖。
【具體實(shí)施方式】
[0016]圖1中顯示并入本發(fā)明特征的數(shù)據(jù)中心的實(shí)施例的簡化示意性框圖。數(shù)據(jù)中心10可包括通過數(shù)據(jù)中心網(wǎng)絡(luò)架構(gòu)20互連的第一主機(jī)12、第二主機(jī)14以及虛擬化網(wǎng)關(guān)16。當(dāng)在這里使用時(shí),術(shù)語“主機(jī)”指的是物理機(jī)器,通常是例如在圖12中所示的且在下文被描述的服務(wù)器或其它計(jì)算設(shè)備。數(shù)據(jù)中心還包括虛擬機(jī)管理器22。包括在虛擬機(jī)管理器22的任務(wù)中的是:向主機(jī)12和14及虛擬化網(wǎng)關(guān)16供應(yīng)且更新映射策略,正如下文所描述的。
[0017]數(shù)據(jù)中心10中的每一個(gè)主機(jī)可以作為一個(gè)或多個(gè)虛擬機(jī)(VM)的宿主,所述虛擬機(jī)可以包括能夠獨(dú)立于其它虛擬機(jī)來運(yùn)行應(yīng)用的完整操作系統(tǒng)。如圖1中所示,第一主機(jī)12作為虛擬機(jī)30、32和34的宿主,而第二主機(jī)14作為虛擬機(jī)40和42的宿主。
[0018]數(shù)據(jù)中心10中的每一個(gè)主機(jī)可以包括交換機(jī),用來路由去往和來自主機(jī)中的虛擬機(jī)的數(shù)據(jù)分組。在單個(gè)虛擬機(jī)的情況下,可以不需要交換機(jī)。每一個(gè)虛擬機(jī)可以包括網(wǎng)絡(luò)適配器,用于經(jīng)由其所駐留的主機(jī)進(jìn)行外部通信。每一個(gè)主機(jī)還包括虛擬化模塊,用于在去往和來自主機(jī)中的虛擬機(jī)的通信期間進(jìn)行地址轉(zhuǎn)換。
[0019]在圖1的例子中,虛擬機(jī)30和42是第一虛擬網(wǎng)絡(luò)或隔離組的一部分,虛擬機(jī)32和40是第二虛擬網(wǎng)絡(luò)或隔離組的一部分,而虛擬機(jī)34是第三虛擬網(wǎng)絡(luò)或隔離組的一部分。盡管這三個(gè)虛擬網(wǎng)絡(luò)的虛擬機(jī)可以由相同的主機(jī)作為宿主,但是這三個(gè)虛擬網(wǎng)絡(luò)可以對應(yīng)于數(shù)據(jù)中心的三個(gè)不同客戶并且彼此隔離。每一個(gè)虛擬網(wǎng)絡(luò)可以包括在相同或不同主機(jī)上的另外的虛擬機(jī)(未示出)。此外,數(shù)據(jù)中心10可以作為另外的虛擬網(wǎng)絡(luò)的宿主。
[0020]如圖1中進(jìn)一步顯示的,虛擬化網(wǎng)關(guān)16通過物理網(wǎng)絡(luò)50連接到物理服務(wù)器52、54和56。物理服務(wù)器52、54和56中的每一個(gè)可以是例如存儲(chǔ)設(shè)備或其它非虛擬化物理資源。虛擬化網(wǎng)關(guān)16有助于在虛擬機(jī)中的一個(gè)或多個(gè)與物理服務(wù)器中的一個(gè)或多個(gè)之間的通信。在一些實(shí)施例中,物理服務(wù)器52、54和56可以專用于一個(gè)虛擬網(wǎng)絡(luò),諸如包括虛擬機(jī)30和42的虛擬網(wǎng)絡(luò)。在其它實(shí)施例中,物理服務(wù)器52、54和56可以在兩個(gè)或更多個(gè)虛擬網(wǎng)絡(luò)之間共享。
[0021]如圖1中進(jìn)一步顯示的,數(shù)據(jù)中心10經(jīng)由負(fù)載均衡器60、邊緣路由器62和因特網(wǎng)64連接到客戶系統(tǒng)70。在圖1的實(shí)施例中,客戶系統(tǒng)70包括路由器72、VPN網(wǎng)關(guān)74和企業(yè)網(wǎng)76,其作為虛擬機(jī)80和82的宿主。應(yīng)理解的是,客戶系統(tǒng)70可以具有任何配置。在圖1的實(shí)施例中,數(shù)據(jù)中心10中的包括虛擬機(jī)30和42的第一虛擬網(wǎng)絡(luò)專用于客戶系統(tǒng)70。
[0022]圖2和3顯示數(shù)據(jù)中心10的第二實(shí)施例。在圖2和3的實(shí)施例中,第一主機(jī)12作為虛擬機(jī)100、102和104的宿主,而第二主機(jī)14作為虛擬機(jī)106、108和110的宿主。虛擬機(jī)100、102和106是第一虛擬網(wǎng)絡(luò)112 (圖3)的單元,而虛擬機(jī)104、108和110是第二虛擬網(wǎng)絡(luò)114的單元。虛擬化網(wǎng)關(guān)120由網(wǎng)絡(luò)122耦合到物理服務(wù)器124及存儲(chǔ)設(shè)備126和 128。
[0023]如圖2所示,每一個(gè)虛擬機(jī)與一客戶地址AA (應(yīng)用地址)及一提供者地址LA (位置或物理地址)相關(guān)聯(lián)??蛻舻刂稟A對應(yīng)于虛擬機(jī)的IP地址,而提供者地址LA對應(yīng)于虛擬機(jī)在數(shù)據(jù)中心10中的物理位置。因此,例如,第一主機(jī)12中的虛擬機(jī)100具有客戶地址AA1和提供者地址LA115兩個(gè)或更多個(gè)虛擬機(jī)可以具有相同的客戶地址AA,但是每一個(gè)虛擬機(jī)的提供者地址LA在數(shù)據(jù)中心10中是獨(dú)一無二的??蛻舻刂稟A1和提供者地址LA1 —起形成地址對AA1 = LA1,該地址對定義用于虛擬機(jī)100的映射策略。映射策略被用來控制虛擬機(jī)之間的通信,以及用來控制在虛擬機(jī)與非虛擬化實(shí)體之間的通信,正如下文所討論的??蛻舻刂稟A由虛擬機(jī)使用,而提供者地址LA由物理機(jī)(諸如主機(jī))使用。
[0024]用于虛擬網(wǎng)絡(luò)的眾多映射策略可以被聚集在虛擬網(wǎng)絡(luò)策略中,諸如圖2中所示的虛擬網(wǎng)絡(luò)策略140中。虛擬網(wǎng)絡(luò)策略140駐留在第一主機(jī)12、第二主機(jī)14、虛擬機(jī)管理器22和虛擬化網(wǎng)關(guān)120中,并且與第一虛擬網(wǎng)絡(luò)112相關(guān)聯(lián)。虛擬網(wǎng)絡(luò)112包括虛擬機(jī)100、102和106,并且可以包括其它虛擬機(jī)(未示出)。虛擬網(wǎng)絡(luò)策略140中的每一個(gè)條目包括映射策略,所述映射策略包括客戶地址AA和提供者地址LA。
[0025]在圖2和3的例子中,包括物理服務(wù)器124及存儲(chǔ)設(shè)備126和128的物理資源專用于包括虛擬機(jī)100、102和106的第一虛擬網(wǎng)絡(luò)112。相應(yīng)地,虛擬網(wǎng)絡(luò)策略140包括用于虛擬機(jī)100、102和106中的每一個(gè)的條目、用于物理服務(wù)器124的條目、以及用于存儲(chǔ)設(shè)備126和128的條目。如圖2所示,物理服務(wù)器124被指派客戶地址AAP1,存儲(chǔ)設(shè)備126被指派客戶地址AAP2,而存儲(chǔ)設(shè)備128被指派客戶地址AAP3。此外,物理服務(wù)器124及存儲(chǔ)設(shè)備126和128各自映射到網(wǎng)關(guān)120的提供者地址LAffl。虛擬網(wǎng)絡(luò)策略140中的每一個(gè)條目可以按需要包括另外的信息。應(yīng)理解的是,虛擬網(wǎng)絡(luò)策略可以具有包含映射信息的任何結(jié)構(gòu),諸如表。
[0026]如上文所指出的,虛擬網(wǎng)絡(luò)策略140包括用于第一虛擬網(wǎng)絡(luò)112中的每一個(gè)虛擬機(jī)和每一個(gè)物理資源的策略映射條目。另外的虛擬網(wǎng)絡(luò)策略對應(yīng)于另外的虛擬網(wǎng)絡(luò)。例如,第一主機(jī)12和第二主機(jī)14中的單獨(dú)的虛擬網(wǎng)絡(luò)策略包含用于包括虛擬機(jī)104、108和110的第二虛擬網(wǎng)絡(luò)114的映射策略。
[0027]如圖3所示,虛擬化網(wǎng)關(guān)120可以包括虛擬化模塊160和IP轉(zhuǎn)發(fā)模塊162。網(wǎng)關(guān)120還可以包括連接到數(shù)據(jù)中心架構(gòu)20的網(wǎng)絡(luò)接口卡(NIC)164、以及連接到網(wǎng)絡(luò)122的網(wǎng)絡(luò)接口卡166。NIC 164使能通過數(shù)據(jù)中心架構(gòu)20到虛擬網(wǎng)絡(luò)112的通信。NIC 166使能通過網(wǎng)絡(luò)122到物理服務(wù)器124及存儲(chǔ)設(shè)備126和128的通信。如用箭頭168所指示的,虛擬化模塊160與虛擬機(jī)管理器22通信。根據(jù)本發(fā)明的實(shí)施例,虛擬機(jī)管理器22向虛擬化管理器160提供定義地址轉(zhuǎn)換的映射策略。
[0028]在圖2和3的實(shí)施例中,物理服務(wù)器124及存儲(chǔ)設(shè)備126和128專用于虛擬網(wǎng)絡(luò)112,并且只與虛擬網(wǎng)絡(luò)112通信。物理服務(wù)器124及存儲(chǔ)設(shè)備126和128被分別指派給客戶地址AAp1、AAp2和AAP3。因此,物理服務(wù)器124及存儲(chǔ)設(shè)備126和128可被視為虛擬網(wǎng)絡(luò)112的地址空間的一部分。用于虛擬網(wǎng)絡(luò)112的地址空間可以被分成包括虛擬機(jī)100、102和106的第一部分、以及包括物理服務(wù)器124及存儲(chǔ)設(shè)備126和128的第二部分。當(dāng)虛擬化模塊160標(biāo)識尋址到物理服務(wù)器124及存儲(chǔ)設(shè)備126和128之一的分組時(shí),該分組通過網(wǎng)絡(luò)接口卡166和網(wǎng)絡(luò)122被發(fā)送到其目的地。當(dāng)虛擬化模塊160標(biāo)識尋址到虛擬機(jī)100、102和106之一的分組時(shí),該分組通過網(wǎng)絡(luò)接口卡164和數(shù)據(jù)中心架構(gòu)20被發(fā)送到其目的地。
[0029]圖4是示出根據(jù)本發(fā)明的實(shí)施例的、用于在虛擬機(jī)與專用物理服務(wù)器之間的通信的過程的流程圖。具體地,虛擬機(jī)100將分組發(fā)送到物理服務(wù)器124。
[0030]在動(dòng)作200中,虛擬機(jī)100發(fā)送分組220 (圖2中的箭頭(I )),該分組被尋址到客戶地址AApi處的物理服務(wù)器U^AA1OAApiX在動(dòng)作202中,虛擬機(jī)100的第一主機(jī)12引用虛擬網(wǎng)絡(luò)策略140,該虛擬網(wǎng)絡(luò)策略包括用于客戶地址AApi處的物理服務(wù)器124的映射策略。該映射策略指示將尋址到物理服務(wù)器124的分組指引到網(wǎng)關(guān)120的提供者地址LAffl。
[0031]在動(dòng)作204中,虛擬機(jī)100的第一主機(jī)12可以用網(wǎng)關(guān)120的提供者地址LAew來封裝分組(LA1OLAew)以提供封裝的分組222 (圖2)。在動(dòng)作206中,虛擬機(jī)100的第一主機(jī)12發(fā)送分組,該分組已經(jīng)通過地址封裝到網(wǎng)關(guān)120而被處理(圖2中的箭頭(2))。
[0032]在動(dòng)作208中,網(wǎng)關(guān)120接收來自第一主機(jī)12的封裝的分組222,并且對該分組解除封裝以提供解除封裝的分組224。具體地,分組的提供者地址部分被移除,留下物理服務(wù)器124的客戶地址AAP1。在動(dòng)作210中,網(wǎng)關(guān)120將解除封裝的分組224遞送到物理服務(wù)器124 (圖2中的箭頭(3))。網(wǎng)關(guān)120的虛擬網(wǎng)絡(luò)策略提供在網(wǎng)關(guān)120的提供者地址LAew與物理服務(wù)器124的客戶地址AApi之間的映射策略。
[0033]圖5是示出根據(jù)本發(fā)明的實(shí)施例的、用于在物理服務(wù)器與虛擬網(wǎng)絡(luò)中的虛擬機(jī)之間的通信的過程的流程圖。在圖5的實(shí)施例中,物理服務(wù)器124將分組發(fā)送給第一虛擬網(wǎng)絡(luò)112中的虛擬機(jī)100。該過程 實(shí)質(zhì)上是在圖4所示的且在以上被描述的過程的逆過程。
[0034]在動(dòng)作250中,具有地址AApi的物理服務(wù)器124將分組發(fā)送到具有客戶地址AA1的虛擬機(jī)100。在動(dòng)作252中,網(wǎng)關(guān)120引用其虛擬網(wǎng)絡(luò)策略,以獲得從虛擬機(jī)100的客戶地址AA1到虛擬機(jī)100的提供者地址LA1的映射。在動(dòng)作254中,網(wǎng)關(guān)120可以用虛擬機(jī)100的提供者地址來封裝分組(LAfflOLA1X在動(dòng)作256中,網(wǎng)關(guān)120將封裝的分組發(fā)送到虛擬機(jī)100的主機(jī)12。
[0035]在動(dòng)作258中,虛擬機(jī)100的主機(jī)12接收分組,并且根據(jù)虛擬網(wǎng)絡(luò)策略140中的映射策略來對該分組解除封裝,所述映射策略將虛擬機(jī)100的提供者地址LA1與虛擬機(jī)100的客戶地址AA1聯(lián)系起來。在動(dòng)作260中,解除封裝的分組被遞送到客戶地址AA1處的虛擬機(jī) 100。
[0036]圖6和7顯示數(shù)據(jù)中心10的第三實(shí)施例。在圖6和7的實(shí)施例中,第一主機(jī)12作為虛擬機(jī)100、102和104的宿主,正如上文所描述的。虛擬機(jī)100和102是第一虛擬網(wǎng)絡(luò)112 (圖7)的單元,而虛擬機(jī)104是第二虛擬網(wǎng)絡(luò)114的單元。如上文所指示的,虛擬網(wǎng)絡(luò)112和114可以包括另外的單元(未示出)。
[0037]如圖6和7進(jìn)一步顯示的,數(shù)據(jù)中心10包括物理服務(wù)器300及存儲(chǔ)設(shè)備302和304。物理服務(wù)器300及存儲(chǔ)設(shè)備302和304可以分別對應(yīng)于圖2和3中所示的物理服務(wù)器124及存儲(chǔ)設(shè)備126和128。然而,物理服務(wù)器300及存儲(chǔ)設(shè)備302和304具有與圖2和3中所示的物理資源不同的尋址方案。物理服務(wù)器300及存儲(chǔ)設(shè)備302和304通過網(wǎng)絡(luò)310連接到數(shù)據(jù)中心網(wǎng)絡(luò)架構(gòu)20,并且分別具有提供者地址LAP1、LAp2和LAP3。
[0038]如圖6和7進(jìn)一步顯示的,數(shù)據(jù)中心10包括作為第一 NAT (網(wǎng)絡(luò)地址轉(zhuǎn)換)模塊322和第二 NAT模塊324的 宿主的虛擬化網(wǎng)關(guān)320。第一 NAT模塊322與第一虛擬網(wǎng)絡(luò)112一起操作,而第二 NAT模塊324與第二虛擬網(wǎng)絡(luò)114 一起操作。NAT模塊使得能夠由不同虛擬網(wǎng)絡(luò)共享物理資源,正如下文所描述的。
[0039]如圖6所示,第一主機(jī)12包括虛擬網(wǎng)絡(luò)策略140,該虛擬網(wǎng)絡(luò)策略包括在第一虛擬網(wǎng)絡(luò)112中的客戶地址和提供者地址之間的映射策略。第一主機(jī)12還包括第二虛擬網(wǎng)絡(luò)策略142,該第二虛擬網(wǎng)絡(luò)策略包括在第二虛擬網(wǎng)絡(luò)114中的客戶地址和提供者地址之間的映射策略。如所示,虛擬網(wǎng)絡(luò)策略140將客戶地址AAp1、AAp2和AAp3映射到虛擬化網(wǎng)關(guān)320的提供者地址LAew。虛擬化網(wǎng)關(guān)320包括虛擬網(wǎng)絡(luò)策略330,該虛擬網(wǎng)絡(luò)策略與虛擬網(wǎng)絡(luò)策略140的不同在于將物理資源的客戶地址AAP1、AAP2和AAp3分別映射到提供者地址LAP1、LAP2和LAp3。如圖7所示,虛擬化網(wǎng)關(guān)320包括虛擬化模塊340和網(wǎng)絡(luò)接口卡342。網(wǎng)絡(luò)接口卡342耦合到數(shù)據(jù)中心架構(gòu)20,并且通過網(wǎng)絡(luò)310耦合到物理服務(wù)器300及存儲(chǔ)設(shè)備302和304。
[0040]圖8是根據(jù)本發(fā)明的實(shí)施例的、用于在虛擬機(jī)與共享的物理資源之間的通信的過程的流程圖。該過程的動(dòng)作由圖6中的對應(yīng)箭頭指示。
[0041]在動(dòng)作350中,虛擬機(jī)100發(fā)送分組352 (圖6中的箭頭(I)),該分組被尋址到客戶地址AApi處的物理服務(wù)器300。在動(dòng)作354中,虛擬機(jī)100的第一主機(jī)12引用虛擬網(wǎng)絡(luò)策略140中對應(yīng)于物理服務(wù)器300的映射策略。第一主機(jī)12確定:客戶地址AApi處的物理服務(wù)器300映射到虛擬化網(wǎng)關(guān)320的提供者地址LAffl。
[0042]在動(dòng)作356中,第一主機(jī)12用網(wǎng)關(guān)320的提供者地址LAffl來封裝分組,以提供分組358 (圖6)。在動(dòng)作360中,第一主機(jī)12將封裝的分組358發(fā)送到網(wǎng)關(guān)320。
[0043]在動(dòng)作362中,網(wǎng)關(guān)320接收來自虛擬機(jī)100的第一主機(jī)12的封裝的分組358。在動(dòng)作364中,網(wǎng)關(guān)320對接收到的分組358解除封裝,以提供解除封裝的分組366 (圖6中的箭頭(2))。在動(dòng)作370中,網(wǎng)關(guān)320的第一 NAT模塊322施行對解除封裝的分組366的網(wǎng)絡(luò)地址轉(zhuǎn)換,以提供NAT分組372 (圖6中的箭頭(3))。NAT分組372處于客戶地址空間中,并且指示:客戶地址AAnat正發(fā)送分組到地址AApi處的物理服務(wù)器300。在動(dòng)作374中,網(wǎng)關(guān)320將NAT分組372從客戶地址空間重寫到提供者地址空間,以提供NAT分組376(圖6中的箭頭(4))。NAT分組376指示:提供者地址LAnat正發(fā)送分組到提供者地址LApi處的物理服務(wù)器300。網(wǎng)關(guān)320將NAT分組376發(fā)送到提供者地址LApi處的物理服務(wù)器300(圖6中的箭頭(5))。
[0044]在第一 NAT模塊322已經(jīng)建立了對應(yīng)于虛擬機(jī)100的條目之后,物理服務(wù)器300可以通過使用在圖8所示的并在上文被描述的操作的逆操作將應(yīng)答分組發(fā)送到虛擬機(jī)100。在類似的過程中,第二虛擬網(wǎng)絡(luò)114中的虛擬機(jī)104可以通過使用第二 NAT模塊324將分組發(fā)送到物理服務(wù)器300。
[0045]如上文所指示的,數(shù)據(jù)中心10中的虛擬機(jī)主機(jī)包括將物理服務(wù)器映射到網(wǎng)關(guān)320的提供者地址的映射策略。相反地,網(wǎng)關(guān)320包括將物理資源的客戶地址映射到對應(yīng)的提供者地址的映射策略。此外,第一主機(jī)12封裝被指引到網(wǎng)關(guān)320的分組,而網(wǎng)關(guān)320重寫被指引到物理服務(wù)器300的分組。具體地,第一主機(jī)12中的虛擬網(wǎng)絡(luò)策略140包括用于對發(fā)送到網(wǎng)關(guān)320的分組進(jìn)行地址封裝的映射策略,而虛擬化網(wǎng)關(guān)330中的虛擬網(wǎng)絡(luò)策略330包括用于對發(fā)送到物理資源的分組進(jìn)行地址重寫的映射策略。
[0046]圖9是數(shù)據(jù)中心的實(shí)施例的示意性框圖,其示出在虛擬機(jī)的實(shí)時(shí)遷移的情況下在虛擬機(jī)與共享的物理資源之間的通信。如圖9所示,通過實(shí)時(shí)遷移將虛擬機(jī)100從第一主機(jī)12轉(zhuǎn)移到第三主機(jī)410,如箭頭400所指示的那樣。實(shí)時(shí)遷移允許正在運(yùn)行的虛擬機(jī)從一個(gè)主機(jī)轉(zhuǎn)移到另一個(gè)主機(jī),而無需該虛擬機(jī)的操作顯著中斷。實(shí)時(shí)遷移可以由虛擬機(jī)管理器22控制。
[0047]在圖9的例子中,已遷移的虛擬機(jī)IOO111的客戶地址AA1保持不變,但是已遷移的虛擬機(jī)IOOm的提供者地址從提供者地址LA1變成提供者地址LA#W。已遷移的虛擬機(jī)IOOm的新的提供者地址LAliw被反映在虛擬網(wǎng)絡(luò)的每一個(gè)主機(jī)和虛擬化網(wǎng)關(guān)320的虛擬網(wǎng)絡(luò)策略中,以便避免分組丟失。相應(yīng)地,跟隨在實(shí)時(shí)遷移之后,虛擬網(wǎng)絡(luò)中的每一個(gè)主機(jī)和網(wǎng)關(guān)320中的映射策略被更新。
[0048]在實(shí)時(shí)遷移之前,第一主機(jī)12上的虛擬機(jī)100通過使用在圖6-8中所示的且在上文被描述的過程將分組發(fā)送到存儲(chǔ)設(shè)備302,如圖9中的箭頭420所指示的那樣。虛擬化網(wǎng)關(guān)320接收來自第一主機(jī)12的封裝的分組,并且對該分組施行解除封裝和網(wǎng)絡(luò)地址轉(zhuǎn)換,以提供NAT分組。NAT分組被轉(zhuǎn)換成提供者地址LAnat并被發(fā)送到存儲(chǔ)設(shè)備302。
[0049]跟隨在實(shí)時(shí)遷移之后,假設(shè)網(wǎng)關(guān)320中的虛擬網(wǎng)絡(luò)策略330已經(jīng)被更新成反映已遷移的虛擬機(jī)IOOm的新映射策略。具體地,虛擬網(wǎng)絡(luò)策略330包括地址對AA1:LAliw,該地址對定義用于已遷移的虛擬機(jī)IOOm的映射策略。如果已遷移的虛擬機(jī)IOOm將分組發(fā)送給存儲(chǔ)設(shè)備302,則該分組由第三主機(jī)410封裝并被發(fā)送到網(wǎng)關(guān)320,如箭頭422所指示的。網(wǎng)關(guān)320核查用于已遷移的虛擬機(jī)IOOm的更新的映射策略,并且施行如在圖6-8中所示的且在上文被描述的解除封裝和網(wǎng)絡(luò)地址轉(zhuǎn)換。在網(wǎng)絡(luò)地址轉(zhuǎn)換之后,NAT分組被轉(zhuǎn)換成提供者地址LAnat并被發(fā)送到存儲(chǔ)設(shè)備302。因此,在實(shí)時(shí)遷移之前和之后,分組看起來都是由存儲(chǔ)設(shè)備302從提供者地址LAnat接收到的。
[0050]事實(shí)上,網(wǎng)絡(luò)地址轉(zhuǎn)換掩飾了虛擬機(jī)100的提供者地址的變化,而同時(shí)保持在虛擬機(jī)100與物理資源之間的連接。在實(shí)時(shí)遷移之前和之后,虛擬網(wǎng)絡(luò)策略330都確保用于虛擬機(jī)100的提供者地址的正確映射。利用這種途徑,實(shí)時(shí)遷移對物理服務(wù)器是透明的,因?yàn)樗鼈冎豢吹絅AT地址LAnat。
[0051]圖10是數(shù)據(jù)中心的實(shí)施例的示意性框圖,其示出虛擬機(jī)與非IP資源之間的通信。在圖10的數(shù)據(jù)中心10中,第一主機(jī)12作為虛擬機(jī)450的宿主,而第二主機(jī)14作為虛擬機(jī)452的宿主。包括物理服務(wù)器300及存儲(chǔ)設(shè)備302和304的非IP資源通過網(wǎng)絡(luò)310和非IP網(wǎng)關(guān)460被連接到數(shù)據(jù)中心網(wǎng)絡(luò)架構(gòu)20。第一主機(jī)12包括虛擬網(wǎng)絡(luò)策略456,其具有用于對發(fā)送到非IP資源的分組進(jìn)行地址封裝的映射策略。
[0052]如圖10進(jìn)一步顯示的,虛擬機(jī)452將分組470發(fā)送給存儲(chǔ)設(shè)備304 (圖10中的箭頭(I))。虛擬機(jī)452使用以太網(wǎng)MAC地址來為分組尋址。具體地,虛擬機(jī)452使用存儲(chǔ)設(shè)備304的MAC地址(MAC2->MACP3)。分組470由第二主機(jī)14用網(wǎng)關(guān)460的提供者地址LAnip來進(jìn)行封裝,以提供封裝的分組472。封裝的分組472被發(fā)送到網(wǎng)關(guān)460,并被解除封裝以提供解除封裝的分組474(圖10中的箭頭(2))。解除封裝的分組474由網(wǎng)關(guān)460發(fā)送到存儲(chǔ)設(shè)備304。
[0053]圖11是數(shù)據(jù)中心的示意性框圖,其示出供應(yīng)有虛擬化網(wǎng)關(guān)功能性的負(fù)載均衡器。在圖11的數(shù)據(jù)中心10中,第一主機(jī)12作為虛擬機(jī)100、102和104的宿主;第二主機(jī)14作為虛擬機(jī)106、108和110的宿主;第三主機(jī)510作為虛擬機(jī)520、522和524的宿主;以及第四主機(jī)530作為虛擬機(jī)540和542的宿主。虛擬機(jī)100、102、106、520、524和540是第一虛擬網(wǎng)絡(luò)的單元,如由虛擬網(wǎng)絡(luò)策略550所表示的那樣。虛擬機(jī)104、108、110、522和542是第二虛擬網(wǎng)絡(luò)的單元,如由虛擬網(wǎng)絡(luò)策略552所表示的那樣。
[0054]負(fù)載均衡器560耦合在因特網(wǎng)與數(shù)據(jù)中心網(wǎng)絡(luò)架構(gòu)20之間。負(fù)載均衡器560包括基于策略的網(wǎng)絡(luò)虛擬化,并且包含虛擬網(wǎng)絡(luò)策略550和552。
[0055]如圖11所示,網(wǎng)關(guān)的一個(gè)實(shí)施例是將虛擬化網(wǎng)關(guān)功能性整合到負(fù)載均衡器中,以實(shí)現(xiàn)多租戶的、虛擬化感知的負(fù)載均衡器。現(xiàn)有的負(fù)載均衡器通過向一個(gè)面向外部的IP地址(所謂的VIP)、向由不同DIP (用于直接IP)表示的一組后端服務(wù)器工作負(fù)載散發(fā)查詢來施行“均衡”。整合有虛擬化功能性的負(fù)載均衡器能以以下方式工作。負(fù)載均衡器的面向外部側(cè)被配置有多個(gè)VIP,每個(gè)客戶一個(gè)VIP。每一個(gè)VIP可以映射到給定客戶的AA地址空間中的一組DIP。通過客戶標(biāo)識符來為這組AA DIP編索引,所述客戶標(biāo)識符可以被用來將流量(traffic)指引到虛擬化的正確的AA-LA映射策略。例如,負(fù)載均衡器可以具有兩個(gè)VIP地址:用于客戶A的VIPa=128.1.1.1和用于客戶B的VIPB=128.1.1.2。用于客戶A (128.1.1.1)的負(fù)載均衡算法是要均勻地散發(fā)給用于客戶A的一組兩個(gè)客戶A VM AA:10.1.1.1和10.1.1.2,而對于客戶B (128.1.1.2),映射是到兩個(gè)客戶B VM AA:同樣是
10.1.1.1 和 10.1.1.2。
[0056]負(fù)載均衡器分開地針對VIPa和VIPb來為負(fù)載均衡表編索引,以使得用于客戶A和客戶B的正確的虛擬化映射表將被用于任何進(jìn)入的請求。例如,客戶A的AA:10.1.1.1和
10.1.1.2可以被映射到LA1和LA2,而客戶B的AA 10.1.1.1和10.1.1.2可以被映射到LA3和la4。以此方式,負(fù)載均衡功能性可以被無縫地與內(nèi)部數(shù)據(jù)中心虛擬化策略整合。如之前所描述的,網(wǎng)關(guān)的整合構(gòu)造的優(yōu)點(diǎn)在于:通過VM部署和實(shí)時(shí)遷移,網(wǎng)關(guān)的虛擬化模塊還將是數(shù)據(jù)中心虛擬化策略框架的一部分。一個(gè)益處是現(xiàn)在只要整合的負(fù)載均衡器中的AA-LA映射表也被更新,就可以跨越物理子網(wǎng)地遷移后端工作負(fù)載。所有這些可以在不打破現(xiàn)有的負(fù)載均衡或代理會(huì)話的情況下發(fā)生,這是因?yàn)镈IP (其為用于VM的AA)保持不變。
[0057]為了支持多租戶環(huán)境中的IP多播,管理服務(wù)器可以給每一個(gè)客戶虛擬網(wǎng)絡(luò)指派一個(gè)在LA空間中的多播地址。來自客戶VM的所有多播流量將被封裝且被重新指引到數(shù)據(jù)中心中的客戶特定的多播組(或地址)。通過用于每一個(gè)客戶的這種分開的多播組,還實(shí)現(xiàn)了多播流量的隔離。例如,數(shù)據(jù)中心管理員通過使用諸如VMM的管理工具可以將224.0.0.1指派給客戶A并將224.0.0.2指派給客戶B。盡管用于客戶A和客戶B的VM兩者都發(fā)送被指引到多播組(目的地地址)224.1.2.3的多播流量,但是虛擬化規(guī)則將規(guī)定如下:
(策略I)從客戶A的VM發(fā)送到任何多播或廣播目的地的分組_>用224.0.0.1封裝 (策略2)從客戶B的VM發(fā)送到任何多播或廣播目的地的分組_>用224.0.0.2封裝。
[0058]基于這些策略,由客戶A發(fā)送的從AAai到224.1.2.3的分組將用到224.0.0.1的LAai來封裝,而由客戶B發(fā)送的從AAbi到224.1.2.3的分組將用到224.0.0.2的LAbi來封裝。只要客戶A的VM的所有物理主機(jī)都預(yù)訂224.0.0.1,并且客戶B的VM的所有物理主機(jī)都預(yù)訂224.0.0.2,多播分組就分別到達(dá)客戶A和客戶B的VM的所有主機(jī)。在接收到多播分組時(shí),虛擬化策略還將把發(fā)送到224.0.0.1的分組辨別為去往客戶A的VM,而把發(fā)送到224.0.0.2的分組辨別為去往客戶B的VM。所述分組將變?yōu)楸唤獬庋b,并且將基于虛擬化規(guī)則而被指示到正確的VM。[0059]本發(fā)明可以與許多其它通用或?qū)S糜?jì)算系統(tǒng)環(huán)境或配置一起操作??蛇m于與本發(fā)明一起使用的熟知的計(jì)算系統(tǒng)、環(huán)境和/或配置的例子包括但不限于個(gè)人計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、手持或膝上型設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、機(jī)頂盒、可編程的消費(fèi)者電子設(shè)備、網(wǎng)絡(luò)PC、小型計(jì)算機(jī)、大型計(jì)算機(jī)、包括任何上述系統(tǒng)或設(shè)備的分布式計(jì)算環(huán)境
坐坐寸寸O
[0060]本發(fā)明可以在由計(jì)算機(jī)執(zhí)行的計(jì)算機(jī)可執(zhí)行指令(諸如程序模塊)的一般上下文中被描述。通常,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等。本發(fā)明還可以在分布式計(jì)算環(huán)境中實(shí)踐,在分布式計(jì)算環(huán)境中由通過通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備來執(zhí)行任務(wù)。在分布式計(jì)算環(huán)境中,程序模塊可以位于包括存儲(chǔ)器存儲(chǔ)設(shè)備的本地和遠(yuǎn)程計(jì)算機(jī)存儲(chǔ)介質(zhì)兩者中。
[0061]參考圖12,用于實(shí)現(xiàn)本發(fā)明的示范性系統(tǒng)包括采用計(jì)算機(jī)1010形式的通用計(jì)算設(shè)備。圖12的計(jì)算設(shè)備可以用于實(shí)現(xiàn)本文所描述的主機(jī)、虛擬機(jī)管理器和任何其它計(jì)算設(shè)備。計(jì)算機(jī)1010的組件可以包括但不限于處理單元1020、系統(tǒng)存儲(chǔ)器1030以及系統(tǒng)總線1021,系統(tǒng)總線1021將包括系統(tǒng)存儲(chǔ)器的各種系統(tǒng)組件耦合到處理單元1020。系統(tǒng)1021可以是若干類型總線結(jié)構(gòu)中的任一種,包括存儲(chǔ)器總線或存儲(chǔ)器控制器、外圍總線、以及使用各種各樣總線體系結(jié)構(gòu)中的任何總線體系結(jié)構(gòu)的本地總線。作為例子而非限制,這樣的體系結(jié)構(gòu)包括工業(yè)標(biāo)準(zhǔn)結(jié)構(gòu)(ISA)總線、微通道結(jié)構(gòu)(MCA)總線、增強(qiáng)型ISA (EISA)總線、視頻電子標(biāo)準(zhǔn)協(xié)會(huì)(VESA)本地總線、以及外圍組件互連(PCI)總線(也被稱為夾層總線)。
[0062]計(jì)算機(jī)1010通常包括各種各樣的計(jì)算機(jī)可讀介質(zhì)。計(jì)算機(jī)可讀介質(zhì)可以是能被計(jì)算機(jī)1010訪問的任何可用介質(zhì),并且包括易失性和非易失性介質(zhì)、可拆卸和不可拆卸介質(zhì)。作為例子而非限制,計(jì)算機(jī)可讀介質(zhì)可以包括計(jì)算機(jī)存儲(chǔ)介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括以任何方法或技術(shù)實(shí)現(xiàn)的、用于存儲(chǔ)信息一諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)一的易失性和非易失性、可拆卸和不可拆卸介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括但不限于RAM、ROM、EEPR0M、閃存或其它存儲(chǔ)器技術(shù)、CD-ROM、數(shù)字多功能盤(DVD)或其它光盤存儲(chǔ)裝置、盒式磁帶、磁帶、磁盤存儲(chǔ)裝置或其它磁性存儲(chǔ)設(shè)備、或者可以用來存儲(chǔ)所期望的信息并且可以被計(jì)算機(jī)1010訪問的任何其它介質(zhì)。上文中的任何項(xiàng)的組合也應(yīng)當(dāng)被包括在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的范圍內(nèi)。
[0063]系統(tǒng)存儲(chǔ)器1030包括采用易失性和/或非易失性存儲(chǔ)器形式的計(jì)算機(jī)存儲(chǔ)介質(zhì),諸如只讀存儲(chǔ)器(ROM) 1031和隨機(jī)存取存儲(chǔ)器(RAM) 1032。基本輸入/輸出系統(tǒng)1033(BIOS)(包含有用來諸如在啟動(dòng)期間幫助在計(jì)算機(jī)1010內(nèi)的單元之間轉(zhuǎn)移信息的基本例程)通常存儲(chǔ)在ROM 1031中。RAM 1032通常包含可以被處理單元1020直接訪問和/或目前正對其操作的數(shù)據(jù)和/或程序模塊。作為例子而非限制,圖12示出操作系統(tǒng)1034、應(yīng)用程序1035、其它程序模塊1036以及程序數(shù)據(jù)1037。
[0064]計(jì)算機(jī)1010還可以包括其它可拆卸/不可拆卸、易失性/非易失性的計(jì)算機(jī)存儲(chǔ)介質(zhì)。僅作為例子,圖12示出從不可拆卸的非易失性磁性介質(zhì)讀取或向其寫入的硬盤驅(qū)動(dòng)器1040、從可拆卸的非易失性磁盤1052讀取或向其寫入的磁盤驅(qū)動(dòng)器1051、以及從可拆卸的非易失性光盤1056 (諸如⑶ROM或其它光學(xué)介質(zhì))讀取或向其寫入的光盤驅(qū)動(dòng)器1055??捎迷谑痉缎圆僮鳝h(huán)境中的其它可拆卸/不可拆卸、易失性/非易失性的計(jì)算機(jī)存儲(chǔ)介質(zhì)包括但不限于盒式磁帶、閃存卡、數(shù)字多功能盤、數(shù)字錄像帶、固態(tài)RAM、固態(tài)ROM等等。硬盤驅(qū)動(dòng)器1041通常通過不可拆卸的存儲(chǔ)器接口(諸如接口 1040)連接到系統(tǒng)總線1021,而磁盤驅(qū)動(dòng)器1051和光盤驅(qū)動(dòng)器1055通常通過可拆卸的存儲(chǔ)器接口(諸如接口 1050)連接到系統(tǒng)總線1021。
[0065]上文討論的且在圖12中示出的驅(qū)動(dòng)器及其相關(guān)聯(lián)的計(jì)算機(jī)存儲(chǔ)介質(zhì)為計(jì)算機(jī)1010提供了計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其它數(shù)據(jù)的存儲(chǔ)。例如在圖12中,硬盤驅(qū)動(dòng)器1041被圖示為存儲(chǔ)操作系統(tǒng)1044、應(yīng)用程序1045、其它程序模塊1046和程序數(shù)據(jù)1047。要指出的是,這些組件可以與操作系統(tǒng)1034、應(yīng)用程序1035、其它程序模塊1036和程序數(shù)據(jù)1037相同或者不同。操作系統(tǒng)1044、應(yīng)用程序1045、其它程序模塊1046和程序數(shù)據(jù)1047在這里被給予不同的標(biāo)號,以說明最低限度它們是不同的副本。
[0066]用戶可以通過諸如鍵盤1062和定點(diǎn)設(shè)備1061 (通常被稱為鼠標(biāo)、軌跡球或觸摸板)的輸入設(shè)備將命令和信息輸入計(jì)算機(jī)1010中。其它輸入設(shè)備可以包括麥克風(fēng)1063、操縱桿、輸入板1064、碟形衛(wèi)星天線、掃描儀等等。這些以及其它輸入設(shè)備常常通過耦合到系統(tǒng)總線的用戶輸入接口 1060而被連接到處理單元1020,而可以不通過其它接口和總線結(jié)構(gòu)(諸如并行端口、游戲端口或通用串行總線(USB))來連接。監(jiān)視器1091或其它類型的顯示設(shè)備也經(jīng)由接口(諸如視頻接口 1090)連接到系統(tǒng)1021。除了監(jiān)視器以外,計(jì)算機(jī)還可以包括其它的外圍輸出設(shè)備,諸如揚(yáng)聲器1097和打印機(jī)1096,它們可以通過輸出外圍接口1095被連接。
[0067]計(jì)算機(jī)1010可以利用到一個(gè)或多個(gè)遠(yuǎn)程計(jì)算機(jī)(諸如遠(yuǎn)程計(jì)算機(jī)1080)的邏輯連接而在聯(lián)網(wǎng)的環(huán)境中操作。遠(yuǎn)程計(jì)算機(jī)1080可以是個(gè)人計(jì)算機(jī)、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對等設(shè)備或其它常見的網(wǎng)絡(luò)節(jié)點(diǎn),并且通常包括以上相對于計(jì)算機(jī)1010描述的許多或所有的單元,雖然在圖12中僅示出了存儲(chǔ)器存儲(chǔ)設(shè)備1081。圖12中描繪的邏輯連接包括局域網(wǎng)(LAN) 1071和廣域網(wǎng)(WAN) 1073,以及例如經(jīng)由無線接口 1098利用天線完成的無線鏈路,但是也可以包括其它網(wǎng)絡(luò)。這樣的聯(lián)網(wǎng)環(huán)境在辦公室、企業(yè)范圍的計(jì)算機(jī)網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)和因特網(wǎng)中是常見的。盡管無線接口 1098被顯示為直接連接到系統(tǒng)總線1021,但已認(rèn)識到無線接口 1098可以經(jīng)由網(wǎng)絡(luò)接口 1070連接到系統(tǒng)總線1021。
[0068]當(dāng)在LAN聯(lián)網(wǎng)環(huán)境中使用時(shí),計(jì)算機(jī)1010通過網(wǎng)絡(luò)接口或適配器1070被連接到LAN 1071。當(dāng)在WAN聯(lián)網(wǎng)環(huán)境中使用時(shí),計(jì)算機(jī)1010通常包括調(diào)制解調(diào)器1072或用于在WAN 1073 (諸如因特網(wǎng))上建立通信的其它手段。調(diào)制解調(diào)器1072 (其可以是內(nèi)部的或外部的)可以經(jīng)由用戶輸入接口 1060或其它適當(dāng)?shù)臋C(jī)制被連接到系統(tǒng)總線1021。在聯(lián)網(wǎng)的環(huán)境中,相對于計(jì)算機(jī)1010所描繪的程序模塊或其的一些部分可以存儲(chǔ)在遠(yuǎn)程存儲(chǔ)器存儲(chǔ)設(shè)備中。作為例子而非限制,圖12將遠(yuǎn)程應(yīng)用程序1085示為駐留在存儲(chǔ)器設(shè)備1081上。將理解的是,所示的網(wǎng)絡(luò)連接是示范性的,并且可以使用其它用來建立計(jì)算機(jī)之間的通信鏈接的手段。
[0069]因此已經(jīng)描述了本發(fā)明的至少一個(gè)實(shí)施例的若干方面,應(yīng)當(dāng)理解的是本領(lǐng)域的技術(shù)人員將容易想到各種改變、修改和改進(jìn)。
[0070]這樣的改變、修改和改進(jìn)被規(guī)定為本公開內(nèi)容的一部分,并且被規(guī)定為在本發(fā)明的精神和范圍內(nèi)。相應(yīng)地,之前的描述和附圖僅僅是作為例子。
[0071]本發(fā)明的上述實(shí)施例可以以許多方式中的任一種來實(shí)現(xiàn)。例如,可以利用硬件、軟件或其組合來實(shí)現(xiàn)所述實(shí)施例。當(dāng)通過軟件實(shí)現(xiàn)時(shí),軟件代碼可以在任何適當(dāng)?shù)奶幚砥骰蛱幚砥鞯募仙蠄?zhí)行,無論其是提供在單個(gè)計(jì)算機(jī)中還是分布在多個(gè)計(jì)算機(jī)之間。這樣的處理器可以被實(shí)現(xiàn)為集成電路,令一個(gè)或多個(gè)處理器處于一個(gè)集成電路組件中。然而處理器可以利用任何適當(dāng)格式的電路來實(shí)現(xiàn)。
[0072]此外,應(yīng)當(dāng)理解的是,計(jì)算機(jī)可以被體現(xiàn)為眾多形式中的任一種,諸如機(jī)架式計(jì)算機(jī)、桌上型計(jì)算機(jī)、膝上型計(jì)算機(jī)或平板計(jì)算機(jī)。此外,計(jì)算機(jī)可以被嵌入在通常不被認(rèn)為是計(jì)算機(jī)但具有適當(dāng)?shù)奶幚砟芰Φ脑O(shè)備中,包括個(gè)人數(shù)字助理(PDA)、智能手機(jī)或者任何其它適當(dāng)?shù)谋銛y式或固定的電子設(shè)備。
[0073]此外,計(jì)算機(jī)可以具有一個(gè)或多個(gè)輸入和輸出設(shè)備。這些設(shè)備尤其可以用來呈遞用戶接口等等??梢员挥脕硖峁┯脩艚涌诘妮敵鲈O(shè)備的例子包括:用于輸出的視覺呈現(xiàn)的打印機(jī)或顯示屏,和用于輸出的聽覺呈現(xiàn)的揚(yáng)聲器或其它聲音生成設(shè)備。可以被用于用戶接口的輸入設(shè)備的例子包括鍵盤以及諸如鼠標(biāo)、觸摸板和數(shù)字化輸入板的定點(diǎn)設(shè)備。作為另一個(gè)例子,計(jì)算機(jī)可以通過語音識別或以其它可聽格式接收輸入信息。
[0074]這樣的計(jì)算機(jī)可以通過任何適當(dāng)形式的一個(gè)或多個(gè)網(wǎng)絡(luò)而被互連,所述適當(dāng)形式包括作為局域網(wǎng)或廣域網(wǎng),諸如企業(yè)網(wǎng)絡(luò)或因特網(wǎng)。這樣的網(wǎng)絡(luò)可以基于任何適當(dāng)?shù)募夹g(shù),并且可以根據(jù)任何適當(dāng)?shù)膮f(xié)議操作,以及可以包括無線網(wǎng)絡(luò)、有線網(wǎng)絡(luò)或光纖網(wǎng)絡(luò)。
[0075]此外,本文所概述的各種方法或過程可以被編碼成可在一個(gè)或多個(gè)處理器上執(zhí)行的軟件,所述處理器采用各種各樣的操作系統(tǒng)或平臺(tái)中的任一種。此外,這樣的軟件可以利用眾多適當(dāng)?shù)木幊陶Z言和/或編程或腳本工具中的任一種來編寫,并且還可以被編譯成在框架或虛擬機(jī)上執(zhí)行的可執(zhí)行機(jī)器語言代碼或中間代碼。
[0076]在這方面,本發(fā)明可以被體現(xiàn)為用一個(gè)或多個(gè)程序編碼的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)(或多個(gè)計(jì)算機(jī)可讀介質(zhì))(例如,計(jì)算機(jī)存儲(chǔ)器、一個(gè)或多個(gè)軟盤、壓縮盤(CD)、光盤、數(shù)字視頻盤(DVD)、磁帶、閃存、在現(xiàn)場可編程門陣列或其它半導(dǎo)體器件中的電路配置、或其它非瞬時(shí)的有形計(jì)算機(jī)存儲(chǔ)介質(zhì)),當(dāng)所述程序在一個(gè)或多個(gè)計(jì)算機(jī)或其它處理器上被執(zhí)行時(shí),其施行實(shí)現(xiàn)以上所討論的本發(fā)明的各種實(shí)施例的方法。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)或多個(gè)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是可輸送的,以使得存儲(chǔ)在其上的程序或多個(gè)程序可以被加載到一個(gè)或多個(gè)不同的計(jì)算機(jī)或其它處理器上,以實(shí)現(xiàn)以上所討論的本發(fā)明的各個(gè)方面。當(dāng)在本文中使用時(shí),術(shù)語“非瞬時(shí)的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)”僅涵蓋可被視為制造品(即制造的物品)或機(jī)器的計(jì)算機(jī)可讀介質(zhì)。替換地或附加地,本發(fā)明可以被體現(xiàn)為除計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)之外的其它計(jì)算機(jī)可讀介質(zhì),諸如傳播的信號。
[0077]本文所用的術(shù)語“程序”或“軟件”在一般意義上是指代任何類型的計(jì)算機(jī)代碼或計(jì)算機(jī)可執(zhí)行指令組,所述代碼或指令組可用來對計(jì)算機(jī)或其它處理器進(jìn)行編程以實(shí)現(xiàn)以上所討論的本發(fā)明的各個(gè)方面。此外,應(yīng)當(dāng)理解的是,根據(jù)這個(gè)實(shí)施例的一個(gè)方面,當(dāng)被執(zhí)行時(shí),施行本發(fā)明的方法的一個(gè)或多個(gè)計(jì)算機(jī)程序不需要駐留在單個(gè)計(jì)算機(jī)或處理器上,而是可以以模塊的方式分布于多個(gè)不同的計(jì)算機(jī)或處理器之間以實(shí)現(xiàn)本發(fā)明的各個(gè)方面。
[0078]計(jì)算機(jī)可執(zhí)行的指令可以具有由一個(gè)或多個(gè)計(jì)算機(jī)或其它設(shè)備執(zhí)行的許多形式,諸如程序模塊。通常地,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等。通??梢园丛诟鞣N實(shí)施例中所期望的那樣組合或分布程序模塊的功能性。
[0079]此外,數(shù)據(jù)結(jié)構(gòu)可以被存儲(chǔ)在任何適當(dāng)形式的計(jì)算機(jī)可讀介質(zhì)中。為了舉例說明的簡明性,數(shù)據(jù)結(jié)構(gòu)可被示為具有通過在數(shù)據(jù)結(jié)構(gòu)中的位置而聯(lián)系起來的字段。這樣的關(guān)系可以同樣地通過為所述字段的存儲(chǔ)指派計(jì)算機(jī)可讀介質(zhì)中的位置來實(shí)現(xiàn),所述的位置傳達(dá)了字段之間的關(guān)系。然而,可以利用任何適當(dāng)?shù)臋C(jī)制來建立數(shù)據(jù)結(jié)構(gòu)的字段中的信息之間的關(guān)系,包括通過使用用來建立數(shù)據(jù)元素之間的關(guān)系的指針、標(biāo)簽或者其它機(jī)制。
[0080]本發(fā)明的各個(gè)方面可以單獨(dú)地、組合地、或以未在上文所述的實(shí)施例中具體討論的各種各樣的安排來被使用,并且因此并未將其應(yīng)用限于在上文描述中闡明的或在附圖中示出的組件的細(xì)節(jié)和安排。例如,在一個(gè)實(shí)施例中描述的一些方面可以以任何方式與在其它實(shí)施例中描述的一些方面組合。
[0081]此外,本發(fā)明可以被體現(xiàn)為方法,其例子已經(jīng)被提供。作為方法的一部分而被施行的動(dòng)作可以以任何適當(dāng)?shù)姆绞脚判颉R虼?,?shí)施例可以被構(gòu)造成其中動(dòng)作是以不同于所圖示的順序施行的,這可以包括同時(shí)施行一些動(dòng)作,盡管在說明性實(shí)施例中是被顯示為有序的動(dòng)作。
[0082]在權(quán)利要求中使用諸如“第一”、“第二”、“第三”等序數(shù)詞來修改權(quán)利要求元素本身并不意味著一個(gè)權(quán)利要求元素超過另一個(gè)權(quán)利要求元素的任何優(yōu)先級、優(yōu)先地位或順序,或者方法的動(dòng)作被施行的時(shí)間順序,而是僅僅被用作標(biāo)簽以將具有某個(gè)名稱的一個(gè)權(quán)利要求元素與具有相同名稱(如果沒有使用序數(shù)詞的話)的另一個(gè)元素區(qū)分開,以便區(qū)分權(quán)利要求元素。
[0083]此外,本文所用的措詞和術(shù)語是出于描述的目的,而不應(yīng)被視為限制性的。本文中“包含”、“包括”、或“具有”、“含有”、“涉及”及其變型的使用意在涵蓋其后所列出的項(xiàng)目及其等同物以及另外的項(xiàng)目。
【權(quán)利要求】
1.一種用于控制在虛擬化網(wǎng)絡(luò)與非虛擬化實(shí)體之間的通信的方法,包括: 由虛擬化網(wǎng)關(guān)接收分組,所述分組由所述虛擬化網(wǎng)絡(luò)中的虛擬機(jī)發(fā)送給所述非虛擬化實(shí)體,并且由所述虛擬機(jī)的主機(jī)路由到所述網(wǎng)關(guān)的提供者地址; 由所述網(wǎng)關(guān)將該網(wǎng)關(guān)的提供者地址轉(zhuǎn)換成所述非虛擬化實(shí)體的目的地地址;以及 由所述網(wǎng)關(guān)將所述分組發(fā)送到所述非虛擬化實(shí)體。
2.如權(quán)利要求1所限定的方法,其中所述非虛擬化實(shí)體包括具有客戶地址的物理資源,并且其中所述轉(zhuǎn)換包括將所述網(wǎng)關(guān)的提供者地址轉(zhuǎn)換成所述物理資源的客戶地址。
3.如權(quán)利要求1所限定的方法,其中所述非虛擬化實(shí)體包括具有提供者地址的物理資源,并且其中對所述網(wǎng)關(guān)的提供者地址的轉(zhuǎn)換包括在客戶地址空間中施行網(wǎng)絡(luò)地址轉(zhuǎn)換。
4.一種用計(jì)算機(jī)可執(zhí)行指令編碼的計(jì)算機(jī)可讀存儲(chǔ)設(shè)備,當(dāng)所述指令由計(jì)算設(shè)備執(zhí)行時(shí)施行如權(quán)利要求1所限定的方法。
5.一種用于控制在虛擬化網(wǎng)絡(luò)與非虛擬化實(shí)體之間的通信的虛擬化網(wǎng)關(guān),包括: 處理設(shè)備和用指令編碼的存儲(chǔ)設(shè)備,當(dāng)所述指令由所述處理設(shè)備執(zhí)行時(shí)被配置成: 接收分組,所述分組由所述虛擬化網(wǎng)絡(luò)中的虛擬機(jī)發(fā)送給所述非虛擬化實(shí)體,并且由所述虛擬機(jī)的主機(jī)路由到所述網(wǎng)關(guān)的提供者地址; 將所述網(wǎng)關(guān)的提供者地址轉(zhuǎn)換成所述非虛擬化實(shí)體的目的地地址;以及 將所述分組發(fā)送到所述非虛擬化實(shí)體。
6.如權(quán)利要求5所限定的虛擬化網(wǎng)關(guān),其中所述非虛擬化實(shí)體包括具有客戶地址的物理資源,并且其中所述虛擬化網(wǎng)關(guān)被進(jìn)一步配置成將所述網(wǎng)關(guān)的提供者地址轉(zhuǎn)換成所述物理資源的客戶地址。
7.如權(quán)利要求5所限定的虛擬化網(wǎng)關(guān),其中所述非虛擬化實(shí)體包括具有提供者地址的物理資源,并且其中所述虛擬化網(wǎng)關(guān)被配置成在客戶地址空間中施行網(wǎng)絡(luò)地址轉(zhuǎn)換。
8.一種用于控制在虛擬化網(wǎng)絡(luò)與非虛擬化實(shí)體之間的通信的方法,包括: 由主機(jī)接收分組,所述分組由虛擬機(jī)發(fā)送給目的地地址處的非虛擬化實(shí)體; 由所述主機(jī)將所述分組的目的地地址轉(zhuǎn)換成虛擬化網(wǎng)關(guān)的提供者地址;以及 由所述主機(jī)將所述分組發(fā)送到所述虛擬化網(wǎng)關(guān)的提供者地址,以用于地址轉(zhuǎn)換和發(fā)送到所述非虛擬化實(shí)體。
9.如權(quán)利要求8所限定的方法,其中轉(zhuǎn)換分組的目的地地址包括訪問虛擬網(wǎng)絡(luò)策略,所述虛擬網(wǎng)絡(luò)策略包含將非虛擬化實(shí)體的目的地地址映射到網(wǎng)關(guān)的提供者地址的映射策略。
10.一種用計(jì)算機(jī)可執(zhí)行指令編碼的計(jì)算機(jī)可讀存儲(chǔ)設(shè)備,當(dāng)所述指令由計(jì)算設(shè)備執(zhí)行時(shí)施行如權(quán)利要求8所限定的方法。
【文檔編號】G06F9/44GK103733574SQ201180072872
【公開日】2014年4月16日 申請日期:2011年10月11日 優(yōu)先權(quán)日:2011年8月16日
【發(fā)明者】M.斯里哈蘭, D.A.馬爾茨, N.A.文卡塔拉麥亞, P.K.帕特爾, Y-S.王 申請人:微軟公司