[go: up one dir, main page]

TW201820835A - Network system control method and network system - Google Patents

Network system control method and network system Download PDF

Info

Publication number
TW201820835A
TW201820835A TW105139409A TW105139409A TW201820835A TW 201820835 A TW201820835 A TW 201820835A TW 105139409 A TW105139409 A TW 105139409A TW 105139409 A TW105139409 A TW 105139409A TW 201820835 A TW201820835 A TW 201820835A
Authority
TW
Taiwan
Prior art keywords
entries
entry
redundant
new
aggregation
Prior art date
Application number
TW105139409A
Other languages
Chinese (zh)
Other versions
TWI660615B (en
Inventor
葉宇清
趙梓佑
王國禎
Original Assignee
英業達股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 英業達股份有限公司 filed Critical 英業達股份有限公司
Priority to TW105139409A priority Critical patent/TWI660615B/en
Publication of TW201820835A publication Critical patent/TW201820835A/en
Application granted granted Critical
Publication of TWI660615B publication Critical patent/TWI660615B/en

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

A network system control method includes intercepting a flow modification message from an internet protocol path between a switch and a controller so as to obtain a new flow entry, accessing a flow table of the switch to obtain a plurality of flow entries, inserting at least one redundant flow entry according to the new flow entry and the plurality of flow entries, performing an aggregation operation to the new flow entry, the plurality of flow entries and the at least one redundant flow entry so as to generate a set of aggregated flow entries, and updating the flow table using the set of aggregated flow entries.

Description

網路系統控制方法及網路系統Network system control method and network system

本發明係關於一種網路系統控制方法,尤指一種可使用冗置流程條目,從而執行聚合操作以產生一組聚合後流程條目,且據以更新流程表的網路系統控制方法。The present invention relates to a network system control method, and more particularly to a network system control method that can use a redundant process entry to perform an aggregation operation to generate a set of aggregated process entries, and to update the flow table.

軟體定義網路(soft-defined networking; SDN)可將路由器的控制平面與資料平面分離,故可助於簡化網路事件的回應規則與行為模式之管理,並使硬體與通訊協定的更新更加容易達成。因此,軟體定義網路常被認為是次世代更佳之網路架構方案。Soft-defined networking (SDN) separates the control plane of the router from the data plane, which helps simplify the management of response rules and behavior patterns for network events and makes hardware and protocol updates even more Easy to achieve. Therefore, software-defined networks are often considered to be the next generation of better network architecture solutions.

目前軟體定義網路可例如採用OpenFlow等介面技術,目前技術可於轉換器(switch)內設置流程表(flow table),流程表可包含多個流程條目(flow entry),用以與轉換器所接收的封包進行比對,從而決定封包之傳輸。At present, the software-defined network can adopt, for example, an interface technology such as OpenFlow. Currently, the technology can set a flow table in a switch, and the flow table can include multiple flow entries for using the converter. The received packets are compared to determine the transmission of the packets.

控制器(controller)可發送新的流程條目以寫入所述的流程表,然而,當流程表已滿,則可能無法正常寫入,此即流程表溢位(overflow)問題。舉例而言,當使用三元內容定址記憶體(ternary content addressable memory; TCAM),流程表之容量會受限於記憶體之尺寸,導致新的流程條目無法更新於流程表。因此,本領域實須解決方案,用以改善流程表溢位之缺失。The controller can send a new process entry to write the process table. However, when the process table is full, it may not be able to write normally. This is the flow table overflow problem. For example, when using ternary content addressable memory (TCAM), the capacity of the flow table is limited by the size of the memory, resulting in new process entries not being updated in the process table. Therefore, there is a need in the art for solutions to improve the lack of process overflow.

本發明一實施例提供一種網路系統控制方法,包含於一交換器及一控制器之間的一網路協定路徑,攔截該控制器發出的一流程修改訊息,從而取得一新流程條目;存取該交換器中的一流程表,從而取得複數個流程條目;根據該新流程條目及該複數個流程條目,置入至少一冗置流程條目;對該新流程條目、該複數個流程條目及該至少一冗置流程條目執行一聚合操作,從而產生一組聚合後流程條目;及使用該組聚合後流程條目,更新該流程表。An embodiment of the present invention provides a network system control method, including a network protocol path between a switch and a controller, intercepting a process modification message sent by the controller, thereby obtaining a new process entry; Taking a flow table in the switch to obtain a plurality of process entries; and inserting at least one redundant process entry according to the new process entry and the plurality of process entries; the new process entry, the plurality of process entries, and The at least one redundant process entry performs an aggregation operation to generate a set of aggregated process entries; and updates the process table using the set of aggregated process entries.

本發明一實施例提供一種網路系統,包含一控制器及一交換器。該控制器用以發送一流程修改訊息,及一封包。該交換器包含一安全通道模組及一路由單元。該安全通道模組透過一網路協定路徑連結於該控制器,用以接收該流程修改訊息。該路由單元用以儲存一流程表,該流程表具有複數個流程條目,該複數個流程條目係用以比對該封包,從而確認該封包之一目的地位址及一對應操作。該交換器係用以根據該流程修改訊息取得一新流程條目,根據該新流程條目及該複數個流程條目,置入至少一冗置流程條目,對該新流程條目、該複數個流程條目及該至少一冗置流程條目執行一聚合操作,從而產生一組聚合後流程條目;且使用該組聚合後流程條目,更新該流程表。本發明關聯於一種高效率的網路系統控制方法,可有效解決現行物聯網架構中流程表溢位之缺陷。An embodiment of the invention provides a network system including a controller and a switch. The controller is used to send a process modification message and a packet. The switch includes a secure channel module and a routing unit. The secure channel module is coupled to the controller via a network protocol path for receiving the process modification message. The routing unit is configured to store a flow table having a plurality of process entries, the plurality of process entries being used to compare the packets, thereby confirming a destination address and a corresponding operation of the packet. The switch is configured to obtain a new process entry according to the process modification message, and according to the new process entry and the plurality of process entries, at least one redundant process entry, the new process entry, the plurality of process entries, and The at least one redundant process entry performs an aggregation operation to generate a set of aggregated process entries; and the process list is updated using the set of aggregated process entries. The invention is related to a high-efficiency network system control method, which can effectively solve the defects of the flow table overflow in the current Internet of Things architecture.

第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可為硬體裝置及控制軟體整合之系統架構。1 is a schematic diagram of a network system 100 of a software-defined network in an embodiment of the present invention. Network system 100 can include controller 110 and switch 120. The switch 120 can include a security channel module 120a and a routing unit 120b. The secure channel module 120a can be coupled to the controller 110 via a network protocol path Pt. The controller 110 can be further switched to the endpoints 1301 to 130x, wherein the endpoints can be, for example, a transceiver such as a personal computer. The network protocol path Pt may be, for example, a path conforming to Transport Layer Security (TLS), or Secure Sockets Layer (SSL), and may conform to an OpenFlow protocol. The controller 100 can be used to send a process modification message fm (such as the flow_mod request message taught by the OpenFlow file) and a packet Pk to the switch 120. The routing unit 120b may include a flow table Tf, the flow table Tf may include a plurality of flow entries, and the flow table Tf may be used to compare the packets Pk, thereby confirming the destination address of the packet Pk and corresponding operations, for example, should be transmitted to the end A certain correct endpoint of points 1301 to 130x, therefore, the process entry in the flow table Tf can also be used as a flow rule. The network system 100 can be a system architecture for hardware devices and control software integration.

第2圖係本發明實施例的網路控制方法的方塊示意圖。本案實施例提供的方法可稱為交換器內動態流程聚合法(in-switch dynamic flow aggregation method; 簡稱IDFA)。第3圖係本發明實施例的網路控制方法200的流程圖。第3圖可搭配參照第1圖、第2圖。網路控制方法200可包含:FIG. 2 is a block diagram showing a network control method according to an embodiment of the present invention. The method provided by the embodiment of the present invention may be referred to as an in-switch dynamic flow aggregation method (IDFA). Figure 3 is a flow diagram of a network control method 200 in accordance with an embodiment of the present invention. Fig. 3 can be used with reference to Fig. 1 and Fig. 2. The network control method 200 can include:

步驟210:於交換器120及控制器110之間的網路協定路徑Pt,攔截(intercept)控制器110發出的流程修改訊息fm,從而取得一新流程條目nFE;Step 210: Intercept the flow modification message fm sent by the controller 110 to the network protocol path Pt between the switch 120 and the controller 110, thereby obtaining a new process entry nFE;

步驟220:存取交換器120中的流程表Tf,從而取得複數個流程條目FE1-FEm;Step 220: Accessing the flow table Tf in the switch 120, thereby obtaining a plurality of flow entries FE1-FEm;

步驟230:根據新流程條目nFE及複數個流程條目FE1至FEm,置入至少一冗置流程條目(redundant flow entry)RFE;Step 230: According to the new process entry nFE and the plurality of process entries FE1 to FEm, at least one redundant flow entry RFE is placed;

步驟240:對新流程條目nFE、流程條目FE1至FEm及至少一冗置流程條目RFE執行聚合操作(aggregation),從而產生一組聚合後流程條目(aggregated flow entries) AFE;及Step 240: Perform an aggregation operation on the new process entry nFE, the process entries FE1 to FEm, and the at least one redundant process entry RFE, thereby generating a set of aggregated flow entries AFE;

步驟250:使用該組聚合後流程條目AFE,更新流程表Tf。Step 250: Update the flow table Tf using the group of post-aggregation process entries AFE.

其中,步驟220至230可將新流程條目nFE及複數個流程條目FE1至Fem排列整理後,據以填入冗置流程條目,其說明如下。Steps 220 to 230 may sort the new process entry nFE and the plurality of process entries FE1 to Fem, and then fill in the redundant process entry, which is described below.

第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。Figure 4 is a diagram showing an example of filling in a redundant process entry to perform an aggregation operation in an embodiment of the present invention. For example, in the case of OpenFlow technology, each process entry can record a match field, a priority, a counter, an instruction, a timeout, a temporary cookie, and a flag. Flag, etc., where the match field records the Ethernet Type, the protocol, the source protocol (IP) address, and the destination IP. The address (hereinafter referred to as the destination address), and the action field (action), etc., therefore, the flow entry contains a large number of bits. For a simple flow, it is permissible to check only the destination address in accordance with an embodiment of the present invention. The address described herein can be represented by a dot-decimal notation. For example, the IP address 140.113.6.2 can be represented as an address consisting of four binary octet fields. Such as 10001100.01110001.00000110.00000010. According to the method provided by the embodiment of the present invention, when the first three fields of the address are the same, the aggregation operation can be performed using the last field of the address. In the example of FIG. 3, in the table 310, there are three known process entries, where the remaining fields are omitted, and the known process entries are represented as 10110101→2, 10110010→2, and 10110000→2. . The first octet can be the last field of the destination address, and the number behind the arrow can be the action field of the process entry, corresponding to the connection nickname of the switch 120, for example, "→2", which indicates that The packet is transmitted to the destination address through the second port. When the destination addresses are the same, it can be confirmed that the connection nicknames of the transmissions are the same. Therefore, in the embodiment of the present invention, the aggregation operation is performed using the destination address to ensure that the action fields match. This technique can be applied to IPv4 networks and to the application of routing algorithms that take the shortest path. Therefore, according to the embodiment of the present invention, the foregoing step 230 may be based on a destination address of the new process entry nFE (for example, a destination address recorded by the dst_ip constant mentioned in the OpenFlow file) and a plurality of known flow entries FE1-Fem. A plurality of destination addresses are used to place at least one redundant process entry 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圖僅為示例,以便說明,並非限制本發明的範圍。Referring to the table 320, it can be seen that the three process entries of the table 310 (ie, 10110101→2, 10110010→2, and 10110000→2) have been sequenced by the first, third, and sixth items from the top. If the two figures are the same, it can be seen that the figures of the first five digits are the same (ie 11010). The latter three digits can have a total of eight combinations of 000 to 111. Since three combinations have been found in Form 310, they can be filled in Form 320. Into the remaining five combinations. Therefore, five values such as 10110001, 10110011, 10110100, 10110110, and 10110111 can be filled in the second, fourth, fifth, seventh, and eighth items of the table 320 to complement the eight combinations. The action field corresponding to the five-valued value that is filled in should be unknown when initially filled in. After validation, it can correspond to the process entry known in table 310, which is also →2. The verification mode may, for example, transmit a packet input message (such as a packet_in message in OpenFlow technology) to the controller 110 to confirm the correctness of the action field of the at least one redundant process entry RFE placed. The five values and the action fields filled in the table 320 can be regarded as five filled process entries, which can also be the redundant process entry RFE mentioned in the above step 230. Table 330 is the result of the aggregation operation of the eight process entries of table 320. The aggregation operation described herein can be regarded as a simplification operation. Since the first five digits of the values in the eight process entries of the table 320 are the same, after aggregation, it can be expressed as 10110** in the table 330, and The corresponding action field is also indicated as 10110***→2. The process entry 10110***→2 in the table 330 is the post-aggregation process entry. It can be seen that the three process entries originally shown in the table 310 can be represented by a process entry after aggregation, so the number of process entries can be reduced. The fourth drawing is only an example for the purpose of illustration and not limitation of the scope of the invention.

第5圖可為本發明實施例網路控制方法200a的流程圖。網路控制方法200a可基於第3圖之網路控制方法200之原理。如前述,本發明實施例中,可根據流程條目之目的地位址,執行冗置流程條目之置入,以供後續執行聚合操作。故步驟230可包含步驟2310及2320。網路控制方法200a可包含:FIG. 5 is a flowchart of a network control method 200a according to an embodiment of the present invention. The network control method 200a can be based on the principles of the network control method 200 of FIG. As described above, in the embodiment of the present invention, the placement of the redundancy process entry may be performed according to the destination address of the process entry for subsequent execution of the aggregation operation. Step 230 may include steps 2310 and 2320. The network control method 200a can include:

步驟210:於交換器120及控制器110之間的網路協定路徑Pt,攔截(intercept)控制器110發出的流程修改訊息fm,從而取得一新流程條目nFE;Step 210: Intercept the flow modification message fm sent by the controller 110 to the network protocol path Pt between the switch 120 and the controller 110, thereby obtaining a new process entry nFE;

步驟220:存取交換器120中的流程表Tf,從而取得複數個流程條目FE1-FEm;Step 220: Accessing the flow table Tf in the switch 120, thereby obtaining a plurality of flow entries FE1-FEm;

步驟2310:將新流程條目nFE的目的地位址、及複數個已知流程條目FE1至FEm之複數個目的地位址,展開後依序排列;Step 2310: The destination address of the new process entry nFE and the plurality of destination addresses of the plurality of known process entries FE1 to FEm are expanded and sequentially arranged;

步驟2320:檢視新流程條目nFE的目的地位址及已知流程條目FE1-FEm之複數個目的地位址的排列,於不連續處填入至少一冗置流程條目REF,從而使新流程條目nFE的目的地位址、已知流程條目FE1-FEm之目的地位址、及至少一冗置流程條目RFE之至少一目的地位址可連續;Step 2320: View the destination address of the new process entry nFE and the arrangement of the plurality of destination addresses of the known process entries FE1-FEm, and fill in at least one redundant process entry REF at the discontinuity, so that the new process entry nFE The destination address, the destination address of the known process entry FE1-FEm, and the at least one destination address of the at least one redundant process entry RFE may be consecutive;

步驟240:對新流程條目nFE、流程條目FE1至FEm及至少一冗置流程條目RFE執行聚合操作(aggregation),從而產生一組聚合後流程條目(aggregated flow entries) AFE;及Step 240: Perform an aggregation operation on the new process entry nFE, the process entries FE1 to FEm, and the at least one redundant process entry RFE, thereby generating a set of aggregated flow entries AFE;

步驟250:使用該組聚合後流程條目AFE,更新流程表Tf。Step 250: Update the flow table Tf using the group of post-aggregation process entries AFE.

步驟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四種組合。Steps 2310 and 2320 may be an embodiment of filling in a redundant process entry in the embodiment of the present invention. In addition, step 240 of FIG. 3 may be implemented by retaining a destination address of a new process entry nFE, a plurality of destination addresses of the previously known process entries FE1-FEm in the flow table Tf, and at least one redundancy added. The same part of the at least one destination address of the process entry RFE is set, and the different parts are represented as wildcard signs, such as asterisks, to generate the set of post-aggregation process entries AFE. For example, in the table 330 of FIG. 4, the generated post-aggregation process entries (eg, 10110***→2) are represented using wildcard symbols. According to the embodiment of the present invention, the post-aggregation process entry generated by the aggregation operation may be represented by a Classless Inter-Domain Routing (hereinafter referred to as CIDR) format. For example, if the generated destination address of the aggregated process entry is 140.113.1.000110** (or 10001100.1110001.00000001.000110** in IPv4 notation), the last byte 000110** can be expressed as 24/30. Among them, 24 before the slash can be the fourth bit, the fifth bit is 1, and the slash is 30, which can be used to calculate 32-30=2, so the last two digits are two wildcard symbols (ie **) It can cover four combinations of 00, 01, 10, and 11 in essence.

第6圖係本發明實施例之網路控制方法200b之流程圖。網路控制方法200b可基於網路控制方法200之原理。但於步驟230、240間,可選擇性執行步驟2610。網路控制方法200b可包含:Figure 6 is a flow chart of the network control method 200b of the embodiment of the present invention. The network control method 200b can be based on the principles of the network control method 200. However, between steps 230 and 240, step 2610 can be selectively performed. The network control method 200b can include:

步驟210:於交換器120及控制器110之間的網路協定路徑Pt,攔截(intercept)控制器110發出的流程修改訊息fm,從而取得一新流程條目nFE;Step 210: Intercept the flow modification message fm sent by the controller 110 to the network protocol path Pt between the switch 120 and the controller 110, thereby obtaining a new process entry nFE;

步驟220:存取交換器120中的流程表Tf,從而取得複數個流程條目FE1-FEm;Step 220: Accessing the flow table Tf in the switch 120, thereby obtaining a plurality of flow entries FE1-FEm;

步驟230:根據新流程條目nFE及複數個流程條目FE1至FEm,置入至少一冗置流程條目(redundant flow entry)RFE;Step 230: According to the new process entry nFE and the plurality of process entries FE1 to FEm, at least one redundant flow entry RFE is placed;

步驟2610:檢視新流程條目nFE及已知的複數個流程條目FE1-FEm的數量,相對於新流程條目nFE及流程條目FE1-FEm的數量與至少一冗置流程條目RFE的數量之和的比例,是否達到門檻值;若是,進入步驟240,若否,進入步驟210;Step 2610: View the ratio of the number of new process entries nFE and the known plurality of process entries FE1-FEm, relative to the sum of the number of new process entries nFE and process entries FE1-FEm and the number of at least one redundant process entry RFE Whether the threshold value is reached; if yes, proceed to step 240, if no, proceed to step 210;

步驟240:對新流程條目nFE、流程條目FE1至FEm及至少一冗置流程條目RFE執行聚合操作(aggregation),從而產生一組聚合後流程條目(aggregated flow entries) AFE;及Step 240: Perform an aggregation operation on the new process entry nFE, the process entries FE1 to FEm, and the at least one redundant process entry RFE, thereby generating a set of aggregated flow entries AFE;

步驟250:使用該組聚合後流程條目AFE,更新流程表Tf。Step 250: Update the flow table Tf using the group of post-aggregation process entries AFE.

茲以第4圖為例說明原理。表格310可例如為新流程條目nFE及取自流程表Tf之已知的複數個流程條目FE1-FEm,於此例中,其數量係3個條目。經檢視後,可知應置入5個冗置流程條目,從而補到8個流程條目(其原理不另贅述)。根據本發明實施例,如第4圖之示例,置入冗置流程條目前、後的流程條目數量,可用以求得一比例為3/8,即37.5%。假設門檻值係設為40%,則此比例(37.5%)未達門檻值,可不觸發聚合操作。假設門檻值係設為35%,則此比例(37.5%)已達門檻值,則可觸發聚合操作。門檻值可根據統計或研發者設定。若門檻值過高,則過難觸發聚合操作,將導致減低流程條目的效果不佳,甚至導致流程表Tf中的流程條目已過期(expired)仍無法觸發聚合操作。若門檻值過低,則可能過度觸發聚合操作,導致控制器110的硬體負擔過重。因此,可設定合理之門檻值,以妥適地觸發聚合操作。The principle is illustrated by taking Figure 4 as an example. The table 310 can be, for example, a new process entry nFE and a plurality of known process entries FE1-FEm taken from the process table Tf, in this case the number is three entries. After reviewing, it can be seen that five redundant process entries should be placed, thus adding up to eight process entries (the principle is not further described). According to an embodiment of the present invention, as in the example of FIG. 4, the number of current and subsequent process entries placed in the redundant process bar can be used to obtain a ratio of 3/8, that is, 37.5%. Assuming that the threshold value is set to 40%, this ratio (37.5%) does not reach the threshold value and may not trigger the aggregation operation. Assuming the threshold is set to 35%, this ratio (37.5%) has reached the threshold and triggers the aggregation operation. Threshold values can be set according to statistics or developers. If the threshold is too high, it is too difficult to trigger the aggregation operation, which will result in poor performance of the process entry, and even cause the process entry in the flow table Tf to expire (expired) still cannot trigger the aggregation operation. If the threshold is too low, the aggregation operation may be excessively triggered, resulting in the hardware of the controller 110 being overburdened. Therefore, a reasonable threshold can be set to properly trigger the aggregation operation.

根據本發明實施例,前述的門檻值可例如(但不限於)聚合操作的結果而動態調整。下列的數學式eq-1可用以計算門檻值:According to an embodiment of the invention, the aforementioned threshold value may be dynamically adjusted as a result of, for example, but not limited to, an aggregation operation. The following mathematical formula eq-1 can be used to calculate the threshold:

Thn+1 = f (Thn ,Cn ,Cn-1 ) …… (eq-1)Th n+1 = f (Th n , C n , C n-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所述:Where f() can represent a function, Th n can represent the threshold value of the current judgment whether to trigger the aggregation operation, and Th n+1 can be the threshold of the lower round, that is, the next threshold value for determining whether to trigger the aggregation operation. The compression ratio C n can be the ratio of the number of process entries AFE after aggregation and the number of process entries FE1-FEm. The previous compression ratio C n-1 can be the number of process entries FE1-FEm after a previous aggregation operation. And the ratio of the number of process entries before the previous aggregation operation. For example, if in the (n-1)th aggregation operation, the number of process entries is aggregated from K1 to K2, the compression ratio Cn-1 may be K2/K1. Further, when the polymerization in the n-th operation for deciding whether to trigger the polymerization may be operated threshold Th n, if the polymerization operation is triggered, and the number of entries in the flow section K2, K3 are polymerized reduced section, the compression ratio C n can be K3/K2. Before the (n+1)th aggregation operation, the threshold value for determining whether to trigger the aggregation operation may be the threshold value Th n+1 . According to an embodiment of the invention, the function of the mathematical formula eq-1 may be, for example but not limited to, the mathematical formula eq-2:

Thn+1 = f (Thn ,Cn ,Cn-1 ) = Thn +α(Cn -Cn-1 ) …… (eq-2)Th n+1 = f (Th n , C n , C n-1 ) = Th n +α(C n -C n-1 ) ...... (eq-2)

其中,常數α可根據需求調整,例如可為1.5或2。若採用數學式eq-2,則每回的門檻值可逐漸提高,故當流程表Tf內的流程條目(或稱流程規則)因多次聚合操作而趨近收斂(converged)時,則觸發聚合操作之次數可減少。數學式eq-2僅為舉例,其餘動態調整門檻值之運算方式,仍為本發明實施例之範圍。The constant α can be adjusted according to requirements, for example, 1.5 or 2. If the mathematical formula eq-2 is used, the threshold value of each time can be gradually increased, so when the process entry (or process rule) in the flow table Tf approaches convergence due to multiple aggregation operations, the aggregation is triggered. The number of operations can be reduced. The mathematical formula eq-2 is only an example, and the remaining dynamic adjustment threshold values are still within the scope of the embodiments of the present invention.

第7圖可為本發明實施例的網路控制方法200c的流程圖。網路控制方法200c可基於網路控制方法200的原理,且步驟240可包含步驟2410至2430。第8圖可為本發明實施例中,以初始流程條目OFE產生聚合後流程條目AFE的舉例示意圖。搭配參考第8圖,第7圖之網路控制方法200c可包含:FIG. 7 is a flowchart of the network control method 200c according to an embodiment of the present invention. Network control method 200c may be based on the principles of network control method 200, and step 240 may include steps 2410 through 2430. FIG. 8 is a schematic diagram showing an example of generating an aggregated process entry AFE by using an initial process entry OFE in the embodiment of the present invention. Referring to FIG. 8, the network control method 200c of FIG. 7 may include:

步驟210:於交換器120及控制器110之間的網路協定路徑Pt,攔截(intercept)控制器110發出的流程修改訊息fm,從而取得一新流程條目nFE;Step 210: Intercept the flow modification message fm sent by the controller 110 to the network protocol path Pt between the switch 120 and the controller 110, thereby obtaining a new process entry nFE;

步驟220:存取交換器120中的流程表Tf,從而取得複數個流程條目FE1-FEm;Step 220: Accessing the flow table Tf in the switch 120, thereby obtaining a plurality of flow entries FE1-FEm;

步驟230:根據新流程條目nFE及複數個流程條目FE1至FEm,置入至少一冗置流程條目(redundant flow entry)RFE;Step 230: According to the new process entry nFE and the plurality of process entries FE1 to FEm, at least one redundant flow entry RFE is placed;

步驟2410:將新流程條目nFE、複數個流程條目FE1-FEm及至少一冗置流程條目RFE定義為一組初始流程條目OFE,將該組初始流程條目OFE依照動作欄位予以分組,從而產生複數組流程條目,歸類為組別G1-Gj;Step 2410: Define a new process entry nFE, a plurality of process entries FE1-FEm, and at least one redundancy process entry RFE as a set of initial process entries OFE, and group the initial process entry OFE according to the action field to generate a complex number Group process entries, classified as group G1-Gj;

步驟2420:組別G1-Gj中的每組流程條目可各自執行聚合操作,從而分別產生複數個中途流程條目FEp1-FEpj;Step 2420: Each group of process entries in the groups G1-Gj may perform an aggregation operation, respectively, thereby generating a plurality of intermediate process entries FEp1-FEpj;

步驟2430:根據中途流程條目FEp1-FEpj產生該組聚合後流程條目AFE;及Step 2430: Generate the group of post-aggregation process entries AFE according to the intermediate process entry FEp1-FEpj; and

步驟250:使用該組聚合後流程條目AFE,更新流程表Tf。Step 250: Update the flow table Tf using the group of post-aggregation process entries AFE.

為便於說明,第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)。For convenience of explanation, in the example of Fig. 8, the variable j described in Fig. 7 is exemplified by 4. FIG. 8 is merely an illustrative example and is not intended to limit the scope of the embodiments of the present invention. The process entries FE01 to FE16 shown in FIG. 8 may be a plurality of process entries obtained by collecting new process entries and process entries in the process table. In this example, process entries FE01 through FE16 may be defined as a set of initial process entries OFE. In other words, the set of initial process entries OFE is a set of process entries that have not yet performed an aggregate operation but are available to perform an aggregate operation. The flow entries FE01 to FE16 shown in Fig. 8 do not depict the complete format of the process entry, only the destination address associated with the aggregation operation, and the action field are drawn for illustration. In the example of Figure 8, it can be seen that the action fields of process entries FE01, FE02 and FE04 are all "→2", and the action fields of process entries FE03 and FE05-FE08 are all "→1", process entries FE09 and FE13. The action fields are all "→3", and the action fields of the process entries FE10-FE12 and FE14-FE16 are all "→4", so the process entries FE01-FE16 can be divided into groups G1 according to the action fields. There are four groups of G2, G3 and G4. Taking group G1 as an example, group G1 includes process entries FE01, FE02, and FE04. The first three fields (10, 0, 0) of the destination address of the three process entries are the same, and the fourth field uses eight bits. In the representation, only the last two digits are different, so the group G1 can perform the aggregation operation, and the intermediate process entry FEp1 is generated, and the FEp1 system is 10.0.0.0001000**→2. If expressed in the aforementioned CIDR format, FEp1 can be expressed as 10.0.0.16/30→2. Similarly, groups G2, G3, and G4 can perform operation operations to generate intermediate process entries FEp1 (10.0.0.16/29→1 in this example) and FEp2 (10.0.0.24/29→3 in this example). ), FEp3 (10.0.0.24/29→4 in this example).

