TW201701612A - 網路控制方法及網路控制器 - Google Patents
網路控制方法及網路控制器 Download PDFInfo
- Publication number
- TW201701612A TW201701612A TW104121084A TW104121084A TW201701612A TW 201701612 A TW201701612 A TW 201701612A TW 104121084 A TW104121084 A TW 104121084A TW 104121084 A TW104121084 A TW 104121084A TW 201701612 A TW201701612 A TW 201701612A
- Authority
- TW
- Taiwan
- Prior art keywords
- path
- network
- algorithm
- software
- switches
- 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/14—Routing performance; Theoretical aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
- H04L49/256—Routing or path finding in ATM switching fabrics
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
一種網路控制方法及網路控制器。網路控制方法包括以下步驟。提供數個乙太網路交換器及m個軟體定義網路交換器,m≧1。以一第一主機為一起點,並以一第二主機為一終點,於此些乙太網路交換器及此些軟體定義網路交換器獲得一預設路徑。以各m個軟體定義網路交換器為另一起點,並以第二主機為終點,分別獲得k個備用路徑,k≧1。預設路徑及此些m*k個備用路徑組成一多層傳輸路徑圖。
Description
本揭露是有關於一種控制方法及控制器,且特別是有關於一種網路控制方法及網路控制器。
隨著資訊科技的發展,網路傳輸技術不斷推陳出新。舉例來說,在先前發展出的乙太網路架構中,乙太網路交換器具有高速、低成本及隨插即用(plug-and-play)的特性而被廣泛應用。
軟體定義網路架構(Software-defined networking,SDN)技術的出現,將控制平面(control plane)及資料平面(data plane)分別切割至控制器及交換器上。控制器可統籌管理底層(infrastructure layer)的網路通訊設備及監控網路狀態,並提供應用層(application layer)的服務以進行資源分配與使用。軟體定義網路架構具有相當彈性的網路控制及管理的特性,因此被視為一個對於下一世代網路相當重要的技術。
本揭露係有關於一種網路控制方法及網路控制器。
根據本揭露之第一方面,提出一種網路控制方法。
網路控制方法包括以下步驟。提供數個乙太網路交換器(Ethernet Switch)及m個軟體定義網路交換器(SDN Switch),其中m≧1。
以一第一主機為一起點,並以一第二主機為一終點,於此些乙太網路交換器及此些軟體定義網路交換器以獲得一預設路徑。以各m個軟體定義網路交換器為另一起點,並以第二主機為終點,各個軟體定義網路交換器分別獲得k個備用路徑,其中k≧1。此一預設路徑及此些m*k個備用路徑組成一個m層傳輸路徑圖。
根據本揭露之第二方面,提出一種網路控制器。網
路控制器連接至m個軟體定義網路交換器(SDN Switch)其中m≧1。網路控制器包括一處理單元及一儲存單元。處理單元係以一第一主機為一起點,並以一第二主機為一終點,於數個乙太網路交換器(Ethernet Switch)及此些軟體定義網路交換器獲得一預設路徑;並且處理單元以各m個軟體定義網路交換器為另一起點,且以第二主機為終點,使各個軟體定義網路交換器分別獲得k個備用路徑,其中k≧1。因此,預設路徑及此些m*k個備用路徑組成一個m層傳輸路徑圖。多層傳輸路徑圖儲存於儲存單元。
根據本揭露之第三方面,提出一種網路控制方法。
網路控制方法包括以下步驟。提供數個乙太網路交換器(Ethernet Switch)及m個軟體定義網路交換器(SDN Switch),其中m≧1。
此些乙太網路交換器及此些軟體定義網路交換器之間形成數個鏈結。以一第一主機為一起點,並以一第二主機為一終點,依據
此些鏈結之一即時頻寬使用量情況,獲得一最佳路徑。
為了對本揭露之上述及其他方面有更佳的瞭解,下文特舉各種實施例,並配合所附圖式,作詳細說明如下:
100‧‧‧混合網路架構
C1‧‧‧處理單元
C2‧‧‧儲存單元
CTR‧‧‧網路控制器
ES1~ES8‧‧‧乙太網路交換器
H1‧‧‧第一主機
H2‧‧‧第二主機
L1、L2‧‧‧路徑層
P0‧‧‧預設路徑
P11、P12、P21、P22、P61、P62、P63、P64‧‧‧備用路徑
S0‧‧‧資料伺服器
S310、S320、S330、S340‧‧‧流程步驟
SDNS1~SDNS2‧‧‧軟體定義網路交換器
第1圖繪示軟體定義網路與乙太網路之混合網路架構(hybrid SDN-Ethernet)之示意圖。
第2圖繪示網路控制器、軟體定義網路交換器及資料伺服器的方塊圖。
第3圖繪示一實施例之網路控制方法的流程圖。
第4圖繪示一最小生成樹(minimum spanning tree)之示意圖。
第5圖繪示預設路徑及備用路徑之示意圖。
第6圖繪示選擇最佳路徑之示意圖。
第7圖繪示最佳路徑之示意圖。
第8圖繪示對稱式傳輸路徑之示意圖。
第9~10圖繪示非對稱式傳輸路徑之示意圖。
在乙太網路交換器(Ethernet Switch)所組成的乙太網路架構中。乙太網路交換器具有高速、低成本及隨插即用(plug-and-play)的特性而被廣泛應用在區域網路(local area network),例如是資料中心(data center)、企業網路(Enterprise network)及家庭網路(home networks)中。乙太網路架構遵循
802.3生成樹協定(spanning tree protocol,STP)去建立單一最小生成樹(minimum spanning tree)。封包在乙太網路架構傳遞時僅能使用此生成樹,未出現在此生成樹上的實體鏈結(links)將會被封鎖以避免產生迴圈(traffic loop)。
在軟體定義網路交換器(SDN Switch)所組成的軟
體定義網路架構(Software-defined networking,SDN)中,控制平面(control plane)與資料平面(data plane)分別切割至網路控制器及軟體定義網路交換器上。網路控制器可統籌管理軟體定義網路交換器並監控網路狀態。軟體定義網路架構具有相當彈性的網路控制及管理的特性。在SDN架構中,目前開放流通訊協定(OpenFlow protocol,OFP)是介於軟體定義網路控制器與軟體定義網路交換器之間的一種傳輸協定,SDN架構中之交換器亦多會支援開放網路協定(OFP),因此,在一實施例中,以開放路徑交換器(OpenFlow Switch)代表軟體定義網路交換器(SDN Switch)。
請參照第1圖,其繪示軟體定義網路與乙太網路之
混合網路架構(hybrid SDN-Ethernet)100之示意圖。混合網路架構100包括數個乙太網路交換器(例如是乙太網路交換器ES1~ES7)、數個軟體定義網路交換器(例如是軟體定義網路交換器SDNS1~SDNS2)及一網路控制器CTR。第1圖的實線表示實體鏈結(physical link),虛線則表示網路控制器CTR的控制線路(control plane)。
軟體定義網路交換器SDNS1~SDNS2可能不支援
多層生成樹協定(Multiple Spanning Tree Protocol,MSTP)的功能,依照多層生成樹協定(MSTP)協定,乙太網路中可佈建n個實例(instance),其中每一實例(instance)儲存於橋接協定資料單元(Bridge Protocol Data Units,BPDUs)內,每一個實例中依照對應於該實例下所指派的每一個鏈路(link)的權重(weight),將生成出一最小生成樹,因此透過適當的規劃,乙太網路中可以存在數個不同路由的最小生成樹。每一最小生成樹並可包含數個虛擬區域網路識別碼(Virtual Local Area Network identification,VLAN ID),網路封包可依照所標載的虛擬區域網路識別碼(VLAN ID)在其對應的最小生成樹實例(instance)上進行路由,如此,可達到選路徑的目的。在本實施例中,軟體定義網路交換器SDNS1~SDNS2接收到乙太網路交換器傳送出來的橋接協定資料單元(BPDUs)時,軟體定義網路交換器SDNS1~SDNS2即以發送封包輸入訊息(packet-in message)方式去詢問網路控制器CTR有關對於此多層生成樹協定之橋接協定資料單元(MSTP BPDU)的處理方式。藉由網路控制器CTR來進行控制及處理多層生成樹協定之橋接協定資料單元(MSTP BPDU)並回覆給相對應的乙太網路交換器,軟體定義網路交換器SDNS1~SDNS2可以模擬為一般的乙太網路交換器。如此一來,不支援多層生成樹協定(MSTP)能力的軟體定義網路交換器SDNS1~SDNS2也可加入生成樹(spanning tree)。
因此,如第1圖所示,第一主機H1與第二主機H2
進行通訊,本實施例之第一主機H1連接至乙太網路交換器ES1,在此我們假定乙太網路交換器ES1連接到第一主機H1的埠(port)所對應的虛擬區域網路識別碼(VLAN ID)設定為x,意即由第一主機H1送入此乙太網路之乙太網路封包將被貼上VLAN x的標籤。藉由多層生成樹協定(MSTP),可以建構一個兼具有乙太網路交換器ES1~ES7及軟體定義網路交換器SDNS1~SDNS2的多層生成樹(multiple spanning tree)網路。在一實施例中,假設乙太網路中的多層生成樹共有i個,分別為T1、...、Ti(未繪示)。為了說明,假設最小生成樹T1之虛擬區域網路識別碼(VLAN ID)設定為x,如此由第一主機H1進入乙太網路之封包將於最小生成樹T1之實例(instance)上進行路由,換言之第一主機H1至第二主機H2間的路由將遵守最小生成樹T1上鏈接乙太網路交換器ES1至乙太網路交換器ES7之路由。在此,網路控制器CTR除了作為軟體定義網路交換器SDNS1~SDNS2的中央控管者,還兼具簡單網路管理協定(Simple Network Management Protocol,SNMP)之管理者的功能,透過簡單網路管理協定(SNMP)的管理功能去收集每條鏈結(link)上的頻寬使用量。
請參照第2圖,其繪示網路控制器CTR、軟體定義
網路交換器SDNS1~SDNS2及資料伺服器S0的方塊圖。資料伺服器S0收集各個鏈結的網路頻寬使用量之後,再傳遞給網路控
制器CTR。網路控制器CTR可以適時的根據網路狀態(例如,某條鏈結特別壅塞、某條鏈結已經斷線),來進行路徑變更,達成動態負載平衡。以下透過一流程圖詳細說明本實施例之混合網路架構100如何達成動態負載平衡的控制。
在另一實施例中,網路控制器CTR的功能可擴充,
而使資料伺服器S0內建於網路控制器CTR中。如此一來,網路控制器CTR可以直接收集各個鏈結的網路頻寬使用量。
請參照第3圖,其繪示本實施例之網路控制方法的
流程圖。在步驟S310中,提供數個乙太網路交換器(例如是第1圖之乙太網路交換器ES1~ES7)及m個軟體定義網路交換器(例如是第1圖之軟體定義網路交換器SDNS1~SDNS2),以架構出軟體定義網路與乙太網路之混合網路架構100。m為大於或等於1的整數。
接著,請參照第4圖,其繪示一最小生成樹之示意
圖。在步驟S320中,網路控制器CTR之處理單元C1以第一主機H1為一起點,並以第二主機H2為一終點,於乙太網路交換器ES1~ES7及軟體定義網路交換器SDNS1~SDNS2在最小生成樹中存在一條預設路徑P0(繪示於第5圖)。補充說明的是,在此實施例中,乙太網路中使用多層生成樹協定(MSTP)於此乙太網路中建立i個多層生成樹。接著,請參照第4圖,假設第一主機H1連接到乙太網路交換器ES1的埠所對應的設定虛擬區域網路識別碼(VLAN ID)設定為x,並且此虛擬區域網路識別碼
(VLAN ID)為x其所對應的最小生成樹為T1(未繪示),如第
4圖所示。最小生成樹T1中軟體定義網路交換器SDNS1至第二主機H2存在一條路徑,在此稱此路徑為預設路徑並標識其為P0(繪示於第5圖)。如上所述,軟體定義網路交換器SDNS1~SDNS2可以模擬為一般的乙太網路交換器。如此一來,不支援多層生成樹協定(MSTP)能力的軟體定義網路交換器SDNS1~SDNS2,可以和乙太網路交換器ES1~ES7形成最小生成樹。
接著,請參照第5圖,其繪示預設路徑P0及備用路
徑P11、P12、P21、P22之示意圖。在步驟S330中,網路控制器CTR之處理單元C1以各m個軟體定義網路交換器SDNS1~SDNS2為另一起點,並以第二主機H2為終點,分別獲得k個備用路徑,例如由軟體定義網路交換器SDNS1至第二主機H2之備用路徑P11、P12;以及,軟體定義網路交換器SDNS2至第二主機H2的備用路徑P21、P22。補充說明的是,備用路徑P11、P12、P21、P22為單播(unicast)路徑且有其各自獨立的虛擬區域網路識別碼(VLAN ID),舉例來說,備用路徑P11所對應的虛擬區域網路識別碼(VLAN ID)設定為y。在一實施例中,為了於乙太網路中產生這些備用路徑P11、P12、P21、P22,需要為每一個備用路徑P11、P12、P21、P22產生出包含該備用路徑的實例(instance)。例如,將備用路徑P11配置於最小生成樹Ti+1實例(instance)中,除了指定備用路徑P11的虛擬區域網路識別碼(VLAN ID)為y歸屬於最小生成樹Ti+1外,最小生成樹Ti+1
其鏈結必須包含備用路徑P11所使用到的路由,即最小生成樹Ti+1包含鏈結(軟體定義網路交換器SDNS1,乙太網路交換器ES2)、(乙太網路交換器ES2,軟體定義網路交換器SDNS2)、(軟體定義網路交換器SDNS2,乙太網路交換器ES6)、以及(乙太網路交換器ES6,乙太網路交換器ES7),此外,上述的鏈結(軟體定義網路交換器SDNS1,乙太網路交換器ES2)、(乙太網路交換器ES2,軟體定義網路交換器SDNS2)、(軟體定義網路交換器SDNS2,乙太網路交換器ES6)、以及(乙太網路交換器ES6,乙太網路交換器ES7)其對應交換器的埠設定包含虛擬區域網路識別碼(VLAN ID)為y,且除了這些鏈結所屬的交換器設定包含虛擬區域網路識別碼(VLAN ID)為y以外,其它不在上述鏈結的任何交換器的埠將不設定虛擬區域網路識別碼(VLAN ID)為y。即,處理單元C1分別指定一虛擬區域網路識別碼(VLAN ID)至預設路徑P0及備用路徑P11、P12、P21、P22。補充說明的是,在其他實施例中,處理單元C1亦可分別指定路徑識別碼(path ID)至路徑P0及備用路徑P11、P12、P21、P22來識別不同路徑,並不限定使用虛擬區域網路識別碼(VLAN ID)。其中,處理單元C1亦會分別指定每一乙太網路交換器ES1~ES7及軟體定義網路交換器SDNS1~SDNS2的輸出入埠(input/output port)。
一實施例中,在多層生成樹協定(MSTP)之下,虛
擬區域網路識別碼(VLAN ID)最多為4096個,且可以有n個實例(instance)。若不考慮實例數,在指定一個虛擬區域網路識
別碼(VLAN ID)給預設路徑P0之後,k的範圍為:1≦k≦4095/m。
若考慮實例數,則k的範圍為:1≦k≦(4095/m)/n,其中n的範圍為:1≦n≦25。
為簡化說明,本實施例以k=2為例做說明。於步驟
S330中,處理單元C1係以一K最佳路徑演算法(K-best paths algorithm)、一K最短路徑演算法(K-shortest paths algorithm)或一K互斥路徑演算法(K-disjoint paths algorithm)獲得備用路徑P11、P12、P21、P22。此些演算法可以k值來設定欲獲得的路徑數量,以獲得k個備用路徑。
請參照第5圖,以軟體定義網路交換器SDNS1為起
點,並以第二主機H2為終點,而獲得了備用路徑P11、P12。預設路徑P0及備用路徑P11、P12組成一路徑層L1。以軟體定義網路交換器SDNS2為起點,並以第二主機H2為終點,而獲得了備用路徑P21、P22。預設路徑P0及備用路徑P21、P22組成另一路徑層L2。預設路徑P0及4(m*k)個備用路徑P11、P12、P21、P22組成多層傳輸路徑圖MP。多層傳輸路徑圖MP儲存於網路控制器CTR之儲存單元C2中。
路徑層L1中之備用路徑P11係以軟體定義網路交
換器SDNS1為起點,並以第二主機H2為終點。路徑層L2中之備用路徑P21、P22係以軟體定義網路交換器SDNS2為起點,並以第二主機H2為終點。路徑層L1中之備用路徑P11包括軟體定義網路交換器SDNS2。因此,路徑層L1中之備用路徑P11的軟
體定義網路交換器SDNS2可以連接(connect)至路徑層L2中之備用路徑P21、P22之其中之一。也就是說,路徑層L1可以透過軟體定義網路交換器SDNS2連接至路徑層L2。透過此多層傳輸路徑圖MP建置,網路控制器CTR可以依照網路狀況進行挑選,以達到動態的負載平衡。
在步驟S340中,網路控制器CTR之處理單元C1
根據多層傳輸路徑圖MP之一路徑擁塞情況,例如是鏈結最大擁塞量(most congested link)、一路徑交換器數量(hot count)或一路徑總頻寬(total bandwidth utilization),獲得一最佳路徑。在此步驟中,處理單元C1可以依照一線性規劃演算法(Integer Linear Programming Algorithm,ILP Algorithm)、一最小最大公平演算法(min-max fairness algorithm,MMF algorithm)、一全多項式時間近似方案演算法(Fully Polynomial Time Approximation Scheme Algorithm,FPTAS Algorithm)來獲得最佳路徑。網路控制器CTR將目前由第一主機H1傳送封包至第二主機H2的去程路徑動態調整為最佳路徑後,當封包要由第二主機H2回覆至第一主機H1的回程路徑且該回程路徑不同於去程路徑時,網路控制器CTR致使軟體定義網路交換器SDNS1、SDNS2發佈L2更新訊息(Layer 2 update message),或任何攜帶第一主機H1媒體存取控制(Media Access Control,MAC)地址之封包於軟體定義網路交換器SDNS1傳送至預設路徑以便更新至目前路徑中流經的乙太網路交換器上的轉發資料庫(forwarding information base,
FIB),來避免產生氾流(flooding)現象。軟體定義網路交換器SDNS1或軟體定義網路交換器SDNS2為第一主機H1至第二主機H2封包變更路徑後之新路徑與原預設路徑之第一個相交之軟體定義網路交換器。轉發資料庫亦稱為轉發表格(forwarding table)。
請參照第6圖,其繪示選擇最佳路徑之示意圖。以
第6圖為例,由上到下有4條路徑P61~P64時,各個鏈結上的數字分別表示頻寬已使用量。如表一所示,各路徑P61~P64的鏈結最大擁塞量分別是8、8、10、9。對路徑擁塞情況(即鏈結最大擁塞量)進行分析,路徑P61及P62的鏈結最大擁塞量最低。
接著,對路徑交換器數量進行分析。路徑P62的路
徑交換器數量低於路徑P61的路徑交換器數量,故選擇路徑P62作為最佳路徑。
在本實施例中,路徑擁塞情況、路徑交換器數量及
路徑總頻寬依序設定了優先考慮順序。在其他實施例中,亦可根據需求,調整優先考慮順序。
請參照第7圖,其繪示最佳路徑之示意圖。按照上
述方法,當第4圖之預設路徑P0在乙太網路交換器ES4與軟體定義網路交換器SDNS2之間產生斷線或嚴重擁塞時,可以透過上述方法挑選出第7圖之最佳路徑,以避開擁塞的情況,並達成動態負載平衡。
以下將說明路徑變更的實施例。請參照第8圖,其
繪示對稱式傳輸路徑之示意圖。在對稱式傳輸路徑中,網路控制器CTR控制去程路徑與回程路徑相同。首先定義舊路徑為預設路徑P0,其虛擬區域網路識別碼(VLAN ID)設定為10。新路徑為由軟體定義網路交換器SDNS1開始變更備用路徑P11,其虛擬區域網路識別碼設定為20。去程路徑定義為由第一主機H1傳輸至第二主機H2。回程路徑定義為由第二主機H2傳輸至第一主機H1。
在第8圖中,對稱式傳輸路徑是介於兩個開放式路
徑交換器SDNS1、SDNS2之間。在第一主機H1與第二主機H2之間的預設路徑P0上所使用的虛擬區域網路識別碼以刮號表示依序為:第一主機H1、乙太網路交換器ES1(10)、軟體定義網路交換器SDNS1(10)、乙太網路交換器ES3(10)、乙太網路交換器ES5(10)、乙太網路交換器ES6(10)、乙太網路交換器ES4(10)、軟體定義網路交換器SDNS2(10)、乙太網路交換器ES7(無須標示)、第二主機H2。當訊號由第一主機H1經過乙太網路交換器ES1到達軟體定義網路交換器SDNS1,因為軟體定義網
路交換器SDNS1一開始並不認得此訊號,因此需傳送一封包輸入訊息(packet-in message)給網路控制器CTR進行詢問有關虛擬區域網路識別碼為10的訊號應該如何處理。
而網路控制器CTR透過網路狀態的掌握決定更換
路徑到新路徑時,網路控制器CTR分別對軟體定義網路交換器SDNS1及軟體定義網路交換器SDNS2進行訊號接點(flow entries)的設定如表二。
表二的四個訊號接點(flow entries)經過更改後,
使其到去程路徑為上所使用的虛擬區域網路識別碼以刮號表示變更為:軟體定義網路交換器SDNS1(20)、乙太網路交換器ES2(20)、軟體定義網路交換器SDNS2(20)、乙太網路交換器ES7(無須標示)、第二主機H2。需注意的是,此四個訊號接點(flow entries)可於軟體定義網路交換器SDNS1第一次發封包輸入訊息給網路控制器CTR後,由網路控制器CTR同時對軟體定義網路交換器SDNS1及軟體定義網路交換器SDNS2就進行設定。
另外,可於訊號經過軟體定義網路交換器SDNS1
和乙太網路交換器ES2後,到達軟體定義網路交換器SDNS2時,由軟體定義網路交換器SDNS2再發一次封包輸入給網路控制器進行詢問有關虛擬區域網路識別碼為20的訊號該如何處理。網路控制器CTR再對軟體定義網路交換器SDNS2進行設定。
在第8圖中,網路控制器CTR於去程路徑已經完成
設定。因此,回程路徑中,訊號可由第二主機H2經預設路徑P0來到軟體定義網路交換器SDNS2,並利用與去程路徑中相同的備用路徑P11到軟體定義網路交換器SDNS1並回到第一主機H1。
此外,請再參照第9~10圖,其繪示非對稱式傳輸
路徑之示意圖。在非對稱式傳輸路徑中,網路控制器CTR控制去程路徑與回程路徑不同。非對稱式傳輸路徑不限於兩個軟體定義網路交換器之間的傳輸,亦可發生於僅只有一個軟體定義網路交換器的網路環境、及多於一個軟體定義網路交換器的網路環境中。
第9圖係以介於兩個軟體定義網路交換器SDNS1、
SDNS2之間的非對稱式傳輸路徑為例做說明。在第一主機H1與第二主機H2之間的預設路徑P0上所使用的虛擬區域網路識別碼以刮號表示為:第一主機H1、乙太網路交換器ES1(10)、軟體定義網路交換器SDNS1(10)、乙太網路交換器ES3(10)、乙太網路交換器ES5(10)、乙太網路交換器ES6(10)、乙太網路交換器ES4(10)、軟體定義網路交換器SDNS2(10)、乙太網路交換器ES7(無須標示)、第二主機H2。當訊號由第一主機H1經過乙太網路交換器ES1到達軟體定義網路交換器SDNS1時,因為軟體定義網路交換器SDNS1一開始並不認得此訊號,因此需傳送一封包輸入(packet-in message)給網路控制器CTR進行詢問有關虛擬區域網路識別碼為10的訊號應該如何處理。
網路控制器CTR透過網路狀態的掌握決定更換路
徑到新路徑時,網路控制器CTR分別對軟體定義網路交換器SDNS1及軟體定義網路交換器SDNS2進行訊號接點(flow entries)的設定如表三。
表三中軟體定義網路交換器SDNS1的第1個訊號接
點(flow entries)及軟體定義網路交換器SDNS2的第1個訊號接點經過更改後,使其到去程路徑為上所使用的虛擬區域網路識別碼以刮號表示變更為:軟體定義網路交換器SDNS1(20)、乙太網路交換器ES2(20)、軟體定義網路交換器SDNS2(20)、軟體定義網路交換器ES6(20)、軟體定義網路交換器ES7(不需標
示)、第二主機H2。注意的是,此2個訊號接點可於軟體定義網路交換器SDNS1第一次發封包輸入訊息給網路控制器CTR時,由網路控制器CTR同時對軟體定義網路交換器SDNS1及軟體定義網路交換器SDNS2就進行設定。
如第9圖所示,當訊號要由第二主機H2回覆至第
一主機H1的回程路徑,訊號由第二主機H2經過乙太網路交換器ES7到達軟體定義網路交換器SDNS2。因為軟體定義網路交換器SDNS2一開始並不認得此訊號,因此傳送封包輸入訊息給網路控制器CTR進行詢問有關虛擬區域網路識別碼為10的訊號應該如何處理。網路控制器CTR再分別對軟體定義網路交換器SDNS1及軟體定義網路交換器SDNS2進行訊號接點的設定。
如表三所示,軟體定義網路交換器SDNS1的第2
個訊號接點及軟體定義網路交換器SDNS2的第2個訊號接點設定為Normal,使其到達第一主機H1的回程路徑為預設路徑P0。因此,去程路徑不同於回程路徑為一種非對稱式傳輸路徑。
然而,在回程路徑上,因為有變更路徑,使得原本
在預設路徑P0上的乙太網路交換器未有第一主機H1的實體位址,因此網路控制器CTR設定離第一主機H1最近的一個軟體定義網路交換器(例如是軟體定義網路交換器SDNS1)可對舊路徑上的乙太網路交換器發佈L2更新訊息,以告知第一主機H1的資訊。當路徑變更時,本實施例之網路控制器CTR透過以下方式可避免產生氾流(flooding)現象。其中,網路控制器CTR變更路
徑後,當封包要由第二主機H2回覆至第一主機H1的回程路徑且該回程路徑不同於去程路徑時,網路控制器CTR致使軟體定義網路交換器SDNS 1發佈L2更新訊息(Layer 2 update message),或任何攜帶第一主機H1 MAC地址之封包於軟體定義網路交換器SDNS1傳送至預設路徑以便更新至流經目前路徑中的乙太網路交換器ES1~ES7上的轉發資料庫(forwarding information base,FIB)。在回程路徑中負責發佈L2更新訊息的軟體定義網路交換器為第一主機H1至第二主機H2封包變更路徑後之新路徑與原預設路徑之第一個相交之軟體定義網路交換器,此實施例為軟體定義網路交換器SDN1。
第10圖係以一個軟體定義網路交換器SDNS1的非
對稱式傳輸路徑為例做說明。在此實施例中,第一主機H1與第二主機H2之間只有一個軟體定義網路交換器SDNS1。如此,在第一主機H1與第二主機H2之間的預設路徑P0上所使用的虛擬區域網路識別碼以刮號表示為:第一主機H1、乙太網路交換器ES1(10)、軟體定義網路交換器SDNS1(10)、乙太網路交換器ES3(10)、乙太網路交換器ES5(10)、乙太網路交換器ES6(10)、乙太網路交換器ES4(10)、乙太網路交換器ES8(10)、乙太網路交換器ES7(無須標示)、第二主機H2。當訊號由第一主機H1經過乙太網路交換器ES1到達軟體定義網路交換器SDNS1時,因為軟體定義網路交換器SDNS1一開始並不認得此訊號,因此需傳送一封包輸入(packet-in message)給網路控制器CTR進行詢
問有關虛擬區域網路識別碼為10的訊號應該如何處理。
網路控制器CTR透過網路狀態的掌握決定更換路
徑到新路徑時,網路控制器CTR對軟體定義網路交換器SDNS1進行訊號接點(flow entries)的設定如表四。
根據上述各種實施例,在軟體定義網路與乙太網路
之混合網路架構下,將部分的乙太網路交換器變更為軟體定義網路交換器,如此乙太網路交換器以及軟體定義網路交換器之間形成數個鏈結,網路控制器依據此些鏈結之即時頻寬使用量情況或網路狀態,獲得一最佳路徑,使得網路可以達成動態負載平衡。
並且,在m個軟體定義網路交換器下,可以利用各
種演算法計算出k條配用路徑。當有訊號流經軟體定義網路交換器時,此軟體定義網路交換器可以動態於此k條備用路徑中判斷是否更換路徑。若需要更換路徑,則可選擇負載較輕的路徑。
綜上所述,雖然本揭露已以各種實施例揭露如上,然其並非用以限定本揭露。本揭露所屬技術領域中具有通常知識者,在不脫離本揭露之精神和範圍內,當可作各種之更動與潤飾。因此,本揭露之保護範圍當視後附之申請專利範圍所界定者為準。
S310、S320、S330、S340‧‧‧流程步驟
Claims (18)
- 一種網路控制方法,包括:提供複數個乙太網路交換器(Ethernet Switch)及m個軟體定義網路交換器(SDN Switch),m≧1;以一第一主機為一起點,並以一第二主機為一終點,於該些乙太網路交換器及該些m個軟體定義網路交換器獲得一預設路徑;以及以各m個軟體定義網路交換器為另一起點,並以該第二主機為該終點,分別獲得k個備用路徑,k≧1,該預設路徑及該些m*k個備用路徑組成一多層傳輸路徑圖。
- 如申請專利範圍第1項所述之網路控制方法,其中該預設路徑及該些備用路徑均分別被指定一虛擬區域網路識別碼(Virtual Local Area Network identification,VLAN ID)。
- 如申請專利範圍第1項所述之網路控制方法,其中在獲得該些備用路徑之步驟中,係以一K最佳路徑演算法(K-best paths algorithm)、一K最短路徑演算法(K-shortest paths algorithm)或一K互斥路徑演算法(K-disjoint paths algorithm)獲得該些備用路徑。
- 如申請專利範圍第1項所述之網路控制方法,其中k≦(4095/m)/n,n為一多層生成樹協定(Multiple Spanning Tree Protocol,MSTP)之實例數(instance)。
- 如申請專利範圍第1項所述之網路控制方法,其中該些 m*k個備用路徑與該預設路徑組成m個路徑層,該些m個路徑層之其中之二透過該些m個軟體定義網路交換器之其中之一相互連接。
- 如申請專利範圍第1項所述之網路控制方法,更包括:根據該多層傳輸路徑圖之一路徑擁塞情況、一路徑交換器數量或一路徑總頻寬,獲得一最佳路徑。
- 如申請專利範圍第6項所述之網路控制方法,其中獲得該最佳路徑之步驟係以一線性規劃演算法(Integer Linear Programming Algorithm,ILP Algorithm)、一最小最大公平演算法(min-max fairness algorithm,MMF algorithm)、一全多項式時間近似方案演算法(Fully Polynomial Time Approximation Scheme Algorithm,FPTAS Algorithm)獲得該最佳路徑。
- 如申請專利範圍第6項所述之網路控制方法,更包括:更新一目前路徑為該最佳路徑,其中該些軟體定義網路交換器分別發佈一L2更新訊息(Layer 2 update message),以更新各該乙太網路交換器之一轉發資料庫(forwarding information base,FIB)。
- 一種網路控制器,連接至m個軟體定義網路交換器(SDN Switch),m≧1,該網路控制器包括:一處理單元,該處理單元係以一第一主機為一起點,並以一第二主機為一終點,於複數個乙太網路交換器(Ethernet Switch)及該些m個軟體定義網路交換器獲得一預設路徑,該處理單元並 以各m個軟體定義網路交換器為另一起點,且以該第二主機為該終點,分別獲得k個備用路徑,k≧1;以及一儲存單元,該預設路徑及該些m*k個備用路徑組成一多層傳輸路徑圖,該多層傳輸路徑圖儲存於該儲存單元。
- 如申請專利範圍第9項所述之網路控制器,其中該處理單元分別指定一虛擬區域網路識別碼(Virtual Local Area Network identification,VLAN ID)至該預設路徑及該些m*k個備用路徑。
- 如申請專利範圍第9項所述之網路控制器,其中該處理單元係以一K最佳路徑演算法(K-best paths algorithm)、一K最短路徑演算法(K-shortest paths algorithm)或一K互斥路徑演算法(K-disjoint paths algorithm)獲得該些備用路徑。
- 如申請專利範圍第9項所述之網路控制器,其中k≦(4095/m)/n,n為一多層生成樹協定(Multiple Spanning Tree Protocol,MSTP)之實例數(instance)。
- 如申請專利範圍第9項所述之網路控制器,其中該些m*k個備用路徑與該預設路徑組成m個路徑層,該些m個路徑層之其中之二透過該些m個軟體定義網路交換器之其中之一相互連接。
- 如申請專利範圍第9項所述之網路控制器,其中該處理單元更根據該多層傳輸路徑圖之一路徑擁塞情況、一路徑交換器數量或一路徑總頻寬,獲得一最佳路徑。
- 如申請專利範圍第14項所述之網路控制器,其中該處理單元係以一線性規劃演算法(Integer Linear Programming Algorithm,ILP Algorithm)、一最小最大公平演算法(min-max fairness algorithm,MMF algorithm)、一全多項式時間近似方案演算法(Fully Polynomial Time Approximation Scheme Algorithm,FPTAS Algorithm)獲得該最佳路徑。
- 如申請專利範圍第14項所述之網路控制器,其中該處理單元更用以更新一目前路徑為該最佳路徑,並控制該些軟體定義網路交換器分別發佈一L2更新訊息(Layer 2 update message),以更新各該乙太網路交換器之一轉發資料庫(forwarding information base,FIB)。
- 一種網路控制方法,包括:提供複數個乙太網路交換器(Ethernet Switch)及m個軟體定義網路交換器(SDN Switch),m≧1,該些乙太網路交換器及該些軟體定義網路交換器之間形成複數個鏈結;以及以一第一主機為一起點,並以一第二主機為一終點,依據該些鏈結之一即時頻寬使用量情況,獲得一最佳路徑。
- 如申請專利範圍第17項所述之網路控制方法,其中獲得該最佳路徑之步驟係以一線性規劃演算法(Integer Linear Programming Algorithm,ILP Algorithm)、一最小最大公平演算法(min-max fairness algorithm,MMF algorithm)、一全多項式時間近似方案演算法(Fully Polynomial Time Approximation Scheme Algorithm,FPTAS Algorithm)獲得該最佳路徑。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW104121084A TWI556599B (zh) | 2015-06-30 | 2015-06-30 | 網路控制方法及網路控制器 |
CN201510776085.7A CN106330707B (zh) | 2015-06-30 | 2015-11-13 | 网络控制方法及网络控制器 |
US14/981,900 US9825850B2 (en) | 2015-06-30 | 2015-12-28 | Network controlling method and network controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW104121084A TWI556599B (zh) | 2015-06-30 | 2015-06-30 | 網路控制方法及網路控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI556599B TWI556599B (zh) | 2016-11-01 |
TW201701612A true TW201701612A (zh) | 2017-01-01 |
Family
ID=57725057
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW104121084A TWI556599B (zh) | 2015-06-30 | 2015-06-30 | 網路控制方法及網路控制器 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106330707B (zh) |
TW (1) | TWI556599B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI672028B (zh) * | 2018-03-28 | 2019-09-11 | 廣達電腦股份有限公司 | 光纖盒、分配系統資源的方法與系統 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107948064B (zh) * | 2017-11-09 | 2021-06-01 | 浙江宇视科技有限公司 | 一种基于sdn的跨域组播方法及装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9185166B2 (en) * | 2012-02-28 | 2015-11-10 | International Business Machines Corporation | Disjoint multi-pathing for a data center network |
US9450874B2 (en) * | 2013-01-04 | 2016-09-20 | Futurewei Technologies, Inc. | Method for internet traffic management using a central traffic controller |
EP2787698B1 (en) * | 2013-04-03 | 2020-01-29 | Deutsche Telekom AG | A method and network for incremental deployment of software-defined networking into an enterprise network |
US9832102B2 (en) * | 2013-08-07 | 2017-11-28 | Telefonaktiebolaget L M Ericsson (Publ) | Automatic establishment of redundant paths with cautious restoration in a packet network |
US9307018B2 (en) * | 2013-09-11 | 2016-04-05 | International Business Machines Corporation | Workload deployment with real-time consideration of global network congestion |
CN103888369B (zh) * | 2014-04-10 | 2019-02-05 | 广州市高科通信技术股份有限公司 | 以太网通信方法、系统和sdn交换机 |
-
2015
- 2015-06-30 TW TW104121084A patent/TWI556599B/zh active
- 2015-11-13 CN CN201510776085.7A patent/CN106330707B/zh active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI672028B (zh) * | 2018-03-28 | 2019-09-11 | 廣達電腦股份有限公司 | 光纖盒、分配系統資源的方法與系統 |
US10728172B2 (en) | 2018-03-28 | 2020-07-28 | Quanta Computer Inc. | Method and system for allocating system resources |
Also Published As
Publication number | Publication date |
---|---|
CN106330707A (zh) | 2017-01-11 |
TWI556599B (zh) | 2016-11-01 |
CN106330707B (zh) | 2019-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10673741B2 (en) | Control device discovery in networks having separate control and forwarding devices | |
KR101155012B1 (ko) | 오픈플로우 네트워크 시스템 및 그 제어방법 | |
KR102123035B1 (ko) | 802.1aq에 대한 3 스테이지 폴딩된 clos 최적화 | |
US8107482B2 (en) | Multipath discovery in switched ethernet networks | |
CN107370673B (zh) | 一种网络中建立转发路径的方法、控制器及系统 | |
CN105393511B (zh) | 一种交换机模式切换方法、设备及系统 | |
CN102055665B (zh) | 广播上或nbma上的ospf点到多点模式 | |
WO2007090346A1 (fr) | Système de commande, procédé d'émission de message de données, et dispositif de réseau eternet | |
CN108650177A (zh) | 对sptn设备进行跨域业务配置的方法及系统 | |
US11290394B2 (en) | Traffic control in hybrid networks containing both software defined networking domains and non-SDN IP domains | |
WO2017084448A1 (zh) | 一种网络系统及网络运行方法 | |
KR101674177B1 (ko) | 멀티노드간 이더넷 가상연결서비스를 제공하는 트랜스포트 sdn 컨트롤러 및 멀티노드간 이더넷 가상연결서비스 제공 방법 | |
CN113242179A (zh) | 一种基于sdn的sr路径计算和标签栈生成的方法及sdn控制器 | |
EP2728797A1 (en) | Message processing method, device and system | |
TWI556599B (zh) | 網路控制方法及網路控制器 | |
US9614758B2 (en) | Communication system, integrated controller, packet forwarding method and program | |
US11296980B2 (en) | Multicast transmissions management | |
US9825850B2 (en) | Network controlling method and network controller | |
JP5233553B2 (ja) | ネットワーク経路設定システム、ネットワーク経路設定方法、及び、ネットワーク設定サーバ | |
JP6510992B2 (ja) | 経路集約装置および経路集約方法 | |
JPWO2015093478A1 (ja) | ネットワークシステム、制御装置、制御方法およびプログラム | |
WO2020087394A1 (zh) | 链路资源的传输方法及装置 | |
Anderson et al. | Decentralised, dynamic network path selection in high performance computing | |
Luo et al. | Modeling and simulation of distribution power communication traffic engineering based on PTN | |
WO2015093476A1 (ja) | ネットワークシステム、制御装置、制御方法およびプログラム |