專利名稱:數據中心網絡系統及其封包傳送方法
技術領域:
本發明是有關于一種數據中心網絡系統與封包傳送方法。
背景技術:
隨著網絡技術的發展,通過網絡來提供服務或者交換信息,已廣泛應用于企業。然而,網絡設備的建置與維護的費用相當可觀。因此,網絡數據中心的運作模式逐漸被發展起來。所謂網絡數據中心為一種大型的數據儲存中心,其提供企業包括主機代管、主機出租、 異地備援以及系統與網絡管理等服務。例如,企業僅需向提供網絡數據中心業者租賃主機空間,或是購買主機代管服務,即可任意存取與管理所屬遠程主機空間內的所有信息。對于企業而言,不需要自己建購容納硬件或電信設備的機房,而是將機器放在網絡數據中心業者的機房之中或者租賃網絡數據中心業者的機器。基此,企業網絡聯機的費用并且省下日常維運的人力成本。在網絡數據中心的運作中,最重要的部分就是建立數據中心網絡架構,以建立大量虛擬主機,來執行各種服務。特別是,在數據中心網絡中,虛擬主機必須能夠容易地轉移、 數據封包能夠有效率地傳送且避免造成傳送回路。因此,如何設計一個有效率、可靠易于管理且符合經濟價值的網絡,是本領域技術人員所致力的目標。以太網絡(Ethernet)為目前網絡架構的潮流,其已廣泛的應用于局域網絡上。圖1是繪示利用以太網絡架構用于網絡數據中心的貨柜型計算機(container computer)的網絡拓撲(network topology)范例。請參照圖1,網絡可被區分為核心(Core)層、區域(Region)層與機柜頂端 (Top-of-Rack, ToR)層。核心層包含12個以太網絡交換機;區域層包含12個以太網絡交換機;并且機柜頂端層包含48個以太網絡交換機。一個貨柜型計算機有12個機柜,而每一機柜具有4個機柜頂端網絡交換機。另外, 每一機柜包含40個服務器(即,實體機器),因此一個貨柜型計算機包含480個服務器。假設每一服務器可運轉20個虛擬機器,則一個貨柜型計算機可提供9600個虛擬機器。盡管以太網絡技術可方便地用于數據中心網絡,但以太網絡具有擴充性的問題。 具體來說,當以太網絡上的一個發送端(例如,虛擬機器或實體機器)欲發送數據封包給一個接收端(例如,虛擬機器或實體機器)通訊時,在發送端至接收端之間傳送此數據封包的路徑上所有網絡交換機都必須存有關于接收端的地址信息,而此信息會占用轉送表 (Forwarding Table)中的一個轉送表登錄(Forwarding Table Entry)來被記錄。然而,一般的以太網絡交換機的轉送表僅能記錄16K 3 (個轉送表登錄,因此,以太網絡通常僅可容量數百至數千個實體機器。圖2是在以太網絡上傳送數據封包的范例。請參照圖2,在此以太網絡中,實體機器A、實體機器B與實體機器C是經由網絡交換機SW1、Sff2, SW3與SW4連接并且使用以太網絡協議來通訊。倘若虛擬機器Bi、B2與B3 運轉在實體機器B上,并且實體機器A是經由網絡交換機SWl、網絡交換機SW2、網絡交換機SW3、實體機器B所構成的傳送O^rwarding)路徑Pl傳送數據封包給虛擬機器Bi、B2與 B3時,網絡交換機SWl、網絡交換機SW2與網絡交換機SW3的轉送表都必須儲存有關于虛擬機器Bi、B2與B3的地址信息,由此實體機器A欲傳送給虛擬機器Bi、B2與B3的數據封包能夠順利地送達。因此,在圖2所示的以太網絡中,倘若網絡交換機SWl的轉送表僅能儲存 16K個轉送表登錄時,實體機器A最多僅能與16K個機器交談。基于上述,倘若要架構一個具百萬個虛擬機器的數據網絡中心時,則需要約要110 個上述貨柜型計算機。此時,以太網絡將無法支持大量的實體機器或虛擬機器的通訊。
發明內容
本發明提供一種數據中心網絡系統及封包傳送方法,其能夠在因特網協議下有效地擴充機器的數量。本發明提出一種數據中心網絡系統,其包括第一實體機器、執行于第一實體機器上的第一虛擬機器、第二實體機器、執行于第二實體機器上的第二虛擬機器、網絡交換機與管理服務器,其中第一虛擬機器用以傳送一數據封包給第二虛擬機器,并且網絡交換機用以轉送該數據封包。第一實體機器、第二實體機器、網絡交換機與管理服務器是根據一因特網協議彼此通訊。管理服務器用以為第一實體機器、第一虛擬機器、網絡交換機、該第二實體機器與該第二虛擬機器分別地配置對應的邏輯媒體存取控制地址(MediaAccess Control Address),其中每一邏輯媒體存取控制地址包括最高有效字節與最低有效字節, 最高有效字節的每一字節被設定為0。第一實體機器具有一封裝模塊,并且此封裝模塊用以封裝來自于第一虛擬機器的數據封包,其中網絡交換機的邏輯媒體存取控制地址被放至在所封裝的數據封包的目的地地址字段中并且第一虛擬機器的邏輯媒體存取控制地址的最低有效字節和第二虛擬機器的邏輯媒體存取控制地址的最低有效字節被放至所封裝的數據封包的來源地址字段中。此外,第一實體機器用以發送所封裝的數據封包。本發明提出一種數據中心網絡系統,其包括第一實體機器、執行于第一實體機器上的第一虛擬機器、第二實體機器、執行于第二實體機器上的第二虛擬機器與管理服務器, 其中第一虛擬機器用以傳送一數據封包給第二虛擬機器。第一實體機器、第二實體機器與管理服務器是根據一因特網協議彼此通訊。管理服務器用以為第一實體機器、第一虛擬機器、該第二實體機器與該第二虛擬機器分別地配置對應的邏輯媒體存取控制地址,其中每一邏輯媒體存取控制地址包括最高有效字節與最低有效字節,最高有效字節的每一字節被設定為0。第一實體機器具有一封裝模塊,并且此封裝模塊用以封裝來自于第一虛擬機器的數據封包,其中第二實體的邏輯媒體存取控制地址被放至在所封裝的數據封包的目的地地址字段中并且第一虛擬機器的邏輯媒體存取控制地址的最低有效字節和第二虛擬機器的邏輯媒體存取控制地址的最低有效字節被放至所封裝的數據封包的來源地址字段中。此夕卜,第一實體機器用以發送所封裝的數據封包。本發明提出一種數據中心網絡系統,其包括多個機器、多個網絡交換機與管理服務器。此些機器包括多個實體機器與多個虛擬機器,其中每一虛擬機器屬于實體機器的其中之一,并且此些實體機器經由網絡交換機彼此連接。管理服務器用以為此些機器與此些網絡交換機分別地配置對應的邏輯媒體存取控制地址,其中每一邏輯媒體存取控制地址包括最高有效字節與最低有效字節,最高有效字節的每一字節被設定為0。此些機器、網絡交換機與管理服務器是根據一因特網協議彼此通訊。此管理服務器用以根據此些機器建立多個來源目的地對,衡量此些來源目的地對的優先級,并且根據此優先級與每一網絡交換機的多個轉送表登錄來指派對應每一來源目的地對的傳輸模式為直接路由模式或間接路由模式。特別是,當使用間接路由模式從一第一虛擬機器傳送一數據封包給一第二虛擬機器時,對應此第一虛擬機器的第一實體機器會確認對應第二虛擬機器的網絡交換機、根據所確認的網絡交換機來封裝數據封包并且發送所封裝的數據封包,其中對應第二虛擬機器的網絡交換機的邏輯媒體存取控制地址被放至所封裝的數據封包的目的地地址字段中,并且第一虛擬機器的邏輯媒體存取控制地址的最低有效字節和第二虛擬機器的邏輯媒體存取控制地址的最低有效字節被放至所封裝的數據封包的來源地址字段中。本發明提出一種數據中心網絡系統,其包括多個機器、多個網絡交換機與管理服務器。此些機器包括多個實體機器與多個虛擬機器,其中每一虛擬機器屬于實體機器的其中之一,并且此些實體機器經由網絡交換機彼此連接。管理服務器用以為此些機器與此些網絡交換機分別地配置對應的邏輯媒體存取控制地址,其中每一邏輯媒體存取控制地址包括最高有效字節與最低有效字節,最高有效字節的每一字節被設定為0。此些機器、網絡交換機與管理服務器是根據一因特網協議彼此通訊。此管理服務器用以根據此些機器建立多個來源目的地對,衡量此些來源目的地對的優先級,并且根據此優先級與每一網絡交換機的多個轉送表登錄來指派對應每一來源目的地對的傳輸模式為直接路由模式或間接路由模式。特別是,當使用間接路由模式從一第一虛擬機器傳送一數據封包給一第二虛擬機器時,對應此第一虛擬機器的第一實體機器會確認對應第二虛擬機器的第二實體機器、根據所確認的第二實體機器來封裝數據封包并且發送所封裝的數據封包,其中對應第二虛擬機器的第二實體機器的邏輯媒體存取控制地址被放至所封裝的數據封包的目的地地址字段中,并且第一虛擬機器的邏輯媒體存取控制地址的最低有效字節和第二虛擬機器的邏輯媒體存取控制地址的最低有效字節被放至所封裝的數據封包的來源地址字段中。本發明提出一種封包傳送方法,用于根據因特網協議從執行于第一實體機器上的第一虛擬機器傳送數據封包至執行于第二實體機器上的第二虛擬機器,其中此第二實體連接至網絡交換機。本封包傳送方法包括為此第一實體機器、第一虛擬機器、網絡交換機、第二實體機器與第二虛擬機器分別地配置對應的邏輯媒體存取控制地址,其中每一邏輯媒體存取控制地址包括最高有效字節與最低有效字節,最高有效字節的每一字節被設定為0。本封包傳送方法包括也包括封裝此數據封包,其中在所封裝的數據封包中上述網絡交換機的邏輯媒體存取控制地址被放至數據封包的目的地地址字段中,并且第一虛擬機器的邏輯媒體存取控制地址的最低有效字節和第二虛擬機器的邏輯媒體存取控制地址的最低有效字節被放至數據封包的來源地址字段中。本封包傳送方法包括還包括從第一實體機器中發送所封裝的數據封包。本發明提出一種封包傳送方法,用于根據因特網協議從執行于第一實體機器上的第一虛擬機器傳送數據封包至執行于第二實體機器上的第二虛擬機器。本封包傳送方法包括為此第一實體機器、第一虛擬機器、第二實體機器與第二虛擬機器分別地配置對應的邏輯媒體存取控制地址,其中每一邏輯媒體存取控制地址包括最高有效字節與最低有效字節,并且最高有效字節的每一字節被設定為0。本封包傳送方法也包括封裝此數據封包,其中在所封裝的數據封包中第二實體機器的邏輯媒體存取控制地址被放至數據封包的目的地地址字段中,并且第一虛擬機器的邏輯媒體存取控制地址的最低有效字節和第二虛擬機器的邏輯媒體存取控制地址的最低有效字節被放至數據封包的來源地址字段中。本封包傳送方法還包括從第一實體機器中發送所封裝的數據封包。本發明提出一種封包傳送方法,用于根據因特網協議在多個機器之間傳送數據封包,其中此些機器包括多個實體機器與多個虛擬機器,其中每一虛擬機器屬于此些實體機器的其中之一,并且此些實體機器經由多個網絡交換機彼此連接。本封包傳送方法包括為此些實體機器、虛擬機器與網絡交換機分別地配置對應的邏輯媒體存取控制地址,其中每一邏輯媒體存取控制地址包括最高有效字節與最低有效字節,并且最高有效字節的每一字節被設定為0。本封包傳送方法也包括根據此些機器建立多個來源目的地對;衡量此些來源目的地對的優先級;根據此優先級與每一網絡交換機的多個轉送表登錄來指派對應每一來源目的地對的傳輸模式為直接路由模式或間接路由模式。本封包傳送方法也包括,當使用間接路由模式從第一虛擬機器傳送數據封包給第二虛擬機器時,確認對應第二虛擬機器的網絡交換機、封裝此數據封包并且發送所封裝的該數據封包,其中對應第二虛擬機器的網絡交換機的邏輯媒體存取控制地址被放至所封裝的數據封包的目的地地址字段中,并且第一虛擬機器的邏輯媒體存取控制地址的最低有效字節和第二虛擬機器的邏輯媒體存取控制地址的最低有效字節被放至所封裝的數據封包的來源地址字段中。本發明提出一種封包傳送方法,用于根據因特網協議在多個機器之間傳送數據封包,其中此些機器包括多個實體機器與多個虛擬機器,其中每一虛擬機器屬于此些實體機器的其中之一,并且此些實體機器經由多個網絡交換機彼此連接。本封包傳送方法包括為此些實體機器、虛擬機器與網絡交換機分別地配置對應的邏輯媒體存取控制地址,其中每一邏輯媒體存取控制地址包括最高有效字節與最低有效字節,并且最高有效字節的每一字節被設定為0。封包傳送方法也包括根據此些機器建立多個來源目的地對;衡量此些來源目的地對的優先級;以及根據此優先級與每一網絡交換機的多個轉送表登錄來指派對應每一來源目的地對的傳輸模式為直接路由模式或間接路由模式。本封包傳送方法還包括,當使用間接路由模式從第一虛擬機器傳送數據封包給第二虛擬機器時,確認對應第二虛擬機器的第二實體機器、封裝數據封包并且發送所封裝的數據封包,其中對應第二虛擬機器的第二實體機器的該邏輯媒體存取控制地址被放至所封裝的該數據封包的該目的地地址字段中,并且第一虛擬機器的邏輯媒體存取控制地址的最低有效字節和第二虛擬機器的邏輯媒體存取控制地址的最低有效字節被放至所封裝的數據封包的來源地址字段中。基于上述,本發明能夠大幅地減少轉送表登錄的使用,進而有效地增加數據中心網絡系統內的虛擬機器的數量。為讓本發明的上述特征和優點能更明顯易懂,下文特舉實施例,并配合所附圖式作詳細說明如下。
圖1是繪示利用以太網絡架構用于網絡數據中心的貨柜型計算機(container computer)的網絡拓撲(network topology)范例。圖2是在以太網絡上傳送數據封包的范例。圖3是根據本發明的第一范例實施例所繪示的數據中心網絡系統的概要示意圖。
圖4是根據本發明的第一范例實例所繪示的封裝數據封包的范例示意圖。圖5是根據本發明的第一范例實施例所繪示的解封裝數據封包的示意圖。圖6A與6B是根據本發明的第一范例實施例所繪示的封包傳送方法的流程圖。圖7是根據本發明的第二范例實施例所繪示的數據中心網絡系統的概要示意圖。圖8A與8B是根據本發明的第二范例實施例所繪示的封包傳送方法的流程圖。圖9是根據本發明的第三范例實施例所繪示的數據中心網絡系統的概要示意圖。圖10是根據本發明的第四范例實施例所繪示的數據中心網絡系統的概要示意圖。圖11是根據本發明的第四范例實施例所繪示來源目的對的優先級的示意圖。圖12是根據本發明的第四范例實施例所繪示的封包傳輸方法的流程圖。[主要元件標號說明]A、B、C:實體機器SW1、SW2、Sff3, SW4 網絡交換機B1、B2、B3 虛擬機器PI 傳送路徑300、700、900、1000 數據中心網絡系統^2、7O2 管理服務器312,712 第一實體機器3Ua、712a 第一虛擬機器314,714 第二實體機器314a、714a 第二虛擬機器320、322、324、326、720、722、724、726、902、1002 網絡交換機332、732 封裝模塊334,734,934 解封裝模塊402 目的地地址字段404 來源地址字段404a:第一部分404b 第二部分S601、S603、S605、S607、S609、S611 封包傳送方法的步驟S801、S803、S805、S807、S809、S811 封包傳送方法的步驟912 第三實體機器912a 第三虛擬機器1002 儲存服務器S1201、S1203、S1205、S1207、S1209、S1211、S1213 封包傳送方法的步驟
具體實施例方式為了能夠擴充在一個因特網下所連接的虛擬機器或實體機器,本發明使用間接路由模式來傳送封包,由此可大幅地減少每一網絡交換機的轉送表登錄的使用。基此,使得在使用一般網絡交換機的數據中心網絡系統可支持大量的虛擬機器。以下將以數個范例實施例來說明本發明。[第一范例實施例]圖3是根據本發明的第一范例實施例所繪示的數據中心網絡系統的概要示意圖。請參照圖3,數據中心網絡系統300包括管理服務器302、第一實體機器312、第一虛擬機器31 、第二實體機器314、第二虛擬機器31 、網絡交換機320、網絡交換機322、網絡交換機3M與網絡交換機326。在本范例實施例中,數據中心網絡系統300是使用以太網絡協議來建構。然而,必須了解的是,本發明不限于此,并且本發明亦可適用于其它網絡協議。管理服務器302是用以管理數據中心網絡系統300內所有聯機的實體機器、虛擬機器及網絡交換機。例如,管理服務器302為目錄服務器(Directorykrver),并且會儲存相關的管理信息以記錄在實體機器中所運轉的虛擬機器的相關信息以及與實體機器所連接的ToR網絡交換機的信息。在本范例實施例中,管理服務器302會為數據中心網絡系統300內的實體機器、虛擬機器及網絡交換機分別地配置對應的邏輯媒體存取控制(Media Access Control, MAC)地址。具體來說,MAC是局域網絡(Local Area Network,LAN)中數據鏈結層的下層部分, 用來規定不同設備或網絡上的節點之間如何在多點網絡上通訊或存取通訊媒介,而不會互相沖突。每個網絡裝置(例如,網絡卡)在出廠時都會被配置一個唯一的MAC地址,亦稱為物理地址。MAC地址是由6個字節的格式(S卩,XX: XX: XX: XX: XX: XX)所組成。MAC地址是唯一的,每張網卡的MAC地址都不一樣,因此可在因特網等不具備路由器的子網絡中傳送封包到特定的目的設備。在本范例實施例中,管理服務器302會為數據中心網絡系統300內的實體機器、虛擬機器及網絡交換機分別地配置唯一的邏輯MAC地址。也就是說,在數據中心網絡系統300 內的每一實體機器、虛擬機器、網絡交換機是通過唯一的邏輯MAC地址來在因特網上識別。在本范例實施例中,管理服務器302會將所配置的邏輯MAC地址分為最高有效字節與最低有效字節,其中將最高有效字節的部分為0,而最低有效字節的部分則用于分配唯一的地址給數據中心網絡系統300內的機器。例如,在本發明的范例實施例中,最高有效字節是邏輯MAC地址的前3個字節,而最低有效字節是邏輯MAC地址的后3個字節。也就是說,其中最高有效字節的長度相同于最低有效字節的長度。必須了解的是,在本發明中,最高有效字節不限于邏輯MAC地址的前3個字節。在本發明另一范例實施例中,最高有效字節亦可以是邏輯MAC地址的前4或5個字節。然而, 當最低有效字節的字節數目越少時,數據中心網絡系統300的規模將越小(S卩,運轉于數據中心網絡系統300中的實體機器或虛擬機器的數目會越少)。實體機器312與實體機器314為實體的主機(例如,服務器)。特別是,實體機器 312與實體機器314可分別地運轉一個或多個虛擬機器以提供不同的服務。例如,第一虛擬機器31 是運轉在實體機器312上并且第二虛擬機器31 是運轉在實體機器314上。網絡交換機320、網絡交換機322、網絡交換機3M與網絡交換機3 是配置在管理服務器302、第一實體機器312與第二實體機器314之間,并且用以轉送數據封包。網絡交換機320可以是直接連接至第一實體機器312的ToR網絡交換機,以轉送來自于第一實體機器312的數據封包。或者,網絡交換機320與第一實體機器312之間可配置其它網絡交換機,以轉送來自于第一實體機器312的數據封包。另外,網絡交換機3 為直接連接至第二實體機器314的ToR網絡交換機,但本發明不限于此。特別是,在本范例實施例中,第一實體機器312具有封裝模塊332,其用以對欲從第一實體機器312發送的數據封包執行封裝(Encapsulation)程序。并且,網絡交換機326 具有解封裝模塊334用以對所封裝的數據封包執行解封裝(Decapsulatiuon)程序。具體來說,當發送地址解析協議(Address Resolution Protocol, ARP)請求以識別第一虛擬機器31 (S卩,發送端)欲傳送給第二虛擬機器31 (S卩,接收端)的數據封包的目的地地址時,第一實體機器312會將此ARP請求改向傳至管理服務器302。并且,管理服務器302會根據所儲存的管理信息識別出連接至第二虛擬機器31 的ToR網絡交換機為網絡交換機3 并且將網絡交換機3 的邏輯MAC地址傳送給第一實體機器312。并且, 當第一實體機器312接收到管理服務器302所傳送的邏輯MAC地址后,封裝模塊332會根據所接收到的邏輯MAC地址來封裝第一虛擬機器31 欲傳送給第二虛擬機器31 的數據封包。例如,第一虛擬機器31 欲傳送給第二虛擬機器31 的數據封包的以太網路標頭會包含目的地地址字段與來源地址字段,其中封裝模塊332會將所接收到的邏輯MAC地址(即,網絡交換機326的邏輯MAC地址)放至欲傳送的數據封包的目的地地址字段中并且將第一虛擬機器31 的邏輯MAC地址與第二虛擬機器的邏輯MAC地址放至欲傳送的數據封包的來源地址字段中。圖4是根據本發明的第一范例實例所繪示的封裝第一虛擬機器31 欲傳送給第二虛擬機器31 的數據封包的范例示意圖。請參照圖4,封裝模塊332會在欲傳送的數據封包的目的地地址字段402中會放入網絡交換機326的邏輯MAC地址A3。此外,封裝模塊332會將欲傳送的數據封包的來源地址字段404分割為相同大小的第一部分40 與第二部分404b,將第一虛擬機器的邏輯MAC 地址Al的最低有效字節Al'放入第二部分404b中并且將第二虛擬機器的邏輯MAC地址A2 的最低有效字節A2'放入第一部分40 中。具體來說,由于在數據中心網絡系統300內所使用的邏輯MAC地址的最高有效字節皆為0,因此,邏輯MAC地址的最低有效字節就可被用以識別每一機器與網絡交換機。基此,此所封裝的數據封包會被傳送至網絡交換機326。之后,當網絡交換機3 經由其它網絡交換機(例如,網絡交換機320與網絡交換機324)接收到第一實體機器312的封裝模塊332所封裝的數據封包時,網絡交換機3 會判斷所接收到的數據封包的來源地址字段的前3個字節(即,來源地址字段的第一部分) 是否為0,并且當所接收到的數據封包的來源地址字段的前3個字節非為0時,網絡交換機 326的解封裝模塊334會解封裝所接收到的數據封包。具體來說,在此解封裝程序中,解封裝模塊334會將原來放至此數據封包的來源地址字段的第一部分中的部分邏輯MAC地址(即,真正接收端的邏輯MAC地址的最低有效字節)整理成完整的邏輯MAC地址后放至此數據封包的目的地地址字段中。此外,解封裝模塊334會將原來放至此數據封包的來源地址字段的第二部分中的部分邏輯MAC地址(即, 真正發送端的邏輯MAC地址的最低有效字節)整理成完整的邏輯MAC地址后放至此數據封包的來源地址字段中。值得一提的是,由于在本范例實施例中,邏輯MAC地址的最高有效字節是被設定為0,因此,解封裝模塊334可據此將來源地址字段的第一部分與第二部分中的部分邏輯MAC地址還原成完整的邏輯MAC地址。圖5是根據本發明的第一范例實施例所繪示解封裝數據封包的示意圖。請參照圖5,倘若網絡交換機3 接收數據封包并且此數據封包的以太網路標頭如圖4所示時,由于在此數據封包的來源地址字段的第一部分中的值非為0,因此解封裝模塊334會將此數據封包識別為已被封裝的數據封包而對其進行解封裝程序。在解封裝程序中,解封裝模塊334會將放至于此數據封包的來源地址字段的第一部分中的第二虛擬機器的邏輯MAC地址A2的最低有效字節A2 ‘還原成邏輯MAC地址A2并且將邏輯MAC地址A2 放至此數據封包的目的地地址字段中以取代原先記錄在目的地地址字段中的邏輯MAC地址(即,網絡交換機326的邏輯MAC地址A3)。此外,解封裝模塊334會將放至于此數據封包的來源地址字段的第二部分中的第一虛擬機器的邏輯MAC地址Al的最低有效字節Al ‘ 還原成邏輯MAC地址Al并且將邏輯MAC地址Al放至此數據封包的來源地址字段中。之后,網絡交換機3 會在根據此所解封裝的數據封包的目的地地址字段中的邏輯MAC地址轉送此數據封包。基于上述,在本范例實施例中,在數據封包從一實體機器被發送時,此實體機器會先從管理服務器302中獲取一個發送端與接收端之間的中間節點(例如,上述網絡交換機 326)作為此數據封包的目的地節點,之后,在由此中間節點還原此數據封包的真正目的地節點以轉送此數據封包。基此,在傳送此數據封包的路徑上的網絡交換機的轉送表僅需記錄中間節點的地址信息,由此在數據中心網絡系統300內的網絡交換機所需儲存的轉發表登錄會大幅地減少并且可在現有以太網絡下大幅度的擴充數據中心網絡系統300內的虛擬機器的數量。值得一提的是,在本范例另一實施例中,除了網絡交換機3 具有解封裝模塊334 可對數據封包進行解封裝程序之外,網絡交換機320、網絡交換機322與網絡交換機3M亦具有對應的解封裝模塊可對所接收的數據封包進行識別以執行上述解封裝程序。此外,第二實體機器314亦具有對應的封裝模塊,以對欲發送的數據封包進行上述封裝程序。在本發明中,上述封裝模塊與解封裝模塊可由軟件程序或硬件電路來實作。圖6A與6B是根據本發明的第一范例實施例所繪示的封包傳送方法的流程圖,其中圖6A繪示實體機器以間接路由模式傳送數據封包的步驟并且圖6B繪示網絡交換機以間接路由模式轉送數據封包。請參照圖6A,當實體機器(例如,第一實體機器312)欲發送數據封包(例如,第一虛擬機器31 欲傳送給第二虛擬機器31 的數據封包)時,在步驟S601中,實體機器的封裝模塊會將ARP請求重新導向(redirect)至管理服務器302并且接收管理服務器302 所回傳的邏輯MAC地址。之后,在步驟S603中,實體機器的封裝模塊根據所接收的邏輯MAC地址對欲發送的數據封包執行封裝程序。具體來說,在步驟S603中,實體機器的封裝模塊會將此數據封包的目的地地址的最低有效字節與來源地址的最低有效字節放至此數據封包的以太網路標頭的來源位字段中并且將從管理服務器302中所接收到的邏輯MAC地址放至此數據封包的以太網路標頭的目的地地址字段中。封裝數據封包的方法已配合圖4詳細描述如上,在此不再重復。最后,在步驟S605中,實體機器會發送此所封裝的數據封包。
此所封裝的數據封包會根據以太網絡協議在數據中心網絡系統300中傳送,并且當對應此數據封包的以太網路標頭的目的地位元字段的網絡交換機接收到此數據封包會根據圖6B的步驟執行解封裝程序。請參照圖6B,在步驟S607中,網絡交換機的解封裝模塊會判斷此數據封包是否為已封裝的數據封包。例如,在步驟S607中,網絡交換機的解封裝模塊會判斷記錄在此數據封包的來源地址字段的第一部分中的值是否為0,并且當在此數據封包的來源地址字段的第一部分中的值不為0,識別此數據封包已被封裝。倘若此數據封包非為已封裝的數據封包,在步驟S609中,網絡交換機的解封裝模塊會根據記錄在此數據封包的來源地址字段中的地址對此數據封包執行解封裝程序。具體來說,在步驟S609中,網絡交換機的解封裝模塊會將記錄在此數據封包的來源地址字段的第一部分中的值還原成接收端的邏輯MAC地址并且將此接收端的邏輯MAC地址放至此數據封包的目的地地址字段中。此外,在步驟S609中,網絡交換機的解封裝模塊會將記錄在此數據封包的來源地址字段的第二部分中的值還原成發送端的邏輯MAC地址并且將此發送端的邏輯MAC地址放至此數據封包的來源地址字段中。解封裝數據封包的方法已配合圖5 詳細描述如上,在此不再重復。之后,在步驟S611中,網絡交換機會根據其轉送表轉送所解封裝的數據封包。倘若此數據封包非為已封裝的數據封包,則在步驟S613中,網絡交換機會根據其轉送表轉送此數據封包。[第二范例實施例]圖7是根據本發明的第二范例實施例所繪示的數據中心網絡系統的概要示意圖。請參照圖7,數據中心網絡系統700包括管理服務器702、第一實體機器712、第一虛擬機器71 、第二實體機器714、第二虛擬機器71 、網絡交換機720、網絡交換機722、網絡交換機724與網絡交換機726。第一實體機器712具有封裝模塊732。此外,第一虛擬機器71 與第二虛擬機器 714a分別地運轉在第一實體機器712與第二實體機器714上,以提供對應的服務。管理服務器702、第一實體機器712、封裝模塊732、第一虛擬機器71 與第二虛擬機器71 是分別地相同于第一范例實施例的管理服務器302、第一實體機器312、封裝模塊332、第一虛擬機器31 與第二虛擬機器314a,在此不再詳細描述。網絡交換機720、網絡交換機722、網絡交換機7M與網絡交換機7 是配置在管理服務器702、第一實體機器712、第二實體機器714之間用以轉送數據封包。特別是,第二實體機器具有解封裝模塊734,其功能是相同于第一范例實施例中的解封裝模塊334。也就是說,在第二范例實施例中,所封裝的數據封包會被轉送到第二實體機器714時才被執行上述解封裝程序。類似第一范例實施例,數據中心網絡系統700內的網絡交換機的轉送表無需儲存所有虛擬機器的地址信息,因此可在有限的轉送表登錄下擴充數據中心網絡系統700內虛擬機器的數量。值得一提的是,在本發明另一范例實施例中,第二實體機器714亦可具有對應的封裝模塊,以對欲發送的數據封包進行上述封裝程序。此外,第一實體機器712亦可具有對應的解封裝模塊,以對所接收的數據封包進行上述解封裝程序。
圖8A與8B是根據本發明的第二范例實施例所繪示的封包傳送方法的流程圖,其中圖8A繪示實體機器以間接路由模式傳送數據封包的步驟并且圖8B繪示實體機器以間接路由模式轉送數據封包。請參照圖8A,當實體機器(例如,第一實體機器712)欲發送數據封包(例如,第一虛擬機器71 欲傳送給第二虛擬機器71 的數據封包)時,在步驟S801中,實體機器的封裝模塊會將ARP請求重新導向至管理服務器702并且接收管理服務器702所回傳的邏輯 MAC地址。之后,在步驟S803中,實體機器的封裝模塊會根據所接收的邏輯MAC地址對欲發送的數據封包執行封裝程序。具體來說,在步驟S803中,實體機器的封裝模塊會將此數據封包的目的地地址的最低有效字節與來源地址的最低有效字節放至此數據封包的以太網路標頭的來源位字段中并且將從管理服務器702中所接收到的邏輯MAC地址放至此數據封包的以太網路標頭的目的地地址字段中。封裝數據封包的方法已配合圖4詳細描述如上, 在此不再重復。最后,在步驟S805中,實體機器會發送此所封裝的數據封包。此所封裝的數據封包會根據以太網絡協議在數據中心網絡系統700中傳送,并且當對應此數據封包的以太網路標頭的目的地地址字段的實體機器接收到此數據封包會根據圖8B的步驟執行解封裝程序。請參照圖8B,在步驟S807中,實體機器的解封裝模塊會判斷此數據封包是否為已封裝的數據封包。例如,在步驟S807中,實體機器的解封裝模會判斷記錄在此數據封包的來源地址字段的第一部分中的值是否為0,并且當在此數據封包的來源地址字段的第一部分中的值是否不為0,識別此數據封包已被封裝。倘若此數據封包非為已封裝的數據封包,在步驟S809中,實體機器的解封裝模會根據記錄在此數據封包的來源地址字段中的地址對此數據封包執行解封裝程序。具體來說,在步驟S809中,實體機器的解封裝模會將記錄在此數據封包的來源地址字段的第一部分中的值還原成接收端的邏輯MAC地址并且將此接收端的邏輯MAC地址放至此數據封包的目的地地址字段中。此外,在步驟S809中,網絡交換機會將記錄在此數據封包的來源地址字段的第二部分中的值還原成發送端的邏輯MAC地址并且將此發送端的邏輯MAC地址放至此數據封包的來源地址字段中。解封裝數據封包的方法已配合圖5詳細描述如上,在此不再重復。之后,在步驟S811中,實體機器會將所解封裝的數據封包傳送給對應的虛擬機器。倘若此數據封包非為已封裝的數據封包,則在步驟S813中,網絡交換機會根據其轉送表轉送此數據封包。[第三范例實施例]上述在第一范例實施例中解封裝程序是由數據中心網絡系統中的網絡交換機來執行,而第二范例實施例中解封裝程序是由數據中心網絡系統中的實體機器來執行。在第三范例實施例中,部分數據封包的解封裝程序是由網絡交換機來執行,而另一部分數據封包的解封包程序是由實體機器來執行。圖9是根據本發明的第三范例實施例所繪示的數據中心網絡系統的概要示意圖。
請參照圖9,數據中心網絡系統900包括管理服務器702、第一實體機器712、第一虛擬機器712a、第二實體機器714、第二虛擬機器714a、第三實體機器912、第三虛擬機器 912a、網絡交換機720、網絡交換機722、網絡交換機726與網絡交換機902。管理服務器702、第一實體機器712、第一虛擬機器712a、第二實體機器714、第二虛擬機器7Ha、網絡交換機720、網絡交換機722與網絡交換機726的結構與功能已描述于第二范例實施例中,在此不再重復。第三實體機器是經由網絡交換機902與數據中心網絡系統900內的其它機器或服務器通訊,并且第三虛擬機器91 運轉在第三實體機器上,以提供對應的服務。在本范例實施例中,欲從第一虛擬機器71 中傳送至第二虛擬機器71 的數據封包或者欲從第一虛擬機器71 中傳送至第三虛擬機器91 的數據封包都會經由封裝模塊732來執行程序。具體來說,當第一虛擬機器71 中欲傳送至第二虛擬機器71 的數據封包時,第一實體機器712從管理服務器702所收到的響應ARP請求的邏輯MAC地址為第二實體機器的邏輯MAC地址,并且第一實體機器712會根據第二實體機器714的邏輯MAC地址來對欲傳送至第二虛擬機器71 的數據封包進行封裝程序。另外,當第一虛擬機器71 中欲傳送至第三虛擬機器91 的數據封包時,第一實體機器712從管理服務器702所收到的響應 ARP請求的邏輯MAC地址為網絡交換機902的邏輯MAC地址,并且第一實體機器712會根據網絡交換機902的邏輯MAC地址來對欲傳送至第三虛擬機器91 的數據封包進行封裝程序。基此,欲傳送給第二虛擬機器71 的數據封包會被轉送到第二實體機器714時, 由第二實體機器714執行解封裝程序并傳送給第二虛擬機器7Ha。相對的,欲傳送給第三虛擬機器91 的數據封包會被轉送到網絡交換機902時,由網絡交換機902執行解封裝程序并轉送給第三虛擬機器91加。類似第一范例實施例,數據中心網絡系統900內的網絡交換機的轉送表無需儲存所有虛擬機器的地址信息,因此可在有限的轉送表登錄下擴充數據中心網絡系統700內虛擬機器的數量。[第四范例實施例]第一、第二與第三范例實施例的實體機器是以上述間接路由模式來傳送數據封包,在本范例實施例中,部分的數據封包會以上述間接路由模式來傳送,而其它部分的數據封包會以一般的直接路由模式來傳送。圖10是根據本發明的第四范例實施例所繪示的數據中心網絡系統的概要示意圖。請參照圖10,數據中心網絡系統1000包括管理服務器702、第一實體機器712、第一虛擬機器71 、第二實體機器714、第二虛擬機器71 、第三實體機器912、第三虛擬機器 912a、儲存服務器1002、網絡交換機720、網絡交換機722、網絡交換機726、網絡交換機902 與網絡交換機1004。管理服務器702、第一實體機器712、第一虛擬機器712a、第二實體機器714、第二虛擬機器714a、第三實體機器912、第三虛擬機器912a、儲存服務器1002、網絡交換機720、 網絡交換機722、網絡交換機726、網絡交換機902與網絡交換機1004的結構與功能以描述于第三范例實施例中,在此不再重復。儲存服務器1002是經由網絡交換機1004與數據中心網絡系統1000內的其它機
器通訊。在本范例實施例中,管理服務器702會依據目前數據中心網絡系統1000內的機器與服務器建立來源目的地對,并且為每一來源目的地對設定對應的傳輸模式。也就是說,每一來源目的地對之間的所傳送的數據封包會根據管理服務器702所設定的傳輸模式以間接路由模式或直接路由模式來傳送。在此,所謂間接路由模式是指本發明的第一、第二、與第三范例實施例所述的以中間節點的邏輯MAC地址來對欲傳送的數據封包執行封裝程序并且由中間節點來執行解封裝程序以繼續轉送數據封包至真正邏輯MAC地址的傳送方式。 相對于間接路由模式的直接路由模式,則是在不進行上述封裝與解封裝程序下根據原以太網絡協議來傳送數據封包。管理服務器702會周期地統計數據中心網絡系統1000內的每一來源目的地對的數據流量,并且根據所統計的數據流量來指派每一來源目的地對的傳輸模式。例如,對于數據流量較大的來源目的地對,管理服務器702會將此些來源目的地對的傳輸模式設定為直接路由模式,而對于數據流量較小的來源目的地對,管理服務器702會將此些來源目的地對的傳輸模式設定為間接路由模式。具體來說,管理服務器702會根據來源目的地對的數據流量由大至小對來源目的地對進行排序,并且根據此優先級逐一將來源目的地對的傳輸模式指派為直接路由模式, 其中每指派一個直接路由模式就必須使用網絡交換機的轉送表的一個轉送表登錄值。重復此指派操作直到轉送表登錄值皆被使用完時,剩余未指派的來源目的地對的傳輸模式會被設定為間接路由模式。例如,假設管理服務器702統計出從第一實體機器發送至其它機器的數據封包的量的排序如圖11所示并且網絡交換機720的轉送表僅能儲存3個額外轉送表登錄值時,管理服務器702將圖11所示的前3個來源目的地對的傳輸模式設定為直接路由模式,并且將其它的來源目的地對的傳輸模式設定為間接路由模式。也就是說,當從第一虛擬機器71 傳送數據封包至儲存服務器1002而向管理服務器702發送ARP請求時,管理服務器702會根據此來源目的地對為直接路由模式而將儲存服務器1002的邏輯MAC地址回復給第一實體機器,由此,從第一虛擬機器71 傳送至儲存服務器1002的數據封包會以直接路由模式被傳送。另外,當從第一虛擬機器71 傳送數據封包至第三虛擬機器91 而向管理服務器702發送ARP請求時,管理服務器702會根據此來源目的地對為間接路由模式而將網絡交換機902的邏輯MAC地址回復給第一實體機器,由此,從第一虛擬機器71 傳送至儲存服務器1002的數據封包會以間接路由模式被傳送。在本范例實施例中,管理服務器702周期地統計數據中心網絡系統1000內的每一來源目的地對的數據流量是指管理服務器702會在預定時間(例如,每一小時、每兩小時或每天)來計算每一來源目的地對所傳送的數據封包數,并且以預定規則來統計每一來源目的地對的數據流量。例如,管理服務器702會以加權方式來加總過去一小時和一個小時之前的數據封包數以作為來源目的地對的數據流量。在數據中心網絡系統1000的運作期間,虛擬機器可能會從一個實體機器搬移至另一個實體機器。為了避免大幅更動轉送表中的轉送表登錄,管理服務器702會將對應被移動的虛擬機器的來源目的地對的傳輸模式設定為間接路由模式。并且,當管理服務器702 再次統計數據中心網絡系統1000內的每一來源目的地對的數據流量而更新每一來源目的地對的傳輸模式時,對應被移動的虛擬機器的來源目的地對的傳輸模式會根據其數據流量被適當的設定。值得一提的是,除了以數據流量來衡量來源目的地對的優先級之外,管理服務器 702亦可根據數據中心網絡系統1000內機器的特征來衡量來源目的地對的優先級。例如, 管理服務器702會將來源目的地對之中來源端為實體機器且目的地端為實體機器的來源目的對歸類為實體機器對實體機器群;將來源目的地對之中來源端為虛擬機器且目的地端為管理服務器的來源目的對歸類為虛擬機器對管理服務器群;將來源目的地對之中來源端為虛擬機器且目的地端為管理服務器的來源目的對歸類為虛擬機器對儲存服務器群;及將來源目的地對之中來源端為虛擬機器且目的地端為虛擬機器的來源目的對歸類為虛擬機器對虛擬機器群。并且,來源目的地對的優先級會依序地根據實體機器對實體機器群、虛擬機器對管理服務器群、虛擬機器對儲存服務器群與虛擬機器對虛擬機器群的順序來決定。圖12是根據本發明的第四范例實施例所繪示的封包傳輸方法的流程圖,其繪示管理服務器指派傳輸模式的步驟。請參照圖12,在步驟S1201中,管理服務器702會根據目前數據中心網絡系統 1000內的機器與服務器建立來源目的地對。然后,在步驟S1203中,管理服務器702會衡量來源目的地對的優先級。具體來說, 管理服務器702可依據來源目的地對的數據流量或者來源目的地對的特征來設定優先級。之后,在步驟S1205中,管理服務器702會依據所衡量的優先級選擇下一個來源目的地對,并且在步驟S1207中,管理服務器702會判斷轉送表登錄值是否已被用完。倘若轉送表登錄值未被用完時,在步驟S1209中,管理服務器702會將所選擇的來源目的地對的傳輸模式設定為直接路由模式。倘若轉送表登錄值已被用完時,在步驟S1211 中,管理服務器702會將所選擇的來源目的地對的傳輸模式設定為間接路由模式。之后,在步驟S1213中,管理服務器702會判斷是否仍有未指派的來源目的地對。 倘若仍有未指派的來源目的地對時,步驟S1205會被執行,反之,圖12的流程會被結束。綜上所述,本發明的范例實施例的封包傳送方法是通過封裝程序更改數據封包的以太網路標頭中的目的地地址字段與來源地址字段,以將欲傳送的數據封包至中間網絡節點。之后,再由此中間網絡節點執行解封裝程序以識別此數據封包的真正目的地并且正確地轉送此數據封包。基此,可有效地減少數據中心網絡系統內的網絡交換機所需儲存的轉送表登錄的數量,并且有效地擴大數據中心網絡系統內的虛擬機器的數目。此外,本發明的范例實施例的封包傳送方法依據數據中心網絡系統內來源目的地對的優先級來指派每一來源目的地對的傳輸模式為直接路由模式或間接路由模式,通過雙模式技術可減低網絡交換機的技術負荷。雖然本發明已以實施例揭露如上,然其并非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和范圍內,當可作些許的更動與潤飾,故本發明的保護范圍當視所附的權利要求范圍所界定者為準。
權利要求
1.一種數據中心網絡系統,包括一第一實體機器;一第一虛擬機器,執行于該第一實體機器上; 一第二實體機器;一第二虛擬機器,執行于該第二實體機器上,其中該第一虛擬機器用以傳送一數據封包給該第二虛擬機器,并且該數據封包具有一目的地地址字段與一來源地址字段; 一網絡交換機,用以轉送該數據封包;以及一管理服務器,其中該第一實體機器、該第二實體機器、該網絡交換機與該管理服務器根據一因特網協議彼此通訊,其中該管理服務器用以為該第一實體機器、該第一虛擬機器、該網絡交換機、該第二實體機器與該第二虛擬機器分別地配置對應的邏輯媒體存取控制地址,其中每一該些邏輯媒體存取控制地址包括一最高有效字節與一最低有效字節,該最高有效字節具有多個字節并且該最高有效字節的每一該些字節被設定為0,其中該第一實體機器具有一封裝模塊,該封裝模塊用以封裝來自于該第一虛擬機器的該數據封包,其中該網絡交換機的該邏輯媒體存取控制地址被放至在所封裝的該數據封包的該目的地地址字段中并且該第一虛擬機器的該邏輯媒體存取控制地址的該最低有效字節和該第二虛擬機器的該邏輯媒體存取控制地址的該最低有效字節被放至所封裝的該數據封包的該來源地址字段中,其中該第一實體機器用以發送所封裝的該數據封包。
2.根據權利要求1所述的數據中心網絡系統,其中該網絡交換機用以接收所封裝的該數據封包并且具有一解封裝模塊, 其中該解封裝模塊用以解封裝所接收的該數據封包,其中在所解封裝的該數據封包中,該第二虛擬機器的該邏輯媒體存取控制地址被放至該數據封包的該目的地地址字段中并且該第一虛擬機器的該邏輯媒體存取控制地址被放至該數據封包的該來源地址字段中,其中該網絡交換機還用以傳送所解封裝的該數據封包給該第二實體機器,并且該第二實體機器將所解封裝的該數據封包傳送給該第二虛擬機器。
3.根據權利要求1所述的數據中心網絡系統,其中該最高有效字節的長度相同于該最低有效字節的長度。
4.根據權利要求1所述的數據中心網絡系統,其中該第一實體機器的該封裝模塊將所封裝的該數據封包的該來源地址字段分割為一第一部分以及接續于該第一部分的一第二部分,其中該封裝模塊將該第二虛擬機器的該邏輯媒體存取控制地址的該最低有效字節放至該來源地址字段的該第一部分中并且將該第一虛擬機器的該邏輯媒體存取控制地址的該最低有效字節放至該來源地址字段的該第二部分中。
5.根據權利要求4所述的數據中心網絡系統,其中該解封裝模塊用以判斷所接收的該數據封包的該來源地址字段的該第一部分是否為0,并且當所接收的該數據封包的該來源地址字段的該第一部分非為0時解封裝所接收的該數據封包。
6.根據權利要求1所述的數據中心網絡系統,還包括至少一其它網絡交換機,用以轉送該數據封包。
7.根據權利要求1所述的數據中心網絡系統,其中該因特網協議為一以太網絡協議。
8.一種數據中心網絡系統,包括一第一實體機器;一第一虛擬機器,執行于該第一實體機器上;一第二實體機器;一第二虛擬機器,執行于該第二實體機器上,其中該第一虛擬機器用以傳送一數據封包給該第二虛擬機器,并且該數據封包具有一目的地地址字段與一來源地址字段;以及一管理服務器,其中該第一實體機器、該第二實體機器與該管理服務器根據一因特網協議彼此通訊,其中該管理服務器用以為該第一實體機器、該第一虛擬機器、該第二實體機器與該第二虛擬機器分別地配置對應的邏輯媒體存取控制地址,其中每一該些邏輯媒體存取控制地址包括一最高有效字節與一最低有效字節,該最高有效字節具有多個字節并且該最高有效字節的每一該些字節被設定為0,其中該第一實體機器具有一封裝模塊,該封裝模塊用以封裝來自于該第一虛擬機器的該數據封包,其中該第二實體機器的該邏輯媒體存取控制地址被放至在所封裝的該數據封包的該目的地地址字段中并且該第一虛擬機器的該邏輯媒體存取控制地址的該最低有效字節和該第二虛擬機器的該邏輯媒體存取控制地址的該最低有效字節被放至所封裝的該數據封包的該來源地址字段中,其中該第一實體機器用以發送所封裝的該數據封包。
9.根據權利要求8所述的數據中心網絡系統,其中該第二實體機器用以接收所封裝的該數據封包并且具有一解封裝模塊,其中該解封裝模塊用以解封裝所接收的該數據封包,其中在所解封裝的該數據封包中,該第二虛擬機器的該邏輯媒體存取控制地址被放至該數據封包的該目的地地址字段中并且該第一虛擬機器的該邏輯媒體存取控制地址被放至該數據封包的該來源地址字段中,其中該第二實體機器將所解封裝的該數據封包傳送給該第二虛擬機器。
10.根據權利要求8所述的數據中心網絡系統,其中該最高有效字節的長度相同于該最低有效字節的長度。
11.根據權利要求8所述的數據中心網絡系統,其中該第一實體機器的該封裝模塊將所封裝的該數據封包的該來源地址字段分割為一第一部分以及接續于該第一部分的一第二部分,其中該封裝模塊將該第二虛擬機器的該邏輯媒體存取控制地址的該最低有效字節放至該來源地址字段的該第一部分中并且將該第一虛擬機器的該邏輯媒體存取控制地址的該最低有效字節放至該來源地址字段的該第二部分中。
12.根據權利要求11所述的數據中心網絡系統,其中該解封裝模塊用以判斷所接收的該數據封包的該來源地址字段的該第一部分是否為0,并且當所接收的該數據封包的該來源地址字段的該第一部分非為0時解封裝所接收的該數據封包。
13.根據權利要求8所述的數據中心網絡系統,還包括至少一其它網絡交換機,用以轉送該數據封包。
14.根據權利要求8所述的數據中心網絡系統,其中該因特網協議為一以太網絡協議。
15.一種數據中心網絡系統,包括多個機器,包括多個實體機器與多個虛擬機器,其中每一該多個虛擬機器屬于該多個實體機器的其中之一;多個網絡交換機,其中該多個實體機器經由該多個網絡交換機彼此連接;以及一管理服務器,用以為該多個機器與該多個網絡交換機分別地配置對應的邏輯媒體存取控制地址,其中每一該些邏輯媒體存取控制地址包括一最高有效字節與一最低有效字節,該最高有效字節具有多個字節并且該最高有效字節的每一該些字節被設定為0, 其中該多個機器、該多個網絡交換機與該管理服務器根據一因特網協議彼此通訊, 其中該管理服務器還用以根據該些機器建立多個來源目的地對,衡量該些來源目的地對的一優先級,并且根據該優先級與每一該些網絡交換機的多個轉送表登錄來指派對應每一該些來源目的地對的一傳輸模式為一直接路由模式或一間接路由模式,其中當使用該間接路由模式從該些虛擬機器之中的一第一虛擬機器傳送一數據封包給該些虛擬機器之中的一第二虛擬機器時,對應該第一虛擬機器的一第一實體機器確認對應該第二虛擬機器的一網絡交換機、根據所確認的該網絡交換機來封裝該數據封包并且發送所封裝的該數據封包,其中所封裝的該數據封包具有一目的地地址字段與一來源地址字段,對應該第二虛擬機器的該網絡交換機的該邏輯媒體存取控制地址被放至所封裝的該數據封包的該目的地地址字段中,并且該第一虛擬機器的該邏輯媒體存取控制地址的該最低有效字節和該第二虛擬機器的該邏輯媒體存取控制地址的該最低有效字節被放至所封裝的該數據封包的該來源地址字段中,其中對應該第一虛擬機器的該第一實體機器為該些實體機器的其中之一并且對應該第二虛擬機器的該網絡交換機為該些網絡交換機的其中之一。
16.根據權利要求15所述的數據中心網絡系統,其中該管理服務器用以周期地計算每一該些來源目的地對的一數據流量以及依據該些來源目的地對的該些數據流量排序該些來源目的地對以產生該優先級。
17.根據權利要求15所述的數據中心網絡系統,還包括至少一儲存服務器,其中該管理服務器用以將該些來源目的地對區分為一實體機器對實體機器群、一虛擬機器對管理服務器群、一虛擬機器對儲存服務器群與一虛擬機器對虛擬機器群;以及依序地依據該實體機器對實體機器群、該虛擬機器對管理服務器群、該虛擬機器對儲存服務器群與該虛擬機器對虛擬機器群來產生該些來源目的地對的該優先級。
18.根據權利要求15所述的數據中心網絡系統,其中該管理服務器用以根據該優先級選擇該些來源目的地對的其中之一,并且判斷該些轉送表登錄是否已被用完,其中倘若該些轉送表登錄未被用完時,該管理服務器使用該些轉送表登錄的其中之一來指派所選擇的來源目的地對的該傳輸模式為該直接路由模式,其中倘若該些轉送表登錄已被用完時,該管理服務器指派所選擇的來源目的地對的該傳輸模式為該間接路由模式。
19.根據權利要求15所述的數據中心網絡系統,其中該網絡交換機用以接收所封裝的該數據封包并且解封裝所接收的該數據封包,其中在所解封裝的該數據封包中該第二虛擬機器的該邏輯媒體存取控制地址被放至該數據封包的該目的地地址字段中并且該第一虛擬機器的該邏輯媒體存取控制地址被放至該數據封包的該來源地址字段中;以及其中該網絡交換機還用以發送所解封裝的該數據封包。
20.根據權利要求15所述的數據中心網絡系統,其中該最高有效字節的長度相同于該最低有效字節的長度。
21.根據權利要求15所述的數據中心網絡系統,其中該第一實體機器將所封裝的該數據封包的該來源地址字段分割為一第一部分以及接續于該第一部分的一第二部分,將該第二虛擬機器的該邏輯媒體存取控制地址的該最低有效字節放至該來源地址字段的該第一部分中,以及將該第一虛擬機器的該邏輯媒體存取控制地址的該最低有效字節放至該來源地址字段的該第二部分中。
22.根據權利要求15所述的數據中心網絡系統,其中當該些虛擬機器的其中一個虛擬機器從該些實體機器的其中一個實體機器移至另一個實體機器時,該管理服務器將該些來源目的對之中對應該其中一個虛擬機器的每一來源目的對的傳輸模式設定為該間接路由模式。
23.根據權利要求15所述的數據中心網絡系統,其中該因特網協議為一以太網絡協議。
24.—種數據中心網絡系統,包括多個機器,包括多個實體機器與多個虛擬機器,其中每一該些虛擬機器屬于該些實體機器的其中之一;多個網絡交換機,其中該些實體機器經由該些網絡交換機彼此連接;以及一管理服務器,用以為該些機器與該些網絡交換機分別地配置對應的邏輯媒體存取控制地址,其中每一該些邏輯媒體存取控制地址包括一最高有效字節與一最低有效字節,該最高有效字節具有多個字節并且該最高有效字節的每一該些字節被設定為0,其中該些機器、該些網絡交換機與該管理服務器根據一因特網協議彼此通訊,其中該管理服務器還用以根據該些機器建立多個來源目的地對,衡量該些來源目的地對的一優先級,并且根據該優先級與每一該些網絡交換機的多個轉送表登錄來指派對應每一該些來源目的地對的一傳輸模式為一直接路由模式或一間接路由模式,其中當使用該間接路由模式從該些虛擬機器之中的一第一虛擬機器傳送一數據封包給該些虛擬機器之中的一第二虛擬機器時,對應該第一虛擬機器的一第一實體機器確認對應該第二虛擬機器的一第二實體機器、根據所確認的該第二實體機器來封裝該數據封包并且發送所封裝的該數據封包,其中所封裝的該數據封包具有一目的地地址字段與一來源地址字段,對應該第二虛擬機器的該第二實體機器的該邏輯媒體存取控制地址被放至所封裝的該數據封包的該目的地地址字段中,并且該第一虛擬機器的該邏輯媒體存取控制地址的該最低有效字節和該第二虛擬機器的該邏輯媒體存取控制地址的該最低有效字節被放至所封裝的該數據封包的該來源地址字段中,其中對應該第一虛擬機器的該第一實體機器為該些實體機器的其中之一并且對應該第二虛擬機器的該第二實體機器為該些實體機器的其中之一。
25.根據權利要求M所述的數據中心網絡系統,其中該管理服務器用以周期地計算每一該些來源目的地對的一數據流量以及依據該些來源目的地對的該些數據流量排序該些來源目的地對以產生該優先級。
26.根據權利要求M所述的數據中心網絡系統,還包括至少一儲存服務器,其中該管理服務器用以將該些來源目的地對區分為一實體機器對實體機器群、一虛擬機器對管理服務器群、一虛擬機器對儲存服務器群與一虛擬機器對虛擬機器群;以及依序地依據該實體機器對實體機器群、該虛擬機器對管理服務器群、該虛擬機器對儲存服務器群與該虛擬機器對虛擬機器群來產生該些來源目的地對的該優先級。
27.根據權利要求M所述的數據中心網絡系統,其中該管理服務器用以根據該優先級選擇該些來源目的地對的其中之一,并且判斷該些轉送表登錄是否已被用完,其中倘若該些轉送表登錄未被用完時,該管理服務器使用該些轉送表登錄的其中之一來指派所選擇的來源目的地對的該傳輸模式為該直接路由模式,其中倘若該些轉送表登錄已被用完時,該管理服務器指派所選擇的來源目的地對的該傳輸模式為該間接路由模式。
28.根據權利要求M所述的數據中心網絡系統,其中該第二實體機器用以接收所封裝的該數據封包并且解封裝所接收的該數據封包,其中在所解封裝的該數據封包中該第二虛擬機器的該邏輯媒體存取控制地址被放至該數據封包的該目的地地址字段中并且該第一虛擬機器的該邏輯媒體存取控制地址被放至該數據封包的該來源地址字段中;以及其中該第二實體還用以傳送所解封裝的該數據封包給該第二虛擬機器。
29.根據權利要求M所述的數據中心網絡系統,其中該最高有效字節的長度相同于該最低有效字節的長度。
30.根據權利要求M所述的數據中心網絡系統,其中該第一實體機器將所封裝的該數據封包的該來源地址字段分割為一第一部分以及接續于該第一部分的一第二部分,將該第二虛擬機器的該邏輯媒體存取控制地址的該最低有效字節放至該來源地址字段的該第一部分中,以及將該第一虛擬機器的該邏輯媒體存取控制地址的該最低有效字節放至該來源地址字段的該第二部分中。
31.根據權利要求M所述的數據中心網絡系統,其中當該些虛擬機器的其中一個虛擬機器從該些實體機器的其中一個實體機器移至另一個實體機器時,該管理服務器將該些來源目的對之中對應該其中一個虛擬機器的每一來源目的對的傳輸模式設定為該間接路由模式。
32.根據權利要求M所述的數據中心網絡系統,其中該因特網協議為一以太網絡協議。
33.一種封包傳送方法,用于根據一因特網協議從執行于一第一實體機器上的一第一虛擬機器傳送一數據封包至執行于一第二實體機器上的一第二虛擬機器,其中該數據封包具有一目的地地址字段與一來源地址字段并且該第二實體連接至一網絡交換機,該封包傳送方法包括為該第一實體機器、該第一虛擬機器、該網絡交換機、該第二實體機器與該第二虛擬機器分別地配置對應的邏輯媒體存取控制地址,其中每一該些邏輯媒體存取控制地址包括一最高有效字節與一最低有效字節,該最高有效字節具有多個字節并且該最高有效字節的每一該些字節被設定為0 ;封裝該數據封包,其中在所封裝的該數據封包中該網絡交換機的該邏輯媒體存取控制地址被放至該數據封包的該目的地地址字段中,并且該第一虛擬機器的該邏輯媒體存取控制地址的該最低有效字節和該第二虛擬機器的該邏輯媒體存取控制地址的該最低有效字節被放至該數據封包的該來源地址字段中;以及從該第一實體機器中發送所封裝的該數據封包。
34.根據權利要求33所述的封包傳送方法,還包括接收從該第一實體機器中所發送的該數據封包并且解封裝所接收的該數據封包,其中在所解封裝的該數據封包中該第二虛擬機器的該邏輯媒體存取控制地址被放至該數據封包的該目的地地址字段中并且該第一虛擬機器的該邏輯媒體存取控制地址被放至該數據封包的該來源地址字段中;從該網絡交換機中發送所解封裝的該數據封包;以及在該第二虛擬機器中經由該第二實體機器接收從該網絡交換機中所發送的該數據封包。
35.根據權利要求33所述的封包傳送方法,其中該最高有效字節的長度相同于該最低有效字節的長度。
36.根據權利要求33所述的封包傳送方法,還包括將所封裝的該數據封包的該來源地址字段分割為一第一部分以及接續于該第一部分的一第二部分,其中封裝該數據封包的步驟包括將該第二虛擬機器的該邏輯媒體存取控制地址的該最低有效字節放至該來源地址字段的該第一部分中;以及將該第一虛擬機器的該邏輯媒體存取控制地址的該最低有效字節放至該來源地址字段的該第二部分中。
37.根據權利要求36所述的封包傳送方法,還包括判斷所接收的該數據封包的該來源地址字段的該第一部分是否為0,并且當所接收的該數據封包的該來源地址字段的該第一部分非為0時,解封裝所接收的該數據封包。
38.根據權利要求33所述的封包傳送方法,其中該因特網協議為一以太網絡協議。
39.一種封包傳送方法,用于根據一因特網協議從執行于一第一實體機器上的一第一虛擬機器傳送一數據封包至執行于一第二實體機器上的一第二虛擬機器,其中該數據封包具有一目的地地址字段與一來源地址字段,該封包傳送方法包括為該第一實體機器、該第一虛擬機器、該第二實體機器與該第二虛擬機器分別地配置對應的邏輯媒體存取控制地址,其中每一該些邏輯媒體存取控制地址包括一最高有效字節與一最低有效字節,該最高有效字節具有多個字節并且該最高有效字節的每一該些字節被設定為0 ;封裝該數據封包,其中在所封裝的該數據封包中該第二實體機器的該邏輯媒體存取控制地址被放至該數據封包的該目的地地址字段中,并且該第一虛擬機器的該邏輯媒體存取控制地址的該最低有效字節和該第二虛擬機器的該邏輯媒體存取控制地址的該最低有效字節被放至該數據封包的該來源地址字段中;以及從該第一實體機器中發送所封裝的該數據封包。
40.根據權利要求39所述的封包傳送方法,還包括接收從該第一實體機器中所發送的該數據封包并且解封裝所接收的該數據封包,其中在所解封裝的該數據封包中該第二虛擬機器的該邏輯媒體存取控制地址被放至該數據封包的該目的地地址字段中并且該第一虛擬機器的該邏輯媒體存取控制地址被放至該數據封包的該來源地址字段中;以及從該第二實體機器中傳送所解封裝的該數據封包給該第二機器。
41.根據權利要求39所述的封包傳送方法,其中該最高有效字節的長度相同于該最低有效字節的長度。
42.根據權利要求39所述的封包傳送方法,還包括將所封裝的該數據封包的該來源地址字段分割為一第一部分以及接續于該第一部分的一第二部分,其中封裝該數據封包的步驟包括將該第二虛擬機器的該邏輯媒體存取控制地址的該最低有效字節放至該來源地址字段的該第一部分中;以及將該第一虛擬機器的該邏輯媒體存取控制地址的該最低有效字節放至該來源地址字段的該第二部分中。
43.根據權利要求42所述的封包傳送方法,還包括判斷所接收的該數據封包的該來源地址字段的該第一部分是否為0,并且當所接收的該數據封包的該來源地址字段的該第一部分非為0時,解封裝所接收的該數據封包。
44.根據權利要求39所述的封包傳送方法,其中該因特網協議為一以太網絡協議。
45.一種封包傳送方法,用于根據一因特網協議在多個機器之間傳送數據封包,其中該些機器包括多個實體機器與多個虛擬機器,其中每一該些虛擬機器屬于該些實體機器的其中之一,并且該些實體機器經由多個網絡交換機彼此連接,該封包傳送方法包括為該些實體機器、該些虛擬機器與該些網絡交換機分別地配置對應的邏輯媒體存取控制地址,其中每一該些邏輯媒體存取控制地址包括一最高有效字節與一最低有效字節,該最高有效字節具有多個字節并且該最高有效字節的每一該些字節被設定為0 ; 根據該些機器建立多個來源目的地對; 衡量該些來源目的地對的一優先級;根據該優先級與每一該些網絡交換機的多個轉送表登錄來指派對應每一該些來源目的地對的一傳輸模式為一直接路由模式或一間接路由模式;以及當使用該間接路由模式從該些虛擬機器之中的一第一虛擬機器傳送一數據封包給該些虛擬機器之中的一第二虛擬機器時,確認對應該第二虛擬機器的一網絡交換機、封裝該數據封包并且發送所封裝的該數據封包,其中對應該第二虛擬機器的該網絡交換機為該些網絡交換機的其中之一, 其中所封裝的該數據封包具有一目的地地址字段與一來源地址字段,對應該第二虛擬機器的該網絡交換機的該邏輯媒體存取控制地址被放至所封裝的該數據封包的該目的地地址字段中,并且該第一虛擬機器的該邏輯媒體存取控制地址的該最低有效字節和該第二虛擬機器的該邏輯媒體存取控制地址的該最低有效字節被放至所封裝的該數據封包的該來源地址字段中。
46.根據權利要求45所述的封包傳送方法,其中衡量該些來源目的地對的該優先級的步驟包括周期地計算每一該些來源目的地對的一數據流量;以及依據該些來源目的地對的該些數據流量排序該些來源目的地對以產生該優先級。
47.根據權利要求45所述的封包傳送方法,其中該些機器還包括至少一儲存服務器與至少一管理服務器,其中衡量該些來源目的地對的該優先級的步驟包括將該些來源目的地對區分為一實體機器對實體機器群、一虛擬機器對管理服務器群、 一虛擬機器對儲存服務器群與一虛擬機器對虛擬機器群;以及依序地依據該實體機器對實體機器群、該虛擬機器對管理服務器群、該虛擬機器對儲存服務器群與該虛擬機器對虛擬機器群來產生該些來源目的地對的該優先級。
48.根據權利要求45所述的封包傳送方法,其中根據該優先級與每一該些網絡交換機的該些轉送表登錄來指派對應每一該些來源目的地對的該傳輸模式為該直接路由模式或該間接路由模式的步驟包括根據該優先級選擇該些來源目的地對的其中之一;判斷該些轉送表登錄是否已被用完;倘若該些轉送表登錄未被用完時,使用該些轉送表登錄的其中之一來指派所選擇的來源目的地對的該傳輸模式為該直接路由模式;以及倘若該些轉送表登錄已被用完時,指派所選擇的來源目的地對的該傳輸模式為該間接路由模式。
49.根據權利要求45所述的封包傳送方法,還包括當對應該第二虛擬機器的該網絡交換機接收到所封裝的該數據封包時,解封裝所接收的該數據封包,其中在所解封裝的該數據封包中該第二虛擬機器的該邏輯媒體存取控制地址被放至該數據封包的該目的地地址字段中并且該第一虛擬機器的該邏輯媒體存取控制地址被放至該數據封包的該來源地址字段中;以及從該網絡交換機中發送所解封裝的該數據封包。
50.根據權利要求45所述的封包傳送方法,其中該最高有效字節的長度相同于該最低有效字節的長度。
51.根據權利要求45所述的封包傳送方法,還包括將該些虛擬機器的其中一個虛擬機器從該些實體機器的其中一個實體機器移至另一個實體機器;并且將該些來源目的對之中對應該其中一個虛擬機器的每一來源目的對的傳輸模式設定為該間接路由模式。
52.根據權利要求45所述的封包傳送方法,其中該因特網協議為一以太網絡協議。
53.一種封包傳送方法,用于根據一因特網協議在多個機器之間傳送數據封包,其中該些機器包括多個實體機器與多個虛擬機器,其中每一該些虛擬機器屬于該些實體機器的其中之一,并且該些實體機器經由多個網絡交換機彼此連接,該封包傳送方法包括為該些實體機器、該些虛擬機器與該些網絡交換機分別地配置對應的邏輯媒體存取控制地址,其中每一該些邏輯媒體存取控制地址包括一最高有效字節與一最低有效字節,該最高有效字節具有多個字節并且該最高有效字節的每一該些字節被設定為0 ; 根據該些機器建立多個來源目的地對; 衡量該些來源目的地對的一優先級;根據該優先級與每一該些網絡交換機的多個轉送表登錄來指派對應每一該些來源目的地對的一傳輸模式為一直接路由模式或一間接路由模式;以及當使用該間接路由模式從該些虛擬機器之中的一第一虛擬機器傳送一數據封包給該些虛擬機器之中的一第二虛擬機器時,確認對應該第二虛擬機器的一第二實體機器、根據該第二實體機器封裝該數據封包并且發送所封裝的該數據封包,其中對應該第二虛擬機器的該第二實體機器為該些實體機器的其中之一, 其中所封裝的該數據封包具有一目的地地址字段與一來源地址字段,對應該第二虛擬機器的該第二實體機器的該邏輯媒體存取控制地址被放至所封裝的該數據封包的該目的地地址字段中,并且該第一虛擬機器的該邏輯媒體存取控制地址的該最低有效字節和該第二虛擬機器的該邏輯媒體存取控制地址的該最低有效字節被放至所封裝的該數據封包的該來源地址字段中。
54.根據權利要求53所述的封包傳送方法,其中衡量該些來源目的地對的該優先級的步驟包括周期地計算每一該些來源目的地對的一數據流量;以及依據該些來源目的地對的該些數據流量排序該些來源目的地對以產生該優先級。
55.根據權利要求53所述的封包傳送方法,其中該些機器還包括至少一儲存服務器與至少一管理服務器,其中衡量該些來源目的地對的該優先級的步驟包括將該些來源目的地對區分為一實體機器對實體機器群、一虛擬機器對管理服務器群、 一虛擬機器對儲存服務器群與一虛擬機器對虛擬機器群;以及依序地依據該實體機器對實體機器群、該虛擬機器對管理服務器群、該虛擬機器對儲存服務器群與該虛擬機器對虛擬機器群來產生該些來源目的地對的該優先級。
56.根據權利要求M所述的封包傳送方法,其中根據該優先級與每一該些網絡交換機的該些轉送表登錄來指派對應每一該些來源目的地對的該傳輸模式為該直接路由模式或該間接路由模式的步驟包括根據該優先級選擇該些來源目的地對的其中之一; 判斷該些轉送表登錄是否已被用完;倘若該些轉送表登錄未被用完時,使用該些轉送表登錄的其中之一來指派所選擇的來源目的地對的該傳輸模式為該直接路由模式;以及倘若該些轉送表登錄已被用完時,指派所選擇的來源目的地對的該傳輸模式為該間接路由模式。
57.根據權利要求53所述的封包傳送方法,還包括當對應該第二虛擬機器的該第二實體機器接收到所發送的該數據封包時,解封裝所接收的該數據封包,其中在所解封裝的該數據封包中該第二虛擬機器的該邏輯媒體存取控制地址被放至該數據封包的該目的地地址字段中并且該第一虛擬機器的該邏輯媒體存取控制地址被放至該數據封包的該來源地址字段中;以及從該第二實體機器中傳送所解封裝的該數據封包給該第二虛擬機器。
58.根據權利要求53所述的封包傳送方法,其中該最高有效字節的長度相同于該最低有效字節的長度。
59.根據權利要求53所述的封包傳送方法,還包括將該些虛擬機器的其中一個虛擬機器從該些實體機器的其中一個實體機器移至另一個實體機器;并且將該些來源目的對之中對應該其中一個虛擬機器的每一來源目的對的傳輸模式設定為該間接路由模式。
60.根據權利要求53所述的封包傳送方法,其中該因特網協議為一以太網絡協議。
全文摘要
本發明提出一種數據中心網絡系統及其封包傳送方法,此數據中心網絡系統包括管理服務器以及包含多個實體機器與虛擬機器的機器。管理服務器會每一機器配置對應的邏輯媒體存取控制地址,其中每一邏輯媒體存取控制地址的最高有效字節被設定為0。此外當數據封包被從一實體機器中被發送時,此實體機器對此數據封包執行封裝程序以將此數據封包傳送至此數據封包的發送端與接收端之間的一個網絡節點,并且由此網絡節點對此數據封包執行解封裝程序,以轉送至真正的接收端。基此,可有效地減少需登錄于網絡交換機的轉送表中的虛擬機器的數目。
文檔編號H04L12/56GK102480404SQ201010610090
公開日2012年5月30日 申請日期2010年12月28日 優先權日2010年11月19日
發明者涂政君, 許銘釗, 闕志克 申請人:財團法人工業技術研究院