亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

基于減負(fù)裝置的數(shù)據(jù)包處理的框架和接口的制作方法

文檔序號(hào):6494751閱讀:267來源:國知局
基于減負(fù)裝置的數(shù)據(jù)包處理的框架和接口的制作方法
【專利摘要】可在利用基于硬件的分割減負(fù)和其它這種功能的同時(shí)提供至和來自虛擬化環(huán)境的數(shù)據(jù)包的高速處理。硬件供應(yīng)商(諸如網(wǎng)絡(luò)接口卡(NIC)制造商)可使得硬件能結(jié)合諸如單根I/O虛擬化(SR-IOV)的協(xié)議支持開放和專用的無狀態(tài)隧道以實(shí)施虛擬化覆蓋網(wǎng)絡(luò)。硬件可利用各種規(guī)則,例如其可由所述NIC用于執(zhí)行某些行動(dòng),諸如封裝出口數(shù)據(jù)包和解封裝數(shù)據(jù)包。
【專利說明】基于減負(fù)裝置的數(shù)據(jù)包處理的框架和接口
[0001]發(fā)明背景
[0002]隨著在諸如因特網(wǎng)的網(wǎng)絡(luò)上可獲得日益增多的應(yīng)用程序和服務(wù),越來越多的內(nèi)容、應(yīng)用程序和/或服務(wù)提供商轉(zhuǎn)向多租戶共享資源技術(shù)。例如,云計(jì)算可通過服務(wù)(諸如Web服務(wù))為用戶提供電子資源的訪問權(quán),其中用于支持所述服務(wù)的硬件和/或軟件可動(dòng)態(tài)伸縮以在任意給定時(shí)間滿足服務(wù)的需求。用戶通常將通過云租賃、租用或以其它方式支付資源訪問權(quán)且因此無需購買和維護(hù)所需的硬件和/或軟件。
[0003]然而,這種訪問權(quán)伴隨著針對(duì)這些共享資源的提供商的風(fēng)險(xiǎn),因?yàn)橥ǔS卸鄠€(gè)用戶在不同時(shí)間訪問資源。在用戶具有虛擬地址空間使得客戶網(wǎng)絡(luò)作為沒有限制或不具有一個(gè)或多個(gè)附加物理網(wǎng)絡(luò)的附加地址的的單個(gè)虛擬網(wǎng)絡(luò)的情況下,可能需要提供有關(guān)這個(gè)虛擬地址空間的數(shù)據(jù)包的處理和路由。然而,當(dāng)客戶具有對(duì)裝置的訪問權(quán)時(shí),對(duì)裝置執(zhí)行路由和處理可潛在地使得用戶能夠修改數(shù)據(jù)包的路由或其它此類處理。此外,出于諸如尺寸限制、協(xié)議限制等原因,這種功能無法輕易地移至未暴露給用戶的許多現(xiàn)有硬件裝置。
[0004]附圖簡述
[0005]將參考附圖描述根據(jù)本公開的不同實(shí)施方案,其中:
[0006]圖1圖示其中可實(shí)施不同實(shí)施方案的環(huán)境;
[0007]圖2圖示可根據(jù)一個(gè)實(shí)施方案使用的用于提供對(duì)不同資源的訪問權(quán)的環(huán)境;
[0008]圖3圖示可根據(jù)一個(gè)實(shí)施方案使用的用于訪問特定硬件資源的配置;
[0009]圖4圖示可根據(jù)一個(gè)實(shí)施方案使用的數(shù)據(jù)包封裝過程;
[0010]圖5圖示可根據(jù)一個(gè)實(shí)施方案使用的用于處理數(shù)據(jù)包的配置;
[0011]圖6圖示可根據(jù)不同實(shí)施方案使用的示例性數(shù)據(jù)包報(bào)頭。
[0012]圖7圖示可根據(jù)不同實(shí)施方案使用的用于處理數(shù)據(jù)包的第五過程的實(shí)例;
[0013]圖8圖示可根據(jù)不同實(shí)施方案使用的用于處理數(shù)據(jù)包的第六過程的實(shí)例;和
[0014]圖9圖示可根據(jù)不同實(shí)施方案使用的用于處理數(shù)據(jù)包的示例性流程。