步驟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。In step 2430, the group of aggregated process entries AFE generated according to the intermediate process entry FEp1-FEpj can be generated according to the following manner. According to the embodiment of the present invention, whether the destination address of the intermediate process entry FEp1-FEpj is duplicated can be checked. If the destination address of the two process entries of the intermediate process entry FEp1-FEpj is repeated, the two process entries can be associated with the initial group. If the process entry OFE has a larger number of process entries, the process entry AFE is selected. For example, the intermediate process entries FEp1 and FEp2 of FIG. 8 correspond to the destination address 10.0.0.16, but the intermediate process entry FEp1 is associated with three process entries of the process entries FE01, FE02, and FE04 of the initial process entry OFE. The intermediate process entry FEp2 is associated with four process entries FE03, FE05, FE06, and FE07 of the initial process entry OFE. Therefore, the intermediate process entry FEp2 is associated with a large number of process entries of the initial process entry OFE, and the intermediate process entry FEp2 can be added. The process entry AFE is selected after the aggregation. Similarly, the destination addresses corresponding to the intermediate process entries FEp3 and FEp4 are the same, and the intermediate process entry FEp4 can be selected into the aggregated process entry AFE. As shown in FIG. 8, a stack 810 can be set in the switch 120 to place selected process entries (such as midway flow entries FEp2, FEp4) into the stack 810. According to an embodiment of the present invention, the stack 810 is placed, that is, it is selected into the post-aggregation process entry 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)操作較可能與其他流程條目執行聚合操作。關於降階操作,將敘於下文。According to an embodiment of the present invention, the step 2430 may further include: selecting, in the intermediate process entries FEp1 to FEpj, the lowest degree of the destination address of the process entry associated with the initial flow entry OFE of the group, and selecting the group after the aggregation. Process entry AFE. For example, if the first halfway process entry corresponds to the process entry in the initial process entry, the destination address is 10.0.0.00010000, 10.0.0.00010001, however, the second intermediate process entry corresponds to the initial process entry, the destination bit The process entry with the address of 10.0.0.00010000 and 10.0.0.00010010, because the destination address of the process entry corresponding to the second intermediate process entry is less continuous, the second intermediate process entry can be selected into the aggregated process entry AFE, for example Place stack 810 of Figure 8. Since the corresponding process entry has a destination address that is less continuous, the degree of dispersion is higher, and subsequent degrade operations are more likely to perform aggregation operations with other process entries. The reduction operation will be described below.

