TWI543566B - 基於軟體定義網路的資料中心網路系統及其封包傳送方法、位址解析方法與路由控制器 - Google Patents
基於軟體定義網路的資料中心網路系統及其封包傳送方法、位址解析方法與路由控制器 Download PDFInfo
- Publication number
- TWI543566B TWI543566B TW104117469A TW104117469A TWI543566B TW I543566 B TWI543566 B TW I543566B TW 104117469 A TW104117469 A TW 104117469A TW 104117469 A TW104117469 A TW 104117469A TW I543566 B TWI543566 B TW I543566B
- Authority
- TW
- Taiwan
- Prior art keywords
- switch
- virtual
- access control
- media access
- packet
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/64—Routing or path finding of packets in data switching networks using an overlay routing layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/10—Mapping addresses of different types
- H04L61/103—Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
本揭露是有關於一種資料中心網路系統,且特別是有關於一種基於軟體定義網路的資料中心網路系統及其封包傳送方法、位址解析方法與路由控制器。
隨著電腦科技及網際網路的蓬勃發展,雲端計算(cloud computing)的應用也日趨普遍。由於雲端計算之趨勢,資料中心(data center)比以往更為重要。典型的大型資料中心可包含數十萬個實體機器(physical machine),諸如伺服器(server)。每一實體機器可容納多個虛擬主機(virtual machine)在其上運行。大型資料中心的租戶(tenant)可租借虛擬主機,以使用雲端計算所提供用來計算、資料存取以及儲存的資源。一般認為,現代的“大型資料中心”的網路須具備下列特徵,所述特徵包括:可支援十萬台以上
的實體機器以及百萬台以上的虛擬主機;租戶可自行規劃虛擬主機的私有IP位址,讓不同租戶的虛擬主機允許指定重複的IP位址;快速的故障復原能力;具備隨插即用(plug-and-play)功能,例如網路系統可自動設定網路裝置的網路配置設定;支援虛擬主機的遷移(migration);支援多租戶的使用,且各租戶可自行設定虛擬區域網路(VLAN);具備動態網路負載平衡路由的能力;具備網路拓樸偵測與偵測虛擬主機與實體機器的能力;以及具備網路位址解析(address resolution)與媒體存取控制(Medium Access Control,MAC)位址學習的能力。
隨著大型資料中心的規模日益增長,傳統的網路架構與網路技術已經難以滿足大型資料中心的需求。對於基於第三層(layer-3,L3)網路的資料中心網路架構來說,將引起管理上之低彈性與高複雜度的問題。舉例來說,IP位址的指派會受到實體位址架構的限制且對於虛擬主機的遷移來說非常的不彈性。因此,近年來,典型的資料中心網路的組成與運作已發展為以第二層(layer-2,L2)網路的乙太網路交換器為主。
然而,對於基於第二層網路的資料中心網路架構來說,則有難以大規模化的問題。基於第二層網路的資料中心網路架構難以大規模化的原因包括:生成樹協定(spanning tree protocol,STP)雖可避免第二層網路的迴路(loop),但卻無法使用多路徑(例如:Equal Cost Multi-Path,ECMP)傳輸;乙太網路交換器之轉送資訊庫(forwarding information base,FIB)的表格尺寸有限制,並因此
容易導致乙太網路交換器頻繁地向外廣播以尋求封包目的端主機的MAC位址;乙太網路並不支援動態路由更換與提供服務品質(Quality of Service,QoS)保證的服務;乙太網路的故障收斂時間過長;以及現有IEEE 802.1Q標準僅能提供4096的虛擬區域網路,無法滿足大型資料中之租戶的數量需求。基此,針對大規模的大型資料中心設計出符合需求的資料中心網路系統實為本領域技術人員所關心的議題。
本揭露提供一種基於軟體定義網路的資料中心網路系統,此資料中心網路系統包括多個實體機器、多個乙太網路交換器、相互連結的多個OpenFlow交換器以及中央控制裝置。這些實體機器各自包括虛擬交換器與至少一虛擬主機,而乙太網路交換器連接實體機器。這些OpenFlow交換器的部份或全部連接至乙太網路交換器。中央控制裝置連接OpenFlow交換器,並在實體機器中的虛擬交換器以及OpenFlow交換器上設定多個流規則(flow entry),以建立虛擬主機之間用以傳送封包的路由路徑。虛擬交換器依據流規則修改封包的目的地媒體存取控制位址為OpenFlow交換器的媒體存取控制位址,致使所述乙太網路交換器依據OpenFlow交換器的媒體存取控制位址將從虛擬交換器接收的封包轉傳至對應的OpenFlow交換器。OpenFlow交換器依據流規則修改封包的目的地媒體存取控制位址為虛擬主機的媒體存取控制位
址,致使乙太網路交換器依據虛擬主機的媒體存取控制位址將從OpenFlow交換器接收的封包轉傳至對應的虛擬交換器。
本揭露提供一種封包傳送方法,適用於基於軟體定義網路的資料中心網路系統。資料中心網路系統包括多個實體機器、連接實體機器的多個乙太網路交換器、相互連結且連接乙太網路交換器多個OpenFlow交換器,以及連接至OpenFlow交換器的中央控制裝置。實體機器包括一虛擬交換器與至少一虛擬主機。所述方法包括:由中央控制裝置在實體機器中的虛擬交換器以及OpenFlow交換器上設定多個流規則,以建立虛擬主機中之間用以傳送封包的路由路徑;由虛擬交換器依據流規則修改封包的目的地媒體存取控制位址為OpenFlow交換器的媒體存取控制位址,致使乙太網路交換器依據OpenFlow交換器的媒體存取控制位址將從虛擬交換器接收的封包轉傳至OpenFlow交換器中的入口交換器;由OpenFlow交換器中的出口交換器依據流規則修改封包的目的地媒體存取控制位址為虛擬主機的媒體存取控制位址,致使乙太網路交換器依據虛擬主機的媒體存取控制位址將從出口交換器接收的封包轉傳至對應的虛擬交換器。
本揭露提供一種位址解析方法,適用於基於軟體定義網路的資料中心網路系統。資料中心網路系統包括多個實體機器、連接至實體機器的多個乙太網路交換器、相互連結且連接乙太網路交換器的多個OpenFlow交換器,以及連接至OpenFlow交換器的中央控制裝置。實體機器包括虛擬交換器與至少一虛擬主機。
所述方法包括:由虛擬主機中的第一虛擬主機發出位址解析協定(ARP)請求以查詢虛擬主機中的第二虛擬主機的媒體存取控制位址;由虛擬交換器或OpenFlow交換器攔截第一虛擬主機所發出的ARP請求並將ARP請求以OpenFlow訊息封裝後直接傳送至中央控制裝置;由中央控制裝置響應於接收ARP請求而利用資料庫查詢第二虛擬主機的媒體存取控制位址,以依據第二虛擬主機的媒體存取控制位址產生ARP回覆封包;由中央控制裝置發送ARP回覆封包至第一虛擬主機,致使第一虛擬主機獲取第二虛擬主機的媒體存取控制位址;由中央控制裝置在實體機器中的所述虛擬交換器以及OpenFlow交換器上設定多個流規則,以建立第一虛擬主機與第二虛擬主機之間的路由路徑。
本揭露提供一種路由控制器,用於基於軟體定義網路的資料中心網路系統。資料中心網路系統包括連結至聚積層網路的多個實體機器,聚積層網路包括多個乙太網路交換器,實體機器包括至少一虛擬主機與虛擬交換器。路由控制器包括網路單元、處理器以及儲存單元,網路單元連接至核心網路,且核心網路包括相互連結的多個OpenFlow交換器並連結至聚積層網路。處理器耦接網路單元。儲存單元耦接至所處理器並且存有多個指令,且處理器執行所述指令以:決定虛擬主機中第一虛擬主機與虛擬主機中第二虛擬主機之間用以傳送封包的路由路徑;對路由路徑上的虛擬交換器下達命令,以控制虛擬交換器寫入第一流規則至虛擬交換器的流表(flow table)。其中,第一流規則的動作包括:修
改所述封包的目的地媒體存取控制位址為所述OpenFlow交換器的媒體存取控制位址;對路由路徑上的OpenFlow交換器下達命令,以控制OpenFlow交換器寫入第二流規則至OpenFlow交換器的流表。其中,第二流規則的動作包括:修改封包的目的地媒體存取控制位址為第二虛擬主機的媒體存取控制位址。
基於上述,本揭露提供一種利用軟體定義網路(Software-Defined Network,以下稱SDN)的資料中心網路系統及其封包傳送方法、位址解析方法與路由控制器。本揭露藉由同時使用乙太網路交換器與開放流(OpenFlow)交換器來建構出符合大型資料中心之需求的網路架構。
為讓本揭露的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
10、20‧‧‧資料中心網路系統
11、21‧‧‧核心網路
12、22‧‧‧聚積層網路
100_1~100_Q、500_1、500_2‧‧‧實體機器
101、502_1、502_2‧‧‧虛擬交換器
102、501_1、501_2‧‧‧虛擬主機
200_1~200_M、600_1、600_2‧‧‧乙太網路交換器
300_1~300_N、700_1~700_5‧‧‧OpenFlow交換器
400、800‧‧‧中央控制裝置
401、801‧‧‧資源控制器
402、403、802、803、900‧‧‧路由控制器
404、804‧‧‧資料庫
F1‧‧‧路由路徑
PH1~PH5‧‧‧封包標頭
P1、P2、P3‧‧‧埠
T1、T2‧‧‧轉送資訊表
60‧‧‧媒體存取控制位址訊框
61~64‧‧‧欄位
a1、a2、a3、a4‧‧‧路徑
901‧‧‧網路單元
902‧‧‧處理器
903‧‧‧儲存單元
S301~S303、S501~510、S701~S705‧‧‧步驟
圖1是根據本揭露的一範例實施例所繪示之資料中心網路系統的示意圖。
圖2是根據本揭露的一範例實施例所繪示之設定路由路徑的示意圖。
圖3是根據本揭露的一範例實施例所繪示之封包傳送方法的流程圖。
圖4是依照本揭露一範例實施例所繪示的封包傳送方法的示
意圖。
圖5A與圖5B是根據本揭露的一範例實施例所繪示之封包傳送方法的流程圖。
圖6是依照本揭露一範例實施例所繪示的媒體存取控制位址訊框的示意圖。
圖7是依照本揭露一範例實施例所繪示的位址解析方法的流程圖。
圖8是依據本揭露一範例實施例所繪示的位址解析方法的示意圖。
圖9是依據本揭露一範例實施例所繪示的路由控制器的示意圖。
圖1是根據本揭露的一範例實施例所繪示之資料中心網路系統的示意圖。請參照圖1,資料中心網路系統10包括多個實體機器100_1~100_Q(Q為正整數)、多個乙太網路交換器200_1~200_M(M為正整數)、相互連結的多個OpenFlow交換器300_1~300_N(N為正整數)、以及中央控制裝置400。簡單來說,資料中心網路系統10可視為一個雲端運算與儲存中心,讓租戶可透過網路使用資料中心網路系統10中的硬體與軟體資源。在本範例實施例中,實體機器100_1~100_Q可以分別運作十個虛擬主機,但本揭露不限制於此。在另一範例實施例中,實體機器100_1~100_Q可以運作十個以上或十個以下的虛擬主機,且各個
實體機器100_1~100_Q所運作之虛擬主機的數量可相同或相異。另外,實體機器100_1~100_Q各自包括對應的虛擬交換器,讓實體機器100_1~100_Q所運作的虛擬主機可利用虛擬交換器而連接至聚積層(Aggregation)網路12,其中乙太網路交換器200_1~200_M佈署為聚積層網路12。以實體機器100_1為例,實體機器100_1包括虛擬交換器101以及虛擬主機102,而虛擬主機102可透過虛擬交換器101連接至聚積層網路12。在此,實體機器100_1~100_Q中的虛擬交換器可支援基本的OpenFlow協定。一般來說,虛擬交換機可由開源軟體Open vSwitch來實現。
乙太網路交換器200_1~200_M具有多個埠(port),使得乙太網路交換器200_1~200_M可透過其上的埠與實體機器100_1~100_Q的虛擬交換器相連接。以乙太網路交換器200_1為例,乙太網路交換器200_1可經由P個埠(P為正整數)而連接至實體機器100_1~100_P。需特別說明的是,本揭露並不限制乙太網路交換器200_1~200_M的埠數,因此各個乙太網路交換器200_1~200_M所連接之實體機器的數量可相同或相異。
OpenFlow交換器300_1~300_N相互連結而部署為核心網路11,且OpenFlow交換器300_1~300_N也具有多個埠。OpenFlow交換器300_1~300_N可透過各自的埠相互連結,且OpenFlow交換器300_1~300_N與乙太網路交換器200_1~200_M可以透過OpenFlow交換器300_1~300_N以及乙太網路交換器200_1~200_M的埠而彼此連接。於本範例實施例中,OpenFlow交換器
300_1~300_N的部份連接至乙太網路交換器200_1~200_M。
於本範例實施例中,乙太網路交換器200_1~200_M分別透過兩個埠連接至兩個OpenFlow交換器300_1~300_N。舉例而言,乙太網路交換器200_1透過其上的埠連接至OpenFlow交換器300_1、300_3。需說明的是,於另一範例實施例中,乙太網路交換器200_1~200_M可使用更多個埠來連接至更多數量的OpenFlow交換器,或者,乙太網路交換器200_1~200_M也可單一個埠來連接至單一個OpenFlow交換器,本揭露對此並不限制。此外,於另一範例實施例中,基於網路拓樸之形狀的不同,OpenFlow交換器300_1~300_N的全部可連接至乙太網路交換器200_1~200_M。由此可見,聚積層網路12佈署於實體機器100_1~100_Q與核心網路11之間。如此,實體機器100_1~100_P可經由乙太網路交換器200_1~200_M連接至核心網路11。
中央控制裝置400連接核心網路11中的OpenFlow交換器300_1~300_N的部份或全部,用以管理資料中心網路系統10中連接的所有實體機器100_1~100_Q、虛擬主機、乙太網路交換器200_1~200_M以及OpenFlow交換器300_1~300_N。於本範例實施例中,中央控制裝置400可包括資源控制器401、路由控制器402、路由控制器403以及資料庫404。雖未繪示於圖1,然而資源控制器401、路由控制器402、路由控制器403以及資料庫404個別具有處理電路、記憶體、網路元件(例如網路卡),及硬碟等硬體元件。此外,雖然本範例實施例係以資源控制器401、路由控制
器402、路由控制器403與資料庫404的結合來實現中央控制裝置400,但本揭露並不限制於此。於另一範例實施例中,中央控制裝置400也可透過具有處理電路、記憶體以及網路元件的單一控制裝置來實現。於本範例實施例中,資源控制器401可負責整個資料中心網路系統10中的硬體/軟體資源之管理與分配,並將與租戶、實體機器100_1~100_Q、虛擬主機、乙太網路交換器200_1~200_M以及OpenFlow交換器300_1~300_N相關的管理資訊儲存於資料庫404。
舉例而言,上述的管理資訊可包括租戶的租戶識別碼(tenant ID)、實體機器100_1~100_Q的網際網路協定位址(IP address)、實體機器100_1~100_Q的實體機器識別碼(PM ID)、實體機器100_1~100_Q的媒體存取控制位址、虛擬主機的網際網路協定位址(IP address)、虛擬主機的虛擬主機別碼(VM ID)、虛擬主機的媒體存取控制位址、乙太網路交換器200_1~200_M與OpenFlow交換器300_1~300_N的交換器識別碼(switch ID),以及乙太網路交換器200_1~200_M與OpenFlow交換器300_1~300_N的媒體存取控制位址。舉例而言,資源控制器401可安裝有利用OpenStack軟體開發之雲端運算環境所需要的套件以及各套件的設定檔,但本揭露不限制於此。
路由控制器402與路由控制器403負責有關於網路的管理與控制,例如繞送路徑決定、位址解析協定、虛擬主機的位置追蹤、錯誤管理(fault handing)或資料庫更新等等。需說明的是,
本實施範例係以控制裝置400包括兩個路由控制器402與路由控制器403為例進行說明,但本揭露並不限制於此。於另一範例實施例中,控制裝置400可包括一個、三個或更多個路由控制器。
路由控制器402與路由控制器403可透過存取資料庫404內的資料而得知各租戶的網路配置,且路由控制器402與路由控制器403可基於OpenFolw協定來統一控管資料中心網路系統10內的網路流量與繞送路徑。進一步來說,於本範例實施例中,路由控制器402與路由控制器403可決定封包的路由路徑。路由控制器402與路由控制器403使用OpenFolw協定訊息來控制核心網路11中的OpenFlow交換器300_1~300_N以及各個實體機器100_1~100_Q的虛擬交換器,致使OpenFlow交換器300_1~300_N以及各個實體機器100_1~100_Q的的虛擬交換器可將流規則(flow entry)寫入各自的流表(Flow Table)。如此,OpenFlow交換器300_1~300_N以及各個實體機器100_1~100_Q的虛擬交換器可經由查詢流表來決定封包該如何轉送。也就是說,中央控制裝置400在實體機器100_1~100_Q中的虛擬交換器以及OpenFlow交換器300_1~300_N上設定多個流規則,以建立虛擬主機之間用以傳送封包的路由路徑。
需特別說明的是,在虛擬交換器將虛擬主機所發出之封包轉傳至乙太網路交換器200_1~200_M之前,各個實體機器100_1~100_Q的虛擬交換器可依據流規則修改封包的目的地媒體
存取控制位址為所述OpenFlow交換器300_1~300_N的媒體存取控制位址,致使所述乙太網路交換器200_1~200_M依據OpenFlow交換器的媒體存取控制位址將從虛擬交換器接收的封包轉傳至對應的OpenFlow交換器300_1~300_N,即流規則中指定之OpenFlow交換器300_1~300_N其中之一。
另外,在OpenFlow交換器300_1~300_N將封包轉傳至乙太網路交換器200_1~200_M之前,OpenFlow交換器300_1~300_N可依據流規則修改封包的目的地媒體存取控制位址為虛擬主機的媒體存取控制位址,致使乙太網路交換器200_1~200_M依據虛擬主機的媒體存取控制位址將從OpenFlow交換器300_1~300_N接收的封包轉傳至對應的虛擬交換器。
為了清楚說明本揭露,以下將以兩個實體機器、兩個乙太網路交換器以及五個OpenFlow交換器,為例進行說明,但本揭露並不限制於此。圖2是根據本揭露的一範例實施例所繪示之設定路由路徑的示意圖。請參照圖2,資料中心網路系統10包括實體機器500_1~500_2、乙太網路交換器600_1~600_2、OpenFlow交換器700_1~700_5以及中央控制裝置800。實體機器500_1連接聚積層網路22中的乙太網路交換器600_1,而實體機器500_2連接聚積層網路22中的乙太網路交換器600_2。實體機器500_1包括虛擬主機501_1與虛擬交換機502_1,實體機器500_2包括虛擬主機501_2與虛擬交換機502_2。
乙太網路交換器600_1連接核心網路22中OpenFlow交
換器700_3、700_5,而乙太網路交換器600_1連接核心網路22中OpenFlow交換器700_2、700_3。OpenFlow交換器700_1~700_5以如圖2所示之拓樸結構彼此連結。中央控制裝置800包括資源控制器801、路由控制器802、路由控制器803以及資料庫804。資源控制器801連接OpenFlow交換器700_2,路由控制器802連接OpenFlow交換器700_1,且路由控制器803與資料庫804皆連接OpenFlow交換器700_4。
在如圖2所示的網路架構下,路由控制器803決定虛擬主機501_1與虛擬主機501_2之間用以傳送封包的路由路徑F1。在本範例實施例中,路由控制器803可利用流變更(Flow-Mod)訊息而分別在虛擬交換器502_1 OpenFlow交換器700_3、OpenFlow交換器700_2以及虛擬交換器502_2設定流規則,以建立虛擬主機501_1與虛擬主機501_2之間用以傳送封包的路由路徑F1。路由路徑F1包括虛擬交換器502_1、乙太網路交換器600_1、OpenFlow交換器700_3、OpenFlow交換器700_2、乙太網路交換器600_2以及虛擬交換器502_2。在本範例實施例中,若虛擬主機501_1為封包發送端,則虛擬交換器502_1為來源虛擬交換器;OpenFlow交換器700_3為核心網路21的入口(ingress)交換器;OpenFlow交換器700_2為核心網路21的出口(egress)交換器;虛擬交換器502_2為目的地虛擬交換器。相反地,若虛擬主機501_2為封包發送端,則虛擬交換器502_2為來源虛擬交換器;OpenFlow交換器700_2為核心網路21的入口(ingress)交換器;OpenFlow交
換器700_3為核心網路21的出口(egress)交換器;虛擬交換器502_1為目的地虛擬交換器。如此,虛擬主機501_1以及虛擬主機501_2可經由路由路徑F1互相傳送封包。
虛擬交換器502_1、502_2以及OpenFlow交換器700_1~700_5各自儲存有一流表,流表中所記錄的流規則包括匹配條件與動作。於封包的傳遞過程中,路由路徑F1上的虛擬交換器502_1、OpenFlow交換器700_3、OpenFlow交換器700_2、以及虛擬交換器502_2比對接收到之封包的內容是否符合流規則中的匹配條件。若比對成功,虛擬交換器502_1、OpenFlow交換器700_3、OpenFlow交換器700_2則將執行對應至比對成功之匹配條件的動作。如此,虛擬主機501_1所發出的封包便可以透過虛擬交換器502_1、OpenFlow交換器700_3、OpenFlow交換器700_2、以及虛擬交換器502_2的轉傳而成功傳送至虛擬主機501_2。
圖3是根據本揭露的一範例實施例所繪示之封包傳送方法的流程圖。圖3所示之封包傳送方法適用於圖2所示之資料中心網路系統20,以下即搭配圖2所示的各裝置來說明本實施例的詳細步驟,但本揭露並不以此為限。請同時參照圖2與圖3,於步驟S301,由中央控制裝置800在實體機器500_1、500_2中的虛擬交換器502_1、502_2以及OpenFlow交換器700_2、700_3上設定多個流規則,以建立虛擬主機501_1、501_2中之間用以傳送封包的路由路徑F1。於步驟S302,由虛擬交換器502_1依據流規則修
改封包的目的地媒體存取控制位址為OpenFlow交換器700_3的媒體存取控制位址,致使乙太網路交換器600_1依據OpenFlow交換器700_3的媒體存取控制位址將從虛擬交換器502_1接收的封包轉傳至OpenFlow交換器700_1~700_5中的入口交換器(即OpenFlow交換器700_3)。於步驟S303,由OpenFlow交換器700_1~700_5中的出口交換器(即OpenFlow交換器700_2)依據流規則修改封包的目的地媒體存取控制位址為虛擬主機501_2的媒體存取控制位址,致使乙太網路交換器600_2依據虛擬主機501_2的媒體存取控制位址將從出口交換器(即OpenFlow交換器700_2)接收的封包轉傳至對應的虛擬交換器502_2。
為了更詳細說明本揭露之資料中心網路系統的封包傳送方法,以下將列舉另一實施例以詳細說明之。圖4是依照本揭露一範例實施例所繪示的封包傳送方法的示意圖。圖5A與圖5B是根據本揭露的一範例實施例所繪示之封包傳送方法的流程圖。圖4所示之資料中心網路系統與圖2所示之資料中心網路系統20相似,資料中心網路系統20中的各裝置的連接方式與其功能請參照圖2的說明,於此不在贅述。需先說明的是,圖4之實施例將以封包標頭格式的部分如表1所示為例進行說明。
請參照圖4與圖5A,於步驟S501,由中央控制裝置800在實體機器500_1、500_2中的虛擬交換器502_1、502_2以及OpenFlow交換器700_2、700_3上設定多個流規則,以建立虛擬主機501_1、501_2中之間用以傳送封包的路由路徑F1。當虛擬主機501_1經由路由路徑F1傳送封包至虛擬主機501_2時,於步驟S502,由虛擬主機501_1產生封包、設定封包的目的地媒體存取控制位址為虛擬主機501_2的媒體存取控制位址,以及發送所述封包至對應至同一實體機器500_1的虛擬交換器502_1。如圖4所示,於虛擬主機501_1所產生的封包的封包標頭PH1中,封包的目的地媒體存取位址為虛擬主機501_2的媒體存取位址VM2,且封包的來源媒體存取位址為虛擬主機501_1的媒體存取位址VM1。
於步驟S503,由虛擬交換器502_1依據流規則修改封包的目的地媒體存取控制位址為OpenFlow交換器700_3的媒體存取控制位址,並傳送封包至乙太網路交換器600_1。如圖4的封包標頭PH2所示,虛擬交換器502_1將封包的目的地媒體存取控制位址從虛擬主機501_2的媒體存取控制位址VM2修改為OpenFlow交換器700_3的媒體存取控制位址OFS3,並將帶有OpenFlow交換器700_3的媒體存取控制位址OFS3的封包轉傳至與虛擬交換器502_1相連接的乙太網路交換器600_1。
於步驟S504,由乙太網路交換器600_1依據OpenFlow交換器700_3的媒體存取控制位址OFS3查詢轉送資訊庫
(FIB)T1,以經由乙太網路交換器600_1的多個埠其中之一將帶有OpenFlow交換器700_3的媒體存取控制位址OFS3的封包轉傳至入口交換器(即OpenFlow交換器700_3)。進一步來說,轉送資訊庫T1紀錄有乙太網路交換器600_1之多個媒體存取控制位址與每一個媒體存取控制位址各自對應的一個port編號。如此,藉由比對封包的目的地媒體存取位址與轉送資訊庫T1中的媒體存取控制位址,乙太網路交換器600_1可決定將封包傳送至哪一個對應的埠。
於本範例實施例中,乙太網路交換器600_1的轉送資訊庫T1紀錄有編號為‘1’的埠P1以及對應至埠P1的媒體存取控制位址OFS3,且更記錄有編號為‘2’的埠P2以及對應至埠P2的媒體存取控制位址OFS5。基此,當乙太網路交換器600_1透過埠P3接收到封包時,乙太網路交換器600_1可決定將帶有OpenFlow交換器700_3的媒體存取控制位址OFS3的封包經由埠P1轉傳至OpenFlow交換器700_3。相似的,於另一範例實施例中,依據轉送資訊庫T1可知,當乙太網路交換器600_1所接收之封包的目的地媒體存取位址為OpenFlow交換器700_5的媒體存取控制位址OFS5,則乙太網路交換器600_1會將封包轉送至與埠P2連接的OpenFlow交換器700_5。
值得一提的是,藉由虛擬交換器502_1對封包之目的地媒體存取控制的修改,乙太網路交換器600_1並不會知道封包將傳送至虛擬主機502_2。也就是說,藉由虛擬交換器502_1對封包
之目的地媒體存取控制的修改,乙太網路交換器600_1的轉送資訊庫T1並不需要學習或記錄關聯於虛擬主機502_2之媒體存取控制位址的轉傳資訊,可大幅減少乙太網路交換器600_1的轉送資訊庫T1需要記錄的資料量並因此利於大型資料中心的擴增。
接著,於步驟S505,由入口交換器(即OpenFlow交換器700_3)依據流規則將封包的目的地媒體存取控制位址修改為OpenFlow交換器700_1~700_5中的出口交換器(即OpenFlow交換器700_2)的媒體存取控制位址,致使出口交換器接收封包。如圖4的封包標頭PH3所示,OpenFlow交換器700_3經由OpenFlow交換器700_3的埠P1接收封包,且OpenFlow交換器700_3將封包的目的地媒體存取控制位址從媒體存取控制位址OFS3修改為OpenFlow交換器700-2的媒體存取控制位址OFS2。之後,OpenFlow交換器700_3經由OpenFlow交換器700_3的埠P2將封包轉傳至OpenFlow交換器700_2。
請參照圖4與圖5B,於步驟S506,由OpenFlow交換器中700_1~700_5的出口交換器(即OpenFlow交換器700_2)依據流規則修改封包的目的地媒體存取控制位址為虛擬主機501_2的媒體存取控制位址。於步驟S507,由出口交換器(即OpenFlow交換器700_2)依據流規則修改封包的來源地媒體存取控制位址為出口交換器(即OpenFlow交換器700_2)的媒體存取控制位址OFS2。如圖4的封包標頭PH4所示,OpenFlow交換器700_2將封包的目的地媒體存取控制位址從自己的媒體存取控制位址OFS2修改為虛
擬主機501_2的媒體存取控制位址VM2。此外,OpenFlow交換器700_2更將封包的來源媒體存取控制位址從虛擬主機501_1的媒體存取控制位址VM1修改為自己的媒體存取控制位址OFS2。之後,OpenFlow交換器700_2將帶有虛擬主機501_2的媒體存取控制位址VM2與出口交換器(即OpenFlow交換器700_2)的媒體存取控制位址OFS2的封包轉傳至對應的乙太網路交換器600_2。
於步驟S508,由乙太網路交換器600_2依據虛擬主機501_2的媒體存取控制位址VM2查詢轉送資訊庫T2,以經由乙太網路交換器600_2上編號為‘1’的埠P1將帶有虛擬主機501_2的媒體存取控制位址VM2的封包轉傳至虛擬交換器502_2。需特別說明的是,乙太網路交換器600_2可響應於接收到帶有出口交換器(即OpenFlow交換器700_2)的媒體存取控制位址OFS2的封包而關聯出口交換器(即OpenFlow交換器700_2)的媒體存取控制位址OFS2與埠P2,以將出口交換器的媒體存取控制位址OFS2與埠P2之間的對應關係紀錄於轉送資訊庫T2。如圖4的轉送資訊庫T2所示,乙太網路交換器600_2可透過學習而關聯編號為‘2’的埠P2與媒體存取控制位址OFS2,並紀錄媒體存取控制位址OFS2與編號為‘2’之埠P2之間的轉傳資訊。更具體而言,本範例實施例之Openflow交換器700_1~700_5可執行鏈結層發現協定(Link Layer discovery protocol,LLDP)功能,致使乙太網路交換器600_2可將OpenFlow交換器700_2的媒體存取控制位址OFS2與埠P2建立關聯。
於步驟S509,由對應於虛擬主機501_2的虛擬交換器502_2依據流規則將封包的來源媒體存取控制位址從出口交換器(即OpenFlow交換器700_2)的媒體存取控制位址OFS2還原為虛擬主機501_1的媒體存取控制位址VM1。如圖4的封包標頭PH5所示,虛擬交換器502_2從與虛擬交換器502_2相連接的乙太網路交換器600_2接收帶有虛擬主機501_2的媒體存取控制位址VM2的封包,並將封包的來源媒體存取控制位址從OpenFlow交換器700_2的媒體存取控制位址OFS2還原為虛擬主機501_1的媒體存取控制位址VM1。於步驟S510,虛擬主機501_2接收目的地媒體存取位址為自己的媒體存取位址且來源媒體存取位址為虛擬主機501_1之媒體存取位址的封包。
基於圖2至圖5A與圖5B所示的說明可知,雖然本揭露之聚積層網路中的乙太網路交換器無法受到中央控制裝置的操控來決定封包繞送方式,但本揭露之資料中心網路系統的動態控制路由能力還是與完全由OpenFlow交換器所建構之網路架構相當。
值得一提的是,本範例實施例之中央控制裝置可依據與租戶相關的資訊來指派資料中心網路系統中的實體機器與虛擬主機的媒體存取控制位址。相較於習知利用虛擬區域網路標籤來區分租戶的作法,本範例實施例之媒體存取控制位址訊框的設置可支援更大規模的資料中心網路架構。
進一步來說,資料中心網路系統中的資料庫儲存有關聯於各虛擬主機與各實體機器的管理資訊,像是租戶的租戶識別
碼、實體機器的實體機器識別碼、虛擬主機的虛擬主機別碼,以及與租戶或虛擬主機有關的服務品質(QoS)等級資訊。基此,以圖1的資料中心網路系統為例,資料中心網路系統10的中央控制裝置400可依據實體機器100_1~100_Q的實體機器識別碼、虛擬主機(例如虛擬主機102)的虛擬主機識別碼以及租戶的租戶識別碼來配置實體機器100_1~100_Q的媒體存取控制位址與虛擬主機(例如虛擬主機102)的媒體存取控制位址。此外,中央控制裝置400更可依據與租戶以及虛擬主機相關的服務品質(QoS)等級來指派實體機器100_1~100_Q的媒體存取控制位址與虛擬主機(例如虛擬主機102)的媒體存取控制位址。
圖6是依照本揭露一範例實施例所繪示的媒體存取控制位址訊框(MAC frame)的示意圖。於本範例實施例中,實體機器的媒體存取控制位址訊框與虛擬主機的媒體存取控制位址訊框可包括經配置以記錄實體虛擬指示符、租戶識別碼以及實體機器/虛擬主機識別碼以及關於服務品質等級之優先權的多個欄位。於此,實體虛擬指示符用以指示此MAC訊框內的位址為實體機器或虛擬主機的MAC位址。如圖6所示,媒體存取控制位址訊框60可包括用以記錄實體虛擬指示符的欄位61、用以記錄租戶識別碼的欄位62、用以記錄實體機器/虛擬主機識別碼的欄位63,以及用以記錄關於服務品質等級之優先權的欄位64。欄位61的長度為1位元,欄位62的長度為16位元,欄位63的長度為28位元以及欄位64的長度為3位元。然而,圖6所示之範例僅為示範性說明,
並非用以限定本揭露,本揭露對於欄位61~64的排列方式與欄位61~64的長度並不加以限定。此外,於另一實施例中,媒體存取控制位址訊框更可以包括用以記錄其他資訊的欄位,本揭露對此並不限制。舉例而言,除了欄位61~64,實體機器的媒體存取控制位址訊框與虛擬主機的媒體存取控制位址訊框更可以包括一保留(reserved)欄位。
基於本揭露之資料中心網路系統包括乙太交換器與OpenFlow交換器,圖7是依照本揭露一範例實施例所繪示的位址解析方法的流程圖。請參照圖7,於步驟S701,由虛擬主機中的第一虛擬主機發出位址解析協定請求(Address Resolution Protocol Request,ARP Request)以查詢虛擬主機中的第二虛擬主機的媒體存取控制位址。於步驟S702,由虛擬交換器或OpenFlow交換器攔截第一虛擬主機所發出的ARP請求並將ARP請求封裝後直接傳送至中央控制裝置。虛擬交換器或交換器可利用OpenFlow協定中的Packet-In訊息將攔截到的ARP請求封裝後直接發送至中央控制裝置。
於步驟S703,由中央控制裝置響應於接收ARP請求而利用資料庫查詢第二虛擬主機的媒體存取控制位址,以依據第二虛擬主機的媒體存取控制位址產生ARP回覆(ARP Reply)封包。於步驟S704,由中央控制裝置發送ARP回覆封包至第一虛擬主機,致使第一虛擬主機獲取第二虛擬主機的媒體存取控制位址。於步驟S705,由中央控制裝置響應於接收ARP請求而在實體機器中的虛
擬交換器以及OpenFlow交換器上設定多個流規則,以建立第一虛擬主機與第二虛擬主機之間的路由路徑。
此外,當中央控制裝置接收到ARP請求時,除了可產生ARP回覆封包來回覆第一虛擬主機,正可以發送ARP請求封包至第二虛擬主機。於是,第二虛擬主機也響應於接收ARP請求封包而發送ARP回覆。虛擬交換器或OpenFlow交換器可攔截ARP回覆、利用Packet-In訊息將ARP回覆封裝成ARP回覆封包,以及將ARP回覆封包直接傳送至中央控制裝置。如此,中央控制裝置可依據第二虛擬主機的ARP回覆來確認資料庫內的第二虛擬主機的媒體存取控制位址是否正確。為了進一步詳細說明本揭露之位址解析方法,圖8是依據本揭露一範例實施例所繪示的位址解析方法的示意圖。圖8所示之資料中心網路系統與圖2所示之資料中心網路系統20相似,資料中心網路系統20中的各裝置的連接方式與其功能請參照圖2的說明,於此不在贅述。
請參照圖8,步驟1:虛擬主機501_1發出位址解析協定(ARP)請求以查詢虛擬主機501_2的媒體存取控制位址。步驟2:對應於虛擬主機501_1的虛擬交換器502_1攔截虛擬主機501_1所發出的ARP請求並將ARP請求封裝後經由路徑a1直接傳送至路由控制器803。於本範例實施例中,虛擬交換器502_1利用Packet-In訊息將ARP請求封裝後直接發送至路由控制器803,致使乙太網路交換器600_1不會察覺虛擬主機501_1發出了ARP請求。如此,本揭露之位址解析方法可避免資料中心網路系統中的
乙太網路交換器頻繁的向外廣播ARP請求。
步驟3:路由控制器803響應於接收ARP請求而利用資料庫804查詢虛擬主機501_2的媒體存取控制位址。步驟4:路由控制器803依據虛擬主機501_2的媒體存取控制位址產生ARP回覆封包、響應於接收ARP請求而產生ARP請求封包,以及建立虛擬主機501_1與第二虛擬主機501_2之間的路由路徑。
之後,步驟5:路由控制器803經由路徑a2並透過虛擬交換機502_1將ARP回覆封包發送至虛擬主機501_1。於本範例實施例中,路由控制器803可利用Packet-Out訊息封裝ARP回覆封包並將ARP回覆封包直接發送至虛擬交換器502_1,致使乙太網路換器600_1不會頻繁的更新轉送資訊庫。步驟6:路由控制器803經由路徑a3將ARP請求封包發送至虛擬主機501_2。步驟7:虛擬主機501_2響應於接收ARP請求封包而發送ARP回覆。
步驟8:對應於虛擬主機501_2的虛擬交換器502_2攔截ARP回覆並將ARP回覆封裝後直接經由路徑a4傳送至路由控制器802。於本範例實施例中,由虛擬交換器502_2攔截ARP回覆,並利用Packet-In訊息將ARP回覆封裝後直接傳送至路由控制器802。步驟9:路由控制器802響應於接收到ARP回覆而確認資料庫804內之虛擬主機501_2的媒體存取控制位址是否正確。
需說明的是,基於本揭露之封包傳送方法可知,於一範例實施例中,乙太網路交換器可在轉送資訊庫僅需要記載與直接相連之虛擬交換主機與Openflow交換器之媒體存控制位址的條件
下進行封包轉送。因此,基於本揭露之位址解析方法,可避免資料中心網路系統中的乙太網路交換器響應於接收ARP請求或ARP回覆而將不必要的媒體存取位址記錄於轉送資訊庫中,此舉將利於資料中心網路系統之規模的擴增。
圖9是依據本揭露一範例實施例所繪示的路由控制器的示意圖。請參照圖9,路由控制器900基於OpenFolw協定來負責有關於軟體定義網路(SDN)的管理與控制,例如是圖1所示的路由控制器402~403或圖2所示的路由控制器802~803。路由控制器900包括網路單元901、處理器902以及儲存單元903。
網路單元901連接至核心網路(例如是圖1所示的核心網路11或圖2所示的核心網路21),並耦接處理器902。處理器902用以控制路由控制器900的全部運作,可以是任何類型的控制電路,例如系統晶片(system-on-chip,SOC)、應用處理器(application processor)、媒體處理器(media processor)、微處理器(microprocessor)、中央處理單元(central processing unit,CPU)、數位信號處理器(digital signal processor)或其他類似者,然本揭露不限於此。
儲存單元903例如是任意型式的固定式或可移動式隨機存取記憶體(Random Access Memory,RAM)、唯讀記憶體(Read-Only Memory,ROM)、快閃記憶體(Flash memory)、硬碟或其他類似裝置或這些裝置的組合,然本揭露不限於此。儲存單元903耦接至處理器802並且存有多個指令,處理器902執行所述指
令以管理資料中心網路系統中的核心網路,並控制OpenFlow交換器與虛擬交換器依據流規則執行對應的動作。
於本範例實施例中,處理器902決定虛擬主機中第一虛擬主機與虛擬主機中第二虛擬主機之間用以傳送封包的路由路徑。處理器902對路由路徑上的虛擬交換器下達命令,以控制虛擬交換器寫入第一流規則至虛擬交換器的流表。第一流規則的動作包括:修改封包的目的地媒體存取控制位址為OpenFlow交換器的媒體存取控制位址。處理器902對路由路徑上的OpenFlow交換器下達命令,以控制OpenFlow交換器寫入第二流規則至OpenFlow交換器的流表,第二流規則的動作包括:修改封包的目的地媒體存取控制位址為第二虛擬主機的媒體存取控制位址,以及修改封包的來源媒體存取控制位址為OpenFlow交換器的媒體存取控制位址。
處理器902對路由路徑上的虛擬交換器下達命令,以控制虛擬交換器寫入第三流規則至虛擬交換器的流表,第三流規則的動作包括:將封包的來源媒體存取控制位址從OpenFlow交換器的媒體存取控制位址還原為第一虛擬主機的媒體存取控制位址。處理器902對路由路徑上的OpenFlow交換器中的入口交換器下達命令,以控制入口交換器寫入第四流規則至入口交換器的流表。第四流規則的動作包括:將封包的目的地媒體存取控制位址修改為OpenFlow交換器中的出口交換器的媒體存取控制位址。處理器902對路由路徑上的出口交換器下達命令,以控制出口交換器寫入
第五流規則至入口交換器的流表。第五流規則的動作包括:將封包的目的地媒體存取控制位址修改為第二虛擬主機的媒體存取控制位址,以及將封包的來源媒體存取控制位址修改為出口交換器的媒體存取控制位址。
處理器902響應於接收ARP請求而利用資料庫查詢第二虛擬主機的媒體存取控制位址,以依據第二虛擬主機的媒體存取控制位址產生ARP回覆封包。處理器902利用Packet-Out訊息將ARP回覆封包發送至第一虛擬主機。處理器902響應於接收ARP請求,產生ARP請求封包,並利用Packet-Out訊息將ARP請求封包發送至第二虛擬主機,致使第二虛擬主機發送ARP回覆。處理器902響應於接收關聯於ARP回覆的ARP回覆封包,確認資料庫內之第二虛擬主機的媒體存取控制位址是否正確。
綜上所述,本揭露結合乙太網路交換器與OpenFlow交換器來實現高效能的網路系統,並且可符合大型資料中心的需求。由於可使用乙太網路交換器來建置大型資料中心的網路系統,因此可大幅降低成本。此外,基於本揭露之封包傳送方法,大型資料中心的規模將不受限於乙太網路交換器的轉送資訊庫的容量。透過本揭露之媒體存取控制訊框的設置,可大幅提升租戶的允許數量。本揭露之資料中心網路系統不需要額外的設定就可隨時改變乙太網路交換機與OpenFlow交換機的數量或連結位置。尤其是,即使在具備乙太網路交換器的網路環境中,本揭露之資料中心網路系統中的動態路由還是可由支援OpenFlow協定的中央控
制裝置來控制與管理。
雖然本揭露已以實施例揭露如上,然其並非用以限定本揭露,任何所屬技術領域中具有通常知識者,在不脫離本揭露的精神和範圍內,當可作些許的更動與潤飾,故本揭露的保護範圍當視後附的申請專利範圍所界定者為準。
10‧‧‧資料中心網路系統
11‧‧‧核心網路
12‧‧‧聚積層網路
100_1~100_Q‧‧‧實體機器
101‧‧‧虛擬交換器
102‧‧‧虛擬主機
200_1~200_M‧‧‧乙太網路交換器
300_1~300_N‧‧‧OpenFlow交換器
400‧‧‧中央控制裝置
401‧‧‧資源控制器
402‧‧‧路由控制器
403‧‧‧路由控制器
404‧‧‧資料庫
Claims (30)
- 一種基於軟體定義網路的資料中心網路系統,包括:多個實體機器,各自包括一虛擬交換器與至少一虛擬主機;多個乙太網路交換器,連接所述實體機器;相互連結的多個OpenFlow交換器,其中所述OpenFlow交換器的部份或全部連接至所述乙太網路交換器;以及一中央控制裝置,連接所述OpenFlow交換器,並在所述實體機器中的所述虛擬交換器以及所述OpenFlow交換器上設定多個流規則(flow entry),以建立所述虛擬主機之間用以傳送一封包的一路由路徑,其中,所述虛擬交換器依據所述流規則修改所述封包的目的地媒體存取控制位址為所述OpenFlow交換器的媒體存取控制位址,致使所述乙太網路交換器依據所述OpenFlow交換器的媒體存取控制位址將從所述虛擬交換器接收的所述封包轉傳至對應的所述OpenFlow交換器,其中,所述OpenFlow交換器依據所述流規則修改所述封包的目的地媒體存取控制位址為所述虛擬主機的媒體存取控制位址,致使所述乙太網路交換器依據所述虛擬主機的媒體存取控制位址將從所述OpenFlow交換器接收的所述封包轉傳至對應的所述虛擬交換器。
- 如申請專利範圍第1項所述的資料中心網路系統,其中 所述虛擬主機中的第一虛擬主機經由所述路由路徑傳送所述封包至所述虛擬主機中的第二虛擬主機,其中所述第一虛擬主機產生所述封包、設定所述封包的目的地媒體存取控制位址為所述第二虛擬主機的媒體存取控制位址,以及發送所述封包至對應至同一實體機器的所述虛擬交換器。
- 如申請專利範圍第2項所述的資料中心網路系統,其中所述第一虛擬主機與所述虛擬交換器中的第一虛擬交換器對應至同一所述實體機器,所述第二虛擬主機與所述虛擬交換器中的第二虛擬交換器對應至同一所述實體機器,其中所述第一虛擬交換器將所述封包的目的地媒體存取控制位址從所述第二虛擬主機的媒體存取控制位址修改為所述OpenFlow交換器的媒體存取控制位址,並將帶有所述OpenFlow交換器的媒體存取控制位址的所述封包轉傳至與所述第一虛擬交換器相連接的所述乙太網路交換器。
- 如申請專利範圍第3項所述的資料中心網路系統,其中所述第二虛擬交換器從與所述第二虛擬交換器相連接的所述乙太網路交換器接收帶有所述第二虛擬主機的媒體存取控制位址的所述封包,並將所述封包的來源媒體存取控制位址從所述OpenFlow交換器的媒體存取控制位址還原為所述第一虛擬主機的媒體存取控制位址。
- 如申請專利範圍第1項所述的資料中心網路系統,其中所述OpenFlow交換器中的入口交換器將所述封包的目的地媒體存 取控制位址修改為所述OpenFlow交換器中的一出口交換器的媒體存取控制位址,致使所述出口交換器接收所述封包,其中所述出口交換器將所述封包的目的地媒體存取控制位址修改為所述虛擬主機的媒體存取控制位址,將所述封包的來源媒體存取控制位址修改為所述出口交換器的媒體存取控制位址,並將帶有所述虛擬主機的媒體存取控制位址與所述出口交換器的媒體存取控制位址的所述封包轉傳至對應的所述乙太網路交換器。
- 如申請專利範圍第5項所述的資料中心網路系統,其中所述乙太網路交換器依據所述OpenFlow交換器的媒體存取控制位址查詢一轉送資訊庫(forwarding information base,FIB),以經由所述乙太網路交換器的多個埠其中之一將所述封包轉傳至所述OpenFlow交換器中的所述入口交換器。
- 如申請專利範圍第5項所述的資料中心網路系統,其中所述乙太網路交換器響應於接收到帶有所述出口交換器的媒體存取控制位址的所述封包而關聯所述出口交換器的媒體存取控制位址與多個埠其中之一,以將所述出口交換器的媒體存取控制位址與所述埠其中之一之間的對應關係紀錄於所述轉送資訊庫。
- 如申請專利範圍第1項所述的資料中心網路系統,其中所述中央控制裝置依據所述實體機器的實體機器識別碼、所述虛擬主機的虛擬主機識別碼以及至少一租戶的租戶識別碼來配置所述實體機器的媒體存取控制位址與所述虛擬主機的媒體存取控制位址,所述實體機器的媒體存取控制位址訊框與所述虛擬主機的 媒體存取控制位址訊框包括經配置以記錄實體虛擬指示符、租戶識別碼以及實體機器/虛擬主機識別碼的多個欄位。
- 如申請專利範圍第8項所述的資料中心網路系統,其中所述中央控制裝置更依據與所述租戶以及所述虛擬主機相關的服務品質(Qos)等級來指派所述實體機器的媒體存取控制位址與所述虛擬主機的媒體存取控制位址,而所述實體機器的媒體存取控制位址訊框與所述虛擬主機的媒體存取控制位址訊框更包括經配置以記錄有關於服務品質等級的優先權的另一欄位。
- 如申請專利範圍第1項所述的資料中心網路系統,其中所述虛擬主機中的第一虛擬主機發出一位址解析協定(ARP)請求以查詢所述虛擬主機中的第二虛擬主機的媒體存取控制位址,對應於所述第一虛擬主機的所述虛擬交換器攔截所述第一虛擬主機所發出的所述ARP請求並依據Openflow協定訊息將所述ARP請求封裝後直接傳送至所述中央控制裝置。
- 如申請專利範圍第10項所述的資料中心網路系統,其中所述中央控制裝置響應於接收所述ARP請求而利用一資料庫查詢所述第二虛擬主機的媒體存取控制位址,以依據所述第二虛擬主機的媒體存取控制位址產生一ARP回覆封包,其中所述中央控制裝置將所述ARP回覆封包發送至所述第一虛擬主機。
- 如申請專利範圍第11項所述的資料中心網路系統,其中所述中央控制裝置響應於接收所述ARP請求而發送一ARP請求 封包至所述第二虛擬主機,且所述第二虛擬主機響應於接收所述ARP請求封包而發送一ARP回覆,其中對應於所述第二虛擬主機的所述虛擬交換器攔截所述ARP回覆並依據所述OpenFlow協定訊息將所述ARP回覆封裝後傳送至所述中央控制裝置,致使所述中央控制裝置響應於接收到所述ARP回覆而確認所述資料庫內之第二虛擬主機的媒體存取控制位址是否正確。
- 一種封包傳送方法,適用於基於軟體定義網路的一資料中心網路系統,其中所述資料中心網路系統包括多個實體機器、連接所述實體機器的多個乙太網路交換器、相互連結且連接所述乙太網路交換器的多個OpenFlow交換器以及連接至所述OpenFlow交換器的一中央控制裝置,所述實體機器包括一虛擬交換器與至少一虛擬主機,所述方法包括:由所述中央控制裝置在所述實體機器中的所述虛擬交換器以及所述OpenFlow交換器上設定多個流規則,以建立所述虛擬主機中之間用以傳送一封包的一路由路徑;由所述虛擬交換器依據所述流規則修改所述封包的目的地媒體存取控制位址為所述OpenFlow交換器的媒體存取控制位址,致使所述乙太網路交換器依據所述OpenFlow交換器的媒體存取控制位址將從所述虛擬交換器接收的所述封包轉傳至所述OpenFlow交換器中的一入口交換器;以及由所述OpenFlow交換器中的一出口交換器依據所述流規則 修改所述封包的目的地媒體存取控制位址為所述虛擬主機的媒體存取控制位址,致使所述乙太網路交換器依據所述虛擬主機的媒體存取控制位址將從所述出口交換器接收的所述封包轉傳至對應的所述虛擬交換器。
- 如申請專利範圍第13項所述的封包傳送方法,更包括:由所述出口交換器依據所述流規則修改所述封包的來源媒體存取控制位址為所述出口交換器的媒體存取控制位址。
- 如申請專利範圍第13項所述的封包傳送方法,更包括:由所述入口交換器依據所述流規則將所述封包的目的地媒體存取控制位址修改為所述OpenFlow交換器中的所述出口交換器的媒體存取控制位址,致使所述出口交換器接收所述封包。
- 如申請專利範圍第13項所述的封包傳送方法,其中所述虛擬主機中的第一虛擬主機經由所述路由路徑傳送所述封包至所述虛擬主機中的第二虛擬主機,所述方法更包括:由對應於所述第二虛擬主機的所述虛擬交換器依據所述流規則將所述封包的來源媒體存取控制位址從所述出口交換器的媒體存取控制位址還原為所述第一虛擬主機的媒體存取控制位址。
- 如申請專利範圍第13項所述的封包傳送方法,其中所述乙太網路交換器依據所述OpenFlow交換器的媒體存取控制位址 將從所述虛擬交換器接收的所述封包轉傳至對應的所述OpenFlow交換器中的所述入口交換器的步驟包括:由所述乙太網路交換器依據所述OpenFlow交換器的媒體存取控制位址查詢一轉送資訊庫(FIB),以經由所述乙太網路交換器的多個埠其中之一將帶有所述OpenFlow交換器的媒體存取控制位址的所述封包轉傳至所述入口交換器。
- 如申請專利範圍第13項所述的封包傳送方法,其中所述虛擬主機中的第一虛擬主機經由所述路由路徑傳送所述封包至所述虛擬主機中的第二虛擬主機,所述方法更包括:由所述第一虛擬主機產生所述封包、設定所述封包的目的地媒體存取控制位址為所述第二虛擬主機的媒體存取控制位址,以及發送所述封包至對應至同一實體機器的所述虛擬交換器。
- 如申請專利範圍第13項所述的封包傳送方法,其中所述實體機器的媒體存取控制位址訊框與所述虛擬主機的媒體存取控制位址訊框包括經配置以記錄實體虛擬指示符、租戶識別碼以及實體機器/虛擬主機識別碼的多個欄位。
- 一種位址解析方法,適用於基於軟體定義網路的一資料中心網路系統,其中所述資料中心網路系統包括多個實體機器、連接所述實體機器的多個乙太網路交換器、相互連結且連接所述乙太網路交換器的多個OpenFlow交換器,以及連接至所述OpenFlow交換器的一中央控制裝置,所述實體機器包括一虛擬交換器與至少一虛擬主機,所述方法包括: 由所述虛擬主機中的第一虛擬主機發出一位址解析協定(ARP)請求以查詢所述虛擬主機中的第二虛擬主機的媒體存取控制位址;由所述虛擬交換器或所述OpenFlow交換器攔截所述第一虛擬主機所發出的所述ARP請求並將所述ARP請求封裝後直接傳送至所述中央控制裝置;由所述中央控制裝置響應於接收所述ARP請求而利用一資料庫查詢所述第二虛擬主機的媒體存取控制位址,以依據所述第二虛擬主機的媒體存取控制位址產生一ARP回覆封包;以及由所述中央控制裝置發送所述ARP回覆封包至所述第一虛擬主機,致使所述第一虛擬主機獲取所述第二虛擬主機的媒體存取控制位址。
- 如申請專利範圍第20項所述的位址解析方法,所述方法更包括:由所述中央控制裝置響應於接收到所述ARP請求而在所述實體機器中的所述虛擬交換器以及所述OpenFlow交換器上設定多個流規則,以建立所述第一虛擬主機與所述第二虛擬主機之間的一路由路徑。
- 如申請專利範圍第20項所述的位址解析方法,其中所述虛擬交換器或所述OpenFlow交換器利用OpenFlow協定訊息中的Packet-In訊息將所述ARP請求封裝後直接發送至所述中央控制裝置。
- 如申請專利範圍第20項所述的位址解析方法,更包括:由所述中央控制裝置響應於接收所述ARP請求而發送一ARP請求封包至所述第二虛擬主機;由所述第二虛擬主機響應於接收所述ARP請求封包而發送一ARP回覆;以及由所述虛擬交換器或所述OpenFlow交換器攔截所述ARP回覆,並利用所述Packet-In訊息將所述ARP回覆封裝後直接傳送至所述中央控制裝置。
- 申請專利範圍23項所述的位址解析方法,更包括:由所述中央控制裝置響應於接收到所述ARP回覆而確認所述資料庫內之第二虛擬主機的媒體存取控制位址是否正確。
- 如申請專利範圍第23項所述的位址解析方法,其中所述實體機器與所述虛擬主機的媒體存取控制位址的訊框包括經配置以記錄實體虛擬指示符、租戶識別碼以及實體機器/虛擬主機識別碼的多個欄位。
- 一種路由控制器,用於基於軟體定義網路的一資料中心網路系統,其中所述資料中心網路系統包括連結至一聚積層網路的多個實體機器,所述聚積層網路包括多個乙太網路交換器,所述實體機器包括至少一虛擬主機與一虛擬交換器,所述路由控制器包括:一網路單元,連接至一核心網路,其中所述核心網路包括相 互連結的多個OpenFlow交換器並連結至所述聚積層網路;一處理器,耦接所述網路單元;以及一儲存單元,耦接至所述處理器並且存有多個指令,其中所述處理器執行所述指令以:決定所述虛擬主機中第一虛擬主機與所述虛擬主機中第二虛擬主機之間用以傳送一封包的一路由路徑;對所述路由路徑上的所述虛擬交換器下達命令,以控制所述虛擬交換器寫入一第一流規則至所述虛擬交換器的流表(flow table),所述第一流規則的動作包括:修改所述封包的目的地媒體存取控制位址為所述OpenFlow交換器的媒體存取控制位址;以及對所述路由路徑上的所述OpenFlow交換器下達命令,以控制所述OpenFlow交換器寫入一第二流規則至所述OpenFlow交換器的流表,所述第二流規則的動作包括:修改所述封包的目的地媒體存取控制位址為所述第二虛擬主機的媒體存取控制位址。
- 如申請專利範圍第26項所述的路由控制器,其中所述處理器執行所述指令以:對所述路由路徑上的所述虛擬交換器下達命令,以控制所述虛擬交換器寫入一第三流規則至所述虛擬交換器的流表,所述第三流規則的動作包括:將所述封包的來源媒體存取控制位址從所述OpenFlow交換器的媒體存取控制位址還原為所述第一虛擬主機的媒體存取控制位址。
- 如申請專利範圍第26項所述的路由控制器,其中所述處理器執行所述指令以:對所述路由路徑上的所述OpenFlow交換器中的入口交換器下達命令,以控制所述入口交換器寫入一第四流規則至所述入口交換器的流表,所述第四流規則的動作包括:將所述封包的目的地媒體存取控制位址修改為所述OpenFlow交換器中的一出口交換器的媒體存取控制位址;以及對所述路由路徑上的出口交換器下達命令,以控制所述出口交換器寫入一第五流規則至所述出口交換器的流表,所述第五流規則的動作包括:將所述封包的目的地媒體存取控制位址修改為所述第二虛擬主機的媒體存取控制位址,以及將所述封包的來源媒體存取控制位址修改為所述出口交換器的媒體存取控制位址。
- 如申請專利範圍第26項所述的路由控制器,其中當所述第一虛擬主機發出一位址解析協定(ARP)請求以查詢所述第二虛擬主機的媒體存取控制位址,所述處理器執行所述指令以:響應於接收所述ARP請求而利用一資料庫查詢所述第二虛擬主機的媒體存取控制位址,以依據所述第二虛擬主機的媒體存取控制位址產生一ARP回覆封包;以及利用Packet-Out訊息將所述ARP回覆封包發送至對應所述第一虛擬主機的第一虛擬交換器,致使所述第一虛擬交換器將所述ARP回覆封包轉傳至所述第一虛擬主機。
- 如申請專利範圍第29項所述的路由控制器,其中所述處理器執行所述指令以:響應於接收所述ARP請求,產生一ARP請求封包,並利用Packet_Out訊息將所述ARP請求封包發送至對應所述第二虛擬主機的第二虛擬交換器,致使所述第二虛擬主機接收所述ARP請求封包並響應於接收所述ARP請求封包而發送一ARP回覆;以及響應於接收關聯於所述ARP回覆的一ARP回覆封包,確認所述資料庫內之第二虛擬主機的媒體存取控制位址是否正確。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/957,612 US10063470B2 (en) | 2015-05-12 | 2015-12-03 | Data center network system based on software-defined network and packet forwarding method, address resolution method, routing controller thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562159965P | 2015-05-12 | 2015-05-12 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI543566B true TWI543566B (zh) | 2016-07-21 |
TW201640866A TW201640866A (zh) | 2016-11-16 |
Family
ID=56997240
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW104117469A TWI543566B (zh) | 2015-05-12 | 2015-05-29 | 基於軟體定義網路的資料中心網路系統及其封包傳送方法、位址解析方法與路由控制器 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10063470B2 (zh) |
TW (1) | TWI543566B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10615999B2 (en) | 2017-02-07 | 2020-04-07 | Industrial Technology Research Institute | Virtual local area network configuration system and method, and computer program product thereof |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10033693B2 (en) | 2013-10-01 | 2018-07-24 | Nicira, Inc. | Distributed identity-based firewalls |
US10554620B2 (en) * | 2015-05-29 | 2020-02-04 | Cisco Technology, Inc. | Default gateway extension |
US10324746B2 (en) | 2015-11-03 | 2019-06-18 | Nicira, Inc. | Extended context delivery for context-based authorization |
US10212122B2 (en) * | 2015-11-24 | 2019-02-19 | Red Hat Israel, Ltd | Fan network management |
KR102284953B1 (ko) * | 2016-01-13 | 2021-08-03 | 삼성전자 주식회사 | 소프트웨어 정의 네트워크 기반 이동통신 시스템에서 제어 메시지 전송 방법 및 장치 |
US9985870B2 (en) * | 2016-07-29 | 2018-05-29 | Nanning Fugui Precision Industrial Co., Ltd. | Network service method and system based on software defined networking |
US10802858B2 (en) | 2016-12-22 | 2020-10-13 | Nicira, Inc. | Collecting and processing contextual attributes on a host |
US10462182B2 (en) * | 2017-05-12 | 2019-10-29 | Vmware, Inc. | Thin agent-based SSL offloading |
US10628229B2 (en) * | 2017-08-11 | 2020-04-21 | Quanta Computer Inc. | Composing by network attributes |
JP6904861B2 (ja) * | 2017-09-13 | 2021-07-21 | キヤノン株式会社 | 通信装置、制御方法およびプログラム |
CN109861925B (zh) * | 2017-11-30 | 2021-12-21 | 华为技术有限公司 | 数据传输方法、相关装置及网络 |
TWI667895B (zh) * | 2017-12-21 | 2019-08-01 | 中華電信股份有限公司 | 多層級軟體式網路管理系統及其方法 |
CN109982156B (zh) * | 2017-12-28 | 2021-06-22 | 浙江宇视科技有限公司 | 一种基于sdn的快速组播轮切方法、装置及系统 |
US11550616B2 (en) | 2019-08-30 | 2023-01-10 | Nutanix, Inc. | Virtual IP support for bare metal cloud infrastructures |
US20210067466A1 (en) | 2019-08-30 | 2021-03-04 | Nutanix, Inc. | Virtual machine migration in cloud infrastructure networks |
US11429411B2 (en) | 2019-08-30 | 2022-08-30 | Nutanix, Inc. | Fast ARP cache rewrites in a cloud-based virtualization environment |
US10855644B1 (en) * | 2019-09-09 | 2020-12-01 | Vmware, Inc. | Address resolution protocol entry verification |
US11539718B2 (en) | 2020-01-10 | 2022-12-27 | Vmware, Inc. | Efficiently performing intrusion detection |
US11153261B2 (en) * | 2020-01-22 | 2021-10-19 | Cisco Technology, Inc. | Routing traffic for virtualized/containerized network functions |
US11929987B1 (en) * | 2020-02-25 | 2024-03-12 | Juniper Networks, Inc. | Preserving packet flow information across bump-in-the-wire firewalls |
US11575646B2 (en) | 2020-03-12 | 2023-02-07 | Vmware, Inc. | Domain name service (DNS) server cache table validation |
US11444836B1 (en) * | 2020-06-25 | 2022-09-13 | Juniper Networks, Inc. | Multiple clusters managed by software-defined network (SDN) controller |
US11108728B1 (en) * | 2020-07-24 | 2021-08-31 | Vmware, Inc. | Fast distribution of port identifiers for rule processing |
CN114760249B (zh) * | 2021-01-08 | 2023-08-04 | 大唐移动通信设备有限公司 | 一种基于sdn网络的数据处理方法和装置及设备 |
CN112769829B (zh) * | 2021-01-11 | 2022-10-04 | 科大讯飞股份有限公司 | 云物理机的部署方法、相关设备及可读存储介质 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8369333B2 (en) * | 2009-10-21 | 2013-02-05 | Alcatel Lucent | Method and apparatus for transparent cloud computing with a virtualized network infrastructure |
WO2011074516A1 (ja) | 2009-12-15 | 2011-06-23 | 日本電気株式会社 | ネットワークシステムとその制御方法、及びコントローラ |
US8989187B2 (en) * | 2010-06-04 | 2015-03-24 | Coraid, Inc. | Method and system of scaling a cloud computing network |
US9197555B2 (en) | 2010-08-20 | 2015-11-24 | Nec Corporation | Communication system, controller, node controlling method and program |
US9215175B2 (en) | 2010-09-09 | 2015-12-15 | Nec Corporation | Computer system including controller and plurality of switches and communication method in computer system |
US9106445B2 (en) * | 2011-06-16 | 2015-08-11 | Verizon Patent And Licensing Inc. | Virtual extended network |
US9185056B2 (en) | 2011-09-20 | 2015-11-10 | Big Switch Networks, Inc. | System and methods for controlling network traffic through virtual switches |
US9178833B2 (en) | 2011-10-25 | 2015-11-03 | Nicira, Inc. | Chassis controller |
US9203701B2 (en) | 2011-10-25 | 2015-12-01 | Nicira, Inc. | Network virtualization apparatus and method with scheduling capabilities |
US9515926B2 (en) | 2012-03-28 | 2016-12-06 | Nec Corporation | Communication system, upper layer switch, control apparatus, switch control method, and program |
CN103795815A (zh) * | 2012-10-29 | 2014-05-14 | 英业达科技有限公司 | 网络通讯系统以及网络通讯方法 |
US9036639B2 (en) * | 2012-11-29 | 2015-05-19 | Futurewei Technologies, Inc. | System and method for VXLAN inter-domain communications |
US9331946B2 (en) | 2013-01-08 | 2016-05-03 | Hitachi, Ltd. | Method and apparatus to distribute data center network traffic |
US9417901B2 (en) | 2013-01-11 | 2016-08-16 | Electronics And Telecommunications Research Institute | Switch and method for guaranteeing quality of service of multi-tenant cloud service and system having the same switch |
US20150326524A1 (en) * | 2013-01-24 | 2015-11-12 | Krishna Mouli TANKALA | Address resolution in software-defined networks |
WO2014136864A1 (ja) | 2013-03-07 | 2014-09-12 | 日本電気株式会社 | パケット書換装置、制御装置、通信システム、パケット送信方法及びプログラム |
US9432287B2 (en) * | 2013-03-12 | 2016-08-30 | International Business Machines Corporation | Virtual gateways and implicit routing in distributed overlay virtual environments |
US9270754B2 (en) | 2013-06-06 | 2016-02-23 | Cisco Technology, Inc. | Software defined networking for storage area networks |
US10498669B2 (en) * | 2013-08-20 | 2019-12-03 | Nec Corporation | Communication system, switch, controller, ancillary data management apparatus, data forwarding method, and program |
US9112794B2 (en) * | 2013-11-05 | 2015-08-18 | International Business Machines Corporation | Dynamic multipath forwarding in software defined data center networks |
WO2015100656A1 (zh) * | 2013-12-31 | 2015-07-09 | 华为技术有限公司 | 一种实现虚拟机通信的方法和装置 |
CN104301446B (zh) | 2014-08-08 | 2019-04-09 | 新华三技术有限公司 | 一种报文处理方法、交换机设备及系统 |
US9590898B2 (en) * | 2015-02-17 | 2017-03-07 | Telefonaktiebolaget L M Ericsson (Publ) | Method and system to optimize packet exchange between the control and data plane in a software defined network |
US20160315866A1 (en) * | 2015-04-27 | 2016-10-27 | Telefonaktiebolaget L M Ericsson (Publ) | Service based intelligent packet-in mechanism for openflow switches |
-
2015
- 2015-05-29 TW TW104117469A patent/TWI543566B/zh active
- 2015-12-03 US US14/957,612 patent/US10063470B2/en active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10615999B2 (en) | 2017-02-07 | 2020-04-07 | Industrial Technology Research Institute | Virtual local area network configuration system and method, and computer program product thereof |
Also Published As
Publication number | Publication date |
---|---|
US20160337236A1 (en) | 2016-11-17 |
TW201640866A (zh) | 2016-11-16 |
US10063470B2 (en) | 2018-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI543566B (zh) | 基於軟體定義網路的資料中心網路系統及其封包傳送方法、位址解析方法與路由控制器 | |
JP7417825B2 (ja) | スライスベースルーティング | |
US10320664B2 (en) | Cloud overlay for operations administration and management | |
US10911355B2 (en) | Multi-site telemetry tracking for fabric traffic using in-band telemetry | |
CN105657081B (zh) | 提供dhcp服务的方法、装置及系统 | |
EP3063903B1 (en) | Method and system for load balancing at a data network | |
JP5654142B2 (ja) | ネットワーク・スイッチを構成するための方法 | |
JP6177890B2 (ja) | 別個のインフィニバンドサブネット間のトラフィックをファットツリールーティングに基づいてルーティングするためのシステムおよび方法 | |
CN104937885B (zh) | 用于结构交换机的全局vlan | |
TWI441476B (zh) | 用以安排胖樹網路中之資料封包傳送路由的方法 | |
US8358661B2 (en) | Remote adapter configuration | |
US8369296B2 (en) | Distributed link aggregation | |
US10193707B2 (en) | Packet transmission method and apparatus | |
US9577956B2 (en) | System and method for supporting multi-homed fat-tree routing in a middleware machine environment | |
US8489763B2 (en) | Distributed virtual bridge management | |
CN107770062A (zh) | 一种数据包发送方法、装置及网络架构 | |
CN105991387A (zh) | 虚拟扩展局域网的报文传输方法和装置 | |
EP3175590A1 (en) | Bridging clouds | |
JP2014135721A (ja) | データセンタネットワークのトラフィックを分配するための装置および方法 | |
CN116158063A (zh) | 多边以太信道(meec)创建和管理 | |
US20110262134A1 (en) | Hardware Accelerated Data Frame Forwarding | |
US20190140937A1 (en) | Weighted multipath routing configuration in software-defined network (sdn) environments | |
CN104717081A (zh) | 一种网关功能的实现方法及装置 | |
US11671345B2 (en) | Self-expansion of a layer 3 network fabric | |
EP2915315B1 (en) | Otv scaling using site virtual mac addresses |