国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      分布式虛擬網(wǎng)絡(luò)網(wǎng)關(guān)的制作方法

      文檔序號(hào):7850377閱讀:475來源:國(guó)知局
      專利名稱:分布式虛擬網(wǎng)絡(luò)網(wǎng)關(guān)的制作方法
      分布式虛擬網(wǎng)絡(luò)網(wǎng)關(guān)
      背景技術(shù)
      大規(guī)模聯(lián)網(wǎng)系統(tǒng)是在用于運(yùn)行服務(wù)應(yīng)用和維護(hù)數(shù)據(jù)以用于商務(wù)和操作功能的各種設(shè)定中使用的常見平臺(tái)。例如,數(shù)據(jù)中心(例如物理云計(jì)算基礎(chǔ)設(shè)施)可以同時(shí)為多個(gè)顧客提供多種服務(wù)(例如web應(yīng)用、電子郵件服務(wù)、搜索引擎服務(wù)等等)。這些大規(guī)模聯(lián)網(wǎng)系統(tǒng)通常包括遍及該數(shù)據(jù)中心分布的大量資源,其中每個(gè)資源都類似物理機(jī)或在物理主機(jī)上運(yùn)行的虛擬機(jī)(VM)。在數(shù)據(jù)中心托管多個(gè)承租者(例如,顧客程序)時(shí),這些資源被從該數(shù)據(jù)中心分配給不同的承租者以滿足它們的使用需求。分配給承租者的資源的集合可被分組到邏輯或虛擬子網(wǎng)中,以便于管理和安全隔離。數(shù)據(jù)中心的顧客常常需要運(yùn)行在企業(yè)私有網(wǎng)絡(luò)(例如由地理上遠(yuǎn)離該數(shù)據(jù)中心的顧客管理的服務(wù)器)或其它第三方網(wǎng)絡(luò)中的服務(wù)應(yīng)用與運(yùn)行在該數(shù)據(jù)中心中的資源上的軟件交互。為了在將分配給承租者的資源安全地與分配給其它承租者的資源分離的同時(shí)實(shí)現(xiàn)·該交互,托管服務(wù)提供者可采用單個(gè)、集中的路由機(jī)構(gòu)來用作屬于虛擬子網(wǎng)中的承租者的所有機(jī)器、或者由主機(jī)系統(tǒng)管理程序管理的資源和承租人的遠(yuǎn)程資源之間的網(wǎng)絡(luò)網(wǎng)關(guān)。然而,采用集中路由機(jī)構(gòu)的該體系結(jié)構(gòu)是低效的,因?yàn)椴僮魅Q于機(jī)構(gòu)與其所服務(wù)的機(jī)器/資源的物理鄰近度。例如,如果機(jī)器/資源位于數(shù)據(jù)中心的不同部分或者不同位置(例如,跨數(shù)據(jù)中心和企業(yè)私有網(wǎng)絡(luò)),則至少一些機(jī)器/資源在驅(qū)動(dòng)程序正在被其它機(jī)器/資源使用時(shí)將面對(duì)較高的等待時(shí)間和較低的帶寬連接。因此,集中的路由機(jī)構(gòu)成為進(jìn)入和退出特定虛擬子網(wǎng)的通信的常見擁塞點(diǎn)。此外,機(jī)器/資源在被限于通過該集中路由機(jī)構(gòu)傳遞所有通信時(shí)將被迫在次最佳路線上發(fā)送數(shù)據(jù)分組。如此,采用新興技術(shù)通過將驅(qū)動(dòng)程序嵌入物理機(jī)(結(jié)合入本地機(jī)器網(wǎng)絡(luò)棧)或虛擬機(jī)(結(jié)合入虛擬交換機(jī)網(wǎng)絡(luò)棧)中來遍及數(shù)據(jù)中心分布虛擬網(wǎng)絡(luò)網(wǎng)關(guān)或驅(qū)動(dòng)程序?qū)⑼ㄟ^發(fā)現(xiàn)并利用最佳網(wǎng)絡(luò)路徑來增強(qiáng)數(shù)據(jù)分組的發(fā)送,通過分布網(wǎng)關(guān)功能來減少網(wǎng)絡(luò)擁塞,并且用于進(jìn)一步隔離數(shù)據(jù)中心顧客的通信。

      發(fā)明內(nèi)容
      提供本發(fā)明內(nèi)容是為了以簡(jiǎn)化的形式介紹將在以下具體實(shí)施方式
      中進(jìn)一步描述的概念。本發(fā)明內(nèi)容并非旨在標(biāo)識(shí)所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不旨在用于幫助確定所要求保護(hù)的主題的范圍。本發(fā)明的實(shí)施例提供一種解決上述問題的分布式虛擬網(wǎng)絡(luò)網(wǎng)關(guān)的體系結(jié)構(gòu)。這些網(wǎng)關(guān)可采取驅(qū)動(dòng)程序的形式,可通過將這些驅(qū)動(dòng)程序嵌入物理機(jī)(結(jié)合入本地機(jī)器網(wǎng)絡(luò)棧)或虛擬機(jī)(結(jié)合入虛擬交換機(jī)網(wǎng)絡(luò)棧)中來遍及數(shù)據(jù)中心提供這些驅(qū)動(dòng)程序。如以下將要詳細(xì)描述的,驅(qū)動(dòng)程序通過發(fā)現(xiàn)并利用最佳網(wǎng)絡(luò)路徑來增強(qiáng)數(shù)據(jù)分組的發(fā)送,通過分布網(wǎng)關(guān)功能來減少網(wǎng)絡(luò)擁塞,并且用于進(jìn)一步隔離數(shù)據(jù)中心顧客的通信。此外,驅(qū)動(dòng)程序保護(hù)在云計(jì)算平臺(tái)中運(yùn)行的顧客的服務(wù)應(yīng)用的完整性,該云計(jì)算平臺(tái)被配置成允許多個(gè)承租者(例如,每個(gè)云幾萬個(gè))共享云服務(wù)數(shù)據(jù)中心中的計(jì)算資源。通常,驅(qū)動(dòng)程序支持選擇分配給服務(wù)應(yīng)用的端點(diǎn)之間的通信的最合適格式和路徑,同時(shí)將所分配的網(wǎng)絡(luò)適配器與數(shù)據(jù)中心中的其它資源虛擬地分割。作為說明,端點(diǎn)可包括在虛擬機(jī)(VM)和/或物理機(jī)上實(shí)例化的網(wǎng)絡(luò)適配器。為了實(shí)現(xiàn)對(duì)通信中數(shù)據(jù)分組的格式和路徑的選擇,在各個(gè)實(shí)施例中,驅(qū)動(dòng)程序伸展至目錄服務(wù),該目錄服務(wù)幫助驅(qū)動(dòng)程序針對(duì)其各個(gè)源和目的地端點(diǎn)作出路由決策?;趶哪夸浄?wù)返回的信息,驅(qū)動(dòng)程序用于適當(dāng)?shù)毓芾韥碜栽擈?qū)動(dòng)程序的數(shù)據(jù)分組的路由,并同時(shí)通過適當(dāng)?shù)刈儞Q數(shù)據(jù)分組來防止未經(jīng)授權(quán)的通信。
      在示例性實(shí)施例中,驅(qū)動(dòng)程序用于將虛擬化的網(wǎng)關(guān)功能分散到物理網(wǎng)絡(luò)中節(jié)點(diǎn)的多個(gè)虛擬化的端點(diǎn)。最初,提供驅(qū)動(dòng)程序以與在網(wǎng)絡(luò)節(jié)點(diǎn)上實(shí)例化的端點(diǎn)合作。此外,實(shí)現(xiàn)目錄服務(wù)以維護(hù)虛擬網(wǎng)絡(luò)協(xié)議(IP)地址與位置依賴地址之間的映射,以及列舉根據(jù)連接網(wǎng)絡(luò)中端點(diǎn)的已知路徑的變換動(dòng)作的表。每個(gè)驅(qū)動(dòng)程序在從中心位置處的驅(qū)動(dòng)程序移開時(shí)能夠與目錄服務(wù)通信,或者在結(jié)合入驅(qū)動(dòng)程序內(nèi)部時(shí)能夠本地地訪問目錄服務(wù)。
      在操作中,鏈接到特定驅(qū)動(dòng)程序的接收者端點(diǎn)可接收一個(gè)或多個(gè)數(shù)據(jù)分組。驅(qū)動(dòng)程序可讀取數(shù)據(jù)分組的報(bào)頭以查明源IP地址和目的地IP地址。驅(qū)動(dòng)程序可進(jìn)一步將源IP 地址和目的地IP地址封裝在對(duì)路由信息的請(qǐng)求中,并將該請(qǐng)求傳送到內(nèi)部的或外部的目錄服務(wù)。目錄服務(wù)可通過用源IP地址和目的地IP地址檢查映射來用轉(zhuǎn)發(fā)路徑的適當(dāng)?shù)奈恢靡蕾嚨刂坊貜?fù)來自驅(qū)動(dòng)程序的請(qǐng)求。此外,目錄服務(wù)可通過用轉(zhuǎn)發(fā)路徑檢查表來用適當(dāng)?shù)淖儞Q動(dòng)作回復(fù)該請(qǐng)求。變換動(dòng)作可包括以下的一個(gè)或多個(gè)重寫數(shù)據(jù)分組的報(bào)頭以包括位置依賴地址;將數(shù)據(jù)分組封裝為各個(gè)外部數(shù)據(jù)分組內(nèi)的內(nèi)部數(shù)據(jù)分組,各個(gè)外部數(shù)據(jù)分組被結(jié)構(gòu)化為具有攜帶位置依賴地址的報(bào)頭;或者用隧道協(xié)議配置數(shù)據(jù)分組(例如,根據(jù)數(shù)據(jù)中心的安全策略或顧客建 立的服務(wù)模型)。
      一旦在驅(qū)動(dòng)程序處接收到路由信息,驅(qū)動(dòng)程序就可將轉(zhuǎn)發(fā)路徑和變換動(dòng)作傳遞到接收者端點(diǎn)。進(jìn)而,接收者端點(diǎn)在從中發(fā)送數(shù)據(jù)分組時(shí)實(shí)現(xiàn)轉(zhuǎn)發(fā)路徑并應(yīng)用變換動(dòng)作。在其它實(shí)施例中,驅(qū)動(dòng)程序可直接對(duì)數(shù)據(jù)分組執(zhí)行適當(dāng)?shù)淖儞Q動(dòng)作,而不是依賴于端點(diǎn)(例如, 接收者端點(diǎn))來執(zhí)行該功能。
      因此,一旦驅(qū)動(dòng)程序和目錄服務(wù)協(xié)同動(dòng)作以做出明達(dá)的路由決策,可向鏈接到驅(qū)動(dòng)程序的接收者端點(diǎn)提供網(wǎng)絡(luò)路徑的最佳選擇,由此減少網(wǎng)絡(luò)擁塞,以及合適的變換動(dòng)作, 由此實(shí)施數(shù)據(jù)中心外部的傳輸?shù)母綦x。
      附圖簡(jiǎn)要說明
      以下參考附圖詳細(xì)描述本發(fā)明的實(shí)施例,附圖中
      圖I是適用于實(shí)現(xiàn)本發(fā)明的實(shí)施例的示例性計(jì)算環(huán)境的框圖2是示出適用于實(shí)現(xiàn)本發(fā)明的各實(shí)施例的、被配置為提供并且便于數(shù)據(jù)中心內(nèi)的驅(qū)動(dòng)程序的操作的示例性云計(jì)算平臺(tái)的框圖3是根據(jù)本發(fā)明的實(shí)施例的將虛擬網(wǎng)絡(luò)地址解析成物理網(wǎng)絡(luò)路徑和變換動(dòng)作的示例性體系結(jié)構(gòu)的示意圖4是根據(jù)本發(fā)明的實(shí)施例的用于將目錄服務(wù)分發(fā)的路由信息應(yīng)用于路由決策的示例性決策樹的示意圖;以及
      圖5是示出根據(jù)本發(fā)明的實(shí)施例的用于響應(yīng)于來自驅(qū)動(dòng)程序的請(qǐng)求來標(biāo)識(shí)適當(dāng)?shù)奈锢砭W(wǎng)絡(luò)路徑和變換動(dòng)作的方法的流程圖。
      具體實(shí)施例方式此處用細(xì)節(jié)來描述本發(fā)明的各實(shí)施例的所針對(duì)的以滿足法定要求。然而,該描述本身并非旨在限制本專利的范圍。相反,發(fā)明人設(shè)想所要求保護(hù)的所針對(duì)的還可結(jié)合其他當(dāng)前或未來技術(shù)按照其他方式來具體化,以包括不同的步驟或類似于本文中所描述的步驟的步驟組合。此外,盡管術(shù)語“步驟”和/或“框”可在此處用于指示所采用的方法的不同元素,但除非而且僅當(dāng)明確描述了各個(gè)步驟的順序時(shí),該術(shù)語不應(yīng)被解釋為意味著此處公開的各個(gè)步驟之中或之間的任何特定順序。本發(fā)明的實(shí)施例涉及在以本地化方式提供虛擬化網(wǎng)關(guān)功能的分布式驅(qū)動(dòng)程序處做出明達(dá)的路由決策的方法、計(jì)算機(jī)系統(tǒng)和計(jì)算機(jī)可讀介質(zhì)。在一方面,本發(fā)明的實(shí)施例涉及一個(gè)或多個(gè)其上包含計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì),這些計(jì)算機(jī)可執(zhí)行指令在被執(zhí)行時(shí)執(zhí)行一種用于管理端點(diǎn)之間數(shù)據(jù)分組的分布 的方法。在諸實(shí)施例中,該方法包括在第一端點(diǎn)處檢測(cè)一個(gè)或多個(gè)數(shù)據(jù)分組的步驟。通常,每個(gè)數(shù)據(jù)分組包括報(bào)頭,該報(bào)頭包括源地址和目的地地址。與第一端點(diǎn)相關(guān)聯(lián)的驅(qū)動(dòng)程序可發(fā)送請(qǐng)求到目錄服務(wù)。在示例性實(shí)施例中,請(qǐng)求攜帶源地址和目的地地址,或者它們的某些標(biāo)記。一旦接收到請(qǐng)求,目錄服務(wù)就執(zhí)行查找以將源地址和目的地地址轉(zhuǎn)換成轉(zhuǎn)發(fā)路徑和變換動(dòng)作。轉(zhuǎn)發(fā)路徑和變換動(dòng)作可在響應(yīng)中從目錄服務(wù)發(fā)送到驅(qū)動(dòng)程序。然而,驅(qū)動(dòng)程序和/或端點(diǎn)也維護(hù)丟棄與始發(fā)、接收者端點(diǎn)和目標(biāo)端點(diǎn)相關(guān)的目錄服務(wù)中的規(guī)則不匹配的一個(gè)或多個(gè)數(shù)據(jù)分組的能力。該丟棄數(shù)據(jù)分組的能力為驅(qū)動(dòng)程序提供了實(shí)施網(wǎng)絡(luò)中的隔離的授權(quán)。一旦接收到響應(yīng),驅(qū)動(dòng)程序就可執(zhí)行路由決策,該路由決策部分地基于第一端點(diǎn)是數(shù)據(jù)分組的始發(fā)端點(diǎn)、用于將數(shù)據(jù)分組轉(zhuǎn)發(fā)到目標(biāo)端點(diǎn)的接收者端點(diǎn)、還是目標(biāo)端點(diǎn)。當(dāng)?shù)谝欢它c(diǎn)表示始發(fā)端點(diǎn)(由源地址標(biāo)識(shí))時(shí),路由決策可導(dǎo)致以下變換動(dòng)作中的一個(gè)或多個(gè)(a)重寫數(shù)據(jù)分組的報(bào)頭以包括位置依賴地址;(b)將數(shù)據(jù)分組封裝為各個(gè)外部數(shù)據(jù)分組內(nèi)的內(nèi)部數(shù)據(jù)分組,其中各個(gè)外部數(shù)據(jù)分組包括攜帶位置依賴地址的報(bào)頭;或者(C)用隧道協(xié)議配置數(shù)據(jù)分組。當(dāng)?shù)谝欢它c(diǎn)表示接收者端點(diǎn)時(shí),路由決策可導(dǎo)致以下變換動(dòng)作中的一個(gè)或多個(gè)(a)通過另一網(wǎng)絡(luò)路徑轉(zhuǎn)發(fā)經(jīng)封裝的數(shù)據(jù)分組或具有重寫報(bào)頭的數(shù)據(jù)分組;(b)通過隧道重定向經(jīng)封裝的數(shù)據(jù)分組或具有重寫報(bào)頭的數(shù)據(jù)分組;或者(C)從數(shù)據(jù)分組去除隧道協(xié)議。當(dāng)?shù)谝欢它c(diǎn)表示目標(biāo)端點(diǎn)(由目的地地址標(biāo)識(shí))時(shí),路由決策可導(dǎo)致以下變換動(dòng)作中的一個(gè)或多個(gè)(a)解封裝經(jīng)封裝的數(shù)據(jù)分組;(b)恢復(fù)被重寫的數(shù)據(jù)分組的報(bào)頭;或者(C)從數(shù)據(jù)分組去除隧道協(xié)議以備消耗。在另一方面,本發(fā)明的實(shí)施例涉及一種用于支持并且隔離端點(diǎn)之間的通信的計(jì)算機(jī)系統(tǒng)。最初,該計(jì)算機(jī)系統(tǒng)包括目錄服務(wù)、第一端點(diǎn)、第二端點(diǎn)、以及本地地提供給第一端點(diǎn)的驅(qū)動(dòng)程序。通常,目錄服務(wù)維護(hù)虛擬因特網(wǎng)協(xié)議(IP)地址和物理網(wǎng)絡(luò)的位置依賴地址之間的映射。在操作中,第一端點(diǎn)可開始生成被結(jié)構(gòu)化為具有報(bào)頭的一個(gè)或多個(gè)數(shù)據(jù)分組,該報(bào)頭包括源IP地址和目的地IP地址。在該實(shí)例中,源IP地址指向第一(始發(fā))端點(diǎn),并且目的地IP地址指向第二(目標(biāo))端點(diǎn)。一旦檢測(cè)到第一端點(diǎn)嘗試從節(jié)點(diǎn)(例如,物理機(jī)或虛擬機(jī))發(fā)送數(shù)據(jù)分組到第二端點(diǎn),驅(qū)動(dòng)程序就執(zhí)行路由決策。在示例性實(shí)施例中,驅(qū)動(dòng)程序?qū)τ诘谝欢它c(diǎn)做出的每個(gè)連接調(diào)用并執(zhí)行不同的路由決策。在諸實(shí)施例中,執(zhí)行路由決策包括但不限于以下步驟與目錄服務(wù)通信以部分地基于源IP地址和目的地IP地址確定轉(zhuǎn)發(fā)路徑和變換動(dòng)作;確定第一端點(diǎn)和第二端點(diǎn)是否駐留在公共數(shù)據(jù)中心中;以及確定在去除源IP地址和目的地IP地址的情況下第二端點(diǎn)是否不能轉(zhuǎn)換數(shù)據(jù)分組的報(bào)頭。
      當(dāng)確定第一端點(diǎn)和第二端點(diǎn)駐留在公共數(shù)據(jù)中心中時(shí),驅(qū)動(dòng)程序用轉(zhuǎn)發(fā)路徑的各個(gè)位置依賴地址來重寫源IP地址和目的地IP地址。在另一實(shí)施例中,驅(qū)動(dòng)程序可將數(shù)據(jù)分組封裝為各個(gè)外部數(shù)據(jù)分組內(nèi)的內(nèi)部數(shù)據(jù)分組,每個(gè)外部數(shù)據(jù)分組包括展示轉(zhuǎn)發(fā)路徑的位置依賴地址的報(bào)頭。存在調(diào)用封裝的變換動(dòng)作的若干情形。在一個(gè)實(shí)例中,在確定在去除源地址和目的地地址的情況下第二端點(diǎn)不能轉(zhuǎn)換數(shù)據(jù)分組的報(bào)頭時(shí)觸發(fā)封裝。需要封裝的其它可能的情形包括(a)檢測(cè)到源和目的地IP地址之間存在某種形式的網(wǎng)絡(luò)轉(zhuǎn)換(NAT), 和/或(b)從源和目的地IP地址識(shí)別出第一和第二端點(diǎn)(例如,始發(fā)和目標(biāo)網(wǎng)絡(luò)適配器) 跨越多個(gè)虛擬網(wǎng)絡(luò),使得不再存在從它們的位置依賴地址到它們的虛擬IP地址的一對(duì)一映射。
      當(dāng)確定變換動(dòng)作指示提供保護(hù)層來保護(hù)第一端點(diǎn)和第二端點(diǎn)之間的連接時(shí),驅(qū)動(dòng)程序可基于所接收的變換動(dòng)作來變換數(shù)據(jù)分組。在一個(gè)實(shí)例中,變換動(dòng)作包括對(duì)數(shù)據(jù)分組應(yīng)用隧道協(xié)議(例如,安全套接字隧道協(xié)議(SSTP)或因特網(wǎng)協(xié)議安全(IP sec))。
      在又一方面,本發(fā)明的諸實(shí)施例涉及一種用于響應(yīng)于來自分布式虛擬網(wǎng)絡(luò)網(wǎng)關(guān)的請(qǐng)求來標(biāo)識(shí)網(wǎng)絡(luò)路徑和變換動(dòng)作的計(jì)算機(jī)化的方法。最初,該方法包括提供目錄服務(wù),該目錄服務(wù)維護(hù)虛擬IP地址和位置依賴地址之間的映射。目錄服務(wù)也可維護(hù)識(shí)別合適變換動(dòng)作的表。在一個(gè)實(shí)例中,根據(jù)通信策略來設(shè)計(jì)該表,該通信策略管控跨連接網(wǎng)絡(luò)內(nèi)端點(diǎn)的路徑的數(shù)據(jù)分組話務(wù)。在另一實(shí)例中,該表基于為托管顧客的服務(wù)應(yīng)用的數(shù)據(jù)中心的顧客建立的服務(wù)模型(例如,服務(wù)級(jí)協(xié)定(SLA))。
      該方法還可包括從與接收者端點(diǎn)通信的虛擬網(wǎng)絡(luò)網(wǎng)關(guān)接收請(qǐng)求的步驟。通常,請(qǐng)求包括經(jīng)由接收者端點(diǎn)接受的一個(gè)或多個(gè)數(shù)據(jù)分組的報(bào)頭攜帶的源IP地址和目的地IP地址的標(biāo)記。一旦接收到該請(qǐng)求,目錄服務(wù)就可執(zhí)行以下查找過程中的至少一個(gè)用源IP地址和目的地IP地址來檢查映射以標(biāo)識(shí)相應(yīng)的位置依賴地址,其構(gòu)成通過物理網(wǎng)絡(luò)的數(shù)據(jù)分組的轉(zhuǎn)發(fā)路徑;或者用轉(zhuǎn)發(fā)路徑來檢查表以標(biāo)識(shí)相應(yīng)的變換動(dòng)作。如以下更全面討論的, 變換動(dòng)作可包括但不限于以下的一個(gè)或多個(gè)重寫數(shù)據(jù)分組的報(bào)頭以包括位置依賴地址; 將數(shù)據(jù)分組封裝為各個(gè)外部數(shù)據(jù)分組內(nèi)的內(nèi)部數(shù)據(jù)分組,各個(gè)外部數(shù)據(jù)分組包括攜帶位置依賴地址的報(bào)頭;或者用隧道協(xié)議配置數(shù)據(jù)分組。最后,目錄服務(wù)可返回響應(yīng),該響應(yīng)將所標(biāo)識(shí)出的轉(zhuǎn)發(fā)路徑和所標(biāo)識(shí)出的變換動(dòng)作的標(biāo)記傳遞給虛擬網(wǎng)絡(luò)網(wǎng)關(guān)。
      在簡(jiǎn)要描述了本發(fā)明的各實(shí)施例的概覽后,以下描述適于實(shí)現(xiàn)本發(fā)明的各實(shí)施例的示例性操作環(huán)境。
      概括地參考附圖,并首先具體參考

      圖1,示出了用于實(shí)現(xiàn)本發(fā)明的各實(shí)施例的示例性操作環(huán)境,并將其概括地指定為計(jì)算設(shè)備100。計(jì)算設(shè)備100只是合適的計(jì)算環(huán)境的一個(gè)示例,并且不旨在對(duì)本發(fā)明的各實(shí)施例的使用范圍或功能提出任何限制。也不應(yīng)該把計(jì)算環(huán)境100解釋為對(duì)所示出的任一組件或其組合有任何依賴性或要求。
      本發(fā)明的各實(shí)施例可以在由計(jì)算機(jī)或諸如個(gè)人數(shù)據(jù)助理或其它手持式設(shè)備之類的其它機(jī)器執(zhí)行的計(jì)算機(jī)代碼或機(jī)器可使用指令的一般上下文中描述,該機(jī)器可使用指令包括諸如程序組件之類的計(jì)算機(jī)可執(zhí)行指令。一般而言,包括例程、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等的程序組件指的是執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定提取數(shù)據(jù)類型的代碼。本發(fā)明的各實(shí)施方式可以在各種系統(tǒng)配置中實(shí)施,這些系統(tǒng)配置包括手持式設(shè)備、消費(fèi)電子產(chǎn)品、通用計(jì)算機(jī)、專用計(jì)算設(shè)備等等。本發(fā)明也可以在其中任務(wù)由通過通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備執(zhí)行的分布式計(jì)算環(huán)境中實(shí)施。繼續(xù)參考圖1,計(jì)算設(shè)備100包括直接地或間接地耦合以下設(shè)備的總線110 :存儲(chǔ)器112、一個(gè)或多個(gè)處理器114、一個(gè)或多個(gè)呈現(xiàn)組件116、輸入/輸出(I/O)端口 118、I/O組件120、以及說明性電源122。總線110可以是一條或多條總線(諸如地址總線、數(shù)據(jù)總線、或其組合)。雖然為了清楚起見利用線條示出了圖I的各框,但是實(shí)際上,各組件的輪廓并不是那樣清楚,并且比喻性地來說,線條更精確地將是灰色的和模糊的。例如,可以將諸如顯示設(shè)備等呈現(xiàn)組件認(rèn)為是I/O組件。而且,處理器具有存儲(chǔ)器。發(fā)明人認(rèn)識(shí)到,這是本領(lǐng)域的特性,并且重申,圖I的圖示只是例示可結(jié)合本發(fā)明的一個(gè)或多個(gè)實(shí)施例來使用的示例性計(jì)算設(shè)備。諸如“工作站”、“服務(wù)器”、“膝上型計(jì)算機(jī)”、“手持式設(shè)備”等分類之間沒有區(qū)別,它們?nèi)慷急徽J(rèn)為是在圖I的范圍之內(nèi)并且被稱為“計(jì)算機(jī)”或“計(jì)算設(shè)備”。計(jì)算設(shè)備100通常包括各種計(jì)算機(jī)可讀介質(zhì)。作為示例而非限制,計(jì)算機(jī)可 讀介質(zhì)可以包括隨機(jī)存取存儲(chǔ)器(RAM)只讀存儲(chǔ)器(ROM);電可擦除可編程只讀存儲(chǔ)器(EEPROM);閃存或其它存儲(chǔ)器技術(shù);CDR0M、數(shù)字多功能盤DVD)或其它光或全息介質(zhì);磁帶盒、磁帶、磁盤存儲(chǔ)或其它磁存儲(chǔ)設(shè)備;或可用于對(duì)所需信息進(jìn)行編碼并且可由計(jì)算設(shè)備100訪問的任何其它介質(zhì)。存儲(chǔ)器112包括易失性和/或非易失性存儲(chǔ)器形式的計(jì)算機(jī)存儲(chǔ)介質(zhì)。存儲(chǔ)器可以是可移動(dòng)的、不可移動(dòng)的、或其組合。示例性硬件設(shè)備包括固態(tài)存儲(chǔ)器、硬盤驅(qū)動(dòng)器、光盤驅(qū)動(dòng)器等。計(jì)算設(shè)備100包括從諸如存儲(chǔ)器112或I/O組件120等各種實(shí)體讀取數(shù)據(jù)的一個(gè)或多個(gè)處理器。呈現(xiàn)組件116向用戶或其他設(shè)備呈現(xiàn)數(shù)據(jù)指示。示例性呈現(xiàn)組件包括顯示設(shè)備、揚(yáng)聲器、打印組件、振蕩組件等。I/O端口 118允許計(jì)算設(shè)備100在邏輯上耦合至包括I/O組件120在內(nèi)的其他設(shè)備,其中某些設(shè)備可以是內(nèi)置的。說明性組件包括話筒、操縱桿、游戲板、圓盤式衛(wèi)星天線、掃描儀、打印機(jī)、無線設(shè)備等等。參考圖I和圖2,節(jié)點(diǎn)211和節(jié)點(diǎn)212可以由圖I的示例性計(jì)算設(shè)備100實(shí)現(xiàn)。另夕卜,端點(diǎn)201、202和230可以訪問圖I的存儲(chǔ)器112的一部分,并且在圖I的處理器114的一部分上運(yùn)行。類似地,驅(qū)動(dòng)程序223和233可以訪問圖I的存儲(chǔ)器112的一部分,并且在圖I的處理器114的一部分上運(yùn)行,該驅(qū)動(dòng)程序223和233將本地網(wǎng)關(guān)功能嵌入VM交換機(jī)222的虛擬交換機(jī)網(wǎng)絡(luò)棧(其支持虛擬機(jī)270和275上的端點(diǎn)201和202)中和/或嵌入用于物理機(jī)的本地機(jī)器網(wǎng)絡(luò)棧(其支持端點(diǎn)230)中?,F(xiàn)在轉(zhuǎn)向圖2,示出根據(jù)本發(fā)明的實(shí)施例的示例性云計(jì)算平臺(tái)200的框圖,該云計(jì)算平臺(tái)200被配置成通過使用各種形式的變換采用從目錄服務(wù)200收集的路由信息在驅(qū)動(dòng)程序223和233處執(zhí)行路由決策。在諸實(shí)施例中,雖然示為操作耦合到一個(gè)云計(jì)算平臺(tái)200,但是目錄服務(wù)220可存在于特定云的范圍之外(即,目錄服務(wù)220可表示跨公共和私有云共享的云服務(wù))。與各個(gè)云一起操作的該能力允許目錄服務(wù)實(shí)現(xiàn)跨多個(gè)云的網(wǎng)絡(luò)。能夠理解和明白,圖2中所示的云計(jì)算平臺(tái)200僅僅是一個(gè)合適的計(jì)算系統(tǒng)環(huán)境的示例,并且不旨在對(duì)本發(fā)明的實(shí)施例的使用范圍或功能提出任何限制。例如,云計(jì)算平臺(tái)200可以是公共云、私有云、或?qū)S迷啤R膊粦?yīng)該將云計(jì)算平臺(tái)200解釋為對(duì)其中所示出的任何單個(gè)組件或組件組合有任何依賴性或要求。此外,盡管為了清楚起見用線條示出了圖 2的各個(gè)框,但是在實(shí)際上,各組件的輪廓并不是那樣清楚,并且比喻性地來說,線條更精確地將是灰色的和模糊的。另外,可以采用任何數(shù)目的物理機(jī)、虛擬機(jī)、數(shù)據(jù)中心、端點(diǎn)或其組合來在本發(fā)明實(shí)施例的范圍內(nèi)實(shí)現(xiàn)所期望的功能。
      云計(jì)算平臺(tái)200可包括一個(gè)或多個(gè)數(shù)據(jù)中心(例如,數(shù)據(jù)中心225),其包括用于托管服務(wù)應(yīng)用和其它軟件的節(jié)點(diǎn)(例如,節(jié)點(diǎn)211和212)。按照本發(fā)明的實(shí)施例,節(jié)點(diǎn)211 和/或212可表示包括任何形式的計(jì)算設(shè)備的物理機(jī),諸如舉例而言個(gè)人計(jì)算機(jī)、臺(tái)式計(jì)算機(jī)、膝上型計(jì)算機(jī)、移動(dòng)設(shè)備、消費(fèi)電子設(shè)備、服務(wù)器、圖I的計(jì)算設(shè)備100等等。在另一實(shí)施例中,節(jié)點(diǎn)211和/或212可表示虛擬機(jī),或者可提供對(duì)虛擬機(jī)(例如,虛擬機(jī)270和 275)的操作的底層支持。在操作中,虛擬機(jī)270和275支持?jǐn)?shù)據(jù)中心225的承租者的操作。 如本文所用,術(shù)語“承租者”通常是指云計(jì)算平臺(tái)200的顧客所擁有的服務(wù)應(yīng)用的組件程序 (例如,各個(gè)角色的實(shí)例)。
      一般而言,虛擬機(jī)270和275基于對(duì)服務(wù)應(yīng)用提出的需求(例如處理負(fù)載的量)被分配給服務(wù)應(yīng)用的端點(diǎn)201和202。如本文所使用的那樣,用語“虛擬機(jī)”無意為限制性的, 并且可以指由處理單元執(zhí)行以支持端點(diǎn)201和202的功能的任何軟件、應(yīng)用、操作系統(tǒng)或程序。在另一實(shí)施例中,虛擬機(jī)是指從支持?jǐn)?shù)據(jù)中心225的承租者的節(jié)點(diǎn)開辟出的處理能力和存儲(chǔ)器資源。以此方式,節(jié)點(diǎn)211托管并支持虛擬機(jī)270和275的操作,同時(shí)托管被開辟為支持?jǐn)?shù)據(jù)中心225的其他承租者的其他虛擬機(jī),其中承租者包括由不同顧客擁有的其他服務(wù)應(yīng)用的端點(diǎn)。因此,虛擬機(jī)270和275可以包括處理能力、存儲(chǔ)位置、以及數(shù)據(jù)中心225 內(nèi)的其他資產(chǎn)以合適地支持端點(diǎn)201和202。
      在操作中,虛擬機(jī)270和275被動(dòng)態(tài)地分配在數(shù)據(jù)中心225的資源(例如節(jié)點(diǎn)211) 內(nèi),并且端點(diǎn)(例如,端點(diǎn)201和202)被動(dòng)態(tài)地放置在所分配的虛擬機(jī)270和275上以滿足當(dāng)前處理負(fù)載。在一個(gè)實(shí)例中,結(jié)構(gòu)控制器232負(fù)責(zé)自動(dòng)分配虛擬機(jī)270和275以及將端點(diǎn)201和202放置在數(shù)據(jù)中心225內(nèi)。作為示例,結(jié)構(gòu)控制器232可以依靠服務(wù)模型(例如由擁有服務(wù)應(yīng)用的顧客來設(shè)計(jì)的)來提供關(guān)于如何和何時(shí)分配虛擬機(jī)270和275以及將端點(diǎn)201和202放置到其上的指導(dǎo)。
      在一個(gè)實(shí)例中,節(jié)點(diǎn)211和212托管并支持端點(diǎn)201、202和230的操作。術(shù)語“端點(diǎn)”無意為限制性的,而是可涵蓋服務(wù)應(yīng)用的程序組件(即,數(shù)據(jù)中心225的承租者)或在節(jié)點(diǎn)、物理機(jī)或VM上運(yùn)行的網(wǎng)絡(luò)適配器。在一方面,端點(diǎn)201、202和230在云計(jì)算平臺(tái)200 的環(huán)境中操作,并且因此通過它們之間的動(dòng)態(tài)連接內(nèi)部地通信。在另一方面,端點(diǎn)201、202 和230通過到遠(yuǎn)程網(wǎng)絡(luò)的資源(例如,圖3的企業(yè)私有網(wǎng)絡(luò)325的資源375)的物理網(wǎng)絡(luò)拓?fù)渫獠康赝ㄐ?。外部連接可進(jìn)一步包括經(jīng)由網(wǎng)絡(luò)(未示出)互連到跨數(shù)據(jù)中心225的物理資源分布的端點(diǎn)。在一個(gè)實(shí)施例中,如端點(diǎn)230所示,網(wǎng)絡(luò)直接互連這些資源,以使始發(fā)端點(diǎn) (用于生成數(shù)據(jù)分組)可識(shí)別接收者端點(diǎn)(用于將數(shù)據(jù)分組轉(zhuǎn)發(fā)到目標(biāo)端點(diǎn))的位置或目標(biāo)端點(diǎn)(用于消耗數(shù)據(jù)分組)的位置,以在它們之間建立通信。在另一實(shí)施例中,網(wǎng)絡(luò)間接互連這些資源,以使對(duì)分別托管在虛擬機(jī)270和275上的端點(diǎn)201或202尋址的數(shù)據(jù)分組可經(jīng)由網(wǎng)絡(luò)被重新路由并且在被本地地分布到駐留在相同節(jié)點(diǎn)上的適當(dāng)端點(diǎn)之前被傳遞到VM交換機(jī)222。此外,網(wǎng)絡(luò)可建立經(jīng)信道(例如,安全隧道)的通信,由此實(shí)現(xiàn)附加保護(hù)層或采用服務(wù)應(yīng)用的端點(diǎn)之間連接的標(biāo)準(zhǔn)安全手段。舉例來說,這些信道可包括但不限于一個(gè)或多個(gè)局域網(wǎng)(LAN)和/或廣域網(wǎng)(WAN)。這樣的聯(lián)網(wǎng)環(huán)境常見于辦公室、企業(yè)范圍計(jì)算機(jī)網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)和因特網(wǎng)中。因此,不在此進(jìn)一步描述該網(wǎng)絡(luò)。云計(jì)算平臺(tái)200包括數(shù)據(jù)中心225,該數(shù)據(jù)中心225被配置為托管和支持分配給特定服務(wù)應(yīng)用的端點(diǎn)201、202和230的操作。如本文所用,用語“服務(wù)應(yīng)用”廣泛地指在存儲(chǔ)位置上運(yùn)行或訪問存儲(chǔ)位置的任何軟件、或軟件的部分,該存儲(chǔ)位置在數(shù)據(jù)中心225、云計(jì)算平臺(tái)200內(nèi)的另一數(shù)據(jù)中心、位于顧客場(chǎng)所處的企業(yè)私有網(wǎng)絡(luò)中的資源(例如,圖3的企業(yè)私有網(wǎng)絡(luò)325的資源375)、和/或第三方網(wǎng)絡(luò)中的資源(例如,圖3的第三方網(wǎng)絡(luò)335的資源325)中。如上所述,端點(diǎn)201、202和230可以表示參與服務(wù)應(yīng)用的軟件的部分、組件程序、或角色的實(shí)例。在另一實(shí)施例中,端點(diǎn)201、202和230可以表示服務(wù)應(yīng)用可訪問的所存儲(chǔ)的數(shù)據(jù)。能夠理解和明白,圖2中所示的端點(diǎn)201、202和230僅僅是支持服務(wù)應(yīng)用的合適部分的示例,并且不旨在對(duì)本發(fā)明的實(shí)施例的數(shù)量、使用范圍或功能提出任何限制。雖然一個(gè)服務(wù)應(yīng)用被描述為在單個(gè)數(shù)據(jù)中心225的兩個(gè)節(jié)點(diǎn)211和212上分布,但是應(yīng)當(dāng)理解和明白,可使用駐留在各個(gè)數(shù)據(jù)中心或其它合適設(shè)備內(nèi)的任何數(shù)量的節(jié)點(diǎn)上 的任何數(shù)量的服務(wù)應(yīng)用,并且本發(fā)明的實(shí)施例不限于本文描述的這些節(jié)點(diǎn)、服務(wù)應(yīng)用和數(shù)據(jù)中心。此外,任何數(shù)量的端點(diǎn)可在節(jié)點(diǎn)中實(shí)例化和/或分配給服務(wù)應(yīng)用,并且圖2和3所示的端點(diǎn)只是為了描述的目的示出。在一個(gè)實(shí)例中,數(shù)據(jù)中心225的體系結(jié)構(gòu)允許管理系統(tǒng)(例如,結(jié)構(gòu)控制器232)或云計(jì)算平臺(tái)200的管理員實(shí)例化新端點(diǎn)或重新分配當(dāng)前端點(diǎn)以支持服務(wù)應(yīng)用。結(jié)構(gòu)控制器232也可建立和拆卸用以連接端點(diǎn)201、202和230的網(wǎng)絡(luò)路徑和隧道。此外,結(jié)構(gòu)控制器232可周期性地獲得數(shù)據(jù)中心225的拓?fù)涞目煺?。這些快照可記錄當(dāng)前建立的通過數(shù)據(jù)中心網(wǎng)絡(luò)的網(wǎng)絡(luò)路徑和隧道以及端點(diǎn)的地址。這些快照可中繼到目錄服務(wù)220,用于在其中存儲(chǔ)。在諸實(shí)施例中,目錄服務(wù)220可被配置成存儲(chǔ)與物理網(wǎng)絡(luò)的位置依賴地址相關(guān)聯(lián)的虛擬IP地址。此外,目錄服務(wù)220可被配置成存儲(chǔ)與數(shù)據(jù)中心網(wǎng)絡(luò)的各個(gè)網(wǎng)絡(luò)路徑和隧道相關(guān)聯(lián)的變換動(dòng)作。以此方式,由目錄服務(wù)220對(duì)在服務(wù)應(yīng)用的承租者之間發(fā)送的數(shù)據(jù)分組實(shí)施服務(wù)應(yīng)用的服務(wù)模型的安全策略。如上所述,本發(fā)明的諸實(shí)施例介紹了通過利用物理層(實(shí)線)中的網(wǎng)絡(luò)路徑和隧道允許跨虛擬層(虛線)的端點(diǎn)之間的通信的體系結(jié)構(gòu)。在物理層中,經(jīng)由鏈路的網(wǎng)絡(luò)可到達(dá)端點(diǎn)。通常,優(yōu)選的是,基于交互端點(diǎn)的位置智能地選擇網(wǎng)絡(luò)的適當(dāng)鏈路以避免通過集中的路由機(jī)構(gòu)傳送所有通信,因此避免網(wǎng)絡(luò)擁塞。為了實(shí)現(xiàn)物理層鏈路的智能選擇以及通過所選鏈路的數(shù)據(jù)分組的適當(dāng)轉(zhuǎn)換,在諸實(shí)施例中,由協(xié)同操作的兩種不同技術(shù)來支持該體系結(jié)構(gòu)驅(qū)動(dòng)程序223和233,以及目錄服務(wù)220。驅(qū)動(dòng)程序223和233與一個(gè)或多個(gè)端點(diǎn)相關(guān)聯(lián),并且根據(jù)驅(qū)動(dòng)程序所幫助的端點(diǎn)的類型嵌入在數(shù)據(jù)中心225中。如果端點(diǎn)(例如,端點(diǎn)230)被托管在物理機(jī)(例如,節(jié)點(diǎn)212)上,則驅(qū)動(dòng)程序233在將數(shù)據(jù)分組直接置于端點(diǎn)間的話務(wù)中的主交換機(jī)(未示出)中實(shí)現(xiàn)。在該實(shí)施例中,一旦檢測(cè)到一個(gè)或多個(gè)數(shù)據(jù)分組到達(dá)或離開端點(diǎn)230,驅(qū)動(dòng)程序233就可通過向目錄服務(wù)220發(fā)送請(qǐng)求273來請(qǐng)求路由信息,該請(qǐng)求273攜帶結(jié)合入數(shù)據(jù)分組的報(bào)頭中的源IP地址和目的地IP地址。一旦接收到對(duì)路由信息的請(qǐng)求273,目錄服務(wù)220就可回復(fù)一響應(yīng)274,該響應(yīng)274攜帶數(shù)據(jù)分組的轉(zhuǎn)發(fā)路徑和適用于該轉(zhuǎn)發(fā)路徑的變換動(dòng)作。
      如果端點(diǎn)(例如,端點(diǎn)201和202)被托管在虛擬機(jī)(例如,虛擬機(jī)270和275)上, 則驅(qū)動(dòng)程序(例如,驅(qū)動(dòng)程序223)在網(wǎng)絡(luò)棧中實(shí)現(xiàn),隱藏所有現(xiàn)有適配器,并呈現(xiàn)網(wǎng)絡(luò)的單個(gè)虛擬化接口。在該實(shí)施例中,驅(qū)動(dòng)程序223可表示獨(dú)立的VM交換機(jī),或者可結(jié)合入現(xiàn)有 VM交換機(jī)(例如,VM交換機(jī)222)中。在諸實(shí)施例中,設(shè)置VM交換機(jī)222以提供數(shù)據(jù)中心 225內(nèi)部和外部的端點(diǎn)之間的隔離連接,如參考圖3更全面討論的。如本文所用,用語“虛擬機(jī)交換機(jī)”或“VM交換機(jī)”無意為限制性的,而是可涵蓋駐留在數(shù)據(jù)中心、企業(yè)私有網(wǎng)絡(luò)、 第三方網(wǎng)絡(luò)等中的,負(fù)責(zé)跨服務(wù)應(yīng)用的端點(diǎn)之間的網(wǎng)絡(luò)安全地路由數(shù)據(jù)分組的任何基于軟件的組件。作為示例,VM交換機(jī)可以是展示某些應(yīng)用程序編程接口(API)用于網(wǎng)絡(luò)管理的任何網(wǎng)絡(luò)邊緣設(shè)備(例如,架頂式交換機(jī)、節(jié)點(diǎn)中的物理網(wǎng)絡(luò)接口卡、VM中的虛擬接口卡、 或非虛擬化主機(jī)中的聯(lián)網(wǎng)棧)。在其它示例中,VM交換機(jī)執(zhí)行的所有或部分操作(例如,與目錄服務(wù)220的通信、封裝、解封裝、修改分組、和其它動(dòng)作)可由路由模塊執(zhí)行。如此,VM 交換機(jī)可實(shí)施一個(gè)或多個(gè)路由模塊、網(wǎng)絡(luò)邊緣設(shè)備、物理交換機(jī)、路由設(shè)備等。
      類似于驅(qū)動(dòng)程序233,驅(qū)動(dòng)程序223 —旦檢測(cè)到一個(gè)或多個(gè)數(shù)據(jù)分組到達(dá)或離開端點(diǎn)201或202中的任一個(gè),則可通過向目錄服務(wù)220發(fā)送請(qǐng)求271來請(qǐng)求路由信息,該請(qǐng)求271攜帶結(jié)合入數(shù)據(jù)分組的報(bào)頭中的源IP地址和目的地IP地址。一旦接收到對(duì)路由信息的請(qǐng)求271,目錄服務(wù)220就可回復(fù)一響應(yīng)272,該響應(yīng)272攜帶數(shù)據(jù)分組的轉(zhuǎn)發(fā)路徑和適用于該轉(zhuǎn)發(fā)路徑的變換動(dòng)作。
      現(xiàn)在參考圖2和3,現(xiàn)在將討論驅(qū)動(dòng)程序223和233與目錄服務(wù)220之間的附加交互。如上所述,驅(qū)動(dòng)程序可分布在數(shù)據(jù)中心225的多個(gè)節(jié)點(diǎn)上以及數(shù)據(jù)中心225外部的資源上。驅(qū)動(dòng)程序223和233可根據(jù)一個(gè)或多個(gè)因素(例如,IP話務(wù)的速度、數(shù)據(jù)中心225 的承租者消耗的計(jì)算負(fù)載、以及節(jié)點(diǎn)是在線還是斷線)在數(shù)據(jù)中心225內(nèi)的節(jié)點(diǎn)上動(dòng)態(tài)地實(shí)例化,或從中卸下。在一個(gè)實(shí)施例中,結(jié)構(gòu)控制器232負(fù)責(zé)實(shí)例化或卸下VM交換機(jī)。
      在操作中,驅(qū)動(dòng)程序223和233表示用于其各個(gè)節(jié)點(diǎn)的虛擬網(wǎng)絡(luò)適配器,并且用作到服務(wù)應(yīng)用或子網(wǎng)內(nèi)的特定端點(diǎn)的網(wǎng)關(guān)。在該實(shí)施例中,提供一種拓?fù)洌渲芯W(wǎng)關(guān)作出關(guān)于在發(fā)送數(shù)據(jù)分組時(shí)在哪里使用物理層鏈路、如何使用物理層鏈路、以及使用哪些物理層鏈路的路由決策。通過跨內(nèi)部和外部節(jié)點(diǎn)分布驅(qū)動(dòng)程序,該網(wǎng)關(guān)功能上現(xiàn)在被虛擬化并跨網(wǎng)絡(luò)擴(kuò)展。
      在示例性實(shí)施例中,路由決策有助于確定轉(zhuǎn)發(fā)路徑,該轉(zhuǎn)發(fā)路徑并不總是需要通過集中服務(wù)器發(fā)送數(shù)據(jù)分組。此外,路由決策可基于每個(gè)連接/每個(gè)機(jī)器而專門化。在一個(gè)實(shí)例中,路由決策可能確定將高度保護(hù)的變換動(dòng)作應(yīng)用于數(shù)據(jù)分組,該高度保護(hù)的變換動(dòng)作采用安全隧道來鏈接跨遠(yuǎn)程數(shù)據(jù)中心的端點(diǎn)。在另一實(shí)例中,路由決策可能確定采用更輕量的變換動(dòng)作,例如在端點(diǎn)共存于公共安全網(wǎng)絡(luò)上時(shí)封裝或重寫數(shù)據(jù)分組的報(bào)頭。在該實(shí)例中,端點(diǎn)可駐留在相同子網(wǎng)內(nèi),并且可以經(jīng)由數(shù)據(jù)中心網(wǎng)絡(luò)的服務(wù)器之間的直接路徑而彼此可見。因此,路由決策可利用相同子網(wǎng)中端點(diǎn)的能力,以使用不具有公共擁塞點(diǎn)的物理層鏈路上的路線,從而優(yōu)化它們的相互連接。這些和其它路由決策參考圖4更全面地描述。
      在諸實(shí)施例中,在驅(qū)動(dòng)程序223和233中分別提供路由/重寫組件(RC) 224和234。 在操作中,RC 224和234能夠接受源自節(jié)點(diǎn)或端點(diǎn)的操作系統(tǒng)的、或者經(jīng)由安全隧道或網(wǎng)絡(luò)路徑傳遞的每個(gè)數(shù)據(jù)分組,并且基于數(shù)據(jù)分組的內(nèi)容(例如,報(bào)頭中攜帶的信息)確定正確轉(zhuǎn)發(fā)路徑和變換動(dòng)作(如果有的話)。在一個(gè)實(shí)例中,RC 224和234檢查其接受的每個(gè)數(shù)據(jù)分組的源IP地址和/或目的地IP地址,并且向目錄服務(wù)220查詢路由信息(例如,經(jīng)由請(qǐng)求271和273)。目錄服務(wù)220可分別用響應(yīng)272和274來回答請(qǐng)求271和273,該響應(yīng)272和274可包括各種類型的路由信息。因此,RC 224和234具有管理多個(gè)隧道/重寫協(xié)議的能力,該多個(gè)隧道/重寫協(xié)議對(duì)路由信息作出響應(yīng)并且支持?jǐn)?shù)據(jù)分組的不同轉(zhuǎn)發(fā)過程。通常,目錄服務(wù)220保留網(wǎng)絡(luò)315的知識(shí),以及其中的網(wǎng)絡(luò)路徑和安全隧道350。作為示例,該知識(shí)包括關(guān)于端點(diǎn)的信息、端點(diǎn)駐留在什么網(wǎng)絡(luò)中、在這些網(wǎng)絡(luò)中建立什么網(wǎng)絡(luò)路徑、什么變換動(dòng)作適合于跨網(wǎng)絡(luò)路徑的特定轉(zhuǎn)發(fā)路徑、以及如何執(zhí)行變換動(dòng)作。在操作中,與RC 224和234請(qǐng)求路由信息相關(guān)聯(lián)的,目錄服務(wù)220可應(yīng)用該網(wǎng)絡(luò)知識(shí)來通知第一端點(diǎn)如何達(dá)到網(wǎng)絡(luò)315中的第二端點(diǎn)。為此,目錄服務(wù)220維護(hù)虛擬IP地址與位置依賴地址之間的映射310。在示例性實(shí)施例中,映射維護(hù)互連的端點(diǎn)之間的一個(gè)或多個(gè)邏輯關(guān)聯(lián),并實(shí)施與端點(diǎn)相關(guān)聯(lián)的訪問控制,以實(shí)現(xiàn)網(wǎng)絡(luò)可到達(dá)性。在一個(gè)實(shí)例中,邏輯關(guān)聯(lián)屬于作為子網(wǎng)成員的端點(diǎn)之間的關(guān)聯(lián)。目錄服務(wù)220也可維護(hù)識(shí)別合適變換動(dòng)作的表320。在一個(gè)實(shí)例中,表320被設(shè)計(jì) 成實(shí)施通信策略,其通常由顧客經(jīng)由服務(wù)級(jí)協(xié)定(SLA)來適當(dāng)?shù)卦O(shè)置。在另一實(shí)例中,通信策略針對(duì)服務(wù)應(yīng)用和/或子網(wǎng)來具體設(shè)計(jì),并且可包括管控哪些系統(tǒng)過程被授予對(duì)子網(wǎng)的成員端點(diǎn)的訪問權(quán)以及端點(diǎn)是否可直接連接而不涉及集中路由設(shè)備的許可的列表。在又一實(shí)例中,通信策略可清楚地表達(dá)要對(duì)特定端點(diǎn)實(shí)施什么安全級(jí)。在另一實(shí)例中,通信策略用作在接收到來自驅(qū)動(dòng)程序的請(qǐng)求時(shí)掃描映射310以獲得可應(yīng)用的條目的安全模型,并且基于可應(yīng)用的條目中的信息確定原始數(shù)據(jù)傳輸是否經(jīng)授權(quán)。在又一實(shí)例中,通信策略可表示應(yīng)用于端口號(hào)或網(wǎng)絡(luò)適配器的規(guī)則,其在數(shù)據(jù)中心225的節(jié)點(diǎn)中是可用的,以查明是否允許端口號(hào)或網(wǎng)絡(luò)適配器執(zhí)行某些操作。一旦目錄服務(wù)220接收到來自驅(qū)動(dòng)程序的請(qǐng)求,目錄服務(wù)220就可執(zhí)行以下查找過程用源IP地址和目的地IP地址來檢查映射310以標(biāo)識(shí)出相應(yīng)的位置依賴地址,其構(gòu)成通過物理網(wǎng)絡(luò)380的數(shù)據(jù)分組的轉(zhuǎn)發(fā)路徑;或者用轉(zhuǎn)發(fā)路徑來檢查表320以標(biāo)識(shí)出相應(yīng)的變換動(dòng)作。換言之,目錄服務(wù)接收數(shù)據(jù)集(源IP地址、目的地IP地址),并且經(jīng)由依靠映射310和表320的轉(zhuǎn)換,返回?cái)?shù)據(jù)集(轉(zhuǎn)發(fā)路徑、變換動(dòng)作)。返回?cái)?shù)據(jù)集支持請(qǐng)求方驅(qū)動(dòng)程序中的路由決策做出過程。如以下更全面討論的,變換動(dòng)作可包括但不限于以下的一個(gè)或多個(gè)重寫數(shù)據(jù)分組的報(bào)頭以包括位置依賴地址;將數(shù)據(jù)分組封裝為各個(gè)外部數(shù)據(jù)分組內(nèi)的內(nèi)部數(shù)據(jù)分組,各個(gè)外部數(shù)據(jù)分組包括攜帶位置依賴地址的報(bào)頭;或者用隧道協(xié)議配置數(shù)據(jù)分組。最后,目錄服務(wù)220可返回響應(yīng),該響應(yīng)將所標(biāo)識(shí)出的轉(zhuǎn)發(fā)路徑和所標(biāo)識(shí)出的變換動(dòng)作的標(biāo)記傳遞給請(qǐng)求方驅(qū)動(dòng)程序(虛擬網(wǎng)絡(luò)網(wǎng)關(guān))。雖然在圖2和3中描繪為將信息推送給請(qǐng)求方驅(qū)動(dòng)程序的單個(gè)集中服務(wù)器,但是目錄服務(wù)220的功能可經(jīng)由聯(lián)合并保存到一組機(jī)器的本地文件來實(shí)現(xiàn)?;蛘撸夸浄?wù)220的功能可在請(qǐng)求方驅(qū)動(dòng)程序處提前高速緩存(如果事先推出的話),從而消除發(fā)送外部請(qǐng)求的步驟?,F(xiàn)在參考圖3,示出根據(jù)本發(fā)明的實(shí)施例將虛擬網(wǎng)絡(luò)地址解析成物理網(wǎng)絡(luò)路徑和變換動(dòng)作的分布式計(jì)算環(huán)境300的示例性體系結(jié)構(gòu)的示意圖。最初,分布式計(jì)算環(huán)境300包括物理網(wǎng)絡(luò)380,該物理網(wǎng)絡(luò)380包括企業(yè)私有網(wǎng)絡(luò)325、第三方網(wǎng)絡(luò)335、和云計(jì)算平臺(tái) 200,如參考圖2所討論的。如本文所使用的那樣,用語“物理網(wǎng)絡(luò)”無意為限制性的,而是可以涵蓋便于地理上遠(yuǎn)程位置處的端點(diǎn)之間的通信的有形機(jī)構(gòu)和設(shè)備(例如光纖線、電路箱、 交換機(jī)、天線、IP路由器等等)和無形通信和載波。舉例來說,物理網(wǎng)絡(luò)380可以包括用在因特網(wǎng)內(nèi)或者可用于提升不同網(wǎng)絡(luò)間通信的任何有線或無線技術(shù)。
      一般而言,企業(yè)私有網(wǎng)絡(luò)325包括諸如資源375之類的資源,該資源由云計(jì)算平臺(tái) 200的顧客來管理。這些資源常常托管和支持顧客所擁有的服務(wù)應(yīng)用的組件的操作。端點(diǎn) B 385表示服務(wù)應(yīng)用的組件中的一個(gè)或多個(gè)。在諸實(shí)施例中,諸如圖2的虛擬機(jī)270之類的資源在圖2的數(shù)據(jù)中心225內(nèi)被分配為托管和支持服務(wù)應(yīng)用的遠(yuǎn)程分布組件的操作。端點(diǎn) A 211和C 212表示服務(wù)應(yīng)用的這些遠(yuǎn)程分布組件中的兩個(gè)。在操作中,端點(diǎn)A 21UB 385 和C 212彼此協(xié)同工作以保證服務(wù)應(yīng)用正確地運(yùn)行。在一個(gè)實(shí)例中,協(xié)同工作包括跨物理網(wǎng)絡(luò)380的網(wǎng)絡(luò)315在端點(diǎn)A 21UB 385和C 212之間傳送數(shù)據(jù)分組316。
      在物理網(wǎng)絡(luò)380中還提供第三方網(wǎng)絡(luò)335。在諸實(shí)施例中,第三方網(wǎng)絡(luò)335可以指不是圖3的企業(yè)私有網(wǎng)絡(luò)325或云計(jì)算平臺(tái)200的任何其他網(wǎng)絡(luò)。舉例來說,第三方網(wǎng)絡(luò)335可以包括保持供服務(wù)應(yīng)用或廠商使用的信息的數(shù)據(jù)存儲(chǔ),該廠商提供軟件以支持服務(wù)應(yīng)用的一個(gè)或多個(gè)操作。在諸實(shí)施例中,第三方網(wǎng)絡(luò)335表示包括其上安裝有端點(diǎn)D 345 的資源355的資源的網(wǎng)絡(luò),其對(duì)圖6的云計(jì)算平臺(tái)200是可用的。
      通常,資源355和375以及數(shù)據(jù)中心225包括或鏈接到某種形式的計(jì)算單元(例如中央處理單元、微處理器等等)以支持在其上運(yùn)行的端點(diǎn)和/或組件的操作。如本文中所使用的那樣,短語“計(jì)算單元”通常是指具有處理能力和存儲(chǔ)存儲(chǔ)器的專用計(jì)算設(shè)備,該專用計(jì)算設(shè)備支持一個(gè)或多個(gè)操作系統(tǒng)或其他基礎(chǔ)軟件。在一個(gè)實(shí)例中,該計(jì)算單元配置有有形硬件元件或機(jī)器,該有形硬件元件或機(jī)器是一體的、或者可操作地耦合到資源355和375 以及數(shù)據(jù)中心225以使每個(gè)設(shè)備都能夠執(zhí)行各種過程和操作。在另一實(shí)例中,該計(jì)算單元可以涵蓋處理器(未示出),該處理器耦合到由這些資源355和375以及數(shù)據(jù)中心225中的每一個(gè)所容納的計(jì)算機(jī)可讀介質(zhì)。一般而言,計(jì)算機(jī)可讀介質(zhì)至少臨時(shí)地存儲(chǔ)可由處理器執(zhí)行的多個(gè)計(jì)算機(jī)軟件組件(例如端點(diǎn)A 211、B 385、C 212和D 345)。如本文所使用的, 術(shù)語“處理器”不旨在是限制性的,并且可涵蓋具有計(jì)算能力的計(jì)算單元的任何要素。在這種能力中,處理器可被配置成處理指令的有形物品。在示例性實(shí)施例中,處理可以包括取指令、解碼/解釋指令、執(zhí)行和寫回指令。
      虛擬網(wǎng)絡(luò)覆蓋330 (“覆蓋330”)通常是為諸如包括端點(diǎn)A 211、B 385、C212和D 345的服務(wù)應(yīng)用之類的單個(gè)服務(wù)應(yīng)用建立的,以便提升和保護(hù)服務(wù)應(yīng)用的端點(diǎn)之間的通信。 一般而言,覆蓋330表示虛擬IP地址的層而不是物理IP地址的層,該虛擬IP地址的層虛擬地表示服務(wù)應(yīng)用的端點(diǎn)并且連接虛擬表示。在其他實(shí)施例中,覆蓋330是構(gòu)建在物理網(wǎng)絡(luò)380之上的虛擬網(wǎng)絡(luò),該物理網(wǎng)絡(luò)380包括被分配給控制服務(wù)應(yīng)用的顧客的資源。在操作中,覆蓋330維護(hù)互連的端點(diǎn)A 21UB 385,C 212和D 345的一個(gè)或多個(gè)邏輯關(guān)聯(lián),并且可實(shí)施與端點(diǎn)A 21UB 385, C 212和D 345相關(guān)聯(lián)的訪問控制/安全性,以實(shí)現(xiàn)物理網(wǎng)絡(luò)可到達(dá)性(例如使用物理傳輸)。
      現(xiàn)在參考圖3和4,現(xiàn)在將描述各個(gè)可能的路由決策。具體而言,圖4示出根據(jù)本發(fā)明的實(shí)施例的用于將目錄服務(wù)220分發(fā)的路由信息應(yīng)用于路由決策的示例性決策樹400的示意圖。如上所述,驅(qū)動(dòng)程序可部分地基于鏈接到驅(qū)動(dòng)程序的主端點(diǎn)表示數(shù)據(jù)分組的始發(fā)端點(diǎn)、用于將數(shù)據(jù)分組轉(zhuǎn)發(fā)到目標(biāo)端點(diǎn)的接收者端點(diǎn)、還是目標(biāo)端點(diǎn)來執(zhí)行路由決策。在第一實(shí)例中,當(dāng)主端點(diǎn)表示始發(fā)端點(diǎn)(例如,端點(diǎn)C 212)時(shí),與該始發(fā)端點(diǎn)相關(guān)聯(lián)的驅(qū)動(dòng)程序可檢測(cè)始發(fā)端點(diǎn)嘗試發(fā)送從中生成的一個(gè)或多個(gè)數(shù)據(jù)分組,如框401所示。驅(qū)動(dòng)程序然后可通過發(fā)送包括指向主端點(diǎn)的源IP地址、和目的地IP地址的標(biāo)記的請(qǐng)求來請(qǐng)求目錄服務(wù)220執(zhí)行查找過程,如框402所示。
      部分地基于從目錄服務(wù)220傳遞到驅(qū)動(dòng)程序的路由信息執(zhí)行路由決策,如框403 所示。路由決策可導(dǎo)致但不限于以下變換動(dòng)作中的一個(gè)或多個(gè)重寫數(shù)據(jù)分組的報(bào)頭以包括位置依賴地址(參見框404);用隧道協(xié)議配置數(shù)據(jù)分組并經(jīng)由安全隧道重定向數(shù)據(jù)分組(參見框405);或者將數(shù)據(jù)分組封裝為各個(gè)外部數(shù)據(jù)分組內(nèi)的內(nèi)部數(shù)據(jù)分組(參見框 406),其中各個(gè)外部數(shù)據(jù)分組包括攜帶位置依賴地址的報(bào)頭。
      在示例性實(shí)施例中,一旦驅(qū)動(dòng)程序確定始發(fā)端點(diǎn)和目標(biāo)端點(diǎn)都駐留在公共數(shù)據(jù)中心或子網(wǎng)中,則路由可導(dǎo)致用各個(gè)位置依賴地址重寫源IP地址和目的地IP地址的變換動(dòng)作。然而,當(dāng)驅(qū)動(dòng)程序確定在去除源IP地址和目的地IP地址的情況下接收者端點(diǎn)或目標(biāo)端點(diǎn)不能轉(zhuǎn)換數(shù)據(jù)分組的報(bào)頭時(shí)(例如,接收者/目標(biāo)端點(diǎn)位于與始發(fā)端點(diǎn)所駐留的數(shù)據(jù)中心或子網(wǎng)不同的數(shù)據(jù)中心或子網(wǎng)中),路由決策將導(dǎo)致將數(shù)據(jù)分組封裝為各個(gè)外部數(shù)據(jù)分組內(nèi)的內(nèi)部數(shù)據(jù)分組,以在數(shù)據(jù)分組的有效載荷中保留源IP地址和目的地IP地址。在以上該實(shí)施例中,驅(qū)動(dòng)程序也可識(shí)別端點(diǎn)之間的網(wǎng)絡(luò)路徑實(shí)質(zhì)上被保護(hù),足以滿足管控服務(wù)模型的安全策略。相反,當(dāng)驅(qū)動(dòng)程序識(shí)別出連接一個(gè)或多個(gè)端點(diǎn)的網(wǎng)絡(luò)路徑缺乏管控服務(wù)模型指示的保護(hù)級(jí)別或安全連接級(jí)別時(shí),路由決策可導(dǎo)致變換數(shù)據(jù)分組以包括安全隧道協(xié)議的變換動(dòng)作,由此嘗試避免惡意動(dòng)作者攔截?cái)?shù)據(jù)分組。
      一旦執(zhí)行路由決策,始發(fā)端點(diǎn)就可開始將經(jīng)處理的數(shù)據(jù)分組發(fā)送到接收者端點(diǎn) (例如,端點(diǎn)A 211或D 345)或目標(biāo)端點(diǎn)(例如,端點(diǎn)B 385),如框407所示。雖然接收者端點(diǎn)在此被描述為單個(gè)網(wǎng)絡(luò)躍點(diǎn),但是可以明白和理解,網(wǎng)絡(luò)中可以存在一個(gè)以上的中間躍點(diǎn),這將允許接收者端點(diǎn)能夠轉(zhuǎn)發(fā)至另外一個(gè)或多個(gè)接收者端點(diǎn)。在第二實(shí)例中,當(dāng)主端點(diǎn)表示接收者端點(diǎn)時(shí),與接收者端點(diǎn)相關(guān)聯(lián)的驅(qū)動(dòng)程序可檢測(cè)到達(dá)它的經(jīng)處理的數(shù)據(jù)分組,如框408所示。驅(qū)動(dòng)程序然后可通過發(fā)送包括源IP地址和目的地IP地址的標(biāo)記的請(qǐng)求來請(qǐng)求目錄服務(wù)220執(zhí)行查找過程,如框409所示。
      部分地基于從目錄服務(wù)220傳遞到驅(qū)動(dòng)程序的路由信息執(zhí)行路由決策,如框410 所示。路由決策可導(dǎo)致以下變換動(dòng)作中的一個(gè)或多個(gè)通過隧道350重定向經(jīng)封裝的數(shù)據(jù)分組或具有重寫報(bào)頭的數(shù)據(jù)分組(參見框411)(例如,參見端點(diǎn)D 345);從數(shù)據(jù)分組去除隧道協(xié)議(參見框412);或者在另一網(wǎng)絡(luò)路徑上轉(zhuǎn)發(fā)經(jīng)封裝的數(shù)據(jù)分組或具有重寫報(bào)頭的數(shù)據(jù)分組(參見框413)(例如,參見端點(diǎn)A 211)。同樣,是調(diào)用在網(wǎng)絡(luò)路徑上轉(zhuǎn)發(fā)數(shù)據(jù)分組的變換動(dòng)作、還是調(diào)用經(jīng)由隧道重定向數(shù)據(jù)分組的變換動(dòng)作的路由決策包括分別標(biāo)識(shí)出端點(diǎn)通過安全連接來鏈接或者通過跨未受保護(hù)的網(wǎng)絡(luò)(例如,因特網(wǎng))的連接來鏈接。
      一旦執(zhí)行路由決策,接收者端點(diǎn)就可開始將經(jīng)處理的數(shù)據(jù)分組發(fā)送到目標(biāo)端點(diǎn) (例如,端點(diǎn)B 385),如框414所示。在第三實(shí)例中,當(dāng)主端點(diǎn)表示目標(biāo)端點(diǎn)時(shí),與目標(biāo)端點(diǎn)相關(guān)聯(lián)的驅(qū)動(dòng)程序可檢測(cè)到達(dá)該目標(biāo)端點(diǎn)的經(jīng)處理的數(shù)據(jù)分組,如框415所示。驅(qū)動(dòng)程序然后可通過向目標(biāo)端點(diǎn)發(fā)送包括源IP地址和目的地IP地址的標(biāo)記的請(qǐng)求來請(qǐng)求目錄服務(wù)220執(zhí)行查找過程,如框416所示。部分地基于從目錄服務(wù)220傳遞到驅(qū)動(dòng)程序的路由信息執(zhí)行路由決策,如框417所示。當(dāng)主端點(diǎn)表示目標(biāo)端點(diǎn)時(shí),路由決策可導(dǎo)致以下變換動(dòng)作中的一個(gè)或多個(gè)恢復(fù)被重寫的數(shù)據(jù)分組的報(bào)頭(參見框418);從數(shù)據(jù)分組去除隧道協(xié)議以備消耗(參見框419);或者解封裝經(jīng)封裝的數(shù)據(jù)分組(參見框420)?,F(xiàn)在轉(zhuǎn)到圖5,示出了根據(jù)本發(fā)明的實(shí)施例的用于響應(yīng)于來自驅(qū)動(dòng)程序的請(qǐng)求來標(biāo)識(shí)合適物理網(wǎng)絡(luò)路徑和變換動(dòng)作的方法500的流程圖。如可從以上討論獲得地,方法500的步驟從圖2和3的目錄服務(wù)220的視角來描寫。最初,方法500包括提供目錄服務(wù),該目錄服務(wù)維護(hù)虛擬IP地址和位置依賴地址之間的映射,如框510所示。目錄服務(wù)也可維護(hù)識(shí)別合適變換動(dòng)作的表。在一個(gè)實(shí)例中,根據(jù)通信策略來設(shè)計(jì)該表,該通信策略管控跨連接網(wǎng) 絡(luò)內(nèi)端點(diǎn)的路徑的數(shù)據(jù)分組話務(wù)。在另一實(shí)例中,該表基于為托管顧客的服務(wù)應(yīng)用的數(shù)據(jù)中心的顧客建立的服務(wù)模型(例如,服務(wù)級(jí)協(xié)定(SLA))。方法500還可包括從與主端點(diǎn)相關(guān)聯(lián)的或者被建立以與主端點(diǎn)本地通信的虛擬網(wǎng)絡(luò)網(wǎng)關(guān)或驅(qū)動(dòng)程序接收請(qǐng)求的步驟,如框520所示。通常,請(qǐng)求包括經(jīng)由接收者端點(diǎn)接受的一個(gè)或多個(gè)數(shù)據(jù)分組的報(bào)頭攜帶的源IP地址和目的地IP地址的標(biāo)記。一旦接收到該請(qǐng)求,目錄服務(wù)就可執(zhí)行以下查找過程(參見框530):用源IP地址和目的地IP地址來檢查映射以標(biāo)識(shí)出相應(yīng)的位置依賴地址,其構(gòu)成通過物理網(wǎng)絡(luò)的數(shù)據(jù)分組的轉(zhuǎn)發(fā)路徑(參見框540);和/或用轉(zhuǎn)發(fā)路徑來檢查表以標(biāo)識(shí)出相應(yīng)的變換動(dòng)作(參見框550)。變換動(dòng)作可包括但不限于以下的一個(gè)或多個(gè)重寫數(shù)據(jù)分組的報(bào)頭以包括位置依賴地址;恢復(fù)重寫;將數(shù)據(jù)分組封裝為各個(gè)外部數(shù)據(jù)分組內(nèi)的內(nèi)部數(shù)據(jù)分組,各個(gè)外部數(shù)據(jù)分組包括攜帶位置依賴地址的報(bào)頭;解封裝經(jīng)封裝的數(shù)據(jù)分組;用隧道協(xié)議配置數(shù)據(jù)分組;或者去除隧道協(xié)議。如框560所示,目錄服務(wù)可返回響應(yīng),該響應(yīng)將所標(biāo)識(shí)出的轉(zhuǎn)發(fā)路徑和所標(biāo)識(shí)出的變換動(dòng)作的標(biāo)記傳遞給虛擬網(wǎng)絡(luò)網(wǎng)關(guān)。參考具體實(shí)施例描述了本發(fā)明的實(shí)施例,具體實(shí)施例在所有方面都旨在是說明性的而非限制性的。在不背離本發(fā)明范圍的情況下各替換實(shí)施例對(duì)本發(fā)明的各實(shí)施例的所屬領(lǐng)域的普通技術(shù)人員將變得顯而易見。從前面的描述可以看出,本發(fā)明很好地適用于實(shí)現(xiàn)上文所闡述的所有目的和目標(biāo),并且具有對(duì)于該系統(tǒng)和方法是顯而易見且固有的其他優(yōu)點(diǎn)。可以理解,某些特征和子組合是有用的,并且可以在不參考其他特征和子組合的情況下使用。這由權(quán)利要求所構(gòu)想的,并在權(quán)利要求的范圍內(nèi)。
      權(quán)利要求
      1.一個(gè)或多個(gè)其上包含計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì),所述計(jì)算機(jī)可執(zhí)行指令在被執(zhí)行時(shí)執(zhí)行一種用于管理端點(diǎn)之間數(shù)據(jù)分組的分布的方法,所述方法包括在第一端點(diǎn)處檢測(cè)一個(gè)或多個(gè)數(shù)據(jù)分組,其中所述一個(gè)或多個(gè)數(shù)據(jù)分組中的每一個(gè)包括報(bào)頭,所述報(bào)頭包括源地址和目的地地址;將攜帶所述源地址和所述目的地地址的請(qǐng)求發(fā)送到目錄服務(wù);從所述目錄服務(wù)接收攜帶轉(zhuǎn)發(fā)路徑的響應(yīng);執(zhí)行路由決策,包括基于所接收的轉(zhuǎn)發(fā)路徑重新尋址所述一個(gè)或多個(gè)數(shù)據(jù)分組;以及基于所接收的轉(zhuǎn)發(fā)路徑將所述一個(gè)或多個(gè)重新尋址的數(shù)據(jù)分組發(fā)送到第二端點(diǎn)。
      2.如權(quán)利要求I所述的一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì),其特征在于,所述方法還包括從所述目錄服務(wù)接收攜帶變換動(dòng)作的響應(yīng)。
      3.如權(quán)利要求2所述的一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì),其特征在于,執(zhí)行路由決策還包括基于所接收的變換動(dòng)作來變換所述一個(gè)或多個(gè)數(shù)據(jù)分組。
      4.如權(quán)利要求3所述的一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì),其特征在于,變換所述一個(gè)或多個(gè)數(shù)據(jù)分組在訪問服務(wù)模型并且確定所述服務(wù)模型指令提供保護(hù)層來保護(hù)所述第一端點(diǎn)和所述第二端點(diǎn)之間的連接時(shí)發(fā)生。
      5.如權(quán)利要求I所述的一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì),其特征在于,所述第一端點(diǎn)表示發(fā)出所述一個(gè)或多個(gè)數(shù)據(jù)分組的端點(diǎn),并且所述第二端點(diǎn)表示所述一個(gè)或多個(gè)重新尋址的數(shù)據(jù)分組的報(bào)頭的目標(biāo)端點(diǎn)。
      6.如權(quán)利要求I所述的一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì),其特征在于,基于所述轉(zhuǎn)發(fā)路徑重新尋址所述一個(gè)或多個(gè)數(shù)據(jù)分組包括去除所述一個(gè)或多個(gè)數(shù)據(jù)分組的所述報(bào)頭內(nèi)的所述源地址和所述目的地地址;以及用物理網(wǎng)絡(luò)的各個(gè)位置依賴地址替換所述源地址和目的地地址。
      7.如權(quán)利要求6所述的一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì),其特征在于,替換所述源地址和目的地地址在標(biāo)識(shí)出所述第一端點(diǎn)和所述第二端點(diǎn)駐留在公共數(shù)據(jù)中心中時(shí)并且在標(biāo)識(shí)出所述源地址和所述目的地地址屬于公共虛擬空間時(shí)發(fā)生。
      8.如權(quán)利要求I所述的一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì),其特征在于,基于所述轉(zhuǎn)發(fā)路徑重新尋址所述一個(gè)或多個(gè)數(shù)據(jù)分組包括將所述一個(gè)或多個(gè)數(shù)據(jù)分組封裝為各個(gè)外部數(shù)據(jù)分組內(nèi)的內(nèi)部數(shù)據(jù)分組,其中所述外部數(shù)據(jù)分組各自包括展示物理網(wǎng)絡(luò)的位置依賴地址的報(bào)頭。
      9.如權(quán)利要求8所述的一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì),其特征在于,封裝所述一個(gè)或多個(gè)數(shù)據(jù)分組在確定在去除所述源地址和所述目的地地址的情況下所述第二端點(diǎn)不能轉(zhuǎn)換所述一個(gè)或多個(gè)數(shù)據(jù)分組的所述報(bào)頭時(shí)發(fā)生。
      10.如權(quán)利要求I所述的一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì),其特征在于,每當(dāng)所述第一端點(diǎn)建立用于發(fā)送數(shù)據(jù)分組的連接時(shí),驅(qū)動(dòng)程序執(zhí)行路由決策。
      11.如權(quán)利要求10所述的一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì),其特征在于,所述驅(qū)動(dòng)程序包括路由組件,所述路由組件被配置成接受所述一個(gè)或多個(gè)數(shù)據(jù)分組并從所述一個(gè)或多個(gè)數(shù)據(jù)分組的所述報(bào)頭中讀取所述源地址和所述目的地地址,并且所述驅(qū)動(dòng)程序被配置成在所述第一端點(diǎn)建立與所述第二端點(diǎn)的連接時(shí)將所述源地址和所述物理地址傳送到所述目錄服務(wù)。
      12.一種用于支持并且隔離端點(diǎn)之間的通信的計(jì)算機(jī)系統(tǒng),所述計(jì)算機(jī)系統(tǒng)包括 目錄服務(wù),其維護(hù)虛擬因特網(wǎng)協(xié)議(IP)地址和物理網(wǎng)絡(luò)的位置依賴地址之間的映射; 第一端點(diǎn),其生成被結(jié)構(gòu)化為具有報(bào)頭的一個(gè)或多個(gè)數(shù)據(jù)分組,所述報(bào)頭包括源IP地址和目的地IP地址,其中所述源IP地址指向所述第一端點(diǎn),并且所述目的地IP地址指向第二端點(diǎn);以及 驅(qū)動(dòng)程序,其執(zhí)行所述第一節(jié)點(diǎn)做出的經(jīng)由每個(gè)連接的路由決策,其中執(zhí)行所述路由決策包括 (a)與所述目錄服務(wù)通信以根據(jù)所述源IP地址和所述目的地IP地址確定轉(zhuǎn)發(fā)路徑和變換動(dòng)作; (b)一旦確定所述第一端點(diǎn)和所述第二端點(diǎn)駐留在公共數(shù)據(jù)中心中,就用所述轉(zhuǎn)發(fā)路徑的各個(gè)位置依賴地址來重寫所述源IP地址和所述目的地IP地址; (C) 一旦確定在去除所述源IP地址和所述目的地IP地址的情況下所述第二端點(diǎn)不能轉(zhuǎn)換所述一個(gè)或多個(gè)數(shù)據(jù)分組的所述報(bào)頭,就將所述一個(gè)或多個(gè)數(shù)據(jù)分組封裝為各個(gè)外部數(shù)據(jù)分組內(nèi)的內(nèi)部數(shù)據(jù)分組,其中所述外部數(shù)據(jù)分組各自包括展示所述轉(zhuǎn)發(fā)路徑的所述位置依賴地址的報(bào)頭;以及 (d) 一旦確定所述變換動(dòng)作指示提供保護(hù)層來保護(hù)所述第一端點(diǎn)和所述第二端點(diǎn)之間的連接,就基于所接收到的變換動(dòng)作來變換所述一個(gè)或多個(gè)數(shù)據(jù)分組。
      13.如權(quán)利要求12所述的計(jì)算機(jī)系統(tǒng),其特征在于,根據(jù)所述第一端點(diǎn)和所述第二端點(diǎn)所展示的功能分別分配所述源IP地址和所述目的地IP地址,其中根據(jù)所述物理網(wǎng)絡(luò)中所述第一端點(diǎn)和所述第二端點(diǎn)的位置分別分配所述位置依賴地址。
      14.如權(quán)利要求12所述的計(jì)算機(jī)系統(tǒng),其特征在于,所述目錄服務(wù)維護(hù)基于鏈接所述第一端點(diǎn)和所述第二端點(diǎn)的預(yù)建立的隧道或網(wǎng)絡(luò)路徑的記錄給予所述驅(qū)動(dòng)程序適當(dāng)?shù)淖儞Q動(dòng)作的表。
      15.一種用于響應(yīng)于來自分布式虛擬網(wǎng)絡(luò)網(wǎng)關(guān)的請(qǐng)求來標(biāo)識(shí)網(wǎng)絡(luò)路徑和變換動(dòng)作的計(jì)算機(jī)化的方法,所述方法包括 提供目錄服務(wù),所述目錄服務(wù)維護(hù)虛擬因特網(wǎng)協(xié)議(IP)地址與位置依賴地址之間的映射,并維護(hù)標(biāo)識(shí)適當(dāng)?shù)淖儞Q動(dòng)作的表,其中根據(jù)管控跨連接網(wǎng)絡(luò)中端點(diǎn)的路徑的數(shù)據(jù)分組話務(wù)的通信策略來設(shè)計(jì)所述表; 從與接收者端點(diǎn)通信的虛擬網(wǎng)絡(luò)網(wǎng)關(guān)接收請(qǐng)求,其中所述請(qǐng)求包括經(jīng)由所述接收者端點(diǎn)接受的一個(gè)或多個(gè)數(shù)據(jù)分組的報(bào)頭攜帶的源IP地址和目的地IP地址的標(biāo)記; 用所述源IP地址和所述目的地IP地址檢查所述映射,以標(biāo)識(shí)相應(yīng)的位置依賴地址,其構(gòu)成通過物理網(wǎng)絡(luò)的所述一個(gè)或多個(gè)數(shù)據(jù)分組的轉(zhuǎn)發(fā)路徑; 用所述轉(zhuǎn)發(fā)路徑來檢查所述表,以標(biāo)識(shí)相應(yīng)的變換動(dòng)作,其中所述變換動(dòng)作包括以下的至少一個(gè) (a)重寫所述一個(gè)或多個(gè)數(shù)據(jù)分組的所述報(bào)頭以包括所述位置依賴地址; (b)將所述一個(gè)或多個(gè)數(shù)據(jù)分組封裝為各個(gè)外部數(shù)據(jù)分組內(nèi)的內(nèi)部數(shù)據(jù)分組,其中所述外部數(shù)據(jù)分組各自包括攜帶所述位置依賴地址的報(bào)頭;或者 (C)用隧道協(xié)議配置所述一個(gè)或多個(gè)數(shù)據(jù)分組;以及 返回響應(yīng),所述響應(yīng)將所標(biāo)識(shí)出的轉(zhuǎn)發(fā)路徑和所標(biāo)識(shí)出的變換動(dòng)作的標(biāo)記傳遞給所述虛擬網(wǎng)絡(luò)網(wǎng)關(guān),其中所述虛擬網(wǎng)絡(luò)網(wǎng)關(guān)將所述響應(yīng)傳送到所述接收者端點(diǎn),并且所述接收者端點(diǎn)在發(fā)送所述一個(gè)或多個(gè)數(shù)據(jù)分組時(shí)實(shí)現(xiàn)所標(biāo)識(shí)出的轉(zhuǎn)發(fā)路徑和所標(biāo)識(shí)出的變換動(dòng)作。
      全文摘要
      提供了一種用于將虛擬化的網(wǎng)關(guān)功能分布到物理網(wǎng)絡(luò)中的多個(gè)節(jié)點(diǎn)的計(jì)算機(jī)化的方法、系統(tǒng)和計(jì)算機(jī)可讀介質(zhì)。最初,提供執(zhí)行網(wǎng)關(guān)功能的驅(qū)動(dòng)程序來與在網(wǎng)絡(luò)節(jié)點(diǎn)上實(shí)例化的端點(diǎn)合作,同時(shí)實(shí)現(xiàn)目錄服務(wù)以維護(hù)虛擬因特網(wǎng)協(xié)議(IP)地址和位置依賴地址之間的映射,以及列舉根據(jù)連接網(wǎng)絡(luò)中端點(diǎn)的已知路徑的變換動(dòng)作的表。在操作中,目錄服務(wù)用適當(dāng)?shù)奈恢靡蕾嚨刂?利用映射)和適當(dāng)?shù)淖儞Q動(dòng)作(利用表)回復(fù)來自驅(qū)動(dòng)程序的請(qǐng)求(攜帶數(shù)據(jù)分組的源和目的地IP地址)。變換動(dòng)作包括重寫數(shù)據(jù)分組的報(bào)頭以包括位置依賴地址,將數(shù)據(jù)分組封裝為各個(gè)外部數(shù)據(jù)分組內(nèi)的內(nèi)部數(shù)據(jù)分組,或者用隧道協(xié)議配置數(shù)據(jù)分組。
      文檔編號(hào)H04L29/12GK102948132SQ201180030856
      公開日2013年2月27日 申請(qǐng)日期2011年6月6日 優(yōu)先權(quán)日2010年6月22日
      發(fā)明者H·阿爾卡特比, G·奧特海德 申請(qǐng)人:微軟公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1