TWI660615B - 網路系統控制方法及網路系統 - Google Patents
網路系統控制方法及網路系統 Download PDFInfo
- Publication number
- TWI660615B TWI660615B TW105139409A TW105139409A TWI660615B TW I660615 B TWI660615 B TW I660615B TW 105139409 A TW105139409 A TW 105139409A TW 105139409 A TW105139409 A TW 105139409A TW I660615 B TWI660615 B TW I660615B
- Authority
- TW
- Taiwan
- Prior art keywords
- entries
- entry
- destination address
- redundant
- group
- Prior art date
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一種網路系統控制方法,包含於一交換器及一控制器之間的一網路協定路徑,攔截一流程修改訊息,從而取得一新流程條目;存取該交換器中的一流程表,從而取得複數個流程條目;根據該新流程條目及該複數個流程條目,置入至少一冗置流程條目;對該新流程條目、該複數個流程條目及該至少一冗置流程條目執行一聚合操作,從而產生一組聚合後流程條目;及使用該組聚合後流程條目,更新該流程表。
Description
本發明係關於一種網路系統控制方法,尤指一種可使用冗置流程條目,從而執行聚合操作以產生一組聚合後流程條目,且據以更新流程表的網路系統控制方法。
軟體定義網路(soft-defined networking; SDN)可將路由器的控制平面與資料平面分離,故可助於簡化網路事件的回應規則與行為模式之管理,並使硬體與通訊協定的更新更加容易達成。因此,軟體定義網路常被認為是次世代更佳之網路架構方案。
目前軟體定義網路可例如採用OpenFlow等介面技術,目前技術可於轉換器(switch)內設置流程表(flow table),流程表可包含多個流程條目(flow entry),用以與轉換器所接收的封包進行比對,從而決定封包之傳輸。
控制器(controller)可發送新的流程條目以寫入所述的流程表,然而,當流程表已滿,則可能無法正常寫入,此即流程表溢位(overflow)問題。舉例而言,當使用三元內容定址記憶體(ternary content addressable memory; TCAM),流程表之容量會受限於記憶體之尺寸,導致新的流程條目無法更新於流程表。因此,本領域實須解決方案,用以改善流程表溢位之缺失。
本發明一實施例提供一種網路系統控制方法,包含於一交換器及一控制器之間的一網路協定路徑,攔截該控制器發出的一流程修改訊息,從而取得一新流程條目;存取該交換器中的一流程表,從而取得複數個流程條目;根據該新流程條目及該複數個流程條目,置入至少一冗置流程條目;對該新流程條目、該複數個流程條目及該至少一冗置流程條目執行一聚合操作,從而產生一組聚合後流程條目;及使用該組聚合後流程條目,更新該流程表。
本發明一實施例提供一種網路系統,包含一控制器及一交換器。該控制器用以發送一流程修改訊息,及一封包。該交換器包含一安全通道模組及一路由單元。該安全通道模組透過一網路協定路徑連結於該控制器,用以接收該流程修改訊息。該路由單元用以儲存一流程表,該流程表具有複數個流程條目,該複數個流程條目係用以比對該封包,從而確認該封包之一目的地位址及一對應操作。該交換器係用以根據該流程修改訊息取得一新流程條目,根據該新流程條目及該複數個流程條目,置入至少一冗置流程條目,對該新流程條目、該複數個流程條目及該至少一冗置流程條目執行一聚合操作,從而產生一組聚合後流程條目;且使用該組聚合後流程條目,更新該流程表。本發明關聯於一種高效率的網路系統控制方法,可有效解決現行物聯網架構中流程表溢位之缺陷。
第1圖係本發明實施例中的軟體定義網路的網路系統100之示意圖。網路系統100可包含控制器110及交換器120。交換器120可包含安全通道(security channel)模組120a及路由單元120b。安全通道模組120a可透過網路協定路徑Pt連結於控制器110。控制器110另可轉接至端點1301至130x,其中端點可例如為個人電腦等收發端。網路協定路徑Pt可例如為符合傳輸層安全協議(Transport Layer Security;TLS),或安全通訊協定(Secure Sockets Layer;SSL)的路徑,且可符合OpenFlow協定(OpenFlow protocol)。控制器100可用以發送流程修改訊息fm (如OpenFlow文件教導之flow_mod 要求訊息),及一封包Pk至交換器120。路由單元120b可包含流程表Tf,流程表Tf可包含多個流程條目(flow entries),流程表Tf可用以比對封包Pk,從而確認封包Pk的目的地位址及對應操作,例如應傳送至端點1301至130x的某一正確端點,因此,流程表Tf內的流程條目亦可作為流程規則(flow rule)。網路系統100可為硬體裝置及控制軟體整合之系統架構。
第2圖係本發明實施例的網路控制方法的方塊示意圖。本案實施例提供的方法可稱為交換器內動態流程聚合法(in-switch dynamic flow aggregation method; 簡稱IDFA)。第3圖係本發明實施例的網路控制方法200的流程圖。第3圖可搭配參照第1圖、第2圖。網路控制方法200可包含:
步驟210:於交換器120及控制器110之間的網路協定路徑Pt,攔截(intercept)控制器110發出的流程修改訊息fm,從而取得一新流程條目nFE;
步驟220:存取交換器120中的流程表Tf,從而取得複數個流程條目FE1-FEm;
步驟230:根據新流程條目nFE及複數個流程條目FE1至FEm,置入至少一冗置流程條目(redundant flow entry)RFE;
步驟240:對新流程條目nFE、流程條目FE1至FEm及至少一冗置流程條目RFE執行聚合操作(aggregation),從而產生一組聚合後流程條目(aggregated flow entries) AFE;及
步驟250:使用該組聚合後流程條目AFE,更新流程表Tf。
其中,步驟220至230可將新流程條目nFE及複數個流程條目FE1至Fem排列整理後,據以填入冗置流程條目,其說明如下。
第4圖係本發明一實施例中,填入冗置流程條目以執行聚合操作的範例示意圖。若以OpenFlow技術為例,每一流程條目可記載匹配欄位(match field)、優先權重(priority),計數器(counter)、指令(instruction)、超時(timeout)、暫存(cookie)、旗標(flag)等,其中匹配欄位(match field)可記錄乙太網路類型(Ethernet Type)、協定種類(protocol)、來源網路協定(internet protocol,下稱IP)位址、目的地IP位址(以下簡稱目的地位址)、及動作欄位(action)等,因此,流程條目內含的位元數甚多。為簡易流程,根據本發明實施例,可允許僅檢查目的地位址。此處所述之位址,可使用點十進位標記法(dot-decimal notation)表示,舉例而言,IP位址140.113.6.2可表示為四組二進制的八位元欄位所組成的位址,如10001100.01110001.00000110.00000010。根據本發明實施例提供之方法,當位址的前三欄位相同時,可使用位址之最末欄位執行聚合操作。在第3圖的範例中,表格310中,可見已知的流程條目共三條,在此將其餘欄位均省略,將已知的流程條目表示為10110101→2、10110010→2、及10110000→2。其中,前八位元可為目的地位址的最末欄位,箭號後方之數字可為流程條目的動作欄位,對應於交換器120的連接埠號,例如「→2」,可表示將封包透過第2連接埠傳送到目的地位址。當目的地位址相同時,即可確認其傳送穿透的連接埠號相同,故本發明實施例中,使用目的地位址執行聚合操作,可確保動作欄位相符。此技術可適用於IPv4之網路,及採取最短路徑(shortest path)的路由演算法之應用。因此,根據本發明實施例,上述的步驟230可為根據新流程條目nFE的目的地位址(例如OpenFlow文件提及的dst_ip常數記載的目的地位址)及複數個已知的流程條目FE1-Fem的複數個目的地位址,據以置入至少一冗置流程條目RFE。
見表格320,可見表格310之三個流程條目(即10110101→2、10110010→2、及10110000→2)已依序列於由上方數來第一、三、六項。若以二進位觀之,可見前五位元之數字相同(即11010),後三位元應可有000至111共八種組合,由於其中三種組合已見於表格310,故可於表格320填入其餘五種組合。因此,可填入10110001、10110011、10110100、10110110、10110111等五數值,於表格320的第二、四、五、七、八項,以補足八種組合。被填入的五數值對應的動作欄位,於初填入時,應為未知,經驗證(validation)後,可對應於表格310中已知的流程條目,亦為→2。驗證方式可例如為交換器120傳送封包輸入訊息(如OpenFlow技術中的packet_in訊息)至控制器110,以確認置入的至少一冗置流程條目RFE之動作欄位之正確性。表格320所填入的五數值及其動作欄位,於此可視為五個被填入的流程條目,亦即可為上述的步驟230提及之冗置流程條目RFE。表格330係表格320之八個流程條目,經聚合操作的結果。此處所述的聚合操作可視為化簡操作,由於表格320的八個流程條目中,其數值的前五位元相同,故經聚合後,可表示為表格330中的10110**,且與其對應的動作欄位,一併表示為10110***→2。表格330中的流程條目10110***→2,即為聚合後流程條目。由此可見,原示於表格310之三個流程條目,經聚合後可用一流程條目表示,故流程條目數量可降低。第4圖僅為示例,以便說明,並非限制本發明的範圍。
第5圖可為本發明實施例網路控制方法200a的流程圖。網路控制方法200a可基於第3圖之網路控制方法200之原理。如前述,本發明實施例中,可根據流程條目之目的地位址,執行冗置流程條目之置入,以供後續執行聚合操作。故步驟230可包含步驟2310及2320。網路控制方法200a可包含:
步驟210:於交換器120及控制器110之間的網路協定路徑Pt,攔截(intercept)控制器110發出的流程修改訊息fm,從而取得一新流程條目nFE;
步驟220:存取交換器120中的流程表Tf,從而取得複數個流程條目FE1-FEm;
步驟2310:將新流程條目nFE的目的地位址、及複數個已知流程條目FE1至FEm之複數個目的地位址,展開後依序排列;
步驟2320:檢視新流程條目nFE的目的地位址及已知流程條目FE1-FEm之複數個目的地位址的排列,於不連續處填入至少一冗置流程條目REF,從而使新流程條目nFE的目的地位址、已知流程條目FE1-FEm之目的地位址、及至少一冗置流程條目RFE之至少一目的地位址可連續;
步驟240:對新流程條目nFE、流程條目FE1至FEm及至少一冗置流程條目RFE執行聚合操作(aggregation),從而產生一組聚合後流程條目(aggregated flow entries) AFE;及
步驟250:使用該組聚合後流程條目AFE,更新流程表Tf。
步驟2310、2320可為本發明實施例中,填入冗置流程條目的一實施方式。此外,第3圖的步驟240,其實施方式可為保留新流程條目nFE的目的地位址、流程表Tf中原先已知的流程條目FE1-FEm之複數個目的地位址、及加入的至少一冗置流程條目RFE之至少一目的地位址中相同之部份,且將不相同之部份,表示為通配符號(wildcard sign),例如星號,從而產生該組聚合後流程條目AFE。舉例而言,第4圖之表格330中,產生的聚合後流程條目(如10110***→2)即使用通配符號表示。根據本發明實施例,經聚合操作產生的聚合後流程條目,可使用無類別域間路由(Classless Inter-Domain Routing;下稱CIDR)格式表示。舉例而言,若產生的聚合後流程條目的目的地位址係140.113.1.000110**(或以IPv4表示法為10001100. 1110001.00000001.000110**),則最末的位元組000110**可表示為24/30。其中,斜線前之24可為第四位元、第五位元的1,斜線後的30,可用於計算32-30=2,故對應於末兩位元為兩通配符號(即**),其實質上可涵蓋00、01、10、11四種組合。
第6圖係本發明實施例之網路控制方法200b之流程圖。網路控制方法200b可基於網路控制方法200之原理。但於步驟230、240間,可選擇性執行步驟2610。網路控制方法200b可包含:
步驟210:於交換器120及控制器110之間的網路協定路徑Pt,攔截(intercept)控制器110發出的流程修改訊息fm,從而取得一新流程條目nFE;
步驟220:存取交換器120中的流程表Tf,從而取得複數個流程條目FE1-FEm;
步驟230:根據新流程條目nFE及複數個流程條目FE1至FEm,置入至少一冗置流程條目(redundant flow entry)RFE;
步驟2610:檢視新流程條目nFE及已知的複數個流程條目FE1-FEm的數量,相對於新流程條目nFE及流程條目FE1-FEm的數量與至少一冗置流程條目RFE的數量之和的比例,是否達到門檻值;若是,進入步驟240,若否,進入步驟210;
步驟240:對新流程條目nFE、流程條目FE1至FEm及至少一冗置流程條目RFE執行聚合操作(aggregation),從而產生一組聚合後流程條目(aggregated flow entries) AFE;及
步驟250:使用該組聚合後流程條目AFE,更新流程表Tf。
茲以第4圖為例說明原理。表格310可例如為新流程條目nFE及取自流程表Tf之已知的複數個流程條目FE1-FEm,於此例中,其數量係3個條目。經檢視後,可知應置入5個冗置流程條目,從而補到8個流程條目(其原理不另贅述)。根據本發明實施例,如第4圖之示例,置入冗置流程條目前、後的流程條目數量,可用以求得一比例為3/8,即37.5%。假設門檻值係設為40%,則此比例(37.5%)未達門檻值,可不觸發聚合操作。假設門檻值係設為35%,則此比例(37.5%)已達門檻值,則可觸發聚合操作。門檻值可根據統計或研發者設定。若門檻值過高,則過難觸發聚合操作,將導致減低流程條目的效果不佳,甚至導致流程表Tf中的流程條目已過期(expired)仍無法觸發聚合操作。若門檻值過低,則可能過度觸發聚合操作,導致控制器110的硬體負擔過重。因此,可設定合理之門檻值,以妥適地觸發聚合操作。
根據本發明實施例,前述的門檻值可例如(但不限於)聚合操作的結果而動態調整。下列的數學式eq-1可用以計算門檻值:
Thn+1
= f (Thn
,Cn
,Cn-1
) …… (eq-1)
其中,f()可表示一函數,Thn
可表示當前判斷是否觸發聚合操作的門檻值,Thn+1
可為下輪門檻值,即下一次用以判斷是否觸發聚合操作的門檻值。壓縮比Cn
可為聚合後流程條目AFE之數量、及流程條目FE1-FEm之數量的比值,前次壓縮比Cn-1
可為於一前次聚合操作後,流程條目FE1-FEm之數量、及前次聚合操作前之一組聚合前流程條目之數量的比值。舉例而言,若於第(n-1)次聚合操作,流程條目數量由K1條,被聚合而降至K2條,則壓縮比Cn-1
可為K2/K1。又,於第n次聚合操作時,用以判斷是否觸發聚合操作的門檻值可為Thn
,若觸發聚合操作,且流程條目數量由K2條,被聚合而降至K3條,則壓縮比Cn
可為K3/K2。於第(n+1)次聚合操作前,用以判斷是否觸發聚合操作的門檻值,可為門檻值Thn+1
。根據本發明實施例,數學式eq-1的函數,可例如(但不限於)數學式eq-2所述:
Thn+1
= f (Thn
,Cn
,Cn-1
) = Thn
+α(Cn
-Cn-1
) …… (eq-2)
其中,常數α可根據需求調整,例如可為1.5或2。若採用數學式eq-2,則每回的門檻值可逐漸提高,故當流程表Tf內的流程條目(或稱流程規則)因多次聚合操作而趨近收斂(converged)時,則觸發聚合操作之次數可減少。數學式eq-2僅為舉例,其餘動態調整門檻值之運算方式,仍為本發明實施例之範圍。
第7圖可為本發明實施例的網路控制方法200c的流程圖。網路控制方法200c可基於網路控制方法200的原理,且步驟240可包含步驟2410至2430。第8圖可為本發明實施例中,以初始流程條目OFE產生聚合後流程條目AFE的舉例示意圖。搭配參考第8圖,第7圖之網路控制方法200c可包含:
步驟210:於交換器120及控制器110之間的網路協定路徑Pt,攔截(intercept)控制器110發出的流程修改訊息fm,從而取得一新流程條目nFE;
步驟220:存取交換器120中的流程表Tf,從而取得複數個流程條目FE1-FEm;
步驟230:根據新流程條目nFE及複數個流程條目FE1至FEm,置入至少一冗置流程條目(redundant flow entry)RFE;
步驟2410:將新流程條目nFE、複數個流程條目FE1-FEm及至少一冗置流程條目RFE定義為一組初始流程條目OFE,將該組初始流程條目OFE依照動作欄位予以分組,從而產生複數組流程條目,歸類為組別G1-Gj;
步驟2420:組別G1-Gj中的每組流程條目可各自執行聚合操作,從而分別產生複數個中途流程條目FEp1-FEpj;
步驟2430:根據中途流程條目FEp1-FEpj產生該組聚合後流程條目AFE;及
步驟250:使用該組聚合後流程條目AFE,更新流程表Tf。
為便於說明,第8圖的示例中,第7圖所述的變數j係以4為例。第8圖僅為便於說明之示例,而非用以限制本發明實施例的範圍。第8圖所示的流程條目FE01到FE16,可為匯整新流程條目、及流程表內的流程條目所得到之多個流程條目。於此例中,流程條目FE01到FE16可定義為一組初始流程條目OFE。換言之,該組初始流程條目OFE即為尚未執行聚合操作、但可用以執行聚合操作之一組流程條目。第8圖所示的流程條目FE01到FE16並未將流程條目的完整格式繪出,僅繪出相關於聚合操作的目的地位址、及動作欄位,用以示意。於第8圖之示例中,可見流程條目FE01、FE02及FE04的動作欄位皆為「→2」,流程條目FE03及FE05-FE08的動作欄位皆為「→1」,流程條目FE09及FE13的動作欄位皆為「→3」,流程條目FE10-FE12及FE14-FE16的動作欄位皆為「→4」,故可根據動作欄位,將流程條目FE01-FE16分為組別G1、G2、G3、G4共四組。以組別G1為例,組別G1包含流程條目FE01、FE02、FE04,此三流程條目之目的地位址的前三欄位(10、0、0)係相同,第四欄位用八位元表示時,僅有最末兩位元相異,故組別G1可執行聚合操作,產生中途流程條目FEp1,FEp1係為10.0.0.0001000**→2。若以前述的CIDR格式表示,可將FEp1表示為10.0.0.16/30→2。同理,組別G2、G3、G4可各自執行操作操作,以分別產生中途流程條目FEp1(本例中為10.0.0.16/29→1)、FEp2(本例中為10.0.0.24/29→3)、FEp3(本例中為10.0.0.24/29→4)。
步驟2430中,根據中途流程條目FEp1-FEpj產生該組聚合後流程條目AFE可根據下述方式產生。根據本發明實施例,可檢視中途流程條目FEp1-FEpj之目的地位址是否重複,若中途流程條目FEp1-FEpj之兩流程條目之目的地位址重複,可將兩流程條目中,關聯於該組初始流程條目OFE之流程條目數量較多者,選入聚合後流程條目AFE。舉例而言,第8圖的中途流程條目FEp1與FEp2皆對應於目的地位址10.0.0.16,但中途流程條目FEp1係關聯於初始流程條目OFE的流程條目FE01、FE02及FE04共三個流程條目,中途流程條目FEp2係關聯於初始流程條目OFE的流程條目FE03、FE05、FE06及FE07共四個流程條目,故中途流程條目FEp2關聯初始流程條目OFE的流程條目數量較多,可將中途流程條目FEp2選入聚合後流程條目AFE。同理,中途流程條目FEp3及FEp4對應的目的地位址相同,可將中途流程條目FEp4選入聚合後流程條目AFE。如第8圖所示,可於交換器120設置堆疊(stack)810,將選中的流程條目(如中途流程條目FEp2、FEp4)置入堆疊810中。根據本發明實施例,置入堆疊810,即可為被選入聚合後流程條目AFE。
根據本發明實施例,關於步驟2430,亦可包含將中途流程條目FEp1至FEpj中,關聯於該組初始流程條目OFE之流程條目之目的地位址連號程度較低者,選入該組聚合後流程條目AFE。舉例而言,若第一中途流程條目係對應於初始流程條目中,目的地位址為10.0.0.00010000、10.0.0.00010001的流程條目,然而,第二中途流程條目係對應於初始流程條目中,目的地位址為10.0.0.00010000、10.0.0.00010010的流程條目,由於第二中途流程條目所對應的流程條目之目的地位址較不連續,故可將第二中途流程條目選入聚合後流程條目AFE中,例如置入第8圖之堆疊810。由於對應的流程條目之目的地位址較不連續的中途流程條目,其分散度較高,於後續之降階(degrade)操作較可能與其他流程條目執行聚合操作。關於降階操作,將敘於下文。
根據本發明實施例,關於步驟2430,亦可包含將複數個中途流程條目FEp1至FEpj中,以CIDR格式表示目的地位址時,斜線(slash)後方之數字較大者,選入該組聚合後流程條目AFE。由於CIDR格式的斜線後方的數字越大,表示以通配符號遮蓋(mask)的位元數越少,較不易執行降階操作,故較為接近無法聚合或簡化的流程條目,故可較先地予以選入堆疊,以選入選入該組聚合後流程條目AFE。上文提及的步驟2430之實施方式,可不相斥地採用。舉例而言,根據本發明實施例,上述的實施方式的優先順序可為(但不限於)表格1所述,其中:
(表格1)
根據本發明實施例,關於步驟2430,亦可包含將複數個中途流程條目FEp1至FEpj,執行降階操作,從而產生一組降階後流程條目,且將該組降階後流程條目選入該組聚合後流程條目AFE。此處所述的降階操作,可為在合理之情況下,將流程條目之目的地位址以CIDR格式表示時,其斜線後方的數字提高,亦即將使用通配符號(如星號)表示的位元數減少。根據本發明實施例,若多個流程條目可因聚合操作而被一聚合後的流程條目涵蓋,則可使用該聚合後的流程條目作為流程規則,降階操作可重複執行,直至流程條目無法再執行聚合操作且無法再降階,才被置入堆疊(如810),而被選入該組聚合後流程條目AFE。
第9圖可為本發明實施例中,以初始流程條目OFE產生聚合後流程條目AFE的舉例示意圖。第9圖可依時間軸,分為階段PH1至PH4。第9圖所示的初始流程條目OFE中的流程條目FE01-FE16,係同於第8圖之示例,故階段PH1中,關於中途流程條目FEp1至FEp4之產生,及將中途流程條目FEp2、FEp4選入堆疊810,從而被選入聚合後流程條目AFE,其原理不另贅述。第9圖的階段PH2中,未被選入堆疊810的中途流程條目FEp1,可執行前述的降階操作,亦即將其目的地位址10.0.0.16/30→2(亦即10.0.0.000100**→2)的斜線後數字提高,改寫為等義的10.0.0.16/31→2(亦即10.0.0.0001000*→2)及10.0.0.18/31→2(亦即10.0.0.0001001*→2),其分別對應於降階後流程條目FEd1及FEd2。同理,未被選入堆疊810的中途流程條目FEp3(具有目的地位址10.0.0.24/29→3),可執行前述的降階操作,被改寫為等義的10.0.0.24/30→3及10.0.0.28/30→3,其可分別對應於降階流程條目FEd3及FEd4。同上述原理,降階流程條目FEd1可關聯於初始流程條目OFE的流程條目FE01及FE02,但降階流程條目FEd2只可關聯於流程條目FE04,故降階流程條目FEd1可被選入堆疊810。同理,於階段PH3,降階後流程條目FEd2、FEd3、FEd4可被降階,以分別產生降階後流程條目FEd21,FEd31、FEd41。由於降階後流程條目FEd2被降階後而產生降階後流程條目FEd21,將還原為其初始的流程條目(即FE04),其目的地位址以CIDR格式表示,斜線後已為0,無法再降階,故可將降階後流程條目FEd21置入堆疊810,從而選入聚合後流程條目AFE。同理,於階段PH3、PH4,降階後流程條目FEd3及FEd4可逐步被降階而產生降階後流程條目FEd311及FEd411,其中FEd311可對應於初始流程條目OFE的流程條目FE09,且FEd311可對應於流程條目FE13。於階段PH4,降階後流程條目FEd311及FEd411可分別置入堆疊810。由第9圖可見,於階段PH4時,堆疊810由底部至頂部已可包含流程條目FEp2、FEp4、FEd1、FEd411及FEd311,此些流程條目可用以更新第1圖所示的流程表Tf內的流程規則。根據堆疊架構之先進後出(last-in-first-out; LILO)原則,堆疊810中,越靠近頂部的流程條目可優先取出用以檢查控制器110傳來的流程條目是否匹配。根據本發明實施例,當置入一流程條目到堆疊810時,可檢查被置入的流程條目是否與堆疊810內的流程條目重複,若是,則可不予置入。由第9圖可見,初始流程條目OFE中的16個流程條目FE01至FE16可經由聚合操作及降階操作,縮減至6個流程條目,故可將流程條目之數量有效縮減。
綜上,經使用本發明實施例提供的網路系統控制方法(IDFA法)及網路系統,可有效縮減流程表內的流程條目(或稱流程規則)之數目,從而改善流程表溢位之缺失。此外,本發明實施例之控制方法的操作速度及效能皆佳,舉例而言,於實驗室之測試案例中,流程條目達到收斂的壓縮比例可達1.29%,且操作時間可比早期技術縮短甚多,例如本發明實施例提供之方法,其操作時間可約為流程表縮減計畫法(Flow Table Reduction Scheme; FTRs)的20%。此外,使用本發明實施例之IDFA法,可確保資料之語義等效(semantical equivalency),可具有IP路由(IP routing)之優點,可於邊緣交換器(edge switch)執行流程條目之聚合,從而有利於流程條目數量的壓縮率、及減少硬體運算負荷。因此,本發明實施例提供的控制方法及系統,對於本領域實有助益。 以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
100‧‧‧網路系統
110‧‧‧控制器
120‧‧‧交換器
120a‧‧‧安全通道模組
120b‧‧‧路由單元
Tf‧‧‧流程表
1301至130x‧‧‧端點
FE1至FEm、FE01至FE16‧‧‧流程條目
nFE‧‧‧新流程條目
Pk‧‧‧封包
Pt‧‧‧網路協定路徑
fm‧‧‧流程修改訊息
RFE‧‧‧冗置流程條目
AFE‧‧‧聚合後流程條目
200、200a、200b、200c‧‧‧網路控制方法
210、220、230、240、250、2310、2320、2610、2410、2420、2430‧‧‧步驟
310、320、330‧‧‧表格
G1、G2、G3、G4、Gj‧‧‧組別
OFE‧‧‧初始流程條目
FEp1、FEp2、FEp3、FEp4‧‧‧中途流程條目
810‧‧‧堆疊
PH1、PH2、PH3、PH4‧‧‧階段
FEd1-FEd4、FEd21、FEd31、FEd41、FEd311、FEd411‧‧‧降階後流程條目
第1圖係本發明實施例中的軟體定義網路的網路架構之示意圖。 第2圖係本發明實施例的網路控制方法的方塊示意圖。 第3圖係本發明實施例的網路控制方法的流程圖。 第4圖係係本發明實施例中,填入冗置流程條目以執行聚合操作的範例示意圖。 第5圖係本發明實施例網路控制方法的流程圖。 第6圖係本發明實施例之網路控制方法之流程圖。 第7圖係本發明實施例之網路控制方法之流程圖。 第8圖可為本發明實施例中,以初始流程條目產生聚合後流程條目的舉例示意圖。 第9圖可為本發明實施例中,以初始流程條目產生聚合後流程條目的舉例示意圖
Claims (8)
- 一種網路系統控制方法,包含:於一交換器及一控制器之間的一網路協定路徑,攔截該控制器發出的一流程修改訊息,從而取得一新流程條目;存取該交換器中的一流程表,從而取得複數個流程條目;根據該新流程條目的一目的地位址及該複數個流程條目之複數個目的地位址,置入至少一冗置流程條目;對該新流程條目、該複數個流程條目及該至少一冗置流程條目執行一聚合操作,從而產生一組聚合後流程條目;及使用該組聚合後流程條目,更新該流程表;其中:根據該新流程條目的該目的地位址及該複數個流程條目之該複數個目的地位址,置入該至少一冗置流程條目,包含:將該新流程條目的該目的地位址及該複數個流程條目之該複數個目的地位址,展開後依序排列;及檢視該新流程條目的該目的地位址及該複數個流程條目之該複數個目的地位址之排列,於不連續處填入該至少一冗置流程條目,從而使該新流程條目的該目的地位址、該複數個流程條目之該複數個目的地位址、及該至少一冗置流程條目之至少一目的地位址可連續;及對該新流程條目、該複數個流程條目及該至少一冗置流程條目執行該聚合操作,從而產生該組聚合後流程條目,包含:保留該新流程條目的該目的地位址、該複數個流程條目之該複數個目的地位址、及該至少一冗置流程條目之該至少一目的地位址中相同之部份,且將不相同的部份表示為通配符號(wildcard sign),從而產生該組聚合後流程條目。
- 如請求項1所述之方法,另包含:該交換器傳送一封包輸入訊息至該控制器,以確認該至少一冗置流程條目之動作欄位之正確性。
- 如請求項1所述的方法,另包含:檢視該新流程條目及該複數個流程條目的數量,相對於該新流程條目及該複數個流程條目的數量與該至少一冗置流程條目的數量之和的一比例,是否達到一門檻值;其中對該新流程條目、該複數個流程條目及該至少一冗置流程條目執行該聚合操作,從而產生該組聚合後流程條目係於該比例已達該門檻值時執行。
- 如請求項3所述的方法,另包含根據一壓縮比、一前次壓縮比及該門檻值,產生一下輪門檻值,其中該壓縮比係該組聚合後流程條目之數量及該複數個流程條目之數量的比值,且該前次壓縮比係於一前次聚合操作後,該複數個流程條目之數量、及該前次聚合操作前之一組聚合前流程條目之數量的比值。
- 如請求項1所述之方法,其中對該新流程條目、該複數個流程條目及該至少一冗置流程條目執行該聚合操作,從而產生該組聚合後流程條目,另包含:將該新流程條目、該複數個流程條目及該至少一冗置流程條目定義為一組初始流程條目,將該組初始流程條目依照動作欄位予以分組,從而產生複數組流程條目;該複數組流程條目之每組流程條目各自執行聚合操作,從而產生複數個中途流程條目;及根據該複數個中途流程條目產生該組聚合後流程條目。
- 如請求項5所述之方法,其中根據該複數個中途流程條目產生該組聚合後流程條目,包含:檢視該複數個中途流程條目之目的地位址是否重複;及若該複數個中途流程條目之兩流程條目之目的地位址重複,將該兩流程條目中關聯於該組初始流程條目之流程條目數量較多者,選入該組聚合後流程條目。
- 如請求項5所述之方法,其中根據該複數個中途流程條目產生該組聚合後流程條目,包含:將該複數個中途流程條目中,以無類別域間路由格式表示目的地位址時,斜線後方之數字較大者,選入該組聚合後流程條目。
- 一種網路系統,包含:一控制器,用以發送一流程修改訊息,及一封包;及一交換器,包含一安全通道模組及一路由單元,該安全通道模組透過一網路協定路徑連結於該控制器,用以接收該流程修改訊息,該路由單元用以儲存一流程表,該流程表具有複數個流程條目,該複數個流程條目係用以比對該封包,從而確認該封包之一目的地位址及一對應操作,該交換器係用以根據該流程修改訊息取得一新流程條目,將該新流程條目的一目的地位址及該複數個流程條目之複數個目的地位址,展開後依序排列;檢視該新流程條目的該目的地位址及該複數個流程條目之該複數個目的地位址之排列,於不連續處填入至少一冗置流程條目,從而使該新流程條目的該目的地位址、該複數個流程條目之該複數個目的地位址、及該至少一冗置流程條目之至少一目的地位址可連續;保留該新流程條目的該目的地位址、該複數個流程條目之該複數個目的地位址、及該至少一冗置流程條目之該至少一目的地位址中相同之部份,且將不相同的部份表示為通配符號(wildcard sign),從而產生一組聚合後流程條目;且使用該組聚合後流程條目,更新該流程表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW105139409A TWI660615B (zh) | 2016-11-30 | 2016-11-30 | 網路系統控制方法及網路系統 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW105139409A TWI660615B (zh) | 2016-11-30 | 2016-11-30 | 網路系統控制方法及網路系統 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201820835A TW201820835A (zh) | 2018-06-01 |
TWI660615B true TWI660615B (zh) | 2019-05-21 |
Family
ID=63258067
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105139409A TWI660615B (zh) | 2016-11-30 | 2016-11-30 | 網路系統控制方法及網路系統 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI660615B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103729427A (zh) * | 2013-12-25 | 2014-04-16 | 南京未来网络产业创新有限公司 | 一种基于自定义多级流表增量更新的流表转换方法 |
WO2016018181A1 (en) * | 2014-07-28 | 2016-02-04 | Telefonaktiebolaget L M Ericsson (Publ) | Automated flow devolvement in an aggregate flow environment |
CN105516006A (zh) * | 2015-11-25 | 2016-04-20 | 英业达科技有限公司 | 流量条目聚合方法及相关的网络系统 |
TW201618587A (zh) * | 2014-11-06 | 2016-05-16 | 財團法人工業技術研究院 | 軟體定義網路與其行動管理方法與控制器 |
TW201624973A (zh) * | 2014-12-23 | 2016-07-01 | 財團法人工業技術研究院 | 軟體定義網路的控制方法、控制器和封包處理方法 |
-
2016
- 2016-11-30 TW TW105139409A patent/TWI660615B/zh active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103729427A (zh) * | 2013-12-25 | 2014-04-16 | 南京未来网络产业创新有限公司 | 一种基于自定义多级流表增量更新的流表转换方法 |
WO2016018181A1 (en) * | 2014-07-28 | 2016-02-04 | Telefonaktiebolaget L M Ericsson (Publ) | Automated flow devolvement in an aggregate flow environment |
TW201618587A (zh) * | 2014-11-06 | 2016-05-16 | 財團法人工業技術研究院 | 軟體定義網路與其行動管理方法與控制器 |
TW201624973A (zh) * | 2014-12-23 | 2016-07-01 | 財團法人工業技術研究院 | 軟體定義網路的控制方法、控制器和封包處理方法 |
CN105516006A (zh) * | 2015-11-25 | 2016-04-20 | 英业达科技有限公司 | 流量条目聚合方法及相关的网络系统 |
Also Published As
Publication number | Publication date |
---|---|
TW201820835A (zh) | 2018-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Chiesa et al. | Traffic engineering with equal-cost-multipath: An algorithmic perspective | |
US10715585B2 (en) | Packet processor in virtual filtering platform | |
JP5544429B2 (ja) | 複数のデータを処理するための方法および通信パケットをスイッチングするためのスイッチングデバイス | |
US9584398B2 (en) | Methods and apparatus to utilize route parameter sets for exchanging routes in a communication network | |
US10749794B2 (en) | Enhanced error signaling and error handling in a network environment with segment routing | |
Zhang et al. | BGP design and implementation | |
US9602428B2 (en) | Method and apparatus for locality sensitive hash-based load balancing | |
KR100834570B1 (ko) | 실시간 상태 기반 패킷 검사 방법 및 이를 위한 장치 | |
US9331910B2 (en) | Methods and systems for automatic generation of routing configuration files | |
US11398977B2 (en) | Packet classifier | |
CN105939284B (zh) | 报文控制策略的匹配方法及装置 | |
Schwabe et al. | Using MAC addresses as efficient routing labels in data centers | |
CN108075977B (zh) | 网络系统控制方法及网络系统 | |
CN106487769A (zh) | 一种访问控制列表acl的实现方法及装置 | |
CN109688237A (zh) | 一种nat转换方法、装置及nat设备 | |
CN109688238A (zh) | 一种nat转换方法、装置及nat设备 | |
TWI660615B (zh) | 網路系統控制方法及網路系統 | |
US20160337232A1 (en) | Flow-indexing for datapath packet processing | |
Chiu et al. | The design and implementation of a latency-aware packet classification for OpenFlow protocol based on FPGA | |
CN109714273A (zh) | 一种多核网络设备的报文处理方法及装置 | |
CN113872784B (zh) | 网络配置的验证方法和装置 | |
JP2018125745A (ja) | 転送装置及び転送方法 | |
US9152494B2 (en) | Method and apparatus for data packet integrity checking in a processor | |
Xu et al. | Source address filtering for large scale networks | |
US20230370336A1 (en) | Re-simulation of updated sdn connection flows |