根據本發明實施例,關於步驟2430,亦可包含將複數個中途流程條目FEp1至FEpj中,以CIDR格式表示目的地位址時,斜線(slash)後方之數字較大者,選入該組聚合後流程條目AFE。由於CIDR格式的斜線後方的數字越大,表示以通配符號遮蓋(mask)的位元數越少,較不易執行降階操作,故較為接近無法聚合或簡化的流程條目,故可較先地予以選入堆疊,以選入選入該組聚合後流程條目AFE。上文提及的步驟2430之實施方式,可不相斥地採用。舉例而言,根據本發明實施例,上述的實施方式的優先順序可為(但不限於)表格1所述,其中: (表格1)According to an embodiment of the present invention, in step 2430, the plurality of intermediate process entries FEp1 to FEpj may be included, and when the destination address is expressed in the CIDR format, the number behind the slash is larger, and the group is aggregated. Process entry AFE. The larger the number behind the diagonal line of the CIDR format, the smaller the number of bits that are masked by the wildcard symbol, and the less likely to perform the step-down operation, so it is closer to the process items that cannot be aggregated or simplified, so it can be given earlier. Select the stack to select the process entry AFE after the group is selected. The implementation of step 2430 mentioned above may be employed without exclusion. For example, according to an embodiment of the present invention, the priority order of the foregoing embodiments may be, but is not limited to, described in Table 1, wherein: (Table 1)