【具體實(shí)施方式】
[0015]根據(jù)本公開的不同實(shí)施方案的系統(tǒng)和方法可克服在電子環(huán)境中管理資源的常規(guī)方法中經(jīng)歷的一個(gè)或多個(gè)上述和其它缺陷。根據(jù)不同實(shí)施方案的系統(tǒng)和方法提供第一地址空間(諸如客戶或虛擬地址空間)與第二地址空間(諸如云網(wǎng)絡(luò)提供商或物理地址空間)之間的數(shù)據(jù)包處理。諸如消費(fèi)型裝置(諸如各種網(wǎng)絡(luò)減負(fù)裝置)的分割和合并減負(fù)部件的部件可用于幫助減小與網(wǎng)絡(luò)流量相關(guān)的開銷,尤其當(dāng)其與虛擬化環(huán)境相關(guān)時(shí)。例如,在于“2009年 9 月 9 日”申請(qǐng)的標(biāo)題為“Stateless Packet Segmentat1n and Processing”的共同待決的美國專利申請(qǐng)案第12/556,453號(hào)和于2010年9月17日申請(qǐng)的標(biāo)題為“Framework forStateless Packet Tunneling”的申請(qǐng)案第12/885,258號(hào)中描述了提供分割和合并減負(fù)特征件的不同方法,每個(gè)申請(qǐng)案以引用的方法并入本文中。
[0016]不同的實(shí)施方案使得減負(fù)裝置能夠結(jié)合諸如單根I/O虛擬化(SR-1OV)的協(xié)議支持開放和專有的無狀態(tài)隧道以實(shí)施虛擬化覆蓋網(wǎng)絡(luò)。SR-1OV通常涉及一種互操作性的標(biāo)準(zhǔn)規(guī)范,其使得裝置(諸如外圍組件互連(PCI)裝置)能表現(xiàn)為多個(gè)獨(dú)立物理裝置。SR-1OV利用物理功能(PF)和虛擬功能(VF)。物理功能通常是完整的功能而虛擬功能通常是可能缺少至少一些配置資源的更輕量性的功能。SR-1OV通常需要支持B1S以及支持運(yùn)行在硬件上的管理程序或操作系統(tǒng)。
[0017]在至少一些實(shí)施方案中,減負(fù)裝置(或這樣一種裝置的供應(yīng)商或制造商)可提供用于數(shù)據(jù)包處理的特定功能。例如,基于Dom-0(即,零域,通常是在啟動(dòng)時(shí)由Xen管理程序起始的第一域)的實(shí)施方式可利用可由減負(fù)裝置用于執(zhí)行特定行動(dòng)諸如封裝出口數(shù)據(jù)包以及解封裝入口數(shù)據(jù)包的不同規(guī)則??苫谠碫M對(duì)每個(gè)出口數(shù)據(jù)包執(zhí)行出口數(shù)據(jù)包源檢查,包括驗(yàn)證源MAC地址和源IP地址。在一些實(shí)施方案中,減負(fù)裝置可強(qiáng)制執(zhí)行特定VLAN (虛擬局域網(wǎng))標(biāo)簽或另外添加VLAN標(biāo)簽。在出口數(shù)據(jù)包源檢查后,可針對(duì)現(xiàn)有規(guī)則列表匹配數(shù)據(jù)包。如果存在匹配,那么可對(duì)數(shù)據(jù)包采取相應(yīng)的封裝行動(dòng)且數(shù)據(jù)包被相應(yīng)地傳輸。如果不匹配,那么可將數(shù)據(jù)包發(fā)送至Dom-O控制軟件以用于進(jìn)一步處理。
[0018]對(duì)于入口數(shù)據(jù)包,在特定實(shí)施方案中,數(shù)據(jù)包可識(shí)別為使用基于例如,預(yù)定義IP協(xié)議號(hào)和與L2報(bào)頭末端具有預(yù)定義偏移的預(yù)定義一字節(jié)的特殊格式封裝。這些值可各通過Dom-O配置??蓪⑽捶庋b的所有入口數(shù)據(jù)包遞送至Dom-O。對(duì)于封裝的入口數(shù)據(jù)包,可使用預(yù)定義長度的非透明位識(shí)別任意非透明位(位于緊接在外L3報(bào)頭之后)。還可使用預(yù)定義偏移下的非透明位的一個(gè)字節(jié)字段將每個(gè)數(shù)據(jù)包進(jìn)一步分類為屬于特定虛擬機(jī)(VM)(例如,SR-1OV向量)。
[0019]每個(gè)SR-1OV功能可配置有一組入口規(guī)則。每個(gè)規(guī)則可主要由將與封裝的入口數(shù)據(jù)包的非透明位匹配的非透明位、外源IP地址、外目的地IP地址和源&目標(biāo)MAC地址組成。當(dāng)入口封裝數(shù)據(jù)包與針對(duì)特定SR-1OV功能的入口規(guī)則之一匹配(S卩,非透明位匹配)時(shí),數(shù)據(jù)包可被解封裝(即,非透明位元被移除),內(nèi)IP報(bào)頭的TTL遞減達(dá)規(guī)則中指定的值且數(shù)據(jù)包被遞送至對(duì)應(yīng)于SR-1OV功能的VM??蓪⑽雌ヅ淙我庖?guī)則的入口數(shù)據(jù)包遞送至Dom-O。
[0020]在至少一些實(shí)施方案中,減負(fù)裝置將針對(duì)可從Dom-O讀取或重置的每個(gè)封裝和解封裝規(guī)則維持一個(gè)數(shù)據(jù)包計(jì)數(shù)和字節(jié)計(jì)數(shù)。不同實(shí)施方案還可提供將數(shù)據(jù)包從Dom-O注入SR-1OV功能的能力。某些實(shí)施方案可提供調(diào)試模式,其中每個(gè)數(shù)據(jù)包被強(qiáng)迫通過Dom-Ο,而不管生效的匹配規(guī)則。SR-1OV功能的最大傳輸單元(MTU)可從Dom-O設(shè)置,在至少一個(gè)實(shí)施方案中默認(rèn)為1500。如果訪客試圖改變MTU大小,那么減負(fù)裝置可確保所提出的MTU不超過由Dom-O設(shè)置的最大MTU。在一些實(shí)施方案中,減負(fù)裝置還可執(zhí)行連接跟蹤,其可用于在減負(fù)裝置上提供有狀態(tài)防火墻實(shí)施方式。
[0021]在至少一些實(shí)施方案中,可提供管理入口數(shù)據(jù)包和出口數(shù)據(jù)包兩者的封裝和解封裝規(guī)則的Dom-O控制軟件。例如,Dom-O控制軟件可使用由減負(fù)裝置以及底層ARP查詢提供的數(shù)據(jù)包計(jì)數(shù)統(tǒng)計(jì)數(shù)據(jù)來管理底層網(wǎng)絡(luò)的地址解析協(xié)議(ARP)緩存。Dom-O控制軟件還可確定在減負(fù)裝置不支持所需的所有規(guī)則的情況下哪些規(guī)定(若有)必須推行至減負(fù)裝置以及哪些規(guī)則必須由Dom-O管理作為溢出規(guī)則。
[0022]圖1圖示用于實(shí)施根據(jù)不同實(shí)施方案的方面的環(huán)境100的實(shí)例。將了解,雖然為了說明的目的使用基于Web的環(huán)境,但是可視情況使用不同環(huán)境以實(shí)施不同實(shí)施方案。所示的環(huán)境100包括測(cè)試或開發(fā)部分(或側(cè))和生產(chǎn)部分。電子客戶端裝置102可包括可操作以經(jīng)由適當(dāng)網(wǎng)絡(luò)104發(fā)送及接收請(qǐng)求、消息或信息并且將信息傳遞回裝置用戶的任意適當(dāng)裝置。這種客戶端裝置的實(shí)例包括個(gè)人計(jì)算機(jī)、手機(jī)、手持消息傳送裝置、膝上型計(jì)算機(jī)、機(jī)頂盒、個(gè)人數(shù)據(jù)助理、電子書閱讀器和類似裝置。網(wǎng)絡(luò)可包括任意適當(dāng)網(wǎng)絡(luò),包括內(nèi)聯(lián)網(wǎng)、因特網(wǎng)、蜂窩網(wǎng)絡(luò)、局域網(wǎng)或任意其它這種網(wǎng)絡(luò)或其組合。用于這樣一種系統(tǒng)的組件可至少部分取決于所選網(wǎng)絡(luò)和/或環(huán)境的類型。用于經(jīng)由這樣一種網(wǎng)絡(luò)通信的協(xié)議和組件是已知的并且將不在本文中詳細(xì)說明。經(jīng)由網(wǎng)絡(luò)的通信可通過有線或無線連接和其組合實(shí)現(xiàn)。在本實(shí)例中,網(wǎng)絡(luò)包括因特網(wǎng),因?yàn)榄h(huán)境包括用于接收請(qǐng)求并且響應(yīng)于此提供內(nèi)容的Web服務(wù)器106,但是對(duì)于其它網(wǎng)絡(luò),如本領(lǐng)域的普通技術(shù)人員所知可使用服務(wù)類似目的的替代裝置。
[0023]說明性環(huán)境包括至少一個(gè)應(yīng)用程序服務(wù)器108和多個(gè)資源、服務(wù)器、主機(jī)、實(shí)例、路由器、開關(guān)、數(shù)據(jù)存儲(chǔ)器和/或定義哪些將在本文中被稱作數(shù)據(jù)平面110的其它這種組件,但是應(yīng)了解這種平面的資源不限于存儲(chǔ)數(shù)據(jù)以及提供數(shù)據(jù)的訪問權(quán)。應(yīng)了解存在若干應(yīng)用程序服務(wù)器、層或其它元件、過程或組件,其可鏈接或以其它方式配置,其可互動(dòng)以執(zhí)行諸如從適當(dāng)數(shù)據(jù)存儲(chǔ)器獲得數(shù)據(jù)的任務(wù)。如本文中所使用,術(shù)語“數(shù)據(jù)存儲(chǔ)器”指能夠存儲(chǔ)、訪問并且檢索數(shù)據(jù)的任意裝置或裝置組合,其可包括任意標(biāo)準(zhǔn)、分布式或集群環(huán)境中任意組合和數(shù)量的數(shù)據(jù)服務(wù)器、數(shù)據(jù)庫、數(shù)據(jù)存儲(chǔ)裝置和數(shù)據(jù)存儲(chǔ)媒介。應(yīng)用程序服務(wù)器可包括根據(jù)需要用于與數(shù)據(jù)存儲(chǔ)器集成以執(zhí)行客戶端裝置的一個(gè)或多個(gè)應(yīng)用程序的方面,處理應(yīng)用程序的大多數(shù)數(shù)據(jù)訪問和業(yè)務(wù)邏輯的任意適當(dāng)硬件和軟件。應(yīng)用程序服務(wù)器與數(shù)據(jù)存儲(chǔ)器協(xié)作提供準(zhǔn)入控制服務(wù)并且能夠產(chǎn)生將傳輸給用戶的內(nèi)容,諸如文本、圖形、音頻和/或視頻,在本實(shí)例中其可通過Web服務(wù)器以HTML、XML或另一種適當(dāng)結(jié)構(gòu)化語言提供給用戶。在一些實(shí)施方案中,Web服務(wù)器106、應(yīng)用程序服務(wù)器108和類似組件可被視為數(shù)據(jù)平面的部分。所有請(qǐng)求和響應(yīng)的處理以及客戶端裝置102與應(yīng)用程序服務(wù)器108之間的內(nèi)容遞送可由Web服務(wù)器處理。應(yīng)了解,Web和應(yīng)用程序服務(wù)器并非必要的并且只是示例性組件,因?yàn)槿绫疚钠渌糠炙?,結(jié)構(gòu)化代碼可在任意適當(dāng)裝置或主機(jī)上執(zhí)行。
[0024]環(huán)境還包括可開發(fā)和/或測(cè)試側(cè),其包括允許用戶(諸如開發(fā)者、數(shù)據(jù)管理員或測(cè)試者)訪問系統(tǒng)的用戶裝置118。用戶裝置118可為諸如上文參考客戶端裝置102所述的任意適當(dāng)裝置或機(jī)器。環(huán)境還包括開發(fā)服務(wù)器120,其功能類似于應(yīng)用程序服務(wù)器108但通常在開發(fā)和測(cè)試期間,例如在代碼在生產(chǎn)側(cè)部署并且執(zhí)行并且可由外部用戶訪問之前運(yùn)行代碼。在一些實(shí)施方案中,應(yīng)用程序服務(wù)器可充當(dāng)開發(fā)服務(wù)器并且可能不使用單獨(dú)的生產(chǎn)和測(cè)試存儲(chǔ)器。
[0025]數(shù)據(jù)平面110的數(shù)據(jù)存儲(chǔ)器可包括若干單獨(dú)的數(shù)據(jù)表、數(shù)據(jù)庫或用于存儲(chǔ)與特定方面相關(guān)的數(shù)據(jù)的其它數(shù)據(jù)存儲(chǔ)機(jī)制和媒介。例如,所示的數(shù)據(jù)平面包括用于存儲(chǔ)生產(chǎn)數(shù)據(jù)112和用戶信息116 (其可用于為生產(chǎn)側(cè)提供內(nèi)容)的機(jī)制。數(shù)據(jù)平面還被示作包括用于存儲(chǔ)測(cè)試數(shù)據(jù)114 (其可結(jié)合用戶信息用于測(cè)試側(cè))的機(jī)制。應(yīng)了解,可能存在可能需存儲(chǔ)在數(shù)據(jù)存儲(chǔ)器中的許多其它方面,諸如針對(duì)頁面圖象信息和訪問權(quán)信息,其可視情況存儲(chǔ)在任意上列機(jī)制中或數(shù)據(jù)平面110中的附加機(jī)制中。數(shù)據(jù)平面110可通過與其相關(guān)的邏輯操作以從應(yīng)用程序服務(wù)器108或開發(fā)服務(wù)器120接收指令并且響應(yīng)于此獲得、更新或另外處理數(shù)據(jù)、指令或其它這種信息。在一個(gè)實(shí)例中,用戶可提交某一類型項(xiàng)目的搜索請(qǐng)求。在此情況下,數(shù)據(jù)平面的組件可訪問用戶信息以驗(yàn)證用戶身份并且訪問目錄詳細(xì)信息以獲得有關(guān)所述類型的項(xiàng)目的信息。然后,信息可諸如以列示在用戶能夠經(jīng)由用戶裝置102上的瀏覽器查看的Web頁面上的結(jié)果的形式返回給用戶。可在瀏覽器的專門頁面或窗口中查看相關(guān)的特定項(xiàng)目的信息。
[0026]每個(gè)服務(wù)器通常將包括提供所述服務(wù)器的一般管理和操作的可執(zhí)行程序指令的操作系統(tǒng),且通常將包括存儲(chǔ)在被服務(wù)器的處理器執(zhí)行時(shí)使得服務(wù)器能執(zhí)行其預(yù)期功能的指令的計(jì)算機(jī)可讀媒介。操作系統(tǒng)的適當(dāng)實(shí)施方式和服務(wù)器的一般功能是已知的或可商購,并且尤其在鑒于本文公開的內(nèi)容的情況下易于由本領(lǐng)域的普通技術(shù)人員實(shí)施。
[0027]在一個(gè)實(shí)施方案中,環(huán)境是利用使用一個(gè)或多個(gè)計(jì)算機(jī)網(wǎng)絡(luò)或直接連接經(jīng)由通信鏈路互連的若干計(jì)算機(jī)系統(tǒng)和組件的分布式計(jì)算環(huán)境。但是本領(lǐng)域的普通技術(shù)人員應(yīng)了解這樣一種系統(tǒng)可同樣好地在具有比圖1所示更少或更大數(shù)量的組件的系統(tǒng)中運(yùn)行。因此,圖1中系統(tǒng)100的描繪應(yīng)理解為本質(zhì)上是說明性的并且不受限于公開的范圍。
[0028]諸如圖1中所示的環(huán)境可用于不同的內(nèi)容提供商或其它這種實(shí)體,其中多個(gè)主機(jī)和不同類型的資源可用于執(zhí)行諸如提供內(nèi)容、認(rèn)證用戶、分配資源的任務(wù)或執(zhí)行任意許多其它這種任務(wù)。這些主機(jī)的一些可被配置來提供類似功能,而其它服務(wù)器可被配置來執(zhí)行至少一些不同功能。在這種情況下,電子環(huán)境可包括諸如下文詳細(xì)討論的圖2的配置200中所示的附加組件和/或其它配置。
[0029]根據(jù)一個(gè)實(shí)施方案的系統(tǒng)和方法提供至少一個(gè)資源訪問網(wǎng)關(guān)或控制平面,作為數(shù)據(jù)環(huán)境的部分或在用戶與數(shù)據(jù)平面之間的路徑中,其使得用戶和應(yīng)用程序能訪問共享和/或?qū)iT資源,同時(shí)允許客戶、管理員或其它經(jīng)授權(quán)用戶分配資源給不同用戶、客戶或應(yīng)用程序并且確保遵守所述分配。這種功能使得用戶能執(zhí)行諸如在云中存儲(chǔ)、處理和查詢相關(guān)數(shù)據(jù)集的任務(wù)而無需擔(dān)心由于其它用戶共享資源而導(dǎo)致延遲退化或其它這種問題。這種功能還使得訪客用戶能獲得資源訪問權(quán)以執(zhí)行任意適當(dāng)功能,諸如呈現(xiàn)和/或提供流媒介或執(zhí)行任意許多其它這種操作。雖然關(guān)于因特網(wǎng)、Web服務(wù)和基于因特網(wǎng)的技術(shù)討論了這個(gè)實(shí)例,但是應(yīng)了解不同實(shí)施方案的方面可結(jié)合在電子環(huán)境中經(jīng)由網(wǎng)絡(luò)可獲得或提供的任意適當(dāng)資源或服務(wù)使用。此外,雖然關(guān)于對(duì)磁盤、數(shù)據(jù)存儲(chǔ)器、主機(jī)和外圍裝置的共享訪問權(quán)提出不同實(shí)例,但是應(yīng)了解任意適當(dāng)資源可針對(duì)任意適當(dāng)目的在不同實(shí)施方案的范圍內(nèi)使用且任意適當(dāng)參數(shù)可被監(jiān)控并且用于調(diào)整任意或所有各自用戶對(duì)這樣一種資源的訪問或使用。
[0030]資源網(wǎng)關(guān)或控制平面208可在一些環(huán)境中用于提供和/或管理對(duì)數(shù)據(jù)平面232中的不同資源的訪問權(quán)。在云計(jì)算環(huán)境中,這可對(duì)應(yīng)于云管理器210或管理對(duì)云中的不同資源的訪問權(quán)的類似系統(tǒng)。在一個(gè)實(shí)施方案中,提供一組應(yīng)用程序編程接口(API)220或允許用戶或客戶請(qǐng)求訪問不同資源的其它這種接口。一旦訪問權(quán)建立、資源被分配等,用戶就可直接與資源通信以執(zhí)行與所述資源相關(guān)的特定任務(wù),諸如資料存儲(chǔ)或處理。一旦訪問權(quán)建立,用戶可使用直接接口或API以與數(shù)據(jù)實(shí)例、主機(jī)或其它資源通信,但使用控制平面組件以獲得訪問權(quán)。
[0031]圖2圖示諸如可包括可根據(jù)一個(gè)實(shí)施方案使用的云計(jì)算管理系統(tǒng)的配置200的實(shí)例。在本實(shí)例中,終端用戶的計(jì)算裝置202被示為能夠通過網(wǎng)絡(luò)206對(duì)控制平面208(或其它這種訪問層)進(jìn)行調(diào)用以執(zhí)行諸如獲得對(duì)指定資源或資源類型的訪問權(quán)的任務(wù)。雖然為了說明的目的使用終端用戶計(jì)算裝置和應(yīng)用程序,但是應(yīng)了解在不同實(shí)施方案中,任意適當(dāng)用戶、應(yīng)用程序、服務(wù)、裝置、組件或資源可視情況訪問連接組件和數(shù)據(jù)環(huán)境的接口和組件。此外,雖然特定組件被分組為數(shù)據(jù)“平面”,但是應(yīng)了解這可指用于提供各自功能的至少一些資源(例如,硬件和/或軟件)的實(shí)際或虛擬分離。此外,在特定實(shí)施方案中,控制平面可被視為數(shù)據(jù)平面的部分。雖然在本實(shí)施方案中示出單個(gè)控制平面,但是在其它實(shí)施方案中可能存在控制或訪問管理組件或服務(wù)的多個(gè)實(shí)例??刂破矫婵砂ㄓ布?或軟件的任意適當(dāng)組合,諸如配置有計(jì)算機(jī)可執(zhí)行指令的至少一個(gè)服務(wù)器。控制平面還可包括用于跨網(wǎng)絡(luò)206接收Web服務(wù)調(diào)用或其它這種請(qǐng)求的一組API (或其它這種接口),Web服務(wù)層212可解析或另外分析所述API以確定作用于或處理調(diào)用所需的步驟或行動(dòng)。例如,可接收包括建立至數(shù)據(jù)儲(chǔ)存庫的連接以執(zhí)行用戶的查詢的Web服務(wù)調(diào)用。在本實(shí)例中,Web服務(wù)層可解析請(qǐng)求以確定所需連接或訪問的類型、所需資源的適當(dāng)類型或其它這種方面。
[0032]控制平面可包括一個(gè)或多個(gè)資源分配管理器210,每個(gè)資源分配管理器210負(fù)責(zé)諸如驗(yàn)證與請(qǐng)求相關(guān)的用戶或客戶和獲得或分配對(duì)適當(dāng)資源的訪問權(quán)的任務(wù)。這樣一種系統(tǒng)可處理不同類型的請(qǐng)求以及建立不同類型的連接。這樣一種系統(tǒng)還可處理針對(duì)不同類型資源(諸如特定圖形處理器或其它類型的硬件或硬件功能)的請(qǐng)求并且可提供對(duì)適當(dāng)資源的訪問權(quán)。數(shù)據(jù)平面的組件或云的資源層可執(zhí)行所需任務(wù)以提供資源。例如,對(duì)于對(duì)數(shù)據(jù)實(shí)例的訪問權(quán),這可包括諸如供應(yīng)數(shù)據(jù)存儲(chǔ)器實(shí)例、分配非實(shí)例持久性存儲(chǔ)卷、將永久存儲(chǔ)卷附至數(shù)據(jù)存儲(chǔ)器實(shí)例及分配并且附上客戶可用于訪問或以其它方式連接至數(shù)據(jù)實(shí)例的IP地址(源自DNS映射)或其它地址、端口、接口或標(biāo)識(shí)符的任務(wù)。例如,針對(duì)諸如使用特定類型的硬件獲得指令的處理的任務(wù),數(shù)據(jù)平面的組件結(jié)合控制平面可執(zhí)行諸如為用戶供應(yīng)裝置及按對(duì)資源的特定訪問級(jí)提供對(duì)資源的共享和/或?qū)S迷L問權(quán)達(dá)一個(gè)時(shí)間周期。在本實(shí)例中,可為用戶提供將用于訪問資源的IP地址和端口地址。然后,用戶可直接使用IP地址和端口訪問資源,而無需訪問或通過控制平面208。
[0033]在本實(shí)施方案中,控制平面208還包括至少一個(gè)監(jiān)控組件214。當(dāng)數(shù)據(jù)實(shí)例或其它資源在數(shù)據(jù)平面中被分配、創(chuàng)建或以其它方式可獲得時(shí),資源信息可寫入可由控制平面(諸如監(jiān)控?cái)?shù)據(jù)存儲(chǔ)器216)訪問的數(shù)據(jù)存儲(chǔ)器。應(yīng)了解,監(jiān)控?cái)?shù)據(jù)存儲(chǔ)器可以是單獨(dú)的數(shù)據(jù)存儲(chǔ)器或另一個(gè)數(shù)據(jù)存儲(chǔ)器的一部分。監(jiān)控組件214可訪問監(jiān)控?cái)?shù)據(jù)存儲(chǔ)器216中的信息以確定諸如不同用戶對(duì)資源的過往使用、分配給用戶的線程或資源的當(dāng)前數(shù)量或類型和其它這種使用信息的信息。監(jiān)控組件還可調(diào)用數(shù)據(jù)環(huán)境的組件以確定諸如數(shù)據(jù)環(huán)境中給定用戶的活動(dòng)連接數(shù)量和有關(guān)每個(gè)連接的使用的方面的信息。監(jiān)控組件可不斷監(jiān)控具有經(jīng)由連接管理器提供的分配的用戶、客戶等對(duì)每個(gè)資源的使用。監(jiān)控組件還可訪問存儲(chǔ)在管理員(“Admin”)或類似數(shù)據(jù)存儲(chǔ)器216中的信息,其可存儲(chǔ)諸如授予用戶的一般分配、用戶的節(jié)流或限制信息、用戶的資源許可或可由管理員或其它這種用戶指定和/或更新的任意其它這種信息的信息。
[0034]在用戶請(qǐng)求連接至不同數(shù)據(jù)實(shí)例的實(shí)例中,數(shù)據(jù)環(huán)境中的每個(gè)實(shí)例222可包括至少一個(gè)數(shù)據(jù)存儲(chǔ)器226和提供對(duì)數(shù)據(jù)存儲(chǔ)器的訪問的機(jī)器的主機(jī)管理組件228。在一個(gè)實(shí)施方案中,主機(jī)管理器是在實(shí)例和/或應(yīng)用程序服務(wù)器(諸如Tomcat或Java應(yīng)用程序服務(wù)器)上執(zhí)行的應(yīng)用程序或軟件代理,其被編程來管理諸如軟件部署和數(shù)據(jù)存儲(chǔ)器操作以及監(jiān)控?cái)?shù)據(jù)存儲(chǔ)器和/或各自實(shí)例的狀態(tài)的任務(wù)。主機(jī)管理器可負(fù)責(zé)管理和/或執(zhí)行諸如設(shè)置新儲(chǔ)存庫的實(shí)例的任務(wù),包括設(shè)置邏輯卷和文件系統(tǒng)、安裝數(shù)據(jù)庫二進(jìn)制數(shù)據(jù)和種子及起始或停止儲(chǔ)存庫。主機(jī)管理器可監(jiān)控?cái)?shù)據(jù)存儲(chǔ)器的健康、監(jiān)控誤差條件(諸如I/O誤差或數(shù)據(jù)存儲(chǔ)誤差)的數(shù)據(jù)存儲(chǔ)器并且若需要可重啟數(shù)據(jù)存儲(chǔ)器。主機(jī)管理器還可執(zhí)行和/或管理軟件補(bǔ)丁的安裝和數(shù)據(jù)存儲(chǔ)器和/或操作系統(tǒng)的更新。主機(jī)管理器還可收集諸如可能與CPU、存儲(chǔ)器和I/O使用相關(guān)的相關(guān)度量。
[0035]資源管理器210可定期地與已針對(duì)其建立連接的每個(gè)主機(jī)管理器228進(jìn)行通信或通信至資源環(huán)境的管理服務(wù)器或其它組件以確定諸如載荷、使用、容量等狀態(tài)信息。
[0036]如所討論,一旦供應(yīng)資源并且為用戶提供源自DNS映射或其它地址或位置的IP地址,用戶就可使用Java數(shù)據(jù)庫連接(JDBC)或其它這種協(xié)議經(jīng)由網(wǎng)絡(luò)與數(shù)據(jù)平面232的組件或資源“直接”通信以直接與資源222互動(dòng)。在不同實(shí)施方案中,如所討論,數(shù)據(jù)平面采用計(jì)算云環(huán)境(或至少包括計(jì)算云環(huán)境或作為計(jì)算云環(huán)境的部分)或一組Web服務(wù)和資源的形式,所述一組Web服務(wù)和資源跨硬件和/或軟件組件的“云”或動(dòng)態(tài)網(wǎng)絡(luò)提供資料存儲(chǔ)和訪問。源自DNS映射的IP地址在這樣一種動(dòng)態(tài)云環(huán)境中是有利的,因?yàn)槔?可通過以編程方法將IP地址重新映射至任意適當(dāng)?shù)奶鎿Q實(shí)例進(jìn)行使用而掩蓋實(shí)例或可用性故障。例如,接收自用戶202或應(yīng)用程序204的請(qǐng)求可定向至網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)路由器224或其它適當(dāng)組件,其可將請(qǐng)求定向至對(duì)應(yīng)于請(qǐng)求的映射地址的實(shí)際資源222或主機(jī)。這樣一種方法允許實(shí)例動(dòng)態(tài)移動(dòng)、更新、復(fù)制等,而無需用戶或應(yīng)用程序改變用于訪問實(shí)例的IP地址或其它地址。在一些情況下,在持久性存儲(chǔ)中,資源222 (諸如數(shù)據(jù)實(shí)例)可具有至少一個(gè)備份實(shí)例230或副本。
[0037]如所討論,資源可在多個(gè)用戶、客戶、應(yīng)用程序等之間同時(shí)或在不同時(shí)間共享,訪問或分配級(jí)不同。當(dāng)用戶具有對(duì)機(jī)器或資源的專用訪問權(quán)時(shí),用戶還可具有對(duì)資源的本機(jī)或“裸機(jī)”訪問權(quán)達(dá)一個(gè)時(shí)間周期,這取決于所需訪問類型和其它這種因素。提供對(duì)資源的這個(gè)訪問級(jí)伴隨針對(duì)資源提供商的潛在風(fēng)險(xiǎn),因?yàn)榫哂袑?duì)裝置的本機(jī)訪問權(quán)的用戶可能具有修改資源的固件或其它配置信息的能力,其可影響后一用戶在無需首先重建鏡像或另外驗(yàn)證資源狀態(tài)的情況下利用資源的能力。
[0038]不同實(shí)施方案使得提供商能為用戶或客戶授予合理安全級(jí)下對(duì)硬件資源的基本上完全的訪問權(quán)??舍槍?duì)例如,諸如服務(wù)器、主機(jī)和集群實(shí)例的資源提供對(duì)遠(yuǎn)程硬件的這種本機(jī)級(jí)訪問權(quán)。對(duì)于諸如集群實(shí)例的資源,客戶可具有對(duì)硬件資源的子集的本機(jī)訪問權(quán),諸如可包括使用諸如外圍組件互連(PCI)總線的組件連接的外圍裝置。這些外圍裝置可包括網(wǎng)絡(luò)接口卡(NIC)、圖形處理單元(GPU)和可能通常在當(dāng)前云環(huán)境中虛擬化的類似裝置。在一些情況下,客戶可能具有對(duì)整個(gè)機(jī)器或機(jī)器組(包括并入其中的任意或所有裝置)完全的訪問權(quán)。對(duì)于一組機(jī)器(諸如服務(wù)器的機(jī)架),用戶可能被授予對(duì)整個(gè)機(jī)架基本上完全的訪問權(quán),包括提供作為機(jī)架的部分的任意開關(guān)或其它裝置或組件。
[0039]某些提供商提出這種硬件資源作為虛擬化抽象使得物理硬件的管理可在“更可信”的執(zhí)行背景下發(fā)生并且可提供附加益處,諸如不中斷執(zhí)行的情況下將客戶遷移至不同資源而能力及由于客戶或“訪客”未被綁定至特定硬件,所以供應(yīng)商競爭以針對(duì)價(jià)格提供最佳效用計(jì)算值的能力。此外,可使用更少或更多單個(gè)訪客實(shí)例鏡像,因?yàn)樵L客不需要大量特定于硬件的驅(qū)動(dòng)器。然而,這種虛擬化可伴隨潛在的高成本,因?yàn)樘摂M化可引致硬件的任何數(shù)量級(jí)的性能損失,其不包括虛擬化的本機(jī)加速且特定硬件裝置的虛擬化會(huì)消耗與所述裝置(例如,用于虛擬化網(wǎng)絡(luò)接口的處理器和/或存儲(chǔ)器)無關(guān)的大量資源。此外,虛擬化支持會(huì)滯后于新硬件(例如,視頻卡)的商品可購性數(shù)年且特定設(shè)備硬件通常太特定或“小眾”而無法保證強(qiáng)制性虛擬化支持。在支持高利潤的小眾設(shè)備或作為新硬件類型的云支持的首入者方面存在大的潛在市場機(jī)會(huì)。然而,經(jīng)由本機(jī)訪問提供這種支持可脫離內(nèi)部云脆弱的不同方面,例如,諸如供應(yīng)技術(shù)、計(jì)費(fèi)、資源利用和平衡和網(wǎng)絡(luò)二層布局,并且會(huì)違反遠(yuǎn)超客戶需求的線程模型。
[0040]不同實(shí)施方案可通過為用戶提供對(duì)主機(jī)硬件或特定裝置(諸如插入外圍控制總線或類似硬件數(shù)據(jù)路徑的卡)的本機(jī)訪問權(quán)而提供對(duì)資源(諸如主機(jī)服務(wù)器)的“部分”或“基本上”完全的訪問權(quán)。在特定性能級(jí)是一大問題的特定實(shí)施方案中,諸如輸入/輸出存儲(chǔ)器管理單元(I/O MMU)的技術(shù)可用于“指派”外圍裝置給訪客操作系統(tǒng)(定向I/O (Intel的VT-D )的虛擬化技術(shù)),有效地僅為訪客賦予所述外圍裝置的本機(jī)訪問權(quán)。如對(duì)本領(lǐng)域的普通技術(shù)人員顯而易見的是,訪客操作系統(tǒng)(OS)在不同實(shí)施方案中可指不同系統(tǒng),諸如托管正在運(yùn)行的OS的虛擬機(jī),其具有對(duì)OS或管理程序所依賴的一些硬件或機(jī)器狀態(tài)(包括B1S、配置等)的至少部分非虛擬化訪問權(quán),其未在托管提供商的管理控制下的。在其它實(shí)施方案中,訪客OS可指未在主機(jī)提供商的管理控制下在未完全虛擬化的情況下運(yùn)行的OS。在一個(gè)實(shí)施方案中,MMU可將直接存儲(chǔ)器訪問(DMA)能力的I/O總線(例如,PCI總線)邏輯連接至主機(jī)上的主存儲(chǔ)器并且可管理I/O裝置至物理地址的映射以調(diào)節(jié)從訪客至不同PCI或類似裝置的信息流。例如,這些裝置可包括圖形處理單元(GPU)協(xié)處理器、高性能NIC、磁盤控制器或其它“小眾”協(xié)處理裝置,諸如密碼卡或硬件編解碼器。在一些實(shí)例中,虛擬化或其它這種技術(shù)可用于提供訪客機(jī)器及主機(jī)機(jī)器與中央系統(tǒng)硬件(例如,CPU、存儲(chǔ)器等)之間的分離程度,本機(jī)訪問權(quán)潛在地可由給定主機(jī)上的特定裝置獲得。在其它實(shí)施方案中,可提供對(duì)特定主機(jī)中所包括或可獲得的任意硬件的本機(jī)訪問權(quán)。
[0041]為客戶提供對(duì)特定硬件的本機(jī)訪問權(quán)的主要問題之一在于客戶可能具有修改特權(quán)配置或B1S(基本I/O系統(tǒng))設(shè)置或主機(jī)硬件上的其它固件鏡像的能力。這些改變可在物理系統(tǒng)的重新啟動(dòng)期間持續(xù)使得在客戶被授予對(duì)主機(jī)或其裝置的訪問權(quán)之前硬件不會(huì)返回硬件曾經(jīng)所處的相同狀態(tài)。例如,在由Ring-1管理程序管理的虛擬機(jī)監(jiān)控器(VMM)的可動(dòng)態(tài)配置設(shè)置的情況下,改變通常不會(huì)在重新啟動(dòng)期間持續(xù),而是可能在訪客操作系統(tǒng)在虛擬化環(huán)境中實(shí)例化期間持續(xù)(例如,支持1MMU技術(shù)的芯片組設(shè)置)。客戶修改另外不可變的設(shè)置或固件的這種能力可能具有嚴(yán)重的安全影響。例如,惡意軟件(例如,木馬或病毒)可插入不同裝置的固件中。但是即使固件改變不涉及故意的惡意編程,改變?nèi)詴?huì)通過導(dǎo)致性能和/或兼容性問題而仍具有無意的破壞性。固件刷新會(huì)潛在地不可修復(fù)地物理毀壞硬件(也就是說,使硬件“變磚”)。已開發(fā)出特定技術(shù),其可解決這些挑戰(zhàn)的至少一些,尤其對(duì)于模板固件或芯片組配置。例如,這些技術(shù)包括可信平臺(tái)模塊(TPM)、來自Intel的LaGrande技術(shù)(LT)、測(cè)量啟動(dòng)技術(shù)、可信啟動(dòng)技術(shù)、信任動(dòng)態(tài)根(DRTM)和信任靜態(tài)根(SRTM)技術(shù)。然而,并不知道這些解決方案能夠解決特定于裝置固件、整個(gè)主機(jī)和其它這種硬件方面的各種問題。
[0042]根據(jù)不同實(shí)施方案的系統(tǒng)和方法可防止及/或監(jiān)控用戶在云或類似電子環(huán)境中對(duì)固件鏡像或配置信息的訪問和/或操作。在特定實(shí)施方案中,可為客戶提供對(duì)硬件資源的專用訪客訪問權(quán)達(dá)任意所需時(shí)間期限,諸如數(shù)小時(shí)或甚至數(shù)秒。圖3圖示根據(jù)一個(gè)實(shí)施方案的可用于提供這種本機(jī)訪問權(quán)給客戶的的配置300的實(shí)例。將參考使用常規(guī)的基于PCI的技術(shù)授予對(duì)主機(jī)中的外圍裝置的用戶訪問權(quán)而討論本實(shí)例,但是應(yīng)了解這只是一個(gè)實(shí)例且不同實(shí)施方案范圍內(nèi)的方法可結(jié)合與目前使用或后續(xù)為這種目的而開發(fā)的任意適當(dāng)硬件(包括基于不同的總線技術(shù)或以個(gè)別組件或“芯片”內(nèi)的更大或更小程度的系統(tǒng)集成)、軟件和協(xié)議使用。
[0043]本示例性配置300包括一組主機(jī)裝置302,諸如服務(wù)器或類似裝置,其各可具有一系列網(wǎng)絡(luò)端口 304。這些端口的一些可充當(dāng)“生產(chǎn)”端口,其將每個(gè)主機(jī)連接至能夠處理和路由至/來自每個(gè)裝置的網(wǎng)絡(luò)流量的至少一個(gè)網(wǎng)絡(luò)開關(guān)306。在一些實(shí)施方案中,網(wǎng)絡(luò)開關(guān)可以是“智能”網(wǎng)絡(luò)開關(guān),而在其它實(shí)施方案中,隔離可在網(wǎng)絡(luò)中比第一層開關(guān)更高的級(jí)別下發(fā)生。例如,在數(shù)據(jù)中心實(shí)例中,針對(duì)每個(gè)機(jī)架的服務(wù)器308可能存在一個(gè)智能開關(guān)。這些網(wǎng)絡(luò)端口 304的至少一個(gè)可托管訪客操作系統(tǒng)的流量,其中訪客在具有對(duì)這個(gè)生產(chǎn)網(wǎng)絡(luò)端口的訪問權(quán)的分配或分區(qū)主機(jī)裝置(例如,伺服器)302中的至少一個(gè)中央處理器(CPU)310的頂部上有效運(yùn)行。主機(jī)裝置302還可具有至少一個(gè)控制臺(tái)端口 312和控制臺(tái)控制器314,其可連接至單獨(dú)的控制臺(tái)網(wǎng)絡(luò)316。也可使用與“生產(chǎn)網(wǎng)絡(luò)”相同的網(wǎng)絡(luò)技術(shù)(諸如以太網(wǎng)技術(shù))實(shí)施這種“控制臺(tái)網(wǎng)絡(luò)”。在一些實(shí)施方案中,這些端口的至少一些可合并但邏輯分離(例如,在相同物理端口上多工)。每個(gè)主機(jī)裝置還可具有一個(gè)或多個(gè)專用電源單元(PSU)318,其可由控制臺(tái)控制器和/或主CPU訪問,由此,例如,機(jī)器可經(jīng)由主機(jī)CPU或網(wǎng)絡(luò)上的裝置斷電。機(jī)架中的每個(gè)服務(wù)器的電源可連接至機(jī)架配電單元(PDU)320,其可通過更高的電力電纜連接至一個(gè)或多個(gè)數(shù)據(jù)中心TOU322,每個(gè)數(shù)據(jù)中心TOU322可支持多個(gè)機(jī)架PDU0在一些情況下,可通過從機(jī)架PDU鋪設(shè)線路至控制臺(tái)控制器,由繼電器或其它這種組件使每個(gè)裝置重新通電而使主機(jī)302通電和斷電。
[0044]至少一個(gè)路由器324可將主機(jī)裝置連接至一個(gè)或多個(gè)供應(yīng)系統(tǒng)326,并且開關(guān)和/或路由器可管理對(duì)這些供應(yīng)系統(tǒng)的訪問。在一些實(shí)施方案中,機(jī)架內(nèi)的網(wǎng)絡(luò)流量被聚集以便使離開每個(gè)機(jī)架的電纜數(shù)最小化。在一些實(shí)施方案中,諸如預(yù)啟動(dòng)執(zhí)行環(huán)境(PXE)的能力存在于生產(chǎn)網(wǎng)絡(luò)端口 304上的主機(jī)302上,使得電力可使用控制臺(tái)循環(huán)且當(dāng)機(jī)器啟動(dòng)時(shí),PXE代碼可在網(wǎng)絡(luò)端口上執(zhí)行。還可取決于已被授權(quán)的重新啟動(dòng)的類型啟用或停用PXE訪問。例如,對(duì)于客戶起始的重新啟動(dòng),可允許來自主機(jī)上的局部鏡像的重新啟動(dòng),但PXE訪問可在上游停用。當(dāng)開關(guān)306被配置來將主機(jī)302連接至供應(yīng)系統(tǒng)時(shí),PXE可將裝置連接至供應(yīng)系統(tǒng)并且將機(jī)器啟動(dòng)至RAM(隨機(jī)訪問存儲(chǔ)器)盤或其它存儲(chǔ)塊,例如,其啟用諸如固件刷新或供應(yīng)新客戶鏡像的控制操作。在一個(gè)實(shí)施方案中,具有專門驅(qū)動(dòng)器的RAM磁盤可用于啟動(dòng)和/或運(yùn)行可能無法另外在特定機(jī)器上啟動(dòng)的不受信任或未知鏡像。供應(yīng)鏡像因此可經(jīng)由網(wǎng)絡(luò)接收至PXE,其含有供應(yīng)代碼或固件刷新代碼。一旦供應(yīng)完成,經(jīng)授權(quán)客戶網(wǎng)絡(luò)328可經(jīng)由開關(guān)306與裝置302互動(dòng)。供應(yīng)和控制系統(tǒng)可在無需人參與的情況下實(shí)時(shí)控制開關(guān),因?yàn)槔缢雎窂降淖詣?dòng)切換可基于供應(yīng)事件和外部協(xié)調(diào)。協(xié)調(diào)可由外部系統(tǒng)提供和/或管理,諸如云管理器數(shù)據(jù)庫和系統(tǒng)330或如本文其它地方所述的其它這種控制平面或控制系統(tǒng),其可命令供應(yīng)系統(tǒng)326、控制臺(tái)網(wǎng)絡(luò)316和機(jī)架組件執(zhí)行某些行動(dòng)。云管理器330可包括一個(gè)實(shí)施方案中與中央數(shù)據(jù)庫協(xié)作以執(zhí)行資源管理的不同方面的一個(gè)或多個(gè)工作流系統(tǒng)。
[0045]在諸如其中不同物理服務(wù)器可用于在不同時(shí)間托管客戶的云計(jì)算環(huán)境的環(huán)境中,可能需要提供用戶或客戶網(wǎng)絡(luò)的抽象級(jí)以避免對(duì)可隨時(shí)間而改變的資源分配的依賴性。也可使用覆蓋網(wǎng)絡(luò)技術(shù)實(shí)現(xiàn)虛擬網(wǎng)絡(luò)設(shè)備表示,諸如客戶網(wǎng)絡(luò)路由器和客戶網(wǎng)絡(luò)防火墻。例如,在至少一些實(shí)施方案中,可通過經(jīng)由將多個(gè)計(jì)算節(jié)點(diǎn)分離的一個(gè)或多個(gè)中間物理網(wǎng)絡(luò)創(chuàng)建覆蓋網(wǎng)絡(luò)而提供客戶的虛擬局部網(wǎng)絡(luò)或多個(gè)計(jì)算節(jié)點(diǎn)之間的其它虛擬網(wǎng)絡(luò)。在不同實(shí)施方案中,覆蓋網(wǎng)絡(luò)可以不同方法實(shí)施,諸如通過封裝通信及在用于一個(gè)或多個(gè)中間物理網(wǎng)絡(luò)的組網(wǎng)協(xié)議的較大物理網(wǎng)絡(luò)地址空間中嵌入虛擬網(wǎng)絡(luò)的虛擬網(wǎng)絡(luò)地址信息。
[0046]這允許客戶利用用于在客戶網(wǎng)絡(luò)中對(duì)資源尋址的標(biāo)準(zhǔn)化地址空間。通過利用標(biāo)準(zhǔn)化地址空間,客戶可創(chuàng)建“虛擬”或覆蓋網(wǎng)絡(luò),其可使用通用基地址、子網(wǎng)絡(luò)等,而無底層網(wǎng)絡(luò)置于物理地址空間上的限制。
[0047]使用虛擬化,可產(chǎn)生許多虛擬機(jī)實(shí)例,其對(duì)于用戶表現(xiàn)并且作用為客戶網(wǎng)絡(luò)的一部分,但是被映射至單獨(dú)或遠(yuǎn)程云、網(wǎng)絡(luò)等中的實(shí)際服務(wù)器或其它物理資源。如所討論,使用標(biāo)準(zhǔn)化地址空間可能要求建立并且維持物理底層地址與用作客戶地址空間的虛擬覆蓋地址之間的映射。在一些現(xiàn)有方法中,運(yùn)行在主機(jī)裝置上的中央處理器可控制虛擬地址和物理地址的映射使得接收自客戶的請(qǐng)求可定向至適當(dāng)資源。例如,這可采用數(shù)據(jù)包封裝和解封裝的形式,其中物理地址和/或報(bào)頭信息可在不同時(shí)間與虛擬地址和/或報(bào)頭信息“共存”,使得數(shù)據(jù)包可由客戶網(wǎng)絡(luò)上的源尋址至虛擬地址,但是可被正確地路由至適當(dāng)?shù)奈锢淼刂贰?br> [0048]例如,圖4圖示其中根據(jù)一個(gè)實(shí)施方案,接收自客戶或“覆蓋”網(wǎng)絡(luò)的數(shù)據(jù)包400被封裝以在其上托管虛擬云環(huán)境的物理底層網(wǎng)絡(luò)內(nèi)路由。在本實(shí)例中,所接收的客戶數(shù)據(jù)包400包括三個(gè)主要部分:虛擬地址402 (諸如與客戶覆蓋網(wǎng)絡(luò)相關(guān)的“虛擬IP地址”,本文中標(biāo)注為“IP/’)、協(xié)議報(bào)頭404 (諸如如因特網(wǎng)協(xié)議組中存在的原始傳輸控制協(xié)議報(bào)頭,本文中標(biāo)注為“TCP</’)和數(shù)據(jù)或“有效載荷”部分406。虛擬IP地址可能是僅與客戶或覆蓋網(wǎng)絡(luò)相關(guān)的地址。為了將數(shù)據(jù)包適當(dāng)?shù)芈酚芍了康牡刂鳈C(jī),這個(gè)數(shù)據(jù)包可被封裝以包括“外部”數(shù)據(jù)結(jié)構(gòu)或幀,其可在底層網(wǎng)絡(luò)或云或其它這種資源分組內(nèi)路由數(shù)據(jù)包。在本實(shí)例中,封裝過程示作產(chǎn)生“底層”數(shù)據(jù)包或數(shù)據(jù)報(bào)410,其包括原始客戶數(shù)據(jù)包的IPV、TCPt^P有效載荷但已將附加“報(bào)頭”信息附至此,在此包括物理或“實(shí)”地址412 (諸如云的底層網(wǎng)絡(luò)內(nèi)的IP地址或“IP/’)和控制報(bào)頭414 (諸如可由控制平面用于處理和/或路由數(shù)據(jù)包的協(xié)議報(bào)頭)。在未附上任意這種“實(shí)”信息的情況下,托管云基礎(chǔ)架構(gòu)的路由器和其它這種組件通常無法適當(dāng)?shù)貙?shù)據(jù)包路由至適當(dāng)目的地,因?yàn)榭蛻袈酚尚畔?例如,由402具體體現(xiàn))僅對(duì)客戶的覆蓋網(wǎng)絡(luò)有意義而非云主機(jī)資源所連接的物理組網(wǎng)基礎(chǔ)架構(gòu)。在一些實(shí)施方案中,接收至云中的裝置的任意客戶數(shù)據(jù)包可被封裝以包括將在云內(nèi)使用的這種物理路由信息。由于將在云中接收數(shù)據(jù)包的第一裝置可被視作在云的“邊緣”上,所以在本文中這些裝置將被稱作“邊緣”裝置。如本文中所使用的“邊緣”裝置可指能夠從云外接收信息數(shù)據(jù)包和/或能夠從云內(nèi)傳輸信息數(shù)據(jù)包的硬件和/或軟件中的任意裝置。在一些實(shí)施方案中,封裝過程可在任意適當(dāng)邊緣裝置上發(fā)生,而在其它實(shí)施方案中,邊緣裝置可將數(shù)據(jù)包路由至能夠封裝或解封裝數(shù)據(jù)包的封裝組件或其它裝置。如應(yīng)了解,當(dāng)數(shù)據(jù)包將被傳輸回客戶網(wǎng)絡(luò)或以其它方式在云外傳輸時(shí),可執(zhí)行“解封裝”過程,其中IPK412和控制報(bào)頭414被移除并且可使用客戶網(wǎng)絡(luò)的虛擬地址空間信息路由數(shù)據(jù)包。為了簡化的目的,將參考不同實(shí)施方案討論封裝過程,但是應(yīng)了解根據(jù)不同實(shí)施方案也可使用這種組件和過程執(zhí)行解封裝過程。
[0049]某些常規(guī)方法對(duì)諸如主機(jī)裝置和服務(wù)器的硬件執(zhí)行封裝級(jí)。在這些方法中,中央處理機(jī)可執(zhí)行封裝程序已將所接收的數(shù)據(jù)包路由至網(wǎng)絡(luò)端口、網(wǎng)絡(luò)接口卡(NIC)或類似裝置。封裝過程通常不暴露給用戶。在一些實(shí)施方案中,NIC的驅(qū)動(dòng)可由處理器直接訪問使得處理器可在經(jīng)由NIC路由至或來自客戶網(wǎng)絡(luò)的數(shù)據(jù)包之前訪問映射機(jī)制或分布式映射服務(wù)以將物理底層數(shù)據(jù)包映射至虛擬覆蓋數(shù)據(jù)包且反之亦然。在一些情況下,映射信息可從集中式服務(wù)分布至跨云的每個(gè)適當(dāng)節(jié)點(diǎn)。
[0050]然而,如所討論,資源提供商可能想具有為用戶或客戶提供對(duì)硬件資源(諸如主機(jī))的基本上完全的本地訪問或“裸機(jī)”訪問的能力。例如,如果映射由在主機(jī)的CPU上執(zhí)行的應(yīng)用程序管理,那么映射可能潛在地被在主機(jī)上執(zhí)行的用戶或訪客操作系統(tǒng)(OS)訪問。這種訪問會(huì)潛在地?fù)p害映射服務(wù)并且會(huì)使得訪客操作系統(tǒng)能重定向數(shù)據(jù)包、拒收數(shù)據(jù)包或以其它方式影響云網(wǎng)絡(luò)中數(shù)據(jù)包的處理。此外,這種功能可能受損害使得數(shù)據(jù)包會(huì)被發(fā)送至云外的非期望位置。其它潛在問題包括“數(shù)據(jù)包偽裝”,其中主機(jī)發(fā)送表現(xiàn)為源自不同主機(jī)或位置的數(shù)據(jù)包。這通常用于混淆,其中對(duì)抗性攻擊來自并且也可以是“基于ACK”的拒絕服務(wù)(DoS)攻擊的基礎(chǔ),其中作為標(biāo)準(zhǔn)網(wǎng)絡(luò)協(xié)議的部分的確認(rèn)數(shù)據(jù)包被發(fā)送至從未啟用傳輸?shù)闹鳈C(jī)等。當(dāng)訪客OS或CPU潛在地具有對(duì)映射和/或封裝功能的訪問權(quán)時(shí),會(huì)出現(xiàn)各種其它潛在問題。
[0051]因此,根據(jù)不同實(shí)施方案的系統(tǒng)和方法可提供不同用戶對(duì)資源基本上“裸機(jī)”的訪問,同時(shí)使用未暴露給所供應(yīng)的主機(jī)上的客戶、訪客OS、CPU或其它這種潛在的操作源來執(zhí)行諸如封裝、解封裝和無狀態(tài)防火墻操作。圖5圖示根據(jù)不同實(shí)施方案的可用于執(zhí)行數(shù)據(jù)包處理和其它安全組網(wǎng)功能的配置500的實(shí)例。在本實(shí)例中,數(shù)據(jù)包在客戶可訪問的主機(jī)資源的“上游”封裝,在此在網(wǎng)絡(luò)卡級(jí)上封裝,諸如就在數(shù)據(jù)包被幀化用于物理互連傳輸(例如,以太網(wǎng)幀化)之前。在本實(shí)例中,可見減負(fù)裝置506具有外部端口 508,其可與諸如云管理器504和映射服務(wù)502的組件通信。外部端口 508可使得這些組件能獨(dú)立于主機(jī)516上的CPU514或供應(yīng)在主機(jī)上的任意訪客鏡像518或訪客OS與減負(fù)裝置通信。使用這樣一種方法,傳輸至或傳輸自云的任意數(shù)據(jù)包可獨(dú)立于訪客可訪問部分被處理使得映射無法被用戶訪問或修改。在本實(shí)例中,減負(fù)裝置可具有存儲(chǔ)器510和至少能夠執(zhí)行基本映射、封裝、解封裝和/或類似這種功能的處理裝置512。這在本文中將通常被稱作“基于減負(fù)裝置的”封裝,但是應(yīng)了解其它外圍裝置或硬件組件可執(zhí)行類似功能且功能不限于封裝而是還可包括諸如解封裝、防火墻等的其它功能。減負(fù)裝置可充當(dāng)未暴露給用戶或訪客操作系統(tǒng)的主機(jī)中的嵌入系統(tǒng)。在用戶可能想要對(duì)減負(fù)裝置的至少一些功能的本機(jī)訪問權(quán)的情況下,減負(fù)裝置可僅具有針對(duì)訪客OS映射的特定存儲(chǔ)器部分,使得僅一些功能可被訪問。在一些實(shí)施方案中,這可采用虛擬減負(fù)裝置鏡像的形式,其中訪客OS可發(fā)現(xiàn)和/或利用減負(fù)裝置的部分,但無法訪問用于安全行動(dòng)(諸如封裝)的部分。
[0052]基于減負(fù)裝置的封裝功能可按每個(gè)主機(jī)提供或至少針對(duì)能夠接收和/或傳輸數(shù)據(jù)包和/或其上能夠供應(yīng)有客戶鏡像的那些主機(jī)提供。在這種情況下,云管理器504或類似組件或系統(tǒng)可管理映射信息至不同主機(jī)和/或節(jié)點(diǎn)的分布以及可用于這種過程的其它這種方面和配置信息。在這種情況下,云管理器可經(jīng)由外部端口 508與減負(fù)裝置506通信以更新配置信息、固件或可用于執(zhí)行封裝和類似這種行動(dòng)的其它信息。用于經(jīng)由外部通道更新配置信息的過程公開于同時(shí)申請(qǐng)的2009年9月4日申請(qǐng)的美國專利申請(qǐng)案第12/554,690號(hào)[ATTYD0CKET026014-010700US]中,其以引用的方法并入本文中。使用這樣一種方法,減負(fù)裝置的固件和/或配置信息可被更新以執(zhí)行所要功能以及根據(jù)需要與映射裝置502或其它適當(dāng)組件通信。配置可定期更新,如可由云管理器和/或映射系統(tǒng)管理諸如以發(fā)送大的有效載荷或另外調(diào)整減負(fù)裝置的功能。
[0053]在一些實(shí)施方案中,封裝和類似過程可在未暴露給用戶的其它組件上執(zhí)行,諸如被配置來路由至和來自主機(jī)516的減負(fù)裝置506和/或網(wǎng)絡(luò)端口 520的消息的智能開關(guān)520。這樣一種開關(guān)可包括可操作以執(zhí)行諸如數(shù)據(jù)包封裝的操作的處理器522,由此開關(guān)可將數(shù)據(jù)包處理并且路由至物理和/或虛擬地址空間中的適當(dāng)?shù)刂贰T谶@種情況下,(從地址空間的角度看)主機(jī)可被視作在云或可信環(huán)境外,由此開關(guān)可充當(dāng)邊緣裝置并且將接收自主機(jī)(和客戶網(wǎng)絡(luò))的虛擬地址空間的數(shù)據(jù)包修改至云中資源的物理地址空間。在不同實(shí)施方案的范圍內(nèi),也可使用多種其它組件,諸如路由器或?qū)S眠吘壯b置。
[0054]許多常規(guī)系統(tǒng)中的限制之一在于物理傳輸路徑或“線”僅可允許信息的相對(duì)較小數(shù)據(jù)包,諸如1.5KB或9KB數(shù)據(jù)包。較小數(shù)據(jù)包的使用并非嚴(yán)格意義上的物理考慮,而是也因歷史和協(xié)議定義原因所致。例如,在其中大多數(shù)或所有鏈路被切換且傳輸率高的現(xiàn)代網(wǎng)絡(luò)中,這種限制可增大達(dá)多個(gè)數(shù)量級(jí)而不過度增加沖突。即使物理網(wǎng)絡(luò)接口(諸如減負(fù)裝置)僅可傳輸或接收1.5KB或9KB數(shù)據(jù)包,在至少一些實(shí)施方案中仍需將較大數(shù)據(jù)包從DOM-U傳輸至DOMO網(wǎng)絡(luò)堆棧及至減負(fù)裝置上并且使減負(fù)裝置將較大數(shù)據(jù)包分割為多個(gè)
1.5KB或9KB數(shù)據(jù)包。許多消費(fèi)型減負(fù)裝置支持先進(jìn)功能,諸如分割減負(fù)以解決這種要求。具有分割減負(fù)能力的減負(fù)裝置可被配置來接收和/或緩沖相對(duì)較大的數(shù)據(jù)包并且將所述較大數(shù)據(jù)包分割或幀化為符合1.5KB.9KB或其它這種大小限制的較小數(shù)據(jù)包或以太網(wǎng)幀。接收這些數(shù)據(jù)包的裝置可被配置來基于多個(gè)較小數(shù)據(jù)包重組較大數(shù)據(jù)包。
[0055]許多減負(fù)裝置提供先進(jìn)的部件,諸如可協(xié)助高速組網(wǎng)的TCP分割減負(fù)。根據(jù)不同實(shí)施方案的系統(tǒng)和方法可利用這種部件來提供“虛擬”組網(wǎng),諸如其中客戶具有對(duì)座落在客戶地址空間和提供商網(wǎng)絡(luò)地址空間之間的主機(jī)裝置的訪問權(quán)。通常,分割減負(fù)功能僅與已知的四級(jí)(“L4”)協(xié)議(諸如TCP)協(xié)作。當(dāng)諸如在參考圖4的前一段落中所述數(shù)據(jù)包被封裝時(shí),L4協(xié)議改變?yōu)槌齌CP以外的協(xié)議。因此,減負(fù)裝置上的分割減負(fù)部件無法在這種被封裝數(shù)據(jù)包上運(yùn)行。如在本技術(shù)中用于描述物理硬件(“一級(jí)”)與運(yùn)行在所述硬件上的應(yīng)用程序(七級(jí))之間的層,四級(jí)指“協(xié)議”級(jí),其在因特網(wǎng)協(xié)議的情況下可指諸如傳輸控制協(xié)議(TCP)和用戶數(shù)據(jù)報(bào)協(xié)議(UDP)的協(xié)議。接收側(cè)TCP段處理假設(shè)TCP段有效載荷完全是客戶數(shù)據(jù)(或其它這種數(shù)據(jù))。因此,在傳輸側(cè)上,封裝相關(guān)的元數(shù)據(jù)無法添加至L4有效載荷以保持原始L4報(bào)頭,因?yàn)樵獢?shù)據(jù)的添加會(huì)導(dǎo)致接收側(cè)損壞具有封裝/解封裝元數(shù)據(jù)的數(shù)據(jù)包有效載荷。
[0056]現(xiàn)有封裝和/或覆蓋網(wǎng)絡(luò)實(shí)施方式存在的另一個(gè)潛在問題在于報(bào)頭通常不包括物理端口信息,其被常規(guī)硬件裝置用于諸如路由和載荷平衡的目的。
[0057]不同的實(shí)施方案可利用具有偽造或在一些情況下原始端口數(shù)的偽造TCP報(bào)頭,其中報(bào)頭依照現(xiàn)有協(xié)議規(guī)則(例如,TCP選項(xiàng))擴(kuò)展且封裝/解封裝信息在協(xié)議擴(kuò)展中傳遞。例如,除任意適當(dāng)?shù)腡CP相關(guān)信息外,“偽造”TCP報(bào)頭可包括任意的常規(guī)適當(dāng)端口信息。通過包括這種偽造端口信息,常規(guī)路由器和其它這種裝置可獲得改進(jìn)的載荷分布,因?yàn)樵S多常規(guī)的硬件裝置將載荷分布決策至少部分基于報(bào)頭中指定的端口。例如,路由器或減負(fù)裝置可看見IP地址和TCP信息并且將數(shù)據(jù)包處理為標(biāo)準(zhǔn)數(shù)據(jù)包。這樣一種方法可為有利的,因?yàn)槠淇芍饕褂贸R?guī)的硬件裝置和網(wǎng)絡(luò)實(shí)施在軟件中。
[0058]也可使用不改變四級(jí)有效載荷的協(xié)議(如上所述,在網(wǎng)絡(luò)堆棧中)。接收自用戶的原始數(shù)據(jù)包可包括有效載荷(在此是四級(jí)有效載荷),連同虛擬IP地址(網(wǎng)絡(luò)堆棧中的三級(jí))和原始TCP報(bào)頭(四級(jí))。使用如上所述的封裝方法,控制主機(jī)可附上實(shí)地址,諸如IPk和偽造TCP表頭TCPf (或例如,UDPf)用于在物理或安全網(wǎng)絡(luò)中路由數(shù)據(jù)包(或幀)。對(duì)于封裝后的數(shù)據(jù)包,原始虛擬IP地址、TCP (或UDP等)和有效載荷信息現(xiàn)有效形成四級(jí)有效載荷,IPe形成三級(jí)地址且TCPf形成四級(jí)協(xié)議報(bào)頭。由于數(shù)據(jù)包具有原始或偽造端口數(shù),因此這樣一種格式還可解決諸如上述的路由器ECMP散列問題的問題。但是常規(guī)的NIC或類似裝置不知如何根據(jù)經(jīng)封裝的幀適當(dāng)?shù)胤指?4K或類似數(shù)據(jù)包,因?yàn)镹IC將無法適當(dāng)?shù)亟忉尙F(xiàn)含在四級(jí)有效載荷內(nèi)的信息。此外,如所討論,已通過包括IPv和TCPq信息而改變四級(jí)有效載荷。
[0059]不同實(shí)施方案可取而代之利用稍作修改的協(xié)議格式以處理經(jīng)封裝數(shù)據(jù)包。常規(guī)協(xié)議在TCP報(bào)頭末端上提供額外空間,其通常允許被稱作“TCP選項(xiàng)”或“TCP附加組件”的項(xiàng)目。這些TCP選項(xiàng)使得TCP協(xié)議能擴(kuò)展為包括附加部件。在一些實(shí)施方案中,TCP數(shù)據(jù)包可有效擴(kuò)展達(dá)大約24字節(jié),附加信息被聲明為TCP選項(xiàng)。如應(yīng)了解,在不同實(shí)施方案中和/或?qū)嵤┓绞街袛?shù)據(jù)包可擴(kuò)展達(dá)不同數(shù)量且24字節(jié)擴(kuò)展只是一個(gè)實(shí)例。偽造TCP報(bào)頭因此可包括原始TCP信息,加上控制報(bào)頭信息。虛擬IP地址的信息還可包括在這種TCP選項(xiàng)空間中。因此,取代在封裝期間添加實(shí)報(bào)頭和修改有效載荷,IPv和TCPtj信息可包括在偽造TCP的TCP選項(xiàng)段中使得有效載荷或數(shù)據(jù)部分不變。
[0060]在相對(duì)于虛擬化環(huán)境管理數(shù)據(jù)包信息的示例性過程中,接收包括虛擬地址信息的數(shù)據(jù)包。如果接收至主機(jī)或用戶已具有基本上完全的訪問權(quán)的其它機(jī)器,那么數(shù)據(jù)包被定向至用戶可控制硬件上游的一個(gè)或多個(gè)裝置或組件使得用戶無法修改路由和其它這種處理。在一些實(shí)施方案中,在組件之間,諸如從訪客至DOM-O傳輸?shù)臄?shù)據(jù)包的大小可高至64KB且因此可能需要分割??芍T如通過聯(lián)系映射服務(wù)以確定對(duì)應(yīng)于虛擬地址信息的物理地址信息而確定數(shù)據(jù)包的映射信息。地址信息可添加至所接收的消息,諸如至報(bào)頭(諸如IPk段),其中地址信息對(duì)應(yīng)于數(shù)據(jù)包所定向的物理地址。虛擬地址信息可在不修改有效載荷的情況下添加至數(shù)據(jù)包的協(xié)議報(bào)頭(諸如TCP報(bào)頭),使得數(shù)據(jù)包仍可被消費(fèi)型硬件路由、分割和另外處理。數(shù)據(jù)包被傳輸至減負(fù)裝置,其可使用TCP分割減負(fù)功能分割數(shù)據(jù)包并且將所得數(shù)據(jù)包傳輸至線及最終目的地上。如應(yīng)了解,類似功能可用于處理接收自物理地址空間的數(shù)據(jù)包,其中針對(duì)數(shù)據(jù)包確定映射信息并且添加虛擬地址信息至數(shù)據(jù)包。在虛擬映射信息未指定端口的情況下,可使用“偽造”端口,其使得數(shù)據(jù)包能在其至虛擬目的地的途中被處理,諸如以實(shí)現(xiàn)載荷平衡或類似功能。
[0061]在用于相對(duì)于虛擬化環(huán)境管理數(shù)據(jù)包信息的類似過程的實(shí)例中,以太網(wǎng)幀被接收至物理網(wǎng)絡(luò)接口(例如,NIC),其中幀包括物理地址信息。在一些實(shí)施方案中,具有諸如IPk和TCPf的信息的段可合并以產(chǎn)生一個(gè)或多個(gè)較大段,其可改進(jìn)性能。這還可通過支持接收側(cè)合并的消費(fèi)型NIC完成,因?yàn)閿?shù)據(jù)包格式依照所有TCP格式規(guī)則且TCP有效載荷與客戶數(shù)據(jù)包的有效載荷完全相同。減負(fù)裝置(或其它這種裝置)在用戶可控制硬件的上游使得用戶無法修改路由和其它這種處理。例如,虛擬地址信息可在移除報(bào)頭和報(bào)尾幀化信息后提取自有效載荷的協(xié)議報(bào)頭(諸如TCP報(bào)頭)。虛擬地址信息可用于組裝提取自所接收的以太網(wǎng)幀的數(shù)據(jù)包的報(bào)頭。隨后可諸如通過將數(shù)據(jù)包傳輸至虛擬地址空間中的目的地而處理數(shù)據(jù)包。如應(yīng)了解,類似功能可用于處理接收自虛擬地址空間的以太網(wǎng)巾貞,其中虛擬地址信息提取自數(shù)據(jù)包的報(bào)頭。
[0062]然而,在一些實(shí)施方案中可能無需簡單擴(kuò)展TCP報(bào)頭,就像所接收的每個(gè)數(shù)據(jù)包是1.5K且24字節(jié)的信息被添加至這些數(shù)據(jù)包的每個(gè),隨后數(shù)據(jù)包現(xiàn)將各超過1.5K傳輸極限且各將需被劃分為兩個(gè)數(shù)據(jù)包,其可導(dǎo)致不需要的開銷量和附加流量。因此在至少一些實(shí)施方案中,可能需要在不顯著增大開銷的同時(shí)利用這種附加信息。
[0063]不同實(shí)施方案利用每個(gè)數(shù)據(jù)包在分割時(shí)無需諸如IPv和TCPtj信息的信息,而是可在合并時(shí)確定的事實(shí)。一種方法因此是取得IPv和TCPtj信息等的附加信息(在一個(gè)實(shí)例中大約24字節(jié))并且創(chuàng)建編碼信息(在一個(gè)實(shí)例中大約120字節(jié)),其在一個(gè)實(shí)施方案是不同實(shí)施方案中的信息的大約一至五個(gè)實(shí)例,但是也可使用其它長度的編碼信息,諸如可取決于散列技術(shù)??墒褂蒙⒘谢蝾愃茩C(jī)制重建編碼信息使得原始信息可重建自至少24字節(jié)的散列元數(shù)據(jù),其可從經(jīng)分割數(shù)據(jù)包的一個(gè)或多個(gè)實(shí)例獲得。因此,例如,取代添加24字節(jié)至每個(gè)數(shù)據(jù)包段,附加的大約120字節(jié)可分割為適當(dāng)片數(shù)并且可沿著有效載荷策略定位,諸如在數(shù)據(jù)將被分割的邊界上。例如,減負(fù)裝置或類似裝置可了解數(shù)據(jù)將基于特定位置上的大小(包括附加的50字節(jié))自動(dòng)分割。由于這些分割位置是已知的,所以減負(fù)裝置可在這些分割線(或另外在不同段內(nèi))插入附加信息的實(shí)例使得至少五個(gè)1.5K數(shù)據(jù)包(或任意其它適當(dāng)數(shù)量的適當(dāng)大小)中將存儲(chǔ)IPv和TCPtj的信息,但是每個(gè)數(shù)據(jù)包將不包括所有10字節(jié)的附加信息。
[0064]當(dāng)接收到數(shù)據(jù)包時(shí),合并過程可如使用常規(guī)系統(tǒng)一樣發(fā)生。當(dāng)1.5K段被組裝為64K有效載荷時(shí)或在合并過程期間,信息的部分可用于重建IPv和TCPtj信息等。例如,使用散列過程及在不同數(shù)據(jù)包之間分布信息的優(yōu)點(diǎn)在于即使一些1.5K數(shù)據(jù)包丟失,IPv和TC&信息仍可重建,只要接收到具有信息部分的至少兩段。整個(gè)有效載荷可能無法重建,但是至少報(bào)頭信息可重建。此外,接收裝置可簡單請(qǐng)求未接收到的所述1.5K段(例如,以太網(wǎng)幀),因?yàn)閳?bào)頭信息可重建且因此無需請(qǐng)求整個(gè)有效載荷的重新發(fā)送。這樣一種方法可具有少得多的抖動(dòng)方差,因?yàn)橥ǔo需重新發(fā)送大的數(shù)據(jù)包,其可能導(dǎo)致大的性能變化。例如,在視頻流量的情況下,只要丟失的數(shù)據(jù)不大,丟失的流量就可忽略且因此在至少一些實(shí)施方案中無需被請(qǐng)求。這是能夠成功接收部分段的優(yōu)點(diǎn)。
[0065]在用于在虛擬化環(huán)境中處理數(shù)據(jù)包的示例性過程中,數(shù)據(jù)包接收自客戶地址空間,其包括虛擬地址信息。如所討論,接收自用戶的初始數(shù)據(jù)包可為具有IPv和TCPtj信息的64K數(shù)據(jù)包。數(shù)據(jù)包可接收至或定向至控制主機(jī)或另一個(gè)這種安全組件,其至少部分無法被客戶分區(qū)裝置的用戶訪問??墒褂冒踩M件(諸如如上所述通過聯(lián)系映射服務(wù))將虛擬地址信息轉(zhuǎn)換為實(shí)地址。若需要,TCP報(bào)頭(或另一個(gè)協(xié)議報(bào)頭)可更新,但是諸如IPv和TCPJf息的附加信息可取而代之插入數(shù)據(jù)中。當(dāng)將IPv和TCPtj信息添加至數(shù)據(jù)時(shí),這種“虛擬化”信息可散列或另外分割為多個(gè)部分。如果尚未確定,那么安全裝置可發(fā)現(xiàn)傳輸路徑的分割極限并且可確定用戶有效載荷的段的邊界。虛擬化信息的部分可鄰近有效載荷的中心數(shù)據(jù)包中的分割邊界放置或相對(duì)于其定位。“新”數(shù)據(jù)包或幀隨后可傳遞至減負(fù)裝置或其它這種安全裝置上,例如其可將數(shù)據(jù)包自動(dòng)分割為一組確定大小的數(shù)據(jù)包,諸如1.5K數(shù)據(jù)包,段數(shù)至少部分取決于總數(shù)據(jù)包的大小??墒褂脺p負(fù)裝置或其它這種裝置的分割減負(fù)過程針對(duì)每個(gè)數(shù)據(jù)包復(fù)制IP和TCP報(bào)頭,潛在地一些小變化補(bǔ)償大小的總體變化。然后,可將數(shù)據(jù)包傳輸至目的地。
[0066]類似過程可用于針對(duì)虛擬化環(huán)境處理數(shù)據(jù)包,其中接收到一組以太網(wǎng)幀,至少一些以太網(wǎng)幀包括已被散列或另外分割為多個(gè)部分的“虛擬化”信息。虛擬化信息可提取自每個(gè)幀的底層段,其包括相關(guān)有效載荷中的虛擬化信息的一部分。虛擬化信息(例如,報(bào)頭數(shù)據(jù))被重組,只要接收到包括虛擬化信息的足夠數(shù)量的幀且所接收的數(shù)據(jù)包可合并至可行的程度。如果未接收到所有幀,但報(bào)頭數(shù)據(jù)能夠重組,那么可僅針對(duì)丟失段發(fā)送請(qǐng)求。
[0067]當(dāng)最終在目的地或沿著至目的地的路徑的裝置上接收到至少絕大多數(shù)數(shù)據(jù)包時(shí),裝置可試圖將這些數(shù)據(jù)包合并或重組為至少一個(gè)較大段(若非完整64K或其它數(shù)據(jù)包)。在至少一些實(shí)施方案中,只要接收到在有效載荷中具有附加報(bào)頭信息的兩個(gè)數(shù)據(jù)包(或比在分割期間原始產(chǎn)生的少的數(shù)量的數(shù)據(jù)包,其中通過特定散列技術(shù)確定所需數(shù)據(jù)包的數(shù)量),這些數(shù)據(jù)包就可用于重建報(bào)頭數(shù)據(jù)及合并數(shù)據(jù)包,用虛擬或客戶網(wǎng)絡(luò)的信息替換實(shí)地址和協(xié)議信息,由此較大的組裝段可傳遞至客戶或其它目的地。在一些實(shí)施方案中,合并可在減負(fù)裝置或類似裝置上發(fā)生,而在其它實(shí)施方案中,合并可使用接收裝置上的訪客操作系統(tǒng)等發(fā)生。此外,上述過程的不同步驟可以任意適當(dāng)順序或并列執(zhí)行且較少附加或替代步驟在不同實(shí)施方案的范圍內(nèi)是可行的。
[0068]使用虛擬化,可產(chǎn)生許多虛擬機(jī)實(shí)例,其對(duì)于用戶表現(xiàn)并且作用為客戶網(wǎng)絡(luò)的一部分,但是被映射至單獨(dú)或遠(yuǎn)程云、網(wǎng)絡(luò)等中的實(shí)際服務(wù)器或其它物理資源。如所討論,使用標(biāo)準(zhǔn)化地址空間可能要求建立并且維持物理底層地址與用作客戶地址空間的虛擬覆蓋地址之間的映射。在一些現(xiàn)有方法中,運(yùn)行在主機(jī)裝置上的中央處理單元可控制虛擬和物理地址的映射使得接收自客戶的請(qǐng)求可定向至適當(dāng)資源。例如,這可采用數(shù)據(jù)包封裝和解封裝的形式,其中物理地址和/或報(bào)頭信息可在不同時(shí)間與虛擬地址和/或報(bào)頭信息“共存”使得數(shù)據(jù)包可由客戶網(wǎng)絡(luò)上的源尋址至虛擬地址但是可通過添加而適當(dāng)?shù)芈酚芍吝m當(dāng)?shù)奈锢淼刂贰?br> [0069]框架可通過常規(guī)或其它組網(wǎng)組件(諸如消費(fèi)型NIC裝置)實(shí)施,其可使得這些組件能支持多個(gè)協(xié)議,諸如多種不同標(biāo)準(zhǔn)和專有協(xié)議。這些消費(fèi)型裝置隨后可提供提高的性能和獨(dú)立于數(shù)據(jù)包的客戶特定格式用于這些裝置的常規(guī)協(xié)議的其它優(yōu)點(diǎn)。例如,NIC供應(yīng)商可實(shí)施一種框架,其使得NIC能被具有任意兼容協(xié)議的客戶使用,無需針對(duì)特殊硬件的任何自定義或需求。
[0070]在一個(gè)實(shí)例中,網(wǎng)絡(luò)環(huán)境中的減負(fù)裝置可處理TCP段??蛻艟W(wǎng)絡(luò)可利用一種大小(例如,64K)的數(shù)據(jù)包,其通常無法從減負(fù)裝置中傳出至網(wǎng)絡(luò)上,因此減負(fù)裝置可能只能夠傳輸例如,大小為8K或9K數(shù)量級(jí)(其取決于網(wǎng)絡(luò)配置和其它這種問題)的網(wǎng)絡(luò)數(shù)據(jù)包。如上所述,存在允許較大數(shù)據(jù)包在減負(fù)裝置上分割為適當(dāng)大小(例如,1.5K或9K等)的多個(gè)以太網(wǎng)幀的技術(shù)。例如,TCP分割減負(fù)(TS0)和接收側(cè)合并(RSC)可分別用在出口和入口終點(diǎn)上以通過使得主機(jī)能處理較大TCP段(例如,大小64K)而增大網(wǎng)絡(luò)吞吐量性能。TSO是一種用于將TCP數(shù)據(jù)包分割為適當(dāng)大小的段以經(jīng)由網(wǎng)絡(luò)傳輸?shù)募夹g(shù)且RSC使得這些段能在網(wǎng)絡(luò)的另一側(cè)上重組。然而,通常,諸如TSO和RSC的技術(shù)不支持封裝有專有協(xié)議信息(諸如圖4 (b)中所示的附加報(bào)頭信息)的數(shù)據(jù)包。例如,使用專有格式封裝的數(shù)據(jù)包通常大于TCP數(shù)據(jù)包且無預(yù)期的TCP報(bào)頭信息,使得減負(fù)裝置無法識(shí)別這些封裝的數(shù)據(jù)包。
[0071]然而,通過實(shí)施適當(dāng)?shù)目蚣?,減負(fù)裝置或其它適當(dāng)網(wǎng)絡(luò)組件可具有將封裝的數(shù)據(jù)包映射至組件可理解為TCP數(shù)據(jù)包的某物的能力和規(guī)范。例如,一旦減負(fù)裝置將數(shù)據(jù)包識(shí)別為TCP數(shù)據(jù)包,減負(fù)裝置就可分割數(shù)據(jù)包、添加適當(dāng)?shù)膱?bào)頭和/或進(jìn)行減負(fù)裝置通常對(duì)常規(guī)TCP數(shù)據(jù)包完成的任意其它事項(xiàng)。甚至對(duì)于用任意多種不同協(xié)議封裝的數(shù)據(jù)包,TSO和RSC可提供顯著改進(jìn)(例如,高達(dá)80%性能提高)以及其它完善的優(yōu)點(diǎn)。此外,通過實(shí)施框架,減負(fù)裝置不僅可結(jié)合不同協(xié)議使用,而且可使得客戶可升級(jí)或改變協(xié)議而無需購買、更新或修改其現(xiàn)有硬件。
[0072]非透明域可結(jié)合封裝的數(shù)據(jù)包使用以包括被特定格式或協(xié)議(諸如GRE或其它這種協(xié)議)的客戶網(wǎng)絡(luò)利用的任意信息。在至少一些實(shí)施方案中,非透明域是基于TCP或UDP的報(bào)頭或其它這種協(xié)議報(bào)頭。在一個(gè)實(shí)例中,非透明報(bào)頭具有在非透明字段中指定偏移量下的第一組信息,其指示或識(shí)別特定格式的段或數(shù)據(jù)包。例如,信息可以是兩字節(jié)字段,其包括對(duì)應(yīng)于特定格式的值。網(wǎng)絡(luò)硬件可含有來自第一偏移值的值和相應(yīng)格式的映射或具有對(duì)其的訪問權(quán)以從第一組信息的值中確定適當(dāng)格式的數(shù)據(jù)包。
[0073]在本實(shí)例中,非透明字段還包括非透明字段中指定第二偏移量下的第二字段的信息。這種第二字段可為適當(dāng)長度(諸如兩個(gè)字節(jié))并且可包括如可用于合并的指定流標(biāo)識(shí)符的值或特定流量流的標(biāo)識(shí)符。在一些實(shí)施方案中,這種字段可識(shí)別唯一 TCP流(或其它流,諸如m)P流)連同在對(duì)特定格式數(shù)據(jù)包執(zhí)行TSO或RSC運(yùn)算時(shí)的常規(guī)5元組。
[0074]這些實(shí)例可對(duì)應(yīng)于特定協(xié)議的環(huán)境,例如其中報(bào)頭具有諸如數(shù)據(jù)包所屬虛擬網(wǎng)絡(luò)、數(shù)據(jù)包所源自的虛擬機(jī)和/或數(shù)據(jù)包正前往的虛擬機(jī)的信息。在通用TCP流內(nèi)的數(shù)據(jù)包之間這種信息不會(huì)變化。槽ID或虛擬機(jī)標(biāo)識(shí)符可用作連接信息,因?yàn)槔?,在虛擬化網(wǎng)絡(luò)環(huán)境中,可能在屬于兩個(gè)不同虛擬網(wǎng)絡(luò)的相同物理主機(jī)上存在兩個(gè)不同虛擬機(jī)。所述虛擬機(jī)可能具有完全相同的IP地址并且可能潛在地與恰巧具有相同端口和IP地址的某人通信。從TCP的角度看,5元組可完全相同。其它信息(諸如源IP和目的地IP、源端口和目標(biāo)端口等)也可完全相同。因此,從TCP的角度看,連接表現(xiàn)為相同連接,但可能實(shí)際上在兩個(gè)不同的私有網(wǎng)絡(luò)中。槽ID的使用可唯一地區(qū)分這些情況。如應(yīng)了解,對(duì)于其它協(xié)議,可使用除虛擬機(jī)標(biāo)識(shí)符以外的值。
[0075]在一個(gè)實(shí)例中,封裝的數(shù)據(jù)包被接收至減負(fù)裝置。減負(fù)裝置可使用框架規(guī)范分析數(shù)據(jù)包以識(shí)別數(shù)據(jù)包被封裝且需不同于常規(guī)TCP或UDP數(shù)據(jù)包處理。在一個(gè)實(shí)例中,封裝的數(shù)據(jù)包包括內(nèi)IP報(bào)頭和外IP報(bào)頭。封裝的數(shù)據(jù)包還具有非透明字段(其可表現(xiàn)為有效載荷的部分),其可用作協(xié)議特定信息。非透明字段的長度和其中所含的信息可在實(shí)施方案之間變化。為了識(shí)別數(shù)據(jù)包被封裝,外IP報(bào)頭可含有預(yù)配置的協(xié)議信息。此外,數(shù)據(jù)包可在非透明字段中含有至少一個(gè)兩字節(jié)字段(但是在其它實(shí)施方案的范圍內(nèi)也可使用其它大小和位置)。兩字節(jié)字段可與非透明字段的開端相距預(yù)配置距離且兩字節(jié)字段的值也可預(yù)配置。外IP報(bào)頭中協(xié)議信息與非透明字段的兩字節(jié)字段中的格式信息的組合可使得減負(fù)裝置或另一個(gè)網(wǎng)絡(luò)組件能識(shí)別數(shù)據(jù)包被封裝以及封裝格式。由于減負(fù)裝置未另外考慮非透明報(bào)頭中的其它信息,所以非透明報(bào)頭可包括特定于任意特定協(xié)議的信息而不影響減負(fù)裝置對(duì)數(shù)據(jù)包的處理。非透明報(bào)頭中的兩字節(jié)可識(shí)別特定格式的數(shù)據(jù)包,其可協(xié)助確定處理數(shù)據(jù)包的規(guī)則或政策?;谕釯P報(bào)頭和非透明字段中的這種信息,減負(fù)裝置可分析每個(gè)所接收的數(shù)據(jù)包以確定數(shù)據(jù)包是否可使用常規(guī)方法處理或數(shù)據(jù)包是否是封裝的數(shù)據(jù)包以及是否應(yīng)根據(jù)框架指定的特殊規(guī)則處理。
[0076]例如,在TSO過程期間,可對(duì)從內(nèi)IP報(bào)頭開始的TCP段數(shù)據(jù)使用標(biāo)準(zhǔn)算法而執(zhí)行入口(例如,輸出)TCP段的分割。大的封裝數(shù)據(jù)包被分割為許多一種大小的數(shù)據(jù)包,使得段能經(jīng)由網(wǎng)絡(luò)傳輸。為了使框架也能與無狀態(tài)隧道協(xié)作,非透明字段被逐字復(fù)制至每個(gè)所得分割的TCP/IP數(shù)據(jù)包并且被放置在內(nèi)IP報(bào)頭與外IP報(bào)頭之間。外IP報(bào)頭被復(fù)制至每個(gè)所得數(shù)據(jù)包且可使用應(yīng)用于內(nèi)IP報(bào)頭的相同邏輯進(jìn)行適當(dāng)調(diào)整,諸如“長度”信息的變化。此外,可連同IP報(bào)頭的檢查和產(chǎn)生IP ID (其是IP報(bào)頭的一部分)。
[0077]類似地,在RSC過程期間,具有特殊協(xié)議格式信息的數(shù)據(jù)包或段的TCP流由TCP端口的常規(guī)5元組、內(nèi)IP地址、內(nèi)IP協(xié)議字段和內(nèi)L4端口(例如,TCP端口或UDP端口)以及與非透明字段的開端具有預(yù)配置偏移量的附加兩個(gè)字節(jié)定義。應(yīng)了解,特殊格式數(shù)據(jù)包的TCP流不會(huì)與常規(guī)數(shù)據(jù)包流重疊。此外,應(yīng)了解,為簡化說明的目的,諸如“數(shù)據(jù)包”的術(shù)語在全文中使用,但是在其它位置或?qū)嵗希^程可能涉及更普遍地稱作段或幀的對(duì)象且在本文所討論的過程中的不同點(diǎn)上單個(gè)對(duì)象的通用名稱可能在這些和其它術(shù)語之間變化。
[0078]對(duì)從內(nèi)IP報(bào)頭開始的TCP數(shù)據(jù)包數(shù)據(jù)使用常規(guī)算法而執(zhí)行RSC。當(dāng)合并相關(guān)TCP數(shù)據(jù)包時(shí),來自第一 TCP數(shù)據(jù)包的非透明字段可復(fù)制至內(nèi)IP報(bào)頭與外IP報(bào)頭之間的所得TCP段。所得TCP段的外IP報(bào)頭可以與內(nèi)IP報(bào)頭合并的相同方式合并。如果存在對(duì)IP標(biāo)志的限制(例如,“禁止分割”或“更多位”),其迫使入口數(shù)據(jù)包對(duì)于RSC而言不適當(dāng),那么限制可應(yīng)用于內(nèi)IP報(bào)頭和外IP報(bào)頭中的IP標(biāo)志。
[0079]RSC可針對(duì)接收到數(shù)據(jù)包的每個(gè)連接維持散列桶(hash bucket)(或其它隊(duì)列或臨時(shí)存儲(chǔ)位置)。當(dāng)接收到TCP數(shù)據(jù)包時(shí),接收裝置隨后可使用諸如IP和TCP信息以及外TCP報(bào)頭中的序號(hào)位的信息確定數(shù)據(jù)包所屬的連接并且可將數(shù)據(jù)包排隊(duì)至適當(dāng)?shù)纳⒘型啊?duì)于已存在數(shù)據(jù)包的桶,網(wǎng)絡(luò)組件可試圖合并分割的數(shù)據(jù)包直至合并出完整的數(shù)據(jù)包。常規(guī)的標(biāo)準(zhǔn)可適用,諸如當(dāng)大小達(dá)到特定閾值或數(shù)據(jù)包排隊(duì)達(dá)特定長度或時(shí)間范圍時(shí),將合并的數(shù)據(jù)包發(fā)送至操作系統(tǒng)上。
[0080]然而,在至少一些實(shí)施方案中,連接概念將不同于標(biāo)準(zhǔn)TCP數(shù)據(jù)包處理的連接。取代上述常規(guī)5元組,連接將基于6元組確定,其包括5元組的標(biāo)準(zhǔn)TCP連接信息連同兩字節(jié)非透明字段中識(shí)別的新的一段連接信息。一旦網(wǎng)絡(luò)組件使用特殊規(guī)則斷定數(shù)據(jù)包將被處理,組件就使用6元組而非5元組來斷定連接信息并且隨后基本上與針對(duì)常規(guī)數(shù)據(jù)包相同地執(zhí)行RSC過程以合并數(shù)據(jù)包、檢查序號(hào)等。
[0081]此外,在許多情況下,RSC還需拋棄除被合并的數(shù)據(jù)包之一外的所有非透明位,諸如在一些實(shí)施方案中第一個(gè)接收的數(shù)據(jù)包。在一些實(shí)施方案中,當(dāng)非透明字段不匹配時(shí),RSC無法執(zhí)行使得來自其它數(shù)據(jù)包的非透明字段至少直至所述數(shù)據(jù)包可被另外處理都不會(huì)被拋棄。在接收并且存儲(chǔ)(例如,至少臨時(shí)存儲(chǔ)或緩存)非透明位的一個(gè)副本后,匹配非透明字段的所存儲(chǔ)副本的將合并的所有其它數(shù)據(jù)包的非透明位可被減負(fù)裝置拋棄。此外,由于數(shù)據(jù)包的總長度在合并期間變化,所以減負(fù)裝置將需針對(duì)外IP和內(nèi)IP報(bào)頭對(duì)檢查和、IP報(bào)頭標(biāo)志或其它這種信息進(jìn)行適當(dāng)調(diào)整。在非透明字段和其它位置中,字節(jié)計(jì)數(shù)和其它方面也可能被改變。除用于識(shí)別的兩字節(jié)(或η字節(jié))信息外,預(yù)期對(duì)于特定TCP流內(nèi)的所有數(shù)據(jù)包,其余非透明位將完全相同。在一個(gè)協(xié)議實(shí)例中,非透明信息可能對(duì)應(yīng)于特定網(wǎng)絡(luò)標(biāo)識(shí)符。還可能存在其它信息,諸如虛擬機(jī)標(biāo)識(shí)符或槽ID,其將對(duì)于TCP流中的每個(gè)數(shù)據(jù)包都相同。尤其是,η字節(jié)可識(shí)別數(shù)據(jù)包為對(duì)應(yīng)于特定虛擬機(jī)。
[0082]在許多實(shí)施方案中,框架依賴特定預(yù)配置值。例如,如上所述,框架可依賴預(yù)配置長度的非透明字段以及識(shí)別所接收的數(shù)據(jù)包的特定或特殊格式的IP協(xié)議值。在一些實(shí)施方案中,非透明字段的長度對(duì)應(yīng)于特定格式的數(shù)據(jù)包的報(bào)頭的長度。IP協(xié)議值可為特定協(xié)議的任意適當(dāng)標(biāo)識(shí)符。框架可預(yù)期預(yù)配置非透明字段中識(shí)別格式的η字節(jié)字段的偏移量。在一些實(shí)施方案中,這可對(duì)應(yīng)于特定端口值。
[0083]非透明字段的特定預(yù)配置值可針對(duì)特定協(xié)定變化。例如,在一個(gè)實(shí)施方案中,GRE支持的非透明字段的長度可為16字節(jié),識(shí)別特定數(shù)據(jù)包或段格式的IP協(xié)議值設(shè)置為諸如47的值。識(shí)別唯一流的偏移值可設(shè)置為諸如10的值以指向‘鍵’字段的一部分或其它這種值。
[0084]在示例性協(xié)議的情況下,非透明字段的長度可匹配協(xié)議特定報(bào)頭的長度,值為諸如20。識(shí)別特定協(xié)議的數(shù)據(jù)包或段的IP協(xié)議值可設(shè)置為UDP的IANA協(xié)議數(shù),值為諸如17。非透明字段中識(shí)別特定格式的數(shù)據(jù)包或段的偏移值可至少部分依賴所使用的特定UDP端口,諸如具有值2的UDP目的地端口。在執(zhí)行TSO或RSC時(shí)識(shí)別唯一流的字段值可指定源槽和目標(biāo)槽ID連同常規(guī)連接5元組以識(shí)別唯一 TCP流。應(yīng)了解類似方法可用于確定不同實(shí)施方案范圍內(nèi)的其它協(xié)議的值。
[0085]如上所述,諸如云計(jì)算平臺(tái)的環(huán)境的一個(gè)目標(biāo)可能是為每個(gè)客戶提供一部分網(wǎng)絡(luò)基礎(chǔ)架構(gòu)專屬于所述客戶的錯(cuò)覺。為了提供這種錯(cuò)覺,平臺(tái)需提供特定性能級(jí),諸如可包括低抖動(dòng)、低延遲和高吞吐量網(wǎng)絡(luò)性能。雖然抖動(dòng)應(yīng)總是普遍低的,但是針對(duì)給定實(shí)施方式的低延遲和高吞吐量的定義取決于諸如物理網(wǎng)絡(luò)設(shè)備和產(chǎn)品設(shè)計(jì)的因素且將在實(shí)例之間變化。也可通過使得客戶能定義自定義的二級(jí)(L2)或三級(jí)(L3)網(wǎng)絡(luò)拓?fù)洌鵁o由其它客戶偏好導(dǎo)致的尋址限制而部分提供錯(cuò)覺。在特定環(huán)境中,諸如在由華盛頓州西雅圖的Amazon,com, Inc.提供的虛擬私有云(VPC)環(huán)境中,可自定義的L2或L3可路由網(wǎng)絡(luò)的選項(xiàng)大體上經(jīng)由IP地址隧道的完善的軟件實(shí)施方式實(shí)現(xiàn)。然而,在這些軟件實(shí)施方式的至少一些中,可能難以在虛擬化環(huán)境中維持低抖動(dòng)、低延遲和高吞吐量組網(wǎng)性能。隨著當(dāng)前硬件趨勢(shì)繼續(xù)朝向每個(gè)主機(jī)更多核心、RAM和虛擬機(jī)的方向發(fā)展,對(duì)組網(wǎng)子系統(tǒng)造成越來越大的負(fù)擔(dān),問題可能進(jìn)一步惡化。雖然可通過使端到端軟件堆棧最佳化而獲利,但是在至少一些環(huán)境中可有利地提供網(wǎng)絡(luò)資源虛擬化的硬件協(xié)助。
[0086]為了滿足上述目標(biāo)的至少一些,諸如不同減負(fù)裝置的硬件可能需要包括不同部件。如本文中所使用,“基于硬件的”處理通常指其中硬件裝置執(zhí)行所述處理的至少一部分的任意處理或其中處理組件本文呈現(xiàn)為物理裝置(例如,NIC),但是可能實(shí)際上實(shí)施為硬件和/或軟件。在一些實(shí)施方案中,基于硬件的處理可能通過表現(xiàn)為將作為至少一個(gè)硬件組件的系統(tǒng)組件的一般減負(fù)裝置或嵌入系統(tǒng)提供。作為一個(gè)實(shí)例,可使用自身呈現(xiàn)為SR-1OV裝置的一般減負(fù)裝置。這些部件的討論將通過給出所提出的出口和入口路徑的高度概述,隨著給出有關(guān)可根據(jù)不同實(shí)施方案實(shí)施的個(gè)別階段的細(xì)節(jié)而提供。例如,圖6圖示這樣一種虛擬數(shù)據(jù)包的示例性格式600。圖7圖示根據(jù)至少一個(gè)實(shí)施方案的可結(jié)合虛擬化數(shù)據(jù)中心中的客戶的這種客戶數(shù)據(jù)包使用的示例性減負(fù)硬件出口過程700的高度概述。作為出口過程的部分,指派給客戶虛擬機(jī)的SR-1OV虛擬功能(VF)接收前往客戶的虛擬網(wǎng)絡(luò)702的出口數(shù)據(jù)包。在這種初始狀態(tài)中,數(shù)據(jù)包報(bào)頭600的內(nèi)組件608、610、612存在,而外組件602、604、606和614不存在。一個(gè)或多個(gè)一般檢查可應(yīng)用于出口數(shù)據(jù)包704。例如,這些檢查可包括L2和/或L3源防欺騙以及針對(duì)所有非IP和廣播數(shù)據(jù)包的捕獲(即,以服務(wù)DHCP、ARP等)。減負(fù)裝置可在預(yù)填充的規(guī)則表706中執(zhí)行查找,諸如可基于具有子網(wǎng)掩碼的L2目的地和L3目的地,一般情況是指定單個(gè)目標(biāo)的IPV4 “/32”子網(wǎng)。假設(shè)具有轉(zhuǎn)發(fā)規(guī)則類型的規(guī)則命中,規(guī)則可還在系統(tǒng)存儲(chǔ)器中指定指針至減負(fù)裝置將前置于輸出數(shù)據(jù)包的隧道報(bào)頭。此時(shí),數(shù)據(jù)包還可包括初始外組件602、604、606。減負(fù)裝置可執(zhí)行一個(gè)或多個(gè)度量更新708,其將在下文中更詳細(xì)討論。
[0087]至少部分基于規(guī)則匹配(或缺少規(guī)則匹配),減負(fù)裝置可確定采取的適當(dāng)行動(dòng)710。行動(dòng)可包括例如捕獲至可信根域712、丟棄數(shù)據(jù)包714或轉(zhuǎn)發(fā)具有封裝和/或修改的數(shù)據(jù)包716。如果減負(fù)裝置決定將數(shù)據(jù)包捕獲至可信域712,那么驅(qū)動(dòng)器調(diào)用可允許可信域執(zhí)行數(shù)據(jù)包的進(jìn)一步基于軟件的處理。如果減負(fù)裝置決定丟棄數(shù)據(jù)包714,那么不會(huì)進(jìn)行進(jìn)一步處理(在至少一些實(shí)施方案中)。如果減負(fù)裝置取而代之決定轉(zhuǎn)發(fā)數(shù)據(jù)包716,那么在數(shù)據(jù)包可被釋放至物理網(wǎng)絡(luò)上之前可能需要進(jìn)一步處理。在本實(shí)例中,諸如在下文中進(jìn)一步詳細(xì)描述,減負(fù)裝置對(duì)數(shù)據(jù)包718采取節(jié)流和QoS行動(dòng)。減負(fù)裝置還可建立及/或修改將饋送至減負(fù)引擎720的最終數(shù)據(jù)包。外數(shù)據(jù)包報(bào)頭組件602、604、606可前置于數(shù)據(jù)包。這些可基于前一規(guī)則匹配經(jīng)由分散和/或收集DMA連同數(shù)據(jù)包字節(jié)檢索。減負(fù)裝置隨后可執(zhí)行減負(fù)720,包括TSO (若適用)。如下文更詳細(xì)討論,數(shù)據(jù)包報(bào)頭字段可視情況更新,包括但不一定限于內(nèi)IP長度和外IP長度、內(nèi)TCP檢查和和外TCP檢查和(B卩,若IP協(xié)議是TCP)、內(nèi)L2MAC源和目的地地址和內(nèi)L3IP TTL0
[0088]圖8圖示可根據(jù)至少一個(gè)實(shí)施方案使用的虛擬化數(shù)據(jù)中心中的客戶數(shù)據(jù)包的示例性減負(fù)裝置基于硬件的入口過程800的類似高度概述。在本示例性過程800中,數(shù)據(jù)包接收在減負(fù)裝置物理功能802上。減負(fù)裝置可建立規(guī)則查找鍵,如下文更詳細(xì)討論,其將建立用于后續(xù)規(guī)則處理804。減負(fù)裝置隨后可基于得到的查找鍵806在預(yù)填充的規(guī)則表中執(zhí)行查找。減負(fù)裝置可視情況執(zhí)行不同的度量更新808并且至少部分基于規(guī)則匹配(或缺少規(guī)則匹配)810而確定采取的適當(dāng)行動(dòng)。在第一行動(dòng)中,減負(fù)裝置可決定將數(shù)據(jù)包捕獲至可信根域812。在此情況下,驅(qū)動(dòng)器調(diào)用可允許可信域執(zhí)行數(shù)據(jù)包的進(jìn)一步基于軟件的處理。在另一個(gè)可行的行動(dòng)中,減負(fù)裝置可決定丟棄數(shù)據(jù)包814使得不會(huì)進(jìn)行所述數(shù)據(jù)包的進(jìn)一步處理。作為另一個(gè)可行的行動(dòng),減負(fù)裝置可決定將數(shù)據(jù)包轉(zhuǎn)發(fā)至內(nèi)部VF816,諸如使用封裝和/或修改。VF (VM) ID可在轉(zhuǎn)發(fā)規(guī)則中指定。減負(fù)裝置可將外封裝報(bào)頭602、604、606從數(shù)據(jù)包818中剝離。在本實(shí)例中無需內(nèi)部修改,因?yàn)槭孪葘?duì)出口完成所有這種修改。也可執(zhí)行不同的其它數(shù)據(jù)包修改諸如以記錄、分割或另外修改一個(gè)或多個(gè)數(shù)據(jù)包或數(shù)據(jù)包數(shù)據(jù)部分。在此階段,可經(jīng)由訪客VF820將數(shù)據(jù)包遞送至訪客VM。
[0089]如所述,這樣一種方法可提供基于硬件、基于規(guī)則的數(shù)據(jù)包修改和數(shù)據(jù)包封裝。這樣一種方法允許多個(gè)(及可能重疊)客戶虛擬網(wǎng)絡(luò)覆蓋在統(tǒng)一 L3可路由物理底層上。通用規(guī)則表可用作出口和出口數(shù)據(jù)包路徑,在至少一些實(shí)施方案中,規(guī)則表經(jīng)由軟件機(jī)制由可信根域填充。
[0090]下文提供有關(guān)可根據(jù)不同實(shí)施方案使用的示例性規(guī)則表實(shí)施方式的大小和性能的指南。示例性規(guī)則表可具有運(yùn)行在主機(jī)上的每個(gè)虛擬機(jī)大約1,000個(gè)規(guī)則條目(在入口與出口之間共享)的數(shù)量級(jí)。雖然在至少一些實(shí)施方案中,可能需要利用可行的最大規(guī)則表大小,但是在至少一些情況下,存在由裝置RAM強(qiáng)加的對(duì)規(guī)則表大小的限制,因?yàn)樵龃蟮谋砀翊笮〉闹饕杀臼菍?duì)減負(fù)裝置增大的RAM要求。隨著主機(jī)上VM數(shù)量增加,規(guī)則數(shù)量可相應(yīng)變化。例如,如果存在128個(gè)VM和128個(gè)相應(yīng)的SR-1OV VF,那么在至少一個(gè)實(shí)施方案中可能存在128,000個(gè)規(guī)則條目,但是諸如32,000或16,000的數(shù)量可能是合理的。在至少一些實(shí)施方案中規(guī)則條目應(yīng)可在如可信根域定義的VF之間分割。例如,一個(gè)VF可能具有10個(gè)規(guī)則條目而另一個(gè)VF具有規(guī)則條目的可行總數(shù)中的2,000個(gè)。規(guī)則表更新的性能還應(yīng)足夠快以不導(dǎo)致數(shù)據(jù)包處理管線中的過度暫停。在一些實(shí)施方案中,規(guī)則表可在正常操作期間完全按大約每五秒的數(shù)量級(jí)修改。
[0091]示例性出口規(guī)則表可具有多種不同字段。在一個(gè)實(shí)例中,規(guī)則表具有內(nèi)L2目的地MAC (匹配目標(biāo))字段。所有出口規(guī)則可匹配在內(nèi)L2MAC地址上。如需要,這允許客戶的虛擬網(wǎng)絡(luò)僅為L2(并且支持像非L3感知的RoCE的協(xié)議)。表格還可具有任選的內(nèi)IPV4/IPV6目的地,其具有子網(wǎng)掩碼(匹配目標(biāo))字段。出口規(guī)則可任選地匹配在目標(biāo)IP地址/子網(wǎng)上。若需要,子網(wǎng)規(guī)則的使用允許多個(gè)規(guī)則折疊。也可使用任選的內(nèi)L2MAC源/目的地修改替換。為了支持任意的L3拓?fù)洌芍С纸粨Q內(nèi)目的地和源MAC地址以支持“幻影路由器”的能力。例如,VM可能相信其在子網(wǎng)A上并且試圖發(fā)送數(shù)據(jù)包至子網(wǎng)B。因此,數(shù)據(jù)包可具有如訪客VM所建立的L2報(bào)頭,諸如:
[0092]L2MAC源地址:豐機(jī)I (子網(wǎng)A) VF減負(fù)裝置的MAC地址
[0093]L2MAC目的地地址:子網(wǎng)A網(wǎng)關(guān)的MAC地址
[0094]在至少一些實(shí)施方案中,出口時(shí)可能需要能夠修改動(dòng)態(tài)內(nèi)L2報(bào)頭以看起來像下列實(shí)例(使得當(dāng)數(shù)據(jù)包在目標(biāo)上合并時(shí),內(nèi)L2報(bào)頭看起來像預(yù)期在2個(gè)虛擬機(jī)之間存在實(shí)路由的情況):
[0095]L2MAC源地址:子網(wǎng)B網(wǎng)關(guān)的MAC地址
[0096]L2MAC目的地地址:主機(jī)2 (子網(wǎng)B) VF減負(fù)裝置的MAC地址
[0097]也可使用任選的內(nèi)IP TTL減量字段。例如,為了支持“幻影路由器”,可能需要任選地使內(nèi)IPTTL (若適用)自動(dòng)減量的能力。如果TTL達(dá)到零,那么數(shù)據(jù)包應(yīng)被捕獲至可信根分區(qū)。
[0098]表格還可具有字段,諸如針對(duì)至系統(tǒng)RAM中的封裝大對(duì)象的指針。大對(duì)象表格可存儲(chǔ)在可信根分區(qū)所有的存儲(chǔ)器中。例如,這些存儲(chǔ)器地址可能是可信根分區(qū)的主機(jī)物理地址或訪客物理地址,諸如可取決于機(jī)器特定DMA機(jī)制。表格還可同樣包括附加字段,諸如針對(duì)度量的字段和針對(duì)規(guī)則行動(dòng)的至少一個(gè)字段。如上所述,例如,規(guī)則行動(dòng)可指定以捕獲可信根分區(qū)、丟棄或封裝/修改和轉(zhuǎn)發(fā)數(shù)據(jù)包。
[0099]示例性入口規(guī)則表也可具有不同的字段。例如,匹配鍵(匹配目標(biāo))字段可用于入口規(guī)則匹配,其可為系統(tǒng)的更復(fù)雜方面之一。為了無需要求特定封裝格式的硬件,可利用可在硬件中合理獲得的情況內(nèi)盡可能一般的方案。圖9示出可根據(jù)一個(gè)實(shí)施方案使用的的入口匹配鍵創(chuàng)建的示例性實(shí)施方式。減負(fù)裝置可利用若干系統(tǒng)定義的字節(jié)范圍和/或字節(jié)范圍排序器904,其可由可信根分區(qū)在系統(tǒng)初始化時(shí)編程以將來自輸入數(shù)據(jù)包902的字節(jié)范圍排序。這些數(shù)據(jù)包可被排序至臨時(shí)字節(jié)緩沖器906或其它適當(dāng)位置中。在至少一個(gè)實(shí)施方案中,O至128字節(jié)的四個(gè)字節(jié)范圍(從數(shù)據(jù)包開端起不超過256個(gè)字節(jié))可能是足夠的,其中所有字節(jié)范圍一起總數(shù)不大于128字節(jié)。另一個(gè)系統(tǒng)范圍內(nèi)的位掩碼908 (其由可信根分區(qū)編程)隨后可應(yīng)用至字節(jié)緩沖器以確定哪些字節(jié)用于在規(guī)則表中匹配。因此,隨后可產(chǎn)生最終入口匹配鍵910,其中鍵可用于在入口規(guī)則表中查找適當(dāng)?shù)囊?guī)則。
[0100]其它字段也可結(jié)合入口規(guī)則表使用。例如,可使用VM/VF ID字段,其可明確指定轉(zhuǎn)發(fā)的VM/VF ID,其中規(guī)則行動(dòng)包括轉(zhuǎn)發(fā)至VM/VF。例如,類似于上述出口規(guī)則表,其它字段可包括度量字段和規(guī)則行動(dòng)字段。度量可由硬件收集供將來由可信根分區(qū)檢索。每個(gè)入口/出口規(guī)則可能需要的度量的實(shí)例包括所作用(丟棄、轉(zhuǎn)發(fā)等)的字節(jié)數(shù)和所作用(丟棄、轉(zhuǎn)發(fā)等)的數(shù)據(jù)包數(shù)。每個(gè)度量字段應(yīng)可由可信根分區(qū)讀取以及清除。例如,字節(jié)的大小可由硬件供應(yīng)商判斷并且可假設(shè)來自可信根分區(qū)的中斷驅(qū)動(dòng)收集方法。
[0101]在至少一些實(shí)施方案中,存在至少兩種大致類型的可行的節(jié)流或服務(wù)質(zhì)量(QoS)。第一類型在本文中稱作“硬上限”型節(jié)流,其中每個(gè)被節(jié)流實(shí)體被限制在特定數(shù)量,而不管系統(tǒng)中其它被節(jié)流實(shí)體的使用。第二類型在本文中稱作“可突破上限”型,其中被節(jié)流實(shí)體被允許取決于系統(tǒng)中是否存在可獲得的超額容量而突破其上限。在示例性實(shí)施方案中,可能需要對(duì)SR-1OV虛擬功能設(shè)置硬上限的能力,諸如按50Mb/s間隔(或在一些實(shí)施方案中,10至25Mb/s間隔)。在至少一些實(shí)施方案中,在硬件中每個(gè)出口規(guī)則利用至少一個(gè)節(jié)流等級(jí)使得不同流量可按不同速率節(jié)流及每個(gè)出口規(guī)則利用一個(gè)QoS等級(jí)使得不同流量可優(yōu)先化。在至少一些實(shí)施方案中,還可能需要提供每個(gè)規(guī)則一個(gè)或多個(gè)可配置、可突破節(jié)流等級(jí)使得未使用的系統(tǒng)容量若可用及需要可被耗用。
[0102]在至少一些實(shí)施方案中,可能需要提供對(duì)數(shù)據(jù)包的不同檢查。例如,在一些實(shí)施方案中,必須針對(duì)已被指派給VF的正確L2MAC地址檢查所有出口數(shù)據(jù)包。在至少一些實(shí)施方案中,如果出口數(shù)據(jù)包是L3IP,那么也必須檢查源IP地址。在至少一些實(shí)施方案中,無正確的L2MAC和/或L3IP地址的數(shù)據(jù)包應(yīng)被丟棄。還可存在配置將捕獲至可信根分區(qū)的所有L2和/或L3廣播流量的能力,包括DHCP、ARP、IP廣播和多播等。此外,在至少一些實(shí)施方案中,可信根分區(qū)將具有將入口數(shù)據(jù)包注入虛擬功能數(shù)據(jù)包隊(duì)列的能力。這些數(shù)據(jù)包可繞過正常的修改/封裝系統(tǒng)。
[0103]在至少一些實(shí)施方案中,減負(fù)裝置硬件將支持至少一個(gè)標(biāo)準(zhǔn)組的減負(fù)及硬件提高同時(shí)對(duì)SR-1OV虛擬功能進(jìn)行封裝/修改。例如,這些可包括TCP分割減負(fù)(TS0),其包括不同的檢查和減負(fù)、多隊(duì)列能力和中斷合并。所述組還可包括RDMA支持(例如,RoCE或iWARP)。例如,即使使用僅L2的RDMA協(xié)議,數(shù)據(jù)包封裝在L3包裝器內(nèi)的事實(shí)意指應(yīng)用級(jí)協(xié)議可與底層的物理網(wǎng)絡(luò)底層無關(guān)。
[0104]使用SR-1OV可否定虛擬化的好處,因?yàn)榈讓佑布辉俦怀橄蠡榱吮A粝嗤?jí)別的靈活性同時(shí)提供先進(jìn)功能給用戶,硬件供應(yīng)商可提供將來自VMM的驅(qū)動(dòng)代碼動(dòng)態(tài)注入訪客VM的方法。這樣一種方法可使得訪客VM中的單個(gè)抽象驅(qū)動(dòng)器能經(jīng)由通用接口在任意硬件上運(yùn)行,因此將完全仿真的硬件裝置包裝在軟件或大體上實(shí)施為硬件的項(xiàng)目中。
[0105]除上列規(guī)則外,也可實(shí)施不同的其它規(guī)則。例如,對(duì)于出口數(shù)據(jù)包,可能存在可允許目的地MAC地址和目的地IP子網(wǎng)的列表,其形成每個(gè)規(guī)則的‘匹配’部分。規(guī)則可具有目的地MAC地址和目的地IP子網(wǎng)或規(guī)則可僅具有目的地MAC地址,在此情況下,可接受所有IP地址。每個(gè)規(guī)則可具有‘N’字節(jié)非透明報(bào)頭、源MAC地址和目標(biāo)MAC地址作為規(guī)則的部分。當(dāng)規(guī)則匹配時(shí),‘N’字節(jié)非透明報(bào)頭可在原始L2報(bào)頭前插入且L2報(bào)頭中的MAC地址可用預(yù)先指定值替換。新的外L2和L3報(bào)頭(例如,MAC和IP)可在非透明字段之前插入,具有來自規(guī)則表的外源IP地址、外目的地IP地址、外目的地MAC和外源MAC。任選地,非透明報(bào)頭可包括L2和L3報(bào)頭,其中減負(fù)裝置可動(dòng)態(tài)填充字段,諸如ID、長度、檢查和和標(biāo)志。在一些實(shí)施方案中,內(nèi)源和目的地IP地址也可替換,諸如以允許未來NAT、任播等的虛擬化。
[0106]可通過可操作以在可信主機(jī)平臺(tái)(諸如Xen Dom-Ο)中執(zhí)行的軟件管理接口執(zhí)行處理和管理的至少部分。這樣一種接口可與分布式服務(wù)通信以實(shí)時(shí)載入每個(gè)租戶網(wǎng)絡(luò)規(guī)范,諸如可包括節(jié)流、安全組和伙伴組件。例如,接口可命令減負(fù)組件執(zhí)行每個(gè)租戶(SR-1OV)規(guī)范。這些命令可隨規(guī)范改變而實(shí)時(shí)處理。如果硬件或其它減負(fù)組件無法在任意給定時(shí)間同時(shí)保持規(guī)則的整體性,那么接口還可執(zhí)行基于減負(fù)組件的規(guī)則的擴(kuò)展管理。例如,這些可包括諸如載入熱規(guī)則或頻繁使用規(guī)則的子集的技術(shù),同時(shí)經(jīng)由軟件捕獲或另一個(gè)這種過程處理較不常用規(guī)則的子集。接口可區(qū)分不同類型的流量,諸如前往可信主機(jī)平臺(tái)或虛擬租戶的流量并且可相應(yīng)地遞送。
[0107]在至少一些實(shí)施方案中,需要特殊處理的數(shù)據(jù)包(諸如地址分辨協(xié)議(ARP)數(shù)據(jù)包和多播數(shù)據(jù)包)還可由Dom-O中的軟件管理組件管理。其它先進(jìn)功能(諸如DNS、安全接口和Web服務(wù)器接口)也可由軟件管理接口處理。對(duì)于安全接口,實(shí)例可在獲得網(wǎng)絡(luò)連接之前執(zhí)行安全登錄。例如,Web服務(wù)器接口可以是至元數(shù)據(jù)服務(wù)或其它這種應(yīng)用程序的接口。
[0108]可參考下列條款描述不同實(shí)施方案:
[0109]1.一種用于在多租戶環(huán)境中處理數(shù)據(jù)包的框架,其包括:
[0110]至少一個(gè)處理器;和
[0111]存儲(chǔ)器,其包括在被所述處理器執(zhí)行時(shí)使得所述框架能采取下列行動(dòng)的指令:
[0112]與一個(gè)或多個(gè)分布式服務(wù)通信以載入一個(gè)或多個(gè)每個(gè)租戶網(wǎng)絡(luò)規(guī)范;
[0113]命令至少一個(gè)減負(fù)裝置執(zhí)行所述所載入的每個(gè)租戶網(wǎng)絡(luò)規(guī)范;
[0114]當(dāng)所述至少一個(gè)減負(fù)裝置無法同時(shí)存儲(chǔ)一組規(guī)則的所有時(shí),管理所述至少一個(gè)減負(fù)裝置的所述一組規(guī)則;和
[0115]針對(duì)多個(gè)流量類型的每一個(gè)將數(shù)據(jù)包遞送至適當(dāng)目的地。
[0116]2.根據(jù)條款I(lǐng)所述的框架,其中所述框架提供可操作以在可信主機(jī)域中執(zhí)行的軟件管理接口。
[0117]3.根據(jù)條款2所述的框架,其中所述軟件管理接口還可操作以管理需要特殊處理的數(shù)據(jù)包。
[0118]4.根據(jù)條款3所述的框架,其中要求特殊處理的所述數(shù)據(jù)包包括多播數(shù)據(jù)包、廣播數(shù)據(jù)包和地址分辨協(xié)議(ARP)數(shù)據(jù)包。
[0119]5.根據(jù)條款2所述的框架,其中所述軟件管理接口還可操作以管理包括域名服務(wù)(DNS)、安全接口連接和Web服務(wù)器接口連接的至少一個(gè)的功能。
[0120]6.根據(jù)條款2所述的框架,其中所述軟件管理接口可操作以配置需由所述減負(fù)裝置收集的網(wǎng)絡(luò)統(tǒng)計(jì)數(shù)據(jù)和需由所述減負(fù)裝置維持的統(tǒng)計(jì)數(shù)據(jù)。
[0121]7.根據(jù)條款I(lǐng)所述的框架,其中所述每個(gè)租戶網(wǎng)絡(luò)規(guī)范包括節(jié)流數(shù)據(jù)包、操作安全組和伙伴組件之間通信的至少一項(xiàng)的規(guī)范。
[0122]8.根據(jù)條款I(lǐng)所述的框架,其中所述每個(gè)租戶網(wǎng)絡(luò)規(guī)范是SR-1OV網(wǎng)絡(luò)規(guī)范。
[0123]9.根據(jù)條款I(lǐng)所述的框架,其中所述每個(gè)租戶網(wǎng)絡(luò)規(guī)范隨所述規(guī)范變化而實(shí)時(shí)處理。
[0124]10.根據(jù)條款I(lǐng)所述的框架,其中管理所述至少一個(gè)減負(fù)裝置的一組規(guī)則包括在減負(fù)裝置中載入第一子集的規(guī)則同時(shí)使用軟件引導(dǎo)(strapping)處理第二子集的規(guī)則
[0125]11.根據(jù)條款10所述的框架,其中與所述第二子集的規(guī)則相比,所述第一子集的規(guī)則更常被利用。
[0126]12.根據(jù)條款I(lǐng)所述的框架,其中所述每個(gè)租戶規(guī)范使得硬件供應(yīng)商能在不獲得有關(guān)多個(gè)協(xié)議的特定信息的情況下支持所述多個(gè)協(xié)議。
[0127]13.根據(jù)條款I(lǐng)所述的框架,其中流量類型包括前往可信主機(jī)平臺(tái)的流量和前往虛擬租戶的流量的至少一個(gè)。
[0128]14.一種減負(fù)裝置,其包括:
[0129]處理器;和
[0130]存儲(chǔ)器,其存儲(chǔ)在被所述處理器執(zhí)行時(shí)使得所述減負(fù)裝置能采取下列行動(dòng)的指令:
[0131]將所述減負(fù)裝置暴露為硬件裝置;
[0132]執(zhí)行接收至與所述減負(fù)硬件裝置相關(guān)的物理功能的用戶數(shù)據(jù)包的處理的至少一部分,所述處理包括至少剝離所述數(shù)據(jù)包的內(nèi)報(bào)頭和外報(bào)頭;執(zhí)行任意數(shù)據(jù)包修改;和將所述用戶數(shù)據(jù)包轉(zhuǎn)發(fā)至內(nèi)部虛擬功能,所述內(nèi)部虛擬功能可操作以將所述用戶數(shù)據(jù)包遞送至訪客虛擬機(jī)。
[0133]15.根據(jù)條款14所述的減負(fù)裝置,其中所述處理包括將至少一個(gè)外封裝報(bào)頭從所述用戶數(shù)據(jù)包移除。
[0134]16.根據(jù)條款14所述的減負(fù)裝置,其中所述減負(fù)裝置是網(wǎng)絡(luò)接口卡(NIC)。
[0135]17.根據(jù)條款14所述的減負(fù)裝置,其中所述減負(fù)裝置可操作以在沒有獲得有關(guān)多個(gè)協(xié)議的特定信息的情況下支持所述多個(gè)協(xié)議。
[0136]18.一種用于在多租戶環(huán)境中處理數(shù)據(jù)包的方法,其包括:
[0137]與一個(gè)或多個(gè)分布式服務(wù)通信以載入一個(gè)或多個(gè)每個(gè)租戶網(wǎng)絡(luò)規(guī)范;
[0138]命令至少一個(gè)減負(fù)裝置執(zhí)行所述所載入的每個(gè)租戶網(wǎng)絡(luò)規(guī)范;
[0139]當(dāng)所述至少一個(gè)減負(fù)裝置無法同時(shí)存儲(chǔ)所述至少一個(gè)減負(fù)裝置的一組規(guī)則時(shí)管理所述一組規(guī)則的所有;和
[0140]針對(duì)多個(gè)流量類型的每一個(gè)將數(shù)據(jù)包遞送至適當(dāng)目的地。
[0141]19.根據(jù)條款18所述的方法,其還包括:
[0142]暴露可操作以在可信主機(jī)域中執(zhí)行的軟件管理接口。
[0143]20.根據(jù)條款19所述的方法,其中所述軟件管理接口還可操作以管理包括域名服務(wù)(DNS)、安全接口連接和Web服務(wù)器接口連接的至少一項(xiàng)的功能。
[0144]21.根據(jù)條款19所述的方法,其中所述減負(fù)裝置根據(jù)SR-1OV網(wǎng)絡(luò)規(guī)范操作。
[0145]22.一種用于在電子環(huán)境中處理數(shù)據(jù)包的計(jì)算機(jī)實(shí)施方法,其包括:
[0146]在配置有可執(zhí)行指令的一個(gè)或多個(gè)計(jì)算機(jī)系統(tǒng)的控制下,
[0147]接收用戶數(shù)據(jù)包至與用戶的虛擬網(wǎng)絡(luò)相關(guān)的虛擬功能;
[0148]針對(duì)用于處理所述用戶數(shù)據(jù)包的至少一個(gè)規(guī)則在規(guī)則表中執(zhí)行查找;
[0149]響應(yīng)于從所述規(guī)則表確定捕獲規(guī)則而在可信域中執(zhí)行所述用戶數(shù)據(jù)包的基于軟件的處理;
[0150]響應(yīng)于從所述規(guī)則表確定丟棄規(guī)則而不執(zhí)行所述用戶數(shù)據(jù)包的進(jìn)一步處理;和
[0151]響應(yīng)于從所述規(guī)則表確定轉(zhuǎn)發(fā)規(guī)則而使用減負(fù)裝置執(zhí)行所述用戶數(shù)據(jù)包的所述處理的至少一部分,所述處理包括至少添加外報(bào)頭至所述用戶數(shù)據(jù)包及發(fā)送出所述用戶數(shù)據(jù)包至物理網(wǎng)絡(luò)上,所述外報(bào)頭包括至少一個(gè)非透明字段并且包括特定于協(xié)議的信息。
[0152]23.根據(jù)條款22所述的計(jì)算機(jī)實(shí)施方法,其還包括:
[0153]在執(zhí)行所述查找前對(duì)所述用戶數(shù)據(jù)包執(zhí)行至少一次一般檢查。
[0154]24.根據(jù)條款23所述的計(jì)算機(jī)實(shí)施方法,其中所述至少一次一般檢查包括二級(jí)(L2)或三級(jí)(L3)防欺騙或至少一種類型的數(shù)據(jù)包的捕獲的至少一項(xiàng)。
[0155]25.根據(jù)條款22所述的計(jì)算機(jī)實(shí)施方法,其中所述查找由所述減負(fù)裝置執(zhí)行。
[0156]26.根據(jù)條款25所述的計(jì)算機(jī)實(shí)施方法,其中所述減負(fù)裝置基于單個(gè)根I/O虛擬化(SR-1OV)協(xié)議提供虛擬化覆蓋網(wǎng)絡(luò)。
[0157]27.根據(jù)條款22所述的計(jì)算機(jī)實(shí)施方法,其還包括:
[0158]在執(zhí)行所述查找前對(duì)所述用戶數(shù)據(jù)包執(zhí)行至少一次度量更新。
[0159]28.根據(jù)條款22所述的計(jì)算機(jī)實(shí)施方法,其中使用減負(fù)裝置的所述處理還包括節(jié)流所述用戶數(shù)據(jù)包或執(zhí)行服務(wù)質(zhì)量行動(dòng)的至少一項(xiàng)。
[0160]29.根據(jù)條款22所述的計(jì)算機(jī)實(shí)施方法,其中執(zhí)行將所述用戶數(shù)據(jù)包發(fā)送出至物理網(wǎng)絡(luò)上作為分割減負(fù)過程的部分。
[0161]30.根據(jù)條款22所述的計(jì)算機(jī)實(shí)施方法,其中使用減負(fù)裝置的所述處理還包括更新所述用戶數(shù)據(jù)包的報(bào)頭字段,所述報(bào)頭字段包括內(nèi)數(shù)據(jù)包長度和外數(shù)據(jù)包長度、內(nèi)檢查和和外檢查和、源地址和目的地地址和生存時(shí)間(TTL)值中的至少一個(gè)。
[0162]31.根據(jù)條款22所述的計(jì)算機(jī)實(shí)施方法,其中使用減負(fù)裝置的所述處理包括至少部分基于源虛擬機(jī)對(duì)每個(gè)出口數(shù)據(jù)包執(zhí)行數(shù)據(jù)包源檢查。
[0163]32.根據(jù)條款22所述的計(jì)算機(jī)實(shí)施方法,其中所述基于軟件的處理包括由Dom-O控制軟件進(jìn)行的處理。
[0164]33.根據(jù)條款22所述的計(jì)算機(jī)實(shí)施方法,其中所述處理利用一般格式使得能夠通過改變查找鍵的參數(shù)而支持任意適當(dāng)協(xié)議。
[0165]34.根據(jù)條款33所述的計(jì)算機(jī)實(shí)施方法,其中所述適當(dāng)協(xié)議能夠被映射至無狀態(tài)隧道協(xié)議。
[0166]35.一種用于在電子環(huán)境中處理數(shù)據(jù)包的計(jì)算機(jī)實(shí)施方法,其包括:
[0167]在配置有可執(zhí)行指令的一個(gè)或多個(gè)計(jì)算機(jī)系統(tǒng)的控制下,
[0168]接收用戶數(shù)據(jù)包至與減負(fù)裝置相關(guān)的物理功能;
[0169]使用所述減負(fù)裝置建立所述用戶數(shù)據(jù)包的查找鍵;
[0170]使用所述查找鍵針對(duì)用于處理所述用戶數(shù)據(jù)包的至少一個(gè)規(guī)則在規(guī)則表中執(zhí)行查找;
[0171]響應(yīng)于從所述規(guī)則表確定捕獲規(guī)則而在可信域中執(zhí)行所述用戶數(shù)據(jù)包的基于軟件的處理;
[0172]響應(yīng)于從所述規(guī)則表確定丟棄規(guī)則而不執(zhí)行所述用戶數(shù)據(jù)包的進(jìn)一步處理;和
[0173]響應(yīng)于從所述規(guī)則表確定轉(zhuǎn)發(fā)規(guī)則而使用所述減負(fù)裝置執(zhí)行所述用戶數(shù)據(jù)包的所述處理的至少一部分,所述處理包括至少剝離內(nèi)報(bào)頭和外報(bào)頭;執(zhí)行任意數(shù)據(jù)包修改;和將所述用戶數(shù)據(jù)包轉(zhuǎn)發(fā)至內(nèi)部虛擬功能,所述內(nèi)部虛擬功能可操作以將所述用戶數(shù)據(jù)包遞送至訪客虛擬機(jī)。
[0174]36.根據(jù)條款35所述的計(jì)算機(jī)實(shí)施方法,其中使用所述減負(fù)裝置的所述處理包括將至少一個(gè)外封裝報(bào)頭從所述用戶數(shù)據(jù)包移除。
[0175]37.根據(jù)條款35所述的計(jì)算機(jī)實(shí)施方法,其中所述內(nèi)部虛擬功能由所述轉(zhuǎn)發(fā)規(guī)則識(shí)別。
[0176]38.根據(jù)條款35所述的計(jì)算機(jī)實(shí)施方法,其中使用所述減負(fù)裝置的所述處理可操作以識(shí)別所述用戶數(shù)據(jù)包為在預(yù)定義偏移量下使用預(yù)定義協(xié)議的格式封裝。
[0177]39.根據(jù)條款35所述的計(jì)算機(jī)實(shí)施方法,其還包括:
[0178]當(dāng)所述用戶數(shù)據(jù)包未被封裝時(shí),使用基于軟件的處理處理所述用戶數(shù)據(jù)包。
[0179]40.根據(jù)條款35所述的計(jì)算機(jī)實(shí)施方法,其中所述減負(fù)裝置是網(wǎng)絡(luò)接口卡(NIC)。
[0180]41.根據(jù)條款35所述的計(jì)算機(jī)實(shí)施方法,其還包括:
[0181]使用所述用戶數(shù)據(jù)包中預(yù)定偏移量下的所述非透明位中的固定長度字段確定對(duì)應(yīng)于所述用戶數(shù)據(jù)包的虛擬機(jī)。
[0182]42.根據(jù)條款35所述的計(jì)算機(jī)實(shí)施方法,其中每個(gè)物理功能具有一組入口規(guī)則,每個(gè)規(guī)則至少部分由能夠與封裝入口數(shù)據(jù)包的所述非透明位匹配的一組非透明位組成。
[0183]43.根據(jù)條款35所述的計(jì)算機(jī)實(shí)施方法,其中其它流量在不響應(yīng)于從所述規(guī)則表確定通過規(guī)則而進(jìn)行處理的情況下通過。
[0184]44.根據(jù)條款35所述的計(jì)算機(jī)實(shí)施方法,其中客戶封裝流量和控制流量獨(dú)立于從所述規(guī)則表確定通過規(guī)則而被捕獲。
[0185]45.一種用于在電子環(huán)境中處理數(shù)據(jù)包的系統(tǒng),其包括:
[0186]處理器;和
[0187]存儲(chǔ)器裝置,其包括在被所述處理器執(zhí)行時(shí)導(dǎo)致所述處理器采取下列行動(dòng)的指令:
[0188]接收用戶數(shù)據(jù)包至與用戶的虛擬網(wǎng)絡(luò)相關(guān)的虛擬功能;
[0189]針對(duì)用于處理所述用戶數(shù)據(jù)包的至少一個(gè)規(guī)則在規(guī)則表中執(zhí)行查找;
[0190]響應(yīng)于從所述規(guī)則表確定捕獲規(guī)則而在可信域中執(zhí)行所述用戶數(shù)據(jù)包的基于軟件的處理;
[0191]響應(yīng)于從所述規(guī)則表確定丟棄規(guī)則而不執(zhí)行所述用戶數(shù)據(jù)包的進(jìn)一步處理;和
[0192]響應(yīng)于從所述規(guī)則表確定轉(zhuǎn)發(fā)規(guī)則而使用減負(fù)裝置執(zhí)行所述用戶數(shù)據(jù)包的所述處理的至少一部分,所述處理包括至少添加外報(bào)頭至所述用戶數(shù)據(jù)包及發(fā)送出所述用戶數(shù)據(jù)包至物理網(wǎng)絡(luò)上,所述外報(bào)頭包括至少一個(gè)非透明字段并且包括協(xié)議特定信息。
[0193]46.根據(jù)條款46所述的系統(tǒng),其還包括:
[0194]至少一個(gè)減負(fù)裝置,其可操作以執(zhí)行所述查找。
[0195]47.根據(jù)條款46所述的系統(tǒng),其中所述減負(fù)裝置基于單個(gè)根I/O虛擬化(SR-1OV)協(xié)議提供虛擬化覆蓋網(wǎng)絡(luò)。
[0196]48.一種用于在電子環(huán)境中處理數(shù)據(jù)包的系統(tǒng),其包括:
[0197]處理器;和
[0198]存儲(chǔ)器裝置,其包括在被所述處理執(zhí)行時(shí)導(dǎo)致所述處理器采取下列行動(dòng)的指令:
[0199]接收用戶數(shù)據(jù)包至與減負(fù)裝置相關(guān)的物理功能;
[0200]使用所述減負(fù)裝置建立所述用戶數(shù)據(jù)包的查找鍵;
[0201]使用所述查找鍵針對(duì)用于處理所述用戶數(shù)據(jù)包的至少一個(gè)規(guī)則在規(guī)則表中執(zhí)行查找;
[0202]響應(yīng)于從所述規(guī)則表確定捕獲規(guī)則而在可信域中執(zhí)行所述用戶數(shù)據(jù)包的基于軟件的處理;
[0203]響應(yīng)于從所述規(guī)則表確定丟棄規(guī)則而不執(zhí)行所述用戶數(shù)據(jù)包的進(jìn)一步處理;和
[0204]響應(yīng)于從所述規(guī)則表確定轉(zhuǎn)發(fā)規(guī)則而使用所述減負(fù)裝置執(zhí)行所述用戶數(shù)據(jù)包的所述處理的至少一部分,所述處理包括至少剝離內(nèi)報(bào)頭和外報(bào)頭;執(zhí)行任意數(shù)據(jù)包修改;和將所述用戶數(shù)據(jù)包轉(zhuǎn)發(fā)至內(nèi)部虛擬功能,所述內(nèi)部虛擬功能可操作以將所述用戶數(shù)據(jù)包遞送至訪客虛擬機(jī)。
[0205]49.根據(jù)條款48所述的系統(tǒng),其中使用減負(fù)裝置的所述處理包括將至少一個(gè)外封裝報(bào)頭從所述用戶數(shù)據(jù)包移除。
[0206]50.根據(jù)條款48所述的系統(tǒng),其中所述減負(fù)裝置是網(wǎng)絡(luò)接口卡(NIC)。
[0207]如上所述,不同實(shí)施方案可在多種操作環(huán)境中實(shí)施,其在一些情況下可包括可用于操作任意許多應(yīng)用程序的一個(gè)或多個(gè)用戶計(jì)算機(jī)、計(jì)算裝置或處理裝置。用戶或客戶裝置可包括任意許多通用個(gè)人計(jì)算機(jī),諸如運(yùn)行標(biāo)準(zhǔn)操作系統(tǒng)的臺(tái)式或膝上型計(jì)算機(jī),以及運(yùn)行移動(dòng)軟件并且能夠支持許多組網(wǎng)和消息發(fā)送協(xié)議的蜂窩、無線和手持裝置。這樣一種系統(tǒng)還可包括許多運(yùn)行任意多種可購得的操作系統(tǒng)和用于諸如開發(fā)和數(shù)據(jù)庫管理的目的的其它已知應(yīng)用程序的許多工作站。這些裝置還可包括其它電子裝置,諸如虛擬終端、瘦客戶端、游戲系統(tǒng)和能夠經(jīng)由網(wǎng)絡(luò)通信的其它裝置。
[0208]不同方面還可實(shí)施為至少一種服務(wù)或Web服務(wù)的部分,諸如可為服務(wù)定向架構(gòu)的部分。諸如Web服務(wù)的服務(wù)可使用任意適當(dāng)類型的消息發(fā)送通信(諸如通過使用可擴(kuò)展標(biāo)記語言(XML)格式的消息)并且使用適當(dāng)?shù)膮f(xié)議(諸如SOAP (源自“簡單對(duì)象訪問協(xié)議”))交流。通過這種服務(wù)提供或執(zhí)行的過程可用任意適當(dāng)語言(諸如Web服務(wù)描述語言(WSDL))編寫。使用諸如WSDL的語言允許諸如不同SOAP框架中客戶端側(cè)代碼的自動(dòng)產(chǎn)生的功能。
[0209]多數(shù)實(shí)施方案利用本領(lǐng)域技術(shù)人員熟悉的支持使用任意多種可購得協(xié)議(諸如TCP/IP、OS1、FTP、UPnP、NFS、CIFS和AppleTalk)的通信。例如,網(wǎng)絡(luò)可以是局域網(wǎng)、廣域網(wǎng)、虛擬專用網(wǎng)絡(luò)、因特網(wǎng)、內(nèi)聯(lián)網(wǎng)、外聯(lián)網(wǎng)、公用交換電話網(wǎng)、紅外線網(wǎng)、無線網(wǎng)絡(luò)和其任意組合。
[0210]在利用Web服務(wù)器的實(shí)施方案中,Web服務(wù)器可運(yùn)行任意多種服務(wù)器或中間層應(yīng)用程序,包括HTTP服務(wù)器、FTP服務(wù)器、CGI服務(wù)器、數(shù)據(jù)服務(wù)器、Java服務(wù)器和業(yè)務(wù)應(yīng)用程序服務(wù)器。服務(wù)器還可能能夠響應(yīng)于來自用戶裝置的請(qǐng)求執(zhí)行程序或腳本,諸如通過執(zhí)行可實(shí)施為用任意編程語目(諸如Java、C、C#或C++)或任意腳本語目(諸如Perl、Python或TCL)以及其組合編寫的一個(gè)或多個(gè)腳本或程序的一個(gè)或多個(gè)Web應(yīng)用程序。服務(wù)器還可包括數(shù)據(jù)庫服務(wù)器,包括但不限于可購自O(shè)racle' Microsoft*, SybaselP 1麗'的數(shù)據(jù)庫服務(wù)器。
[0211]如上所述,環(huán)境可包括多種數(shù)據(jù)存儲(chǔ)器和其它存儲(chǔ)器和存儲(chǔ)媒介。這些可駐留在多種位置,諸如在局部于(和/或駐留在)一個(gè)或多個(gè)計(jì)算機(jī)的存儲(chǔ)媒介上或遠(yuǎn)程于跨網(wǎng)絡(luò)的任意或所有計(jì)算機(jī)。在特定組的實(shí)施方案中,信息可駐留在本領(lǐng)域技術(shù)人員所熟悉的存儲(chǔ)區(qū)域網(wǎng)絡(luò)(“SAN”)中。類似地,用于執(zhí)行歸屬于計(jì)算機(jī)、服務(wù)器或其它網(wǎng)絡(luò)裝置的功能的任意所需文件可視情況局部和/或遠(yuǎn)程存儲(chǔ)。在系統(tǒng)包括計(jì)算機(jī)化裝置的情況下,每個(gè)這種裝置可包括可經(jīng)由總線電耦合的硬件元件,所述元件包括例如至少一個(gè)中央處理單元(CPU)、至少一個(gè)輸入裝置(例如,鼠標(biāo)、鍵盤、控制器、觸屏或小鍵盤)和至少一個(gè)輸出裝置(例如,顯示裝置、打印機(jī)或揚(yáng)聲器)。這樣一種系統(tǒng)還可包括一個(gè)或多個(gè)存儲(chǔ)裝置,諸如磁盤驅(qū)動(dòng)器、光學(xué)存儲(chǔ)裝置和固態(tài)存儲(chǔ)裝置,諸如隨機(jī)訪問存儲(chǔ)器(“RAM”)或只讀存儲(chǔ)器(“ROM”)以及可卸除媒介裝置、存儲(chǔ)卡、閃存卡等。
[0212]如上所述,這種裝置還可包括計(jì)算機(jī)可讀存儲(chǔ)媒介讀取器、通信裝置(例如,調(diào)制解調(diào)器、網(wǎng)卡(無線或有線)、紅外線通信裝置等)和工作存儲(chǔ)器。計(jì)算機(jī)可讀存儲(chǔ)媒介讀取器可與代表遠(yuǎn)程、局部、固定和/或可卸除裝置的計(jì)算機(jī)可讀存儲(chǔ)媒介以及用于臨時(shí)和/或更永久地容納、存儲(chǔ)、傳輸和檢索計(jì)算機(jī)可讀信息的存儲(chǔ)媒介連接或可被配置來接收它們。系統(tǒng)和不同裝置通常還將包括許多軟件應(yīng)用程序、模塊、服務(wù)或位于至少一個(gè)工作存儲(chǔ)裝置內(nèi)的其它元件,包括操作系統(tǒng)和應(yīng)用程序,諸如客戶應(yīng)用程序或Web瀏覽器。應(yīng)了解替代實(shí)施方案可具有與上述內(nèi)容相比的許多變化。例如,還可使用自定義硬件和/或特定元件可實(shí)施為硬件、軟件(包括可移植軟件,諸如小程序)或兩者。此外,可采用連接至其它計(jì)算裝置,諸如網(wǎng)絡(luò)輸入/輸出裝置。
[0213]用于容納代碼或代碼部分的存儲(chǔ)媒介和計(jì)算機(jī)可讀媒介可包括本領(lǐng)域中已知或使用的任意適當(dāng)媒介,包括存儲(chǔ)媒介和通信媒介,諸如但不限于實(shí)施為用于存儲(chǔ)和/或傳輸信息(諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù))的任意方法或技術(shù)的易失性和非易失性、可卸除和不可卸除媒介,包括RAM、ROM、EEPR0M、閃存或其它存儲(chǔ)技術(shù)、CD-ROM、數(shù)字通用光盤(DVD)或其它光學(xué)存儲(chǔ)、磁帶盒、磁帶、磁盤存儲(chǔ)或其它磁存儲(chǔ)裝置或可用于存儲(chǔ)所要信息并且可被系統(tǒng)裝置訪問的任意其它媒介?;诒疚奶峁┑墓_和教示,本領(lǐng)域的普通技術(shù)人員應(yīng)了解實(shí)施不同實(shí)施方案的其它方式和/或方法。
[0214]說明書和附圖相應(yīng)地被視作說明性而非限制性意義。然而,明顯地,在不脫離如權(quán)利要求所規(guī)定的本發(fā)明的更寬泛精神和范圍的情況下,可對(duì)其作出各種修改和變化。
【權(quán)利要求】
1.一種減負(fù)裝置,其包括: 處理器;和 存儲(chǔ)器,其存儲(chǔ)在被所述處理器執(zhí)行時(shí)使得所述減負(fù)裝置能采取下列行動(dòng)的指令: 將所述減負(fù)裝置暴露為硬件裝置; 執(zhí)行接收至與所述減負(fù)硬件裝置相關(guān)的物理功能的用戶數(shù)據(jù)包的處理的至少一部分,所述處理包括至少剝離所述數(shù)據(jù)包的內(nèi)報(bào)頭和外報(bào)頭;執(zhí)行任意數(shù)據(jù)包修改;和將所述用戶數(shù)據(jù)包轉(zhuǎn)發(fā)至內(nèi)部虛擬功能,所述內(nèi)部虛擬功能可操作以將所述用戶數(shù)據(jù)包遞送至訪客虛擬機(jī)。
2.根據(jù)權(quán)利要求1所述的減負(fù)裝置,其中所述處理包括將至少一個(gè)外封裝報(bào)頭從所述用戶數(shù)據(jù)包移除。
3.根據(jù)權(quán)利要求1所述的減負(fù)裝置,其中所述減負(fù)裝置是網(wǎng)絡(luò)接口卡(NIC)。
4.根據(jù)權(quán)利要求1所述的減負(fù)裝置,其中所述減負(fù)裝置可操作以在沒有獲得有關(guān)多個(gè)協(xié)議的特定信息的情況下支持所 述多個(gè)協(xié)議。
5.一種用于在電子環(huán)境中處理數(shù)據(jù)包的計(jì)算機(jī)實(shí)施方法,其包括: 在配置有可執(zhí)行指令的一個(gè)或多個(gè)計(jì)算機(jī)系統(tǒng)的控制下, 接收用戶數(shù)據(jù)包至與減負(fù)裝置相關(guān)的物理功能; 使用所述減負(fù)裝置建立所述用戶數(shù)據(jù)包的查找鍵; 使用所述查找鍵針對(duì)用于處理所述用戶數(shù)據(jù)包的至少一個(gè)規(guī)則在規(guī)則表中執(zhí)行查找; 響應(yīng)于從所述規(guī)則表確定捕獲規(guī)則而在可信域中執(zhí)行所述用戶數(shù)據(jù)包的基于軟件的處理; 響應(yīng)于從所述規(guī)則表確定丟棄規(guī)則而不執(zhí)行所述用戶數(shù)據(jù)包的進(jìn)一步處理;和響應(yīng)于從所述規(guī)則表確定轉(zhuǎn)發(fā)規(guī)則而使用所述減負(fù)裝置執(zhí)行所述用戶數(shù)據(jù)包的所述處理的至少一部分,所述處理包括至少剝離內(nèi)報(bào)頭和外報(bào)頭;執(zhí)行任意數(shù)據(jù)包修改;和將所述用戶數(shù)據(jù)包轉(zhuǎn)發(fā)至內(nèi)部虛擬功能,所述內(nèi)部虛擬功能可操作以將所述用戶數(shù)據(jù)包遞送至訪客虛擬機(jī)。
6.根據(jù)權(quán)利要求5所述的計(jì)算機(jī)實(shí)施方法,其中使用所述減負(fù)裝置的所述處理包括將至少一個(gè)外封裝報(bào)頭從所述用戶數(shù)據(jù)包移除。
7.根據(jù)權(quán)利要求5所述的計(jì)算機(jī)實(shí)施方法,其中所述內(nèi)部虛擬功能由所述轉(zhuǎn)發(fā)規(guī)則識(shí)別。
8.根據(jù)權(quán)利要求5所述的計(jì)算機(jī)實(shí)施方法,其中使用所述減負(fù)裝置的所述處理可操作以識(shí)別所述用戶數(shù)據(jù)包為在預(yù)定偏移量下使用預(yù)定義協(xié)議的格式封裝。
9.根據(jù)權(quán)利要求5所述的計(jì)算機(jī)實(shí)施方法,其中使用減負(fù)裝置的所述處理還包括更新所述用戶數(shù)據(jù)包的報(bào)頭字段,所述報(bào)頭字段包括內(nèi)數(shù)據(jù)包長度和外數(shù)據(jù)包長度及內(nèi)檢查和和外檢查和、源地址和目的地地址及生存時(shí)間(TTL)值中的至少一個(gè)。
10.根據(jù)權(quán)利要求5所述的計(jì)算機(jī)實(shí)施方法,其還包括: 當(dāng)所述用戶數(shù)據(jù)包未被封裝時(shí),使用基于軟件的處理來處理所述用戶數(shù)據(jù)包。
11.根據(jù)權(quán)利要求5所述的計(jì)算機(jī)實(shí)施方法,其中所述減負(fù)裝置是網(wǎng)絡(luò)接口卡(NIC)。
12.根據(jù)權(quán)利要求5所述的計(jì)算機(jī)實(shí)施方法,其還包括:使用所述用戶數(shù)據(jù)包中預(yù)定偏移量下的所述非透明位中的定長字段確定對(duì)應(yīng)于所述用戶數(shù)據(jù)包的虛擬機(jī)。
13.根據(jù)權(quán)利要求5所述的計(jì)算機(jī)實(shí)施方法,其中每個(gè)物理功能具有一組入口規(guī)則,每個(gè)規(guī)則至少部分由能夠與封裝入口數(shù)據(jù)包的所述非透明位匹配的一組非透明位組成。
14.根據(jù)權(quán)利要求5所述的計(jì)算機(jī)實(shí)施方法,其中其它流量在不響應(yīng)于從所述規(guī)則表確定通過規(guī)則而進(jìn)行處理的情況下通過。
15.根據(jù)權(quán)利要求5所述的計(jì)算機(jī)實(shí)施方法,其中客戶封裝流量和控制流量獨(dú)立于從所述規(guī)則表確定通過規(guī)則而 被捕獲。
【文檔編號(hào)】G06F15/16GK104054067SQ201280015987
【公開日】2014年9月17日 申請(qǐng)日期:2012年3月29日 優(yōu)先權(quán)日:2011年3月30日
【發(fā)明者】普拉迪普·文森特, 馬修·D.·克萊恩, 塞繆爾·J.·麥凱爾維 申請(qǐng)人:亞馬遜技術(shù)公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1