管理覆蓋網絡中的數據流的方法和系統的制作方法
【技術領域】
[0001] 本發明涉及計算機網絡,更具體地涉及管理覆蓋網絡中的數據流。
【背景技術】
[0002] 在數據中也的環境中,典型的主機機器運行許多虛擬機(VM),該些虛擬機向其它 虛擬或非虛擬機提供服務或從其接收服務。在提供或接收服務時,主機中的VM可W彼此通 信或者可W與在其它主機上運行的其它VM通信。該些機器之間的通信是數據流的形式,數 據流包括具有共同屬性(例如共同報頭)的數據分組。在某些情況下,主機中的VM共享附 接到該主機中的一個或多個網絡接口卡,W發送或接收數據流。
【發明內容】
[0003] 實施例包括用于管理數據流的方法、系統和計算機程序產品。根據本發明的一個 實施例,提供了本發明提供一種用于在運行在具有網絡接口卡(NIC)的主機中的虛擬轉發 部件處管理數據流的計算機實現的方法。所述方法從運行在所述主機中的虛擬機接收屬于 來源于所述虛擬機的數據流的分組。所述方法在所述虛擬轉發部件處通過所述主機,基于 運行在所述主機中的多個虛擬機與多個網絡標識符之間的映射,識別用于所述數據流的網 絡標識符。所述映射由配置所述虛擬轉發部件的網絡控制器提供。所述方法利用所述網絡 標識符W及包括所述主機的網絡地址的通道報頭封裝所述分組。所述方法將所封裝的分組 發送到所述NIC。所述NIC將所封裝的分組發送到所述主機之外并發送向所述分組的目的 地。
[0004] 根據本發明的另一實施例,提供了用于在運行在具有NIC的主機中的虛擬轉發部 件處管理數據流的計算機程序產品。所述計算機程序產品包括有形存儲介質,其可由處理 電路讀取并存儲由處理電路執行來執行方法的指令。所述方法從運行在所述主機中的虛擬 機接收屬于來源于所述虛擬機地數據流的分組。所述方法在所述虛擬轉發部件處通過所述 處理電路,基于運行在所述主機中的多個虛擬機與多個網絡標識符之間的映射,識別用于 所述數據流的網絡標識符。所述映射由配置所述虛擬轉發部件的網絡控制器提供。所述方 法利用所述網絡標識符W及包括所述主機的網絡地址的通道報頭封裝所述分組。所述方法 將所封裝的分組發送到所述NIC,其中所述NIC將所封裝的分組發送到所述主機之外并發 送向所述分組的目的地。
[0005] 根據本發明的再一實施例,提供了一種用于管理數據流的系統。所述系統包括附 接到或集成于主機的NIC。所述系統被配置為執行方法。所述方法從運行在所述主機中的 虛擬轉發部件接收多個數據流。所述多個數據流來源于運行在所述主機中的多個虛擬機。 所述多個數據流中的每個攜帶不同的網絡標識符W及不同的通道報頭。所述方法由所述 NIC使用所述多個網絡標識符將由所述多個通道報頭限定的多個通道映射到所述多個數據 流。所述方法通過所述多個通道將所述多個數據流發送到所述主機之外。
[0006] 通過本發明的技術實現附加特征和優點。本發明的其它實施例和方面在本文中進 行了詳細描述,并被認為是所要求權利的發明的一部分。為了更好地理解具有優點和特征 的本發明,參考說明書和附圖。
【附圖說明】
[0007] 在說明書完結時的權利要求中特別地指出并清楚地主張了被認作本發明的主題。 結合附圖,從下面的詳細描述中,本發明的上述和其他特征和優點是顯然的,其中:
[0008] 圖1描繪根據一實施例的云計算節點;
[0009] 圖2描繪根據一實施例的云計算環境;
[0010]圖3描繪根據一實施例的抽象模型層;
[0011] 圖4描繪根據一實施例的用于管理數據流的系統的框圖;
[0012] 圖5描繪根據一實施例的用于在網絡中的虛擬轉發部件處轉發分組的流程圖;
[0013] 圖6描繪根據一實施例的用于在NIC處管理數據流的流程圖;
[0014] 圖7描繪根據一實施例的用于使用數據流與通道之間的映射處理擁塞消息的流 程圖;
[0015] 圖8描繪根據一實施例的用于配置虛擬轉發部件的流程圖。
【具體實施方式】
[0016] 示例實施例涉及通過運行在主機中的虛擬轉發部件(例如虛擬交換機、虛擬路由 器等)W及通過附接到或集成于主機的NIC管理主機處的數據流。在一個實施例中,虛擬 轉發部件識別用于將數據流傳送出主機的覆蓋網絡和通道。該樣的識別基于運行在主機中 的虛擬機、數據流要發送到的虛擬機、識別覆蓋網絡的網絡標識符W及虛擬機的位置之間 的映射。在一個實施例中,配置虛擬轉發部件的網絡控制器向虛擬轉發部件提供映射。虛 擬轉發部件經由NIC并通過通道將數據流發送到它們各自的目的地。
[0017] 在一個實施例中,虛擬轉發部件將不同的網絡標識符附接到不同數據流的分組。 虛擬轉發部件還可W取決于分組的目的地的位置利用通道報頭封裝數據流的分組。例如, 對于運行在主機中的第一虛擬機向運行在同一主機中的第二虛擬機發送的第一數據流,運 行在主機中的虛擬轉發部件在不封裝第一數據流中的分組的情況下轉發第一數據流。對于 第一虛擬機向運行在另一主機中的第H虛擬機發送的第二數據流,虛擬轉發部件通過利用 限定通道的通道報頭封裝第二數據流中的分組而轉發第二數據流。
[0018] 在操作時,運行在主機中的虛擬轉發部件可W使得建立若干通道。該些通道終止 于運行在其它主機中的其它虛擬轉發部件處。當通過通道將數據流從該主機傳送到其它主 機時,附接到主機的網絡接口卡(NIC)使用網絡標識符將數據流映射到通道。在一個實施 例中,當NIC從在NIC和虛擬轉發部件下游的轉發部件接收到擁塞消息時,NIC使用此映射 W識別一個或多個特定數據流。當接收到該樣的消息時,NIC向虛擬轉發部件通知與特定 流相關的擁塞,使得虛擬轉發部件可W控制針對該特定流的數據率。
[0019] 在一個實施例中,虛擬轉發部件使用在虛擬轉發部件處實現的若干虛擬隊列來W 每個流為基礎控制針對數據流的數據率。該些隊列在數據的分組被發送到分組的相應目的 地之前存儲數據流的分組。
[0020] 首先應當理解,盡管本公開包括關于云計算的詳細描述,但其中記載的技術方案 的實現卻不限于云計算環境,而是能夠結合現在已知或w后開發的任何其它類型的計算環 境而實現。
[0021] 云計算是一種服務交付模式,用于對共享的可配置計算資源池進行方便、按需的 網絡訪問。可配置計算資源是能夠W最小的管理成本或與服務提供者進行最少的交互就能 快速部署和釋放的資源,例如可W是網絡、網絡帶寬、服務器、處理、內存、存儲、應用、虛擬 機和服務。該種云模式可W包括至少五個特征、至少H個服務模型和至少四個部署模型。 [00過特征包括:
[0023] 按需自助式服務;云的消費者在無需與服務提供者進行人為交互的情況下能夠單 方面自動地按需部署諸如服務器時間和網絡存儲等的計算能力。
[0024] 廣泛的網絡接入;計算能力可W通過標準機制在網絡上獲取,該種標準機制促進 了通過不同種類的瘦客戶機平臺或厚客戶機平臺(例如移動電話、膝上型電腦、個人數字 助理PDA)對云的使用。
[00巧]資源池:提供者的計算資源被歸入資源池并通過多租戶(multi-tenant)模式服 務于多重消費者,其中按需將不同的實體資源和虛擬資源動態地分配和再分配。一般情況 下,消費者不能控制或甚至并不知曉所提供的資源的確切位置,但可W在較高抽象程度上 指定位置(例如國家、州或數據中也),因此具有位置無關性。
[0026] 迅速彈性:能夠迅速、有彈性地(有時是自動地)部署計算能力,W實現快速擴展, 并且能迅速釋放來快速縮小。在消費者看來,用于部署的可用計算能力往往顯得是無限的, 并能在任意時候都能獲取任意數量的計算能力。
[0027] 可測量的服務:云系統通過利用適于服務類型(例如存儲、處理、帶寬和活躍用戶 帳號)的某種抽象程度的計量能力,自動地控巧師優化資源效用。可W監巧1|、控巧師報告資 源使用情況,為服務提供者和消費者雙方提供透明度。
[002引服務模型如下:
[0029] 軟件即服務(Saa巧:向消費者提供的能力是使用提供者在云基礎架構上運行的 應用。可W通過諸如網絡瀏覽器的瘦客戶機接口(例如基于網絡的電子郵件)從各種客戶 機設備訪問應用。除了有限的特定于用戶的應用配置設置外,消費者既不管理也不控制包 括網絡、服務器、操作系統、存儲、乃至單個應用能力等的底層云基礎架構。
[0030] 平臺即服務(Paa巧:向消費者提供的能力是在云基礎架構上部署消費者創建或 獲得的應用,該些應用利用提供者支持的程序設計語言和工具創建。消費者既不管理也不 控制包括網絡、服務器、操作系統或存儲的底層云基礎架構,但對其部署的應用具有控制 權,對應用巧管環境配置可能也具有控制權。
[0031] 基礎架構即服務(laa巧:向消費者提供的能力是消費者能夠在其中部署并運行 包括操作系統和應用的任意軟件的處理、存儲、網絡和其他基礎計算資源。消費者既不管理 也不控制底層的云基礎架構,但是對操作系統、存儲和其部署的應用具有控制權,對選擇的 網絡組件(例如主機防火墻)可能具有有限的控制權。
[003引部署模型如下:
[0