根據本發明實施例,關於步驟2430,亦可包含將複數個中途流程條目FEp1至FEpj,執行降階操作,從而產生一組降階後流程條目,且將該組降階後流程條目選入該組聚合後流程條目AFE。此處所述的降階操作,可為在合理之情況下,將流程條目之目的地位址以CIDR格式表示時,其斜線後方的數字提高,亦即將使用通配符號(如星號)表示的位元數減少。根據本發明實施例,若多個流程條目可因聚合操作而被一聚合後的流程條目涵蓋,則可使用該聚合後的流程條目作為流程規則,降階操作可重複執行,直至流程條目無法再執行聚合操作且無法再降階,才被置入堆疊(如810),而被選入該組聚合後流程條目AFE。According to an embodiment of the present invention, regarding step 2430, the plurality of intermediate process entries FEp1 to FEpj may be included to perform a reduced-order operation, thereby generating a set of reduced-order process entries, and the group-reduced process entries are selected into the Process group entry AFE after group aggregation. The reduced-order operation described here may be such that when the destination address of the process entry is expressed in the CIDR format, the number behind the slash is increased, and the bit represented by the wildcard symbol (such as an asterisk) is also to be used. The number is reduced. According to the embodiment of the present invention, if multiple process entries may be covered by an aggregated process entry due to an aggregation operation, the aggregated process entry may be used as a process rule, and the reduced-order operation may be repeated until the process entry cannot be performed again. After performing the aggregation operation and no further reduction, it is placed in the stack (such as 810), and is selected into the group after the process entry 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個流程條目,故可將流程條目之數量有效縮減。FIG. 9 is a schematic diagram showing an example of generating a post-aggregation process entry AFE by using an initial process entry OFE in the embodiment of the present invention. Figure 9 can be divided into stages PH1 to PH4 according to the time axis. The flow entries FE01-FE16 in the initial flow entry OFE shown in Fig. 9 are the same as the example in Fig. 8, so in the phase PH1, the generation of the intermediate process entries FEp1 to FEp4, and the intermediate process entries FEp2, FEp4 The stack 810 is selected and selected into the post-aggregation process entry AFE, the principle of which is not described again. In the phase PH2 of FIG. 9, the intermediate process entry FEp1, which is not selected into the stack 810, can perform the aforementioned reduced-order operation, that is, its destination address is 10.0.0.16/30→2 (ie, 10.0.0.000100**→ 2) After the slash, the number is increased, and is rewritten as 10.0.0.16/31→2 (ie, 10.0.0.0001000*→2) and 10.0.0.18/31→2 (ie, 10.0.0.0001001*→2). Corresponding to the reduced-order process entries FEd1 and FEd2, respectively. Similarly, the intermediate process entry FEp3 (having the destination address 10.0.0.24/29→3) that is not selected into the stack 810 can perform the aforementioned reduced-order operation and is rewritten to the equivalent 10.0.0.24/30→3 and 10.0.0.28/30→3, which may correspond to the reduced order flow entries FEd3 and FEd4, respectively. With the above principle, the reduced-order process entry FEd1 can be associated with the process entries FE01 and FE02 of the initial process entry OFE, but the reduced-order process entry FEd2 can only be associated with the process entry FE04, so the reduced-order process entry FEd1 can be selected into the stack 810. Similarly, in stage PH3, the process entries FEd2, FEd3, and FEd4 can be reduced by the reduced order to generate the reduced-order process entries FEd21, FEd31, and FEd41, respectively. Since the process entry FEd2 is reduced after the reduced order, the process entry FEd21 is restored to its original process entry (ie, FE04). The destination address is represented in the CIDR format, and the slash is 0. After the step is reduced, the post-gradation process entry FEd21 can be placed in the stack 810 to select the post-aggregation process entry AFE. Similarly, in the phase PH3, PH4, the process entries FEd3 and FEd4 can be stepped down to generate the reduced-order process entries FEd311 and FEd411, wherein the FEd311 can correspond to the process entry FE09 of the initial process entry OFE, and the FEd311 can be Corresponds to the flow entry FE13. At stage PH4, the reduced process entries FEd311 and FEd411 can be placed in the stack 810, respectively. As can be seen from FIG. 9, at stage PH4, the stack 810 can include process entries FEp2, FEp4, FEd1, FEd411, and FEd311 from bottom to top. These process entries can be used to update the flow table Tf shown in FIG. Process rules. According to the stack-architecture (last-in-first-out; LILO) principle, in the stack 810, the closer to the top of the process entry, the priority is taken to check whether the process entries sent by the controller 110 match. According to an embodiment of the present invention, when a process entry is placed into the stack 810, it may be checked whether the placed process entry is duplicated with the process entry in the stack 810, and if so, may not be placed. It can be seen from FIG. 9 that the 16 process entries FE01 to FE16 in the initial process entry OFE can be reduced to 6 process entries via the aggregation operation and the reduced operation, so that the number of process entries can be effectively reduced.

綜上,經使用本發明實施例提供的網路系統控制方法(IDFA法)及網路系統,可有效縮減流程表內的流程條目(或稱流程規則)之數目,從而改善流程表溢位之缺失。此外,本發明實施例之控制方法的操作速度及效能皆佳,舉例而言,於實驗室之測試案例中,流程條目達到收斂的壓縮比例可達1.29%,且操作時間可比早期技術縮短甚多,例如本發明實施例提供之方法,其操作時間可約為流程表縮減計畫法(Flow Table Reduction Scheme; FTRs)的20%。此外,使用本發明實施例之IDFA法,可確保資料之語義等效(semantical equivalency),可具有IP路由(IP routing)之優點,可於邊緣交換器(edge switch)執行流程條目之聚合,從而有利於流程條目數量的壓縮率、及減少硬體運算負荷。因此,本發明實施例提供的控制方法及系統,對於本領域實有助益。 以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。In summary, by using the network system control method (IDFA method) and the network system provided by the embodiments of the present invention, the number of process entries (or process rules) in the process table can be effectively reduced, thereby improving the overflow of the process table. Missing. In addition, the operation speed and performance of the control method of the embodiment of the present invention are good. For example, in the test case of the laboratory, the compression ratio of the process item reaches convergence is up to 1.29%, and the operation time can be shortened much more than the earlier technology. For example, the method provided by the embodiment of the present invention may have an operation time of about 20% of the Flow Table Reduction Scheme (FTRs). In addition, the IDFA method of the embodiment of the present invention can ensure the semantic equivalency of the data, and can have the advantages of IP routing, and can perform process element aggregation on the edge switch. Conducive to the compression rate of the number of process entries, and reduce the hardware computing load. Therefore, the control method and system provided by the embodiments of the present invention are helpful in the field. The above are only the preferred embodiments of the present invention, and all changes and modifications made to the scope of the present invention should be within the scope of the present invention.

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‧‧‧降階後流程條目
100‧‧‧Network System
110‧‧‧ Controller
120‧‧‧Switch
120a‧‧‧Safe Channel Module
120b‧‧‧Route unit
Tf‧‧‧Flowsheet
1301 to 130x‧‧‧ endpoints
FE1 to FEm, FE01 to FE16‧‧‧ process entries
nFE‧‧‧ new process entry
Pk‧‧‧Package
Pt‧‧‧ network agreement path
Fm‧‧‧ process modification message
RFE‧‧‧ redundant process entry
AFE‧‧‧ post-aggregation process entry
200, 200a, 200b, 200c‧‧‧ network control methods
210, 220, 230, 240, 250, 2310, 2320, 2610, 2410, 2420, 2430 ‧ ‧ steps
Forms 310, 320, 330‧‧
Group G1, G2, G3, G4, Gj‧‧
OFE‧‧‧ initial process entry
FEp1, FEp2, FEp3, FEp4‧‧‧ midway process entries
810‧‧‧Stacking
PH1, PH2, PH3, PH4‧‧‧
FEd1-FEd4, FEd21, FEd31, FEd41, FEd311, FEd411‧‧‧

第1圖係本發明實施例中的軟體定義網路的網路架構之示意圖。 第2圖係本發明實施例的網路控制方法的方塊示意圖。 第3圖係本發明實施例的網路控制方法的流程圖。 第4圖係係本發明實施例中,填入冗置流程條目以執行聚合操作的範例示意圖。 第5圖係本發明實施例網路控制方法的流程圖。 第6圖係本發明實施例之網路控制方法之流程圖。 第7圖係本發明實施例之網路控制方法之流程圖。 第8圖可為本發明實施例中,以初始流程條目產生聚合後流程條目的舉例示意圖。 第9圖可為本發明實施例中,以初始流程條目產生聚合後流程條目的舉例示意圖FIG. 1 is a schematic diagram of a network architecture of a software-defined network in an embodiment of the present invention. FIG. 2 is a block diagram showing a network control method according to an embodiment of the present invention. Figure 3 is a flow chart of the network control method of the embodiment of the present invention. Figure 4 is a schematic diagram showing an example of filling in a redundant process entry to perform an aggregation operation in an embodiment of the present invention. Figure 5 is a flow chart of a network control method in accordance with an embodiment of the present invention. Figure 6 is a flow chart of the network control method of the embodiment of the present invention. Figure 7 is a flow chart of the network control method of the embodiment of the present invention. FIG. 8 is a schematic diagram showing an example of generating an aggregated process entry by using an initial process entry in the embodiment of the present invention. FIG. 9 is a schematic diagram showing an example of generating an aggregated process entry by using an initial process entry in an embodiment of the present invention.

Claims (10)

一種網路系統控制方法,包含: 於一交換器及一控制器之間的一網路協定路徑,攔截該控制器發出的一流程修改訊息,從而取得一新流程條目; 存取該交換器中的一流程表,從而取得複數個流程條目; 根據該新流程條目及該複數個流程條目,置入至少一冗置流程條目; 對該新流程條目、該複數個流程條目及該至少一冗置流程條目執行一聚合操作,從而產生一組聚合後流程條目;及 使用該組聚合後流程條目,更新該流程表。A network system control method includes: a network protocol path between a switch and a controller, intercepting a process modification message sent by the controller, thereby obtaining a new process entry; accessing the switch a process table to obtain a plurality of process entries; according to the new process entry and the plurality of process entries, at least one redundant process entry is placed; the new process entry, the plurality of process entries, and the at least one redundancy The process entry performs an aggregation operation to generate a set of post-aggregation process entries; and updates the process table using the group of post-aggregation process entries. 如請求項1所述之方法,另包含: 該交換器傳送一封包輸入訊息至該控制器,以確認該至少一冗置流程條目之動作欄位之正確性。The method of claim 1, further comprising: the switch transmitting a packet input message to the controller to confirm the correctness of the action field of the at least one redundant process entry. 如請求項1所述之方法,其中根據該新流程條目及該複數個流程條目,置入該至少一冗置流程條目,係: 根據該新流程條目的一目的地位址及該複數個流程條目之複數個目的地位址,據以置入該至少一冗置流程條目。The method of claim 1, wherein the at least one redundant process entry is placed according to the new process entry and the plurality of process entries, based on: a destination address of the new process entry and the plurality of process entries The plurality of destination addresses are used to place the at least one redundant process entry. 如請求項3所述之方法,其中: 根據該新流程條目及該複數個流程條目,置入該至少一冗置流程條目,包含: 將該新流程條目的一目的地位址及該複數個流程條目之複數個目的地位址,展開後依序排列;及 檢視該新流程條目的該目的地位址及該複數個流程條目之該複數個目的地位址之排列,於不連續處填入該至少一冗置流程條目,從而使該新流程條目的該目的地位址、該複數個流程條目之該複數個目的地位址、及該至少一冗置流程條目之至少一目的地位址可連續;及 對該新流程條目、該複數個流程條目及該至少一冗置流程條目執行該聚合操作,從而產生該組聚合後流程條目,包含: 保留該新流程條目的該目的地位址、該複數個流程條目之該複數個目的地位址、及該至少一冗置流程條目之該至少一目的地位址中相同之部份,且將不相同的部份表示為通配符號(wildcard sign),從而產生該組聚合後流程條目。The method of claim 3, wherein: the at least one redundant process entry is placed according to the new process entry and the plurality of process entries, including: a destination address of the new process entry and the plurality of processes a plurality of destination addresses of the entry, which are sequentially arranged after being expanded; and viewing the destination address of the new process entry and the arrangement of the plurality of destination addresses of the plurality of process entries, filling the at least one of the discontinuities Redoing the process entry such that the destination address of the new process entry, the plurality of destination addresses of the plurality of process entries, and the at least one destination address of the at least one redundant process entry are contiguous; The new process entry, the plurality of process entries, and the at least one redundant process entry perform the aggregation operation to generate the set of aggregated process entries, including: retaining the destination address of the new process entry, the plurality of process entries The plurality of destination addresses, and the same portion of the at least one destination address of the at least one redundant process entry, and the different portions are represented Wildcard (wildcard sign), to produce the set of polymerization process after entry. 如請求項1所述的方法,另包含: 檢視該新流程條目及該複數個流程條目的數量,相對於該新流程條目及該複數個流程條目的數量與該至少一冗置流程條目的數量之和的一比例,是否達到一門檻值; 其中對該新流程條目、該複數個流程條目及該至少一冗置流程條目執行該聚合操作,從而產生該組聚合後流程條目係於該比例已達該門檻值時執行。The method of claim 1, further comprising: reviewing the new process entry and the number of the plurality of process entries, relative to the new process entry and the number of the plurality of process entries and the number of the at least one redundant process entry Whether a ratio of the sum reaches a threshold; wherein the aggregation operation is performed on the new process entry, the plurality of process entries, and the at least one redundant process entry, thereby generating the group of aggregated process entries in the ratio Executed when the threshold is reached. 如請求項5所述的方法,另包含根據一壓縮比、一前次壓縮比及該門檻值,產生一下輪門檻值,其中該壓縮比係該組聚合後流程條目之數量及該複數個流程條目之數量的比值,且該前次壓縮比係於一前次聚合操作後,該複數個流程條目之數量、及該前次聚合操作前之一組聚合前流程條目之數量的比值。The method of claim 5, further comprising generating a round threshold based on a compression ratio, a previous compression ratio, and the threshold, wherein the compression ratio is the number of the group of aggregated process entries and the plurality of processes The ratio of the number of entries, and the previous compression ratio is the ratio of the number of the plurality of process entries and the number of the pre-aggregation process entries before the previous aggregation operation after a previous aggregation operation. 如請求項1所述之方法,其中對該新流程條目、該複數個流程條目及該至少一冗置流程條目執行該聚合操作,從而產生該組聚合後流程條目,包含: 將該新流程條目、該複數個流程條目及該至少一冗置流程條目定義為一組初始流程條目,將該組初始流程條目依照動作欄位予以分組,從而產生複數組流程條目; 該複數組流程條目之每組流程條目各自執行聚合操作,從而產生複數個中途流程條目;及 根據該複數個中途流程條目產生該組聚合後流程條目。The method of claim 1, wherein the aggregating operation is performed on the new process entry, the plurality of process entries, and the at least one redundant process entry, thereby generating the set of post-aggregation process entries, comprising: the new process entry The plurality of process entries and the at least one redundant process entry are defined as a set of initial process entries, and the set of initial process entries are grouped according to action fields to generate a complex array process entry; each group of the complex array process entries Each of the process entries performs an aggregation operation to generate a plurality of intermediate process entries; and generates the set of aggregated process entries based on the plurality of intermediate process entries. 如請求項7所述之方法,其中根據該複數個中途流程條目產生該組聚合後流程條目,包含: 檢視該複數個中途流程條目之目的地位址是否重複;及 若該複數個中途流程條目之兩流程條目之目的地位址重複,將該兩流程條目中關聯於該組初始流程條目之流程條目數量較多者,選入該組聚合後流程條目。The method of claim 7, wherein the generating the group of post-aggregation process entries according to the plurality of intermediate process entries comprises: checking whether a destination address of the plurality of intermediate process entries is repeated; and if the plurality of intermediate process entries are The destination address of the two process entries is duplicated, and the number of process entries associated with the initial process entry of the two process entries is selected, and the process group entry is selected. 如請求項7所述之方法,其中根據該複數個中途流程條目產生該組聚合後流程條目,包含: 將該複數個中途流程條目中,以無類別域間路由格式表示目的地位址時,斜線後方之數字較大者,選入該組聚合後流程條目。The method of claim 7, wherein the group of post-aggregation process entries are generated according to the plurality of midway process entries, comprising: slashing the destination address in the non-categorical inter-domain routing format in the plurality of intermediate process entries If the number in the rear is larger, the process entry of the group is selected. 一種網路系統,包含: 一控制器,用以發送一流程修改訊息,及一封包;及 一交換器,包含一安全通道模組及一路由單元,該安全通道模組透過一網路協定路徑連結於該控制器,用以接收該流程修改訊息,該路由單元用以儲存一流程表,該流程表具有複數個流程條目,該複數個流程條目係用以比對該封包,從而確認該封包之一目的地位址及一對應操作,該交換器係用以根據該流程修改訊息取得一新流程條目,根據該新流程條目及該複數個流程條目,置入至少一冗置流程條目,對該新流程條目、該複數個流程條目及該至少一冗置流程條目執行一聚合操作,從而產生一組聚合後流程條目;且使用該組聚合後流程條目,更新該流程表。A network system includes: a controller for transmitting a process modification message and a packet; and a switch including a secure channel module and a routing unit, the secure channel module passing through a network protocol path Linked to the controller for receiving the process modification message, the routing unit is configured to store a flow table, the flow table has a plurality of process entries, and the plurality of process entries are used to compare the packets to confirm the packet a destination address and a corresponding operation, the switch is configured to obtain a new process entry according to the process modification message, and insert at least one redundant process entry according to the new process entry and the plurality of process entries, The new process entry, the plurality of process entries, and the at least one redundant process entry perform an aggregation operation to generate a set of aggregated process entries; and the process list is updated using the group of aggregated process entries.
TW105139409A 2016-11-30 2016-11-30 Network system control method and network system TWI660615B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW105139409A TWI660615B (en) 2016-11-30 2016-11-30 Network system control method and network system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW105139409A TWI660615B (en) 2016-11-30 2016-11-30 Network system control method and network system

Publications (2)

Publication Number Publication Date
TW201820835A true TW201820835A (en) 2018-06-01
TWI660615B TWI660615B (en) 2019-05-21

Family

ID=63258067

Family Applications (1)

Application Number Title Priority Date Filing Date
TW105139409A TWI660615B (en) 2016-11-30 2016-11-30 Network system control method and network system

Country Status (1)

Country Link
TW (1) TWI660615B (en)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103729427B (en) * 2013-12-25 2017-08-29 南京未来网络产业创新有限公司 A kind of flow table conversion method based on self-defined multilevel flow table incremental update
WO2016018181A1 (en) * 2014-07-28 2016-02-04 Telefonaktiebolaget L M Ericsson (Publ) Automated flow devolvement in an aggregate flow environment
TWI552638B (en) * 2014-11-06 2016-10-01 財團法人工業技術研究院 Software defined network and mobility management method and controller thereof
TWI558133B (en) * 2014-12-23 2016-11-11 財團法人工業技術研究院 Controlling method, controller and packet processing method for a software-defined network
CN105516006A (en) * 2015-11-25 2016-04-20 英业达科技有限公司 Flow entry aggregation method and correlated network system

Also Published As

Publication number Publication date
TWI660615B (en) 2019-05-21

Similar Documents

Publication Publication Date Title
Chiesa et al. Traffic engineering with equal-cost-multipath: An algorithmic perspective
US10749794B2 (en) Enhanced error signaling and error handling in a network environment with segment routing
Zhang et al. BGP design and implementation
JP5544429B2 (en) Method for processing a plurality of data and switching device for switching communication packets
US9331910B2 (en) Methods and systems for automatic generation of routing configuration files
Masruroh et al. Performance evaluation of routing protocol RIPv2, OSPF, EIGRP with BGP
CN107332913A (en) A kind of Optimization deployment method of service function chain in 5G mobile networks
CN105939284B (en) The matching process and device of message control strategy
US10205788B2 (en) Run-time actionable information exchange system in a secure environment
Schwabe et al. Using MAC addresses as efficient routing labels in data centers
CN105556916A (en) Network flow information statistics method and apparatus
CN106685745B (en) A kind of constructing network topology method and device
CN112087533A (en) Message processing method, device, device and storage medium
US10069736B2 (en) Optimized in-network retransmission for information-centric networking protocols
CN110855424B (en) Method and device for synthesizing asymmetric flow xDR in DPI field
CN1761244A (en) Method for setting up notification function for route selection according to border gateway protocol
CN108075977B (en) Network system control method and network system
CN109688237A (en) A kind of NAT method, device and NAT device
CN109714273A (en) A kind of message processing method and device of multi-core network device
TWI660615B (en) Network system control method and network system
CN114145002A (en) Reachable matrix of network verification system
Chiu et al. The design and implementation of a latency-aware packet classification for OpenFlow protocol based on FPGA
CN107864100A (en) Network link flow equalization method and computer-readable storage medium
CN113542011A (en) Flow path selection method based on segment routing and mixed strategy game
CN107948091B (en) A method and device for classifying net packets

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees