覆蓋虛擬化網(wǎng)絡中的高效數(shù)據(jù)傳輸方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明涉及一種覆蓋虛擬化網(wǎng)絡中的高效數(shù)據(jù)傳輸方法和系統(tǒng)。提供用于在數(shù)據(jù)通信網(wǎng)絡中進行數(shù)據(jù)傳輸?shù)臋C器、系統(tǒng)和方法。所述方法包括:接收數(shù)據(jù)分組以便傳輸,所述數(shù)據(jù)分組具有第一標頭部分和第二標頭部分,其中所述第一標頭部分包括指示不使用所述第一標頭部分中的任何信息的標識符;以及根據(jù)包括在所述第二標頭部分中的信息而確定目的地信息,所述目的地信息至少包括所述數(shù)據(jù)通信網(wǎng)絡中的所述數(shù)據(jù)分組所要傳輸?shù)降哪康牡氐奈锢淼刂贰?br>
【專利說明】覆蓋虛擬化網(wǎng)絡中的高效數(shù)據(jù)傳輸方法和系統(tǒng)
[0001]版權和商標聲明
[0002]本專利文件的公開內(nèi)容的一部分可能包含受版權保護的材料。擁有人并不反對復制專利文件或?qū)@_內(nèi)容的任何一個,如其出現(xiàn)在專利商標局專利檔案或記錄中那樣,否則擁有人保留對其的任何版權。
[0003]在此引用的某些標志可能是 申請人:、受讓人或與 申請人:或受讓人有關或無關的第三方的普通法商標或注冊商標。這些標志的使用是為了通過實例方式提供授權的公開內(nèi)容,不應被解釋為將所公開的主題的范圍專門限制為與這種標志關聯(lián)的材料。
【技術領域】
[0004]所公開的主題一般地涉及虛擬化計算環(huán)境中的數(shù)據(jù)傳輸,更具體地說,涉及在具有虛擬機和系統(tǒng)管理程序的虛擬化計算環(huán)境中進行數(shù)據(jù)傳輸?shù)南到y(tǒng)和方法。
【背景技術】
[0005]在虛擬化計算網(wǎng)絡中,可以將網(wǎng)絡節(jié)點實現(xiàn)為系統(tǒng)管理程序托管的虛擬機(VM)。通常,執(zhí)行VM以便VM不知道在其上運行VM和系統(tǒng)管理程序的底層物理平臺。S卩,系統(tǒng)管理程序為VM提供虛擬化操作平臺或接口,以便不必定制或修改VM功能以滿足底層硬件和機器的要求。
[0006]參考圖1,VM100不知道它在虛擬化平臺上運行。因此,將數(shù)據(jù)從VM100 (B卩,傳輸節(jié)點)傳輸?shù)教摂M化網(wǎng)絡190中的目的地節(jié)點的過程包括確定與目的地節(jié)點關聯(lián)的物理地址(例如,數(shù)據(jù)鏈路(L2)層地址或MAC地址)。VM可以使用一種稱為地址解析協(xié)議(ARP)的機制確定目的地節(jié)點的物理地址。如果目的地節(jié)點的對應網(wǎng)絡地址(例如,IP地址)可用,則傳輸節(jié)點可以通過參考ARP查找表(未在圖1中示出)查找目的地節(jié)點的物理地址,該ARP查找表包括目的地節(jié)點的網(wǎng)絡地址與相應物理地址之間的映射。
[0007]仍參考圖1,如果ARP查找表不包括目的地節(jié)點的已知網(wǎng)絡地址與目的地節(jié)點的物理地址之間的映射,則傳輸節(jié)點必須將第一 ARP請求廣播到網(wǎng)絡190中的所有節(jié)點。如圖所示,將ARP請求從VM100經(jīng)由VM以太網(wǎng)接口 110傳輸?shù)较到y(tǒng)管理程序120(例如,通過多播),之后傳輸?shù)骄W(wǎng)絡190中的其余節(jié)點。如果目的地節(jié)點接收到ARP請求,則目的地節(jié)點然后沿著相反方向提交包括目的地節(jié)點的物理地址的ARP回復,如圖所示。
[0008]在覆蓋虛擬網(wǎng)絡(overlay virtual network)中,虛擬節(jié)點的ARP請求/回復不直接在物理網(wǎng)絡中廣播,而是由系統(tǒng)管理程序處理并在封裝后發(fā)送,這些系統(tǒng)管理程序表示物理網(wǎng)絡中的僅有實際實體。因此,傳輸節(jié)點中的VM100在數(shù)據(jù)分組的以太網(wǎng)標頭中包括目的地節(jié)點的物理地址,并且傳輸數(shù)據(jù)分組,該數(shù)據(jù)分組在最終封裝并傳送到目的地節(jié)點之前,通過系統(tǒng)管理程序120處理。
[0009]參考圖2,在其上運行VM100的系統(tǒng)管理程序120接收到數(shù)據(jù)分組時,判定是否應該通過物理網(wǎng)絡190將數(shù)據(jù)分組路由到虛擬網(wǎng)絡上的目的地節(jié)點。通過覆蓋機制在網(wǎng)絡190上實現(xiàn)單獨的虛擬網(wǎng)絡,以便在虛擬節(jié)點之間傳送的業(yè)務在網(wǎng)絡190上封裝,同時在虛擬網(wǎng)絡內(nèi)部路由。
[0010]在網(wǎng)絡190中,系統(tǒng)管理程序120使用一種機制(例如,虛擬網(wǎng)絡路由表)查找托管目的地節(jié)點VM的對應系統(tǒng)管理程序的物理地址。如果路由表(未示出)不包括物理地址,則系統(tǒng)管理程序120需要廣播第二 ARP請求,并且當接收到包括托管該目的地節(jié)點的系統(tǒng)管理程序的物理地址的ARP回復時,更新路由表。
[0011]在虛擬化覆蓋網(wǎng)絡中,對于每個數(shù)據(jù)分組傳輸,VM100提交的第一 ARP請求(參見圖1)和系統(tǒng)管理程序120提交的第二 ARP請求(參見圖2)在ARP查找未命中時發(fā)生。雙重ARP提交和回復過程(即,VM100和系統(tǒng)管理程序120均參與ARP通信過程)可導致數(shù)據(jù)傳輸中的不必要延遲,并且還對網(wǎng)絡190中的網(wǎng)絡帶寬的可用性產(chǎn)生不利影響。需要更高效的數(shù)據(jù)傳輸方法和系統(tǒng)。
【發(fā)明內(nèi)容】
[0012]出于總結目的,在此描述了某些方面、優(yōu)點和新穎特性。應該理解,根據(jù)任何一個特定實施例可能未實現(xiàn)所有這些優(yōu)點。因此,可以以如下方式包含或執(zhí)行所公開的主題:實現(xiàn)或優(yōu)化一個優(yōu)點或一組優(yōu)點而不實現(xiàn)如在此教導或建議的所有優(yōu)點。
[0013]根據(jù)一個實施例,提供用于在數(shù)據(jù)通信網(wǎng)絡中進行數(shù)據(jù)傳輸?shù)臋C器、系統(tǒng)和方法。所述方法包括:接收數(shù)據(jù)分組以便傳輸,所述數(shù)據(jù)分組具有第一標頭部分和第二標頭部分,其中所述第一標頭部分包括指示不使用所述第一標頭部分中的任何信息的標識符;以及根據(jù)包括在所述第二標頭部分中的信息而確定目的地信息,所述目的地信息至少包括所述數(shù)據(jù)通信網(wǎng)絡中的所述數(shù)據(jù)分組所要傳輸?shù)降哪康牡氐奈锢淼刂贰?br>
[0014]根據(jù)一個或多個實施例,提供一種包括一個或多個邏輯單元的系統(tǒng)。所述一個或多個邏輯單元被配置為執(zhí)行與上面所公開的方法關聯(lián)的功能和操作。在另一個實施例中,提供一種包括計算機可讀存儲介質(zhì)的計算機程序產(chǎn)品,所述計算機可讀存儲介質(zhì)具有計算機可讀程序。當在計算機上執(zhí)行時,所述計算機可讀程序?qū)е滤鲇嬎銠C執(zhí)行與上面所公開的方法關聯(lián)的功能和操作。
[0015]下面參考附圖進一步詳細提供了上面所公開的一個或多個實施例以及某些備選實施例。但是,所公開的主題并不限于所公開的任何特定實施例。
【專利附圖】
【附圖說明】
[0016]通過參考下面提供的附圖中的各圖,可以更好地理解所公開的實施例,這些附圖是:
[0017]圖1和2示出在虛擬化計算網(wǎng)絡中將數(shù)據(jù)從第一節(jié)點傳輸?shù)降诙?jié)點所涉及的過程的框圖;
[0018]圖3示出根據(jù)一個或多個實施例的具有兩個或更多虛擬節(jié)點的示例性虛擬化計算網(wǎng)絡,其中系統(tǒng)管理程序在至少一個節(jié)點中托管虛擬機;
[0019]圖4示出根據(jù)一個或多個實施例的用于在虛擬化計算網(wǎng)絡中將數(shù)據(jù)從第一節(jié)點傳輸?shù)降诙?jié)點的改進過程的框圖;
[0020]圖5是根據(jù)一個或多個實施例的用于在虛擬化計算網(wǎng)絡中將數(shù)據(jù)從第一節(jié)點傳輸?shù)降诙?jié)點的示例性方法的流程圖;[0021]圖6A和6B是根據(jù)一個或多個實施例的其中可以運行所公開的系統(tǒng)和方法的硬件和軟件環(huán)境的框圖。
[0022]根據(jù)一個或多個實施例,不同圖中的相同標號引用的特性、元素和方面表示相同、等效或類似的特性、元素或方面。
【具體實施方式】
[0023]在下面,提供了大量特定的細節(jié)以便徹底描述不同實施例??梢栽跊]有這些特定的細節(jié)的情況下實現(xiàn)某些實施例,或者可以通過細節(jié)上的一些變化實現(xiàn)某些實施例。在某些情況下,未詳細描述某些特性以避免使其它方面變得模糊不清。與每個元素或特性關聯(lián)的細節(jié)級別不應被解釋為證明一個特性較之其它特性的新穎性或重要性。
[0024]參考圖3,示出示例性操作環(huán)境3000,其中傳輸網(wǎng)絡節(jié)點370包括托管虛擬機300的系統(tǒng)管理程序320。根據(jù)一個方面,網(wǎng)絡節(jié)點370通過網(wǎng)絡190連接到目的地網(wǎng)絡節(jié)點380,其中網(wǎng)絡190支持虛擬化網(wǎng)絡環(huán)境,其中網(wǎng)絡190中的一個或多個節(jié)點是虛擬節(jié)點,以便虛擬節(jié)點托管虛擬機(VM),該VM可以與網(wǎng)絡190中的其它虛擬節(jié)點托管的其它VM通信。值得注意的是,在例如圖3中所示的覆蓋虛擬網(wǎng)絡中,虛擬節(jié)點可能不是物理網(wǎng)絡中的已知節(jié)點。
[0025]如下面進一步詳細提供的,在一種實現(xiàn)中,可以配置用于VM300和托管系統(tǒng)管理程序320的VM接口 310,以便系統(tǒng)管理程序320 (而不是VM300)執(zhí)行目的地節(jié)點的網(wǎng)絡地址到物理地址的轉(zhuǎn)換過程。在該實現(xiàn)中,向VM300通知VM300由支持以太網(wǎng)卸載的系統(tǒng)管理程序320托管,因此VM300不再嘗試解析網(wǎng)絡地址到物理地址轉(zhuǎn)換。
[0026]另外參考圖4和5,根據(jù)一個實施例,當初始化網(wǎng)絡節(jié)點370時(B卩,在引導時或VM實例化期間),VM300與系統(tǒng)管理程序320通信以便判定系統(tǒng)管理程序320是否被配置為管理數(shù)據(jù)分組的傳輸,其中所述分組不包括否則將包括目標目的地節(jié)點的物理地址的字段(例如,以太網(wǎng)標頭)(S510)。如果系統(tǒng)管理程序320支持這種配置(此后稱為例如但不限于以太網(wǎng)卸載),則系統(tǒng)管理程序320相應地進行響應。例如,系統(tǒng)管理程序320可以進行響應,指示VM接口 310被配置為以太網(wǎng)卸載接口,以便VM300可以開始與作為以太網(wǎng)卸載接口的VM接口 310通信。
[0027]參考圖4,在一種示例性實現(xiàn)中,VM網(wǎng)絡堆棧410可以被修改為半虛擬網(wǎng)絡堆棧。半虛擬化指其中VM并非完全不知道在其上運行VM的操作平臺的環(huán)境。即,半虛擬化VM對底層系統(tǒng)管理程序或主機具有某種程度的了解,以便VM可以以更高效的方式更改或定制VM與系統(tǒng)管理程序或主機的通信。因此,在一個實施例中,當數(shù)據(jù)分組(例如,TCP/IP網(wǎng)絡中具有IP標頭和數(shù)據(jù)有效負載的IP數(shù)據(jù)分組)就緒以便傳輸時,VM網(wǎng)絡堆棧410將數(shù)據(jù)分組與以太網(wǎng)標頭卸載411封裝在一起。
[0028]可選地,以太網(wǎng)標頭卸載411不包括反映網(wǎng)絡190中的目標目的地節(jié)點380的物理目的地地址的信息。相反,可以在以太網(wǎng)標頭卸載411中包括指示符(例如,諸如標志或類型數(shù)據(jù)之類的標識符),其中指示符將去往系統(tǒng)管理程序320的分組標識為以太網(wǎng)卸載分組。當VM以太網(wǎng)接口 310從VM300接收到具有以太網(wǎng)標頭卸載411的數(shù)據(jù)分組時,VM以太網(wǎng)接口 310將數(shù)據(jù)分組發(fā)送到系統(tǒng)管理程序320以便傳輸(S520)。
[0029]例如,兩個VM (例如,vA和vB)可以分別位于兩個物理主機A和B上。物理主機A和B是物理網(wǎng)絡中的已知實體,以便當主機A接收到從vA去往vB的分組時,主機A嘗試查找托管vB的物理主機B。在一個或多個數(shù)據(jù)結構(例如,查找表或路由表)中執(zhí)行查找,這些數(shù)據(jù)結構存儲虛擬機與托管該虛擬機的物理機器之間的相應關系。如果存儲在數(shù)據(jù)結構中的信息將給定虛擬IP地址映射到物理IP地址。例如,可以將包括vB的虛擬地址的請求提交到網(wǎng)絡190中的主機,以便確定托管vB的機器的物理地址。
[0030]因此,可以使用上述數(shù)據(jù)結構在VM的虛擬IP地址與托管該VM的機器的物理地址之間進行映射。這種數(shù)據(jù)結構可以在系統(tǒng)管理程序的外部維護,并且可以緩存映射的各個部分。換言之,系統(tǒng)管理程序在接收到VM的分組時,執(zhí)行位置查找以便找出在哪個物理位置上托管目的地VM。系統(tǒng)管理程序例如可以向外部維護的系統(tǒng)詢問目的地VM的位置,并且接收指示在具有某個物理IP地址的物理機上托管具有某個虛擬IP地址的目的地VM的答案。可以將答案緩存在系統(tǒng)管理程序內(nèi)部的本地位置表中。接收相關信息之后,系統(tǒng)管理程序封裝分組并將其發(fā)送到目標目的地。
[0031]因此,在接收具有以太網(wǎng)標頭卸載411的數(shù)據(jù)分組之后,系統(tǒng)管理程序320搜索數(shù)據(jù)結構(例如,路由表350)以便查找托管節(jié)點380的系統(tǒng)管理程序的物理地址(S530)。如果在路由表350中的搜索并未產(chǎn)生目的地節(jié)點380的物理地址,則系統(tǒng)管理程序320向機制或網(wǎng)絡190中的多個節(jié)點發(fā)送請求(例如,ARP請求),以便接收托管節(jié)點380的目標目的地的物理地址(S540-S550)。但是,如果在路由表350中的搜索返回目的地節(jié)點的主機的物理地址,或者在接收到目的地節(jié)點的主機的物理地址時,系統(tǒng)管理程序430可選地使用所接收的目的地節(jié)點380的位置更新路由表350,并且封裝數(shù)據(jù)分組并將其傳輸?shù)酵泄苣康牡毓?jié)點380的系統(tǒng)管理程序,如目的地節(jié)點380的物理地址標識的那樣(S540-S560)。
[0032]在一個或多個實施例中,系統(tǒng)管理程序320可以創(chuàng)建以太網(wǎng)封裝標頭431 (參見圖4),該以太網(wǎng)封裝標頭具有物理網(wǎng)絡中的后續(xù)節(jié)點或位置(例如,躍點)的地址。系統(tǒng)管理程序320可以使用以太網(wǎng)封裝標頭431封裝通過VM以太網(wǎng)接口 310從VM300傳輸?shù)臄?shù)據(jù)分組,并且通過物理網(wǎng)絡發(fā)送封裝后的數(shù)據(jù)分組。值得注意的是,根據(jù)上面提供的實現(xiàn),VM300并不提交或參與ARP通信以便確定目的地節(jié)點380的物理地址。相反,系統(tǒng)管理程序被分派任務以便負責查找目標物理地址并將數(shù)據(jù)傳輸?shù)骄W(wǎng)絡190中的適當目的地節(jié)點。
[0033]本說明書中對“一實施例”、“一個實施例”、“一個或多個實施例”等的引用指描述的特定元素、特性、結構或特征被包括在所公開的主題的至少一個實施例中。本說明書中出現(xiàn)的這種短語不應被具體解釋為指同一實施例,也不應將這種短語解釋為指與所討論的特性或元素相互排斥的實施例。
[0034]在不同的實施例中,所要求保護的主題可以實現(xiàn)為硬件和軟件元素的組合,或者備選地完全以硬件形式或完全以軟件形式實現(xiàn)。進一步,在此所公開的計算系統(tǒng)和程序軟件可以包括受控計算環(huán)境,其可以根據(jù)執(zhí)行的硬件組件或邏輯代碼提供,這些硬件組件或邏輯代碼用于執(zhí)行實現(xiàn)在此構想的結果的方法和過程。當由通用計算系統(tǒng)或機器執(zhí)行時,所述方法和過程將通用機器轉(zhuǎn)換為專用機器。
[0035]參考圖6A和6B,根據(jù)一個示例性實施例的計算系統(tǒng)環(huán)境可以包括硬件環(huán)境1110和軟件環(huán)境1120。硬件環(huán)境1110可以包括邏輯單元、電路或其它機器和設備,它們?yōu)檐浖h(huán)境1120的組件提供執(zhí)行環(huán)境。反過來,軟件環(huán)境1120可以為硬件環(huán)境1110的各種組件提供執(zhí)行指令,包括底層操作設置和配置。[0036]參考圖6A,在此所公開的應用軟件和邏輯代碼可以以機器可讀代碼的形式實現(xiàn),機器可讀代碼在示例性硬件環(huán)境1110表示的一個或多個計算系統(tǒng)上執(zhí)行。如圖所示,硬件環(huán)境1110可以包括處理器1101,其通過系統(tǒng)總線1100耦合到一個或多個存儲元件。存儲元件例如可以包括本地存儲器1102、存儲介質(zhì)1106、高速緩沖存儲器1104或其它機器可用或計算機可讀介質(zhì)。在本公開的上下文中,機器可用或計算機可讀存儲介質(zhì)可以包括任何可用于包含、存儲、發(fā)送、傳播或傳輸程序代碼的可記錄制品。
[0037]計算機可讀存儲介質(zhì)可以是電、磁、光、電磁、紅外線或半導體介質(zhì)、系統(tǒng)、裝置或器件。計算機可讀存儲介質(zhì)還可以(但不限于)以傳播介質(zhì)實現(xiàn),直到此類實現(xiàn)被視為法定主題的程度。計算機可讀存儲介質(zhì)的實例可以包括半導體或固態(tài)存儲器、磁帶、可移動計算機盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)、硬磁盤、光盤或載波(如果適用)。光盤的當前實例包括光盤只讀存儲器(⑶-ROM)、光盤讀/寫(⑶-R/W)、數(shù)字視頻盤(DVD)、高清晰度視頻盤(HD-DVD)或 Blue-ray? 盤。
[0038]在一個實施例中,處理器1101將可執(zhí)行代碼從存儲介質(zhì)1106加載到本地存儲器1102。高速緩沖存儲器1104通過提供臨時存儲優(yōu)化處理時間,這種臨時存儲有助于減少加載代碼以便執(zhí)行的次數(shù)。一個或多個用戶接口設備1105 (例如,鍵盤、指點設備等)和顯示屏1107例如可以直接或通過中間I/O控制器1103耦合到硬件環(huán)境1110中的其它元件??梢蕴峁┩ㄐ沤涌趩卧?108 (例如網(wǎng)絡適配器),以使硬件環(huán)境1110能夠通過中間專用或公共網(wǎng)絡(例如因特網(wǎng))與本地或遠程定位的計算系統(tǒng)、打印機和存儲設備通信。有線或無線調(diào)制解調(diào)器和以太網(wǎng)卡是網(wǎng)絡適配器的幾種示例性類型。
[0039]值得注意的是,在某些實現(xiàn)中,硬件環(huán)境1110可能不包括上面的部分或全部組件,或者可能包括其它組件以提供補充功能或效用。取決于構想的使用和配置,硬件環(huán)境1110可以是諸如臺式或膝上型計算機之類的機器,或者是可選地包含在嵌入式系統(tǒng)中的其它計算設備,例如機頂盒、個人數(shù)字助理(PDA)、個人媒體播放器、移動通信單元(例如,無線電話),或者是具有信息處理或數(shù)據(jù)存儲能力的其它類似的硬件平臺。
[0040]在某些實施例中,通信接口 1108用作數(shù)據(jù)通信端口,以便通過發(fā)送和接收數(shù)字、電、電磁或光信號提供與一個或多個計算系統(tǒng)通信的裝置,這些信號承載表示各種類型信息(包括程序代碼)的模擬或數(shù)字數(shù)據(jù)流。通信可以通過本地或遠程網(wǎng)絡建立,或者備選地通過空氣傳輸或其它介質(zhì)傳輸(包括但不限于載波傳播)建立。
[0041]如在此所提供的,根據(jù)示例性邏輯或功能關系定義在所示硬件元素上執(zhí)行的所公開的軟件元素。但是,應當指出,通過所述示例性軟件元素實現(xiàn)的相應方法還可以例如通過配置和編程后的處理器、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)和數(shù)字信號處理器(DSP ),在所述硬件元素中編碼。
[0042]參考圖6B,軟件環(huán)境1120通常可以分為兩類,包括在一個或多個硬件環(huán)境1110上執(zhí)行的系統(tǒng)軟件1121和應用軟件1122。在一個實施例中,在此所公開的方法和過程可以實現(xiàn)為系統(tǒng)軟件1121、應用軟件1122或它們的組合。系統(tǒng)軟件1121可以包括諸如操作系統(tǒng)(OS)和信息管理系統(tǒng)之類的控制程序,它們指示硬件環(huán)境1110中的一個或多個處理器1101 (例如,微處理器)如何運行和處理信息。應用軟件1122可以包括但不限于程序代碼、數(shù)據(jù)結構、固件、駐留軟件、微代碼,或者可以由處理器1101讀取、分析或執(zhí)行的任何其它形式的信息或例程。[0043]換言之,應用軟件1122可以實現(xiàn)為程序代碼,其以機器可用或計算機可讀存儲介質(zhì)的形式嵌入在計算機程序產(chǎn)品中,計算機程序產(chǎn)品提供程序代碼以便由機器、計算機或任何指令執(zhí)行系統(tǒng)使用或者與其結合使用。此外,應用軟件1122可以包括一個或多個計算機程序,這些計算機程序在從存儲介質(zhì)1106加載到本地存儲器1102之后,在系統(tǒng)軟件1121上執(zhí)行。在客戶端-服務器體系架構中,應用軟件1122可以包括客戶端軟件和服務器軟件。例如,在一個實施例中,客戶端軟件可以在客戶端計算系統(tǒng)上執(zhí)行,該客戶端計算系統(tǒng)不同于并且獨立于執(zhí)行服務器軟件的服務器計算系統(tǒng)。
[0044]軟件環(huán)境1120還可以包括瀏覽器軟件1126以便訪問通過本地或遠程計算網(wǎng)絡提供的數(shù)據(jù)。進一步,軟件環(huán)境1120可以包括用戶接口 1124 (例如,圖形用戶接口(⑶I))以便接收用戶命令和數(shù)據(jù)。有必要重申,上面描述的硬件和軟件體系架構和環(huán)境用于示例目的。因此,可以在任何類型的系統(tǒng)體系架構、功能或邏輯平臺或處理環(huán)境上實現(xiàn)一個或多個實施例。
[0045]還應當理解,邏輯代碼、程序、模塊、過程、方法,以及每種方法的相應過程的執(zhí)行順序完全是示例性的。取決于實現(xiàn),過程或任何底層子過程和方法可以以任何順序執(zhí)行或同時執(zhí)行,除非本公開中另有所指。進一步,除非明確地另有所指,否則本公開的上下文中的邏輯代碼定義并不與任何特定程序設計語言相關或限于任何特定程序設計語言,并且可以包括一個或多個模塊,它們可以在分布式、非分布式、單處理或多處理環(huán)境中的一個或多個處理器上執(zhí)行。
[0046]所屬【技術領域】的技術人員知道,軟件實施例可以包括固件、駐留軟件、微代碼等。包括軟件或硬件或者組合軟件和硬件方面的某些組件在此可以統(tǒng)稱為“電路”、“模塊”或“系統(tǒng)”。此外,所公開的主題可以實現(xiàn)為包含在一個或多個計算機可讀存儲介質(zhì)中的計算機程序產(chǎn)品,這些介質(zhì)在其中包含計算機可讀程序代碼??梢允褂靡粋€或多個計算機可讀存儲介質(zhì)的任意組合。計算機可讀存儲介質(zhì)可以是計算機可讀信號介質(zhì)或者計算機可讀存儲介質(zhì)。計算機可讀存儲介質(zhì)例如可以是一但不限于一電、磁、光、電磁、紅外線、或半導體的系統(tǒng)、裝置或器件,或者上述的任意合適的組合。
[0047]在此文檔的上下文中,計算機可讀存儲介質(zhì)可以是任何能夠包含或存儲程序的有形介質(zhì),該程序可以被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結合使用。計算機可讀的信號介質(zhì)可以包括例如在基帶中或者作為載波一部分傳播的數(shù)據(jù)信號,其中承載了計算機可讀的程序代碼。這種傳播的數(shù)據(jù)信號可以采用多種形式,包括一但不限于一電磁信號、光信號或上述的任意合適的組合。計算機可讀的信號介質(zhì)可以是計算機可讀存儲介質(zhì)以外的任何計算機可讀介質(zhì),該計算機可讀介質(zhì)可以發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結合使用的程序。
[0048]計算機可讀存儲介質(zhì)上包含的程序代碼可以用任何適當?shù)慕橘|(zhì)傳輸,包括一但不限于一無線、有線、光纜、RF等等,或者上述的任意合適的組合。
[0049]可以以一種或多種程序設計語言的任意組合來編寫用于執(zhí)行所公開的操作的計算機程序代碼,所述程序設計語言包括面向?qū)ο蟮某绦蛟O計語言一諸如Java、Smalltalk、C++等,還包括常規(guī)的過程式程序設計語言一諸如“C”語言或類似的程序設計語言。
[0050]所述程序代碼可以完全地在用戶計算機上執(zhí)行、部分地在用戶計算機上執(zhí)行、作為一個獨立的軟件包執(zhí)行、部分在用戶計算機上部分在遠程計算機上執(zhí)行、或者完全在遠程計算機或服務器上執(zhí)行。在涉及遠程計算機的情形中,遠程計算機可以通過任意種類的網(wǎng)絡一包括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN) —連接到用戶計算機,或者,可以連接到外部計算機(例如利用因特網(wǎng)服務提供商來通過因特網(wǎng)連接)。
[0051]將參考根據(jù)實施例的方法、裝置(系統(tǒng))和計算機程序產(chǎn)品的流程圖或框圖公開某些實施例。應當理解,流程圖或框圖的每個方框以及流程圖和/或框圖中各方框的組合,都可以由計算機程序指令實現(xiàn)。這些計算機程序指令可以提供給通用計算機、專用機器或其它可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出一種機器,使得這些指令在通過計算機或其它可編程數(shù)據(jù)處理裝置的處理器執(zhí)行時,產(chǎn)生了實現(xiàn)流程圖或框圖中的一個或多個方框中規(guī)定的功能或動作的裝置。
[0052]也可以把這些計算機程序指令存儲在計算機可讀存儲介質(zhì)中,這些指令使得計算機、其它可編程數(shù)據(jù)處理裝置、或其它設備以特定方式工作,從而,存儲在計算機可讀存儲介質(zhì)中的指令就產(chǎn)生出包括實現(xiàn)流程圖或框圖中的一個或多個方框中規(guī)定的功能或動作的指令的制造品(article ofmanufacture)。
[0053]也可以把計算機程序指令加載到計算機、其它可編程數(shù)據(jù)處理裝置、或其它設備上,使得在計算機、其它可編程裝置或其它設備上執(zhí)行一系列操作步驟,以產(chǎn)生計算機或機器實現(xiàn)的過程,從而使得在計算機或其它可編程裝置上執(zhí)行的指令提供實現(xiàn)流程圖或框圖中的一個或多個方框中規(guī)定的功能或動作的過程。
[0054]附圖中的流程圖和框圖顯示了根據(jù)不同實施例的系統(tǒng)、方法和計算機程序產(chǎn)品的可能實現(xiàn)的體系架構、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段或代碼的一部分,所述模塊、程序段或代碼的一部分包含一個或多個用于實現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應當注意,在有些作為替換的實現(xiàn)中,方框中所標注的功能可以以任何順序發(fā)生或不同于附圖中所標注的順序發(fā)生。
[0055]例如,兩個連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖或流程圖中的每個方框、以及框圖或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或動作的專用的基于硬件的系統(tǒng)來實現(xiàn),或者可以用專用硬件與計算機指令的組合來實現(xiàn)。
[0056]在此參考一個或多個特性或?qū)嵤├峁┝怂蟊Wo的主題。所屬【技術領域】的技術人員將認識到并理解,盡管在此提供了示例性實施例的詳細性質(zhì),但是可以向所述實施例應用更改和修改而不會限制或偏離總體預期的范圍。在此提供的實施例的這些和各種其它改變和組合,均在如權利要求及其全部等效物限定的所公開的主題的范圍內(nèi)。
【權利要求】
1.一種在數(shù)據(jù)通信網(wǎng)絡中的數(shù)據(jù)傳輸方法,所述方法包括: 接收數(shù)據(jù)分組以便傳輸,所述數(shù)據(jù)分組具有第一標頭部分和第二標頭部分,其中所述第一標頭部分包括指示不使用所述第一標頭部分中的任何信息的標識符;以及 根據(jù)包括在所述第二標頭部分中的信息而確定目的地信息,所述目的地信息至少包括所述數(shù)據(jù)通信網(wǎng)絡中的所述數(shù)據(jù)分組所要傳輸?shù)降哪康牡氐奈锢淼刂贰?br>
2.根據(jù)權利要求1的方法,其中從用于至少存儲虛擬機與所述虛擬機在其上執(zhí)行的主機之間的關系的數(shù)據(jù)結構來檢索所述目的地的所述物理地址。
3.根據(jù)權利要求1的方法,其中根據(jù)向所述通信網(wǎng)絡中的多個主機提交地址解析協(xié)議ARP請求而確定所述目的地的所述物理地址。
4.根據(jù)權利要求2的方法,其中所述數(shù)據(jù)結構是路由表。
5.根據(jù)權利要求1的方法,其中所述目的地的所述物理地址是與所述數(shù)據(jù)通信網(wǎng)絡中的下一躍點關聯(lián)的物理地址。
6.根據(jù)權利要求1的方法,其中所述第一標頭部分包括以太網(wǎng)地址。
7.根據(jù)權利要求1的方法,其中所述第二標頭部分包括網(wǎng)際協(xié)議IP地址。
8.根據(jù)權利要求1的方法,還包括將所述數(shù)據(jù)分組傳輸?shù)剿瞿康牡亍?br>
9.根據(jù)權利要求1的方法,還包括使用至少包括所述數(shù)據(jù)通信網(wǎng)絡中的目的地的物理地址的目的地信息來替換所述第一標頭部分中的任何信息。
10.根據(jù)權利要求2的方法,其中所述主機是所述通信網(wǎng)絡中的已知節(jié)點。
11.一種在數(shù)據(jù)通信網(wǎng)絡中的數(shù)據(jù)傳輸系統(tǒng),所述系統(tǒng)包括: 用于接收數(shù)據(jù)分組以便傳輸?shù)倪壿媶卧?,所述?shù)據(jù)分組具有第一標頭部分和第二標頭部分,其中所述第一標頭部分包括指示不使用所述第一標頭部分中的任何信息的標識符;以及 用于根據(jù)包括在所述第二標頭部分中的信息而確定目的地信息的邏輯單元,所述目的地信息至少包括所述數(shù)據(jù)通信網(wǎng)絡中的所述數(shù)據(jù)分組所要傳輸?shù)降哪康牡氐奈锢淼刂贰?br>
12.根據(jù)權利要求11的系統(tǒng),其中從用于至少存儲虛擬機與所述虛擬機在其上執(zhí)行的主機之間的關系的數(shù)據(jù)結構來檢索所述目的地的所述物理地址。
13.根據(jù)權利要求11的系統(tǒng),其中根據(jù)向所述通信網(wǎng)絡中的多個主機提交地址解析協(xié)議ARP請求而確定所述目的地的所述物理地址。
14.根據(jù)權利要求12的系統(tǒng),其中所述數(shù)據(jù)結構是路由表。
15.根據(jù)權利要求11的系統(tǒng),其中所述目的地的所述物理地址是與所述數(shù)據(jù)通信網(wǎng)絡中的下一躍點關聯(lián)的物理地址。
【文檔編號】H04L12/741GK103812777SQ201310529299
【公開日】2014年5月21日 申請日期:2013年10月31日 優(yōu)先權日:2012年11月1日
【發(fā)明者】K·巴拉瓦什, T·R·帕克, L·斯克爾 申請人:國際商業(yè)機器公司