CN113098778A - Flow table compression method based on spanning tree folding routing in software defined network - Google Patents
Flow table compression method based on spanning tree folding routing in software defined network Download PDFInfo
- Publication number
- CN113098778A CN113098778A CN202110364230.6A CN202110364230A CN113098778A CN 113098778 A CN113098778 A CN 113098778A CN 202110364230 A CN202110364230 A CN 202110364230A CN 113098778 A CN113098778 A CN 113098778A
- Authority
- CN
- China
- Prior art keywords
- flow
- spanning tree
- flow table
- node
- routing
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
Images
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/48—Routing tree calculation
-
- 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/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
- H04L45/74591—Address table lookup; Address filtering using content-addressable memories [CAM]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
The invention discloses a flow table compression method based on spanning tree folding routing in a software defined network, which comprises the following steps: firstly, according to a given network topology, collecting data packet requests of each node in a certain time period to obtain a flow matrix, and obtaining a time delay matrix according to link time delay between the nodes. And secondly, with the purposes of minimizing the path cost and the time delay cost and maximizing the link coincidence rate, the optimal goal is achieved by constraining the maximum capacity of each link section, the maximum time delay of each path, exhausting all feasible paths and other constraint conditions. The invention has the following advantages: the folded route is explored through integer Linear programming ILP (integer Linear program), so that all solution spaces can be flexibly solved, effective compromise is made between transmission delay and hardware cost of a chip only stored in a flow table, and optimal configuration of flow table compression is realized while the transmission efficiency of a data packet is guaranteed.
Description
Technical Field
The invention relates to a flow table compression method based on spanning tree folding routing in a software defined network.
Background
With the rapid development of big data services, the data exchange amount in the network increases in a super-linear manner, in a new software defined network, when a large amount of new data flows reach a data layer exchanger, if no matchable forwarding rule exists, a request is sent to a controller, and at this time, the controller needs to obtain the forwarding rule according to the whole network information and send the forwarding rule to a Flow Table (FT: Flow Table) of the exchanger to provide the matchable forwarding rule for the new data flows. The matching rule field in the flow table usually contains the source destination address, the source destination port number, some common protocols, and so on. And the controller sets the matching rules according to the fields, so the more the matching fields are, the more flexible the control layer is. However, such fine-grained rule design increases the number of rules that the data plane device needs to store. In order to implement the line speed matching between the data stream and the forwarding rule and ensure high-performance data forwarding, the current commercial switch usually employs special hardware, such as a Ternary Content-Addressable Memory (TCAM), to implement reading and storing of the stream table, which has the characteristics of high cost, large power consumption, large chip occupation area, and the like, and only 1600 forwarding rules are allowed to be stored at most at the same time, which easily causes overflow of the stream table. Therefore, the expansion of forwarding rules and the lack of device flow table space are performance problems in the current software-defined optical interconnection data center network.
In recent years, domestic and foreign scholars aggregate partial rules without changing their semantics by analyzing some redundant rules existing in equipment processing rules, so that the original semantics can be realized by only a small number of forwarding rules. Related work included ORTC, SMALTA, and Bit bathing. The ORTC algorithm firstly creates a two-item tree according to the IP address of the matching domain, and the creation process comprises the following steps: firstly, each routing table is assumed to have a default route, a forwarding port of the default route is used as a root node, a path starting from the root node is established according to a matching domain IP address of each forwarding rule in the flow table, and the forwarding port corresponding to the forwarding rule is stored in a leaf node. And then optimizing a routing table by traversing the binary tree for three times, firstly, downwards transmitting a default routing item to empty leaf nodes of the tree, then, sequentially transmitting a forwarding port set to a root node from the leaf nodes, finding out the forwarding port with the largest occurrence frequency in the set, placing the forwarding port in the root node, and finally, downwards moving along the tree to cut off branches of the leaf nodes, which have the same forwarding port number as the root node, namely, eliminating redundant paths. The ORTC algorithm requires that the aggregated table be fully recalculated from scratch each time the original table is changed. The cost of such a recalculation is linear with the number of nodes in the tree structure, and may take hundreds of milliseconds to seconds.
The SMALTA algorithm is a prefix-based compression scheme, and the flow table space is saved by searching for forwarding rule pairs with the same forwarding port and adjacent prefixes in the address space for compression. The prefix compression scheme inevitably has compression limitation, the Bit steering algorithm provides a Bit weaving method, which is the first non-prefix compression scheme, and the Bit weaving method compresses adjacent flow entries with the same decision and the hamming distance of 1 (namely, only one Bit difference) to be combined into one entry, and replaces the corresponding Bit by one. To identify and merge these rules, two new techniques are used for bit weaving, bit swapping and bit merging, where bit swapping first cuts the rule list into a series of partitions, in each partition, switches some columns in the rules, reorders the rules so that the bits included in all rules are arranged at the end of the rules, then merges the rules of each partition, and finally restores the merged rules to their original bit arrangement to generate the final stream table. The method has the main advantages of high running speed and high efficiency, and breaks the limitation of a prefix compression scheme. Because the traditional flow table compression method adopts a binary tree method or a decision tree to compress the generated flow table and uses a wildcard to represent, the compression performance is closely related to the distributed route and is relatively passive. Therefore, the invention provides a flow table compression method based on the spanning tree folding route in the software defined network, which performs flow table compression based on the generated route and solves the defects of the prior art.
Compared with the traditional scheme, the invention realizes the compression of the flow table and reduces the transmission delay of the flow by the method of combining the flow table compression and the routing. And a new Spanning Tree algorithm is provided to construct an overlapped route, and the characteristics of the flow are also considered in the route searching process, so that the fast flow is searched first, and the slow flow is searched later. Not only can guarantee QoS, but also can ensure that the flow table is compressed more thoroughly and more flexibly.
Disclosure of Invention
The invention aims to overcome the defects of the prior art, and provides a flow table compression algorithm based on a dynamic route generation strategy from the viewpoint of controlling the flow table scale. And under the consideration of factors such as flow characteristics, transmission delay, network topology and the like, the flow table compression and routing optimization are jointly designed. And by compromising the hardware cost of the flow table of the exchanger and the average data transmission delay cost, the total cost of the system is minimized, and the optimal route is generated for compressing the flow table. The purpose of the invention is realized by the following technical scheme:
a flow table compression method based on spanning tree folding routing in a software defined network comprises the following steps:
s1: given a network topology G (V, E), where V ═ V1,...,vnRepresents a set of n switches, and a set of links m representsTo represent that the traffic from node i to node j is set to rijDefinition of R ═ RijI, j belongs to V, i is not equal to j, is a flow matrix among all nodes, and D is defined as { D ═ D ≠ jijI, j belongs to V, i is not equal to j is a time delay matrix among all nodes, wherein dijRepresenting the link delay between two nodes;
s2, according to the definition of the spanning tree, all routes from any node to the root are shorter than routes to other nodes in the spanning tree:
s21: dividing the Flow into a plurality of Flow Sets (FS) according to different target switches;
s22: the target exchanger is set as a root node of a spanning tree of corresponding flow in each FS, and the spanning tree is constructed by the principle that the flow with the high priority is selected to run a short route and the flow with the low priority runs a long route based on the priorities of different flows;
s23: defining two matrixes P and N, wherein P comprises a source node, and N comprises a destination node in a trunk of a constructed spanning tree; these two matrices are used in an algorithm to prevent loops from forming to generate the target spanning tree, once a trunk is selected, its destination node is placed in matrix P and serves as the source node for the next trunk;
s24: to prevent looping, the elements in the matrices P and N are mutually exclusiveNamely, two nodes of each trunk are respectively selected from the matrixes P and N;
s3, obtaining routes of all traffic of the same destination node of each spanning tree, traversing n generated spanning trees and expressing the n spanning trees through an index i, then traversing the current traffic matrix, providing routes for the current traffic matrix according to the obtained spanning trees, and sending the obtained routes to SDN exchangers S-S passing through the routes by an SDN controller1,...snIn (1) };
s4: aggregation of some routes with the same destination node and the same output port in the flow table of each SDN switch, and traversing the generated routing table, because the routing tree is constructed according to the traffic with the same destination address and conforms to the rule of flow aggregation, the construction of the routing tree in S1-S2 lays a foundation for the flow aggregation in S3-S4, so that the traffic has high aggregation performance.
The invention has the beneficial effects that:
(1) the flow table compression and the route optimization are jointly designed, so that the limitation caused by the flow table compression based on the generated route in the traditional algorithm is avoided, and the flow table compression effect is better.
(2) The routing tree is constructed by utilizing the characteristics of the non-closed circles of the spanning tree, more overlapped routes can appear, and better conditions are provided for flow aggregation.
(3) A routing tree is constructed by considering the compromise relationship between the transmission delay cost and the hardware cost of a flow table storage chip, the shortest route is selected while the flow table compression is realized, and the transmission delay is reduced.
(4) When constructing a routing tree, considering the priority of the flow, the urgent flow with high priority selects a shorter route as much as possible, and the slow flow with low priority selects a longer route as much as possible.
Drawings
FIG. 1 is a flow chart of a method of the present invention;
FIG. 2 is a diagram of a comparative example of DR and CR algorithms;
fig. 3 shows a process of constructing a routing tree of the network topology G (7, 11).
Detailed Description
The technical solutions of the present invention are further described in detail below with reference to the accompanying drawings, but the scope of the present invention is not limited to the following.
As shown in fig. 2, fig. 2(a) shows a network topology G (V, E) with 5 nodes and 7 links. Each node represents an Openflow switch. For example, the ith node represents an owning flow table FTiS ofiThe surrounding numbers show their port index numbers. The flow table includes a set of entries, each of which can be reduced to a triplet: (<n,m,a>) Which consists of a priority n, a match field m and a specified action a. Typically such an entry is called a rule, where the matching domain represents the source switch address of compressible traffic with a wildcard. The numbers on each link represent the corresponding transmission delays. The right side of fig. 2(a) and 2(b) shows two flows present in the SDN network. In addition, with LijRepresenting the route from node i to node j, denoted FijRepresenting the traffic from node i to node j. Distributed Routing (DR: Distributed Routing)[140]The average transmission delay can be reduced by load balancing, but may result in a lower stream compression rate. In contrast, centralized routing (CR:Concentratedrouting) although a higher compression rate may be achieved to save flow table space, it may cause a larger average transmission delay.
In DR, the shortest routes shown in fig. 2(a) may be selected for the two traffics, respectively. For example, F43Through route L43(s4→s5→s3) The transmission delay is T-6 + 3-9. In this case, a flow entry is registered in FT4Another flow entry is registered in FT5The total number of flow entries in all flow tables is 4, and the total transmission delay of these two flows is 20. In CR, a simple routingAlgorithm as shown in fig. 2(b), the method is based on the minimum spanning tree algorithm to generate the overlapping route. Firstly, a Minimum Spanning Tree (MST) is generated in a network topology G (V, E), and a plurality of overlapped routes are generated by utilizing the non-closed characteristic of the MST, so that the aggregation efficiency of flow tables is improved, but the problems of unbalanced load and long transmission delay of some flows are also brought. As shown by the MST in the figure with 4 thick solid links, it can be observed that the partial routes on which the two traffic flows form overlap. For example, raw FT1In which there are two flow entries, both of which are forwarded from egress 1 to the same destination s3Thus, the original flow table FT of fig. 2(b) can be obtained1Where two route entries are compressed into one. Fig. 2(b) shows that after compression, the number of all routing entries is 3, which is smaller than the flow table entries in DR, and the total transmission delay is 27, which is larger than the total transmission delay in DR. This simple example shows that the CR can effectively improve the compression rate of the flow table based on the MST, but results in a larger average transmission delay, so there is a trade-off between load balancing of the DR and flow table aggregation of the CR.
As shown in fig. 3, the SDN network topology contains 7 switches (i.e., s)1-s7) And 6 request streams (i.e., slaves s)1To s7Traffic with lowest priority, from s2To s7Traffic with higher priority, from s3To s7Traffic with highest priority, from s4To s7Traffic with medium priority, from s5To s7Traffic with medium-low priority, from s6To s7Traffic with medium priority). From s3To s7Can select the shortest route L first37(s3→s5→s7) Across the exchanger s3And s5The two flow entries thus formed are injected separately into the switch s3Flow Table of (FT)3And s5Flow Table of (FT)5And two links l to be routed through35And l57Added to the trunk set of ST. Then considered as being from s2To s7Have higher priority traffic selectionAnd (6) selecting a route. To obtain overlapping routes, traffic tends to select routes that have already been registered with the current flow table. Thus, from s2To s7Has higher priority flow as the distributed route L27(s2→s3→s5→s7) Across the exchanger s2,s3And s5. Likewise, from s4To s7Is allocated to route as L47(s4→s2→s3→s5→s7). From s6To s7Has the route L allocated to the medium priority flow67(s6→s7). From s5To s7Has the distributed route L of the medium and low priority flow57(s5→s7). From s1To s7The route allocated with the lowest priority traffic is L17(s1→s4→s2→s3→s5→s7). The final trunk set is L ═ { L ═57,l35,l23,l42,l67,l14And constitute a spanning tree. The specific implementation of the monitoring trajectory algorithm ILP process is given below:
firstly, according to the design idea of the monitoring track, defining the symbolic expressions shown in the following table 1:
table 1 ILP constant definition in flow table compression method design
In addition, to construct the ILP, according to the flow table compression design concept, the symbolic variables as shown in table 2 below need to be defined:
table 2 ILP variable definition in flow table compression method design
According to tables 1 and 2, the ILP constructed by the flow table compression method is expressed as follows:
s.t.
where equation (1) is the objective function, minimizing cost is achieved. The first term is the transmission delay cost, w, of all traffic in the SDNsdMultiplied such that higher priority (urgent traffic) traffic gets smaller transmission delay while lower priority (slow traffic) traffic gets larger transmission delay. The propagation delay cost expansion factor lambda can control the scale of the SDN. The second entry represents the hardware cost of the TCAM in the flow table (i.e., the cost of the memory chip in the flow table), determined by the size of the flow table entry. In this context, assuming that the traffic output from the same port and the forwarded destination addresses are the same, the routes may be aggregated into one route entry. The total cost of the flow table may be multiplied by the cost delta of each flow entry by the number of compressed flow entries. Constraints (2) - (4) indicate that there is only one route for any traffic to travel between two switches in the SDN. Wherein, formula (2) shows that the traffic from the source switch can only pass through one intermediate switch, and formula (3) shows that the destination switch can only receive the traffic from the source switch through one intermediate switch.Equation (4) indicates that the source and destination switches of the traffic through the intermediate switches are identical. Constraint (5) constrains the relationship between the two terms before and after, their values being equal.
Claims (1)
1. A flow table compression method based on spanning tree folding routing in a software defined network is characterized in that: it comprises the following steps:
s1: given a network topology G (V, E), where V ═ V1,...,vnRepresents a set of n switches, and a set of links m representsTo represent that the traffic from node i to node j is set to rijDefinition of R ═ RijI, j belongs to V i, not equal to j is a flow matrix among all nodes, and D is defined as DijI, j belongs to V, i is not equal to j is a time delay matrix among all nodes, wherein dijRepresenting the link delay between two nodes;
s2: according to the definition of the spanning tree, all routes from any node to the root are shorter than routes to other nodes in the spanning tree:
s21, dividing the Flow into multiple Flow Sets (FS) according to different target exchangers;
s22: the target exchanger is set as a root node of a spanning tree of corresponding flow in each FS, and the spanning tree is constructed by the principle that the flow with the high priority is selected to run a short route and the flow with the low priority runs a long route based on the priorities of different flows;
s23: defining two matrixes P and N, wherein P comprises a source node, and N comprises a destination node in a trunk of a constructed spanning tree; these two matrices are used in an algorithm to prevent loops from forming to generate the target spanning tree, once a trunk is selected, its destination node is placed in matrix P and serves as the source node for the next trunk;
s24: to prevent looping, the elements in the matrices P and N are mutually exclusiveNamely, two nodes of each trunk are respectively selected from the matrixes P and N;
s3, obtaining routes of all traffic of the same destination node of each spanning tree, traversing n generated spanning trees and expressing the n spanning trees through an index i, then traversing the current traffic matrix, providing routes for the current traffic matrix according to the obtained spanning trees, and sending the obtained routes to SDN exchangers S-S passing through the routes by an SDN controller1,...snIn (1) };
s4: aggregation of some routes with the same destination node and the same output port in the flow table of each SDN switch, and traversing the generated routing table, because the routing tree is constructed according to the traffic with the same destination address and conforms to the rule of flow aggregation, the construction of the routing tree in S1-S2 lays a foundation for the flow aggregation in S3-S4, so that the traffic has high aggregation performance.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110364230.6A CN113098778A (en) | 2021-04-04 | 2021-04-04 | Flow table compression method based on spanning tree folding routing in software defined network |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110364230.6A CN113098778A (en) | 2021-04-04 | 2021-04-04 | Flow table compression method based on spanning tree folding routing in software defined network |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113098778A true CN113098778A (en) | 2021-07-09 |
Family
ID=76673471
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110364230.6A Pending CN113098778A (en) | 2021-04-04 | 2021-04-04 | Flow table compression method based on spanning tree folding routing in software defined network |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113098778A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114363215A (en) * | 2021-12-27 | 2022-04-15 | 北京特种机械研究所 | Train communication network time delay analysis method based on supply and demand balance |
CN114448886A (en) * | 2021-12-28 | 2022-05-06 | 天翼云科技有限公司 | Flow table processing method and device |
CN115514644A (en) * | 2022-11-15 | 2022-12-23 | 阿里云计算有限公司 | Entry consistency checking method, electronic equipment and storage medium |
CN114363215B (en) * | 2021-12-27 | 2024-05-28 | 北京特种机械研究所 | Train communication network time delay analysis method based on supply and demand balance |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170005919A1 (en) * | 2015-07-03 | 2017-01-05 | Estinet Technologies Inc. | Method for constituting hybrid network spanning trees, method of redundancy, and control system thereof |
CN107872385A (en) * | 2017-10-11 | 2018-04-03 | 中国电子科技集团公司第三十研究所 | A kind of SDN router-level topology and control method |
-
2021
- 2021-04-04 CN CN202110364230.6A patent/CN113098778A/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170005919A1 (en) * | 2015-07-03 | 2017-01-05 | Estinet Technologies Inc. | Method for constituting hybrid network spanning trees, method of redundancy, and control system thereof |
CN107872385A (en) * | 2017-10-11 | 2018-04-03 | 中国电子科技集团公司第三十研究所 | A kind of SDN router-level topology and control method |
Non-Patent Citations (1)
Title |
---|
ZHIPENG ZHAO,等: ""Flow aggregation through dynamic routing overlaps in software defined networks"", 《COMPUTER NETWORKS VOLUME 176》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114363215A (en) * | 2021-12-27 | 2022-04-15 | 北京特种机械研究所 | Train communication network time delay analysis method based on supply and demand balance |
CN114363215B (en) * | 2021-12-27 | 2024-05-28 | 北京特种机械研究所 | Train communication network time delay analysis method based on supply and demand balance |
CN114448886A (en) * | 2021-12-28 | 2022-05-06 | 天翼云科技有限公司 | Flow table processing method and device |
CN115514644A (en) * | 2022-11-15 | 2022-12-23 | 阿里云计算有限公司 | Entry consistency checking method, electronic equipment and storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3735471B2 (en) | Packet relay device and LSI | |
JP5551253B2 (en) | Method and apparatus for selecting from multiple equal cost paths | |
US9225628B2 (en) | Topology-based consolidation of link state information | |
US7031320B2 (en) | Apparatus and method for performing high-speed IP route lookup and managing routing/forwarding tables | |
US7260096B2 (en) | Method and router for forwarding internet data packets | |
US7231459B2 (en) | Routing scheme based on virtual space representation | |
US7606968B2 (en) | Multi-level content addressable memory | |
CN100413285C (en) | High-speed multi-dimension message classifying algorithm design and realizing based on network processor | |
CN113098778A (en) | Flow table compression method based on spanning tree folding routing in software defined network | |
KR100512949B1 (en) | Apparatus and method for packet classification using Field Level Trie | |
EP2517420A1 (en) | Systolic array architecture for fast ip lookup | |
CN108111410A (en) | Deadlock freedom routing in lossless multidimensional Cartesian Topology Structure with minimum number virtual buffering region | |
Sheu et al. | A scalable and bandwidth-efficient multicast algorithm based on segment routing in software-defined networking | |
US20060268691A1 (en) | Divide and conquer route generation technique for distributed selection of routes within a multi-path network | |
CN1216473C (en) | TCAM high-speed search method and system supporting multiple nexthop | |
CN103457855B (en) | Classless inter-domain routing table is established and the method and apparatus of message forwarding | |
Kogan et al. | FIB efficiency in distributed platforms | |
Veeramani et al. | Efficient IP lookup using hybrid trie-based partitioning of TCAM-based open flow switches | |
Akhbarizadeh et al. | Hardware-based IP routing using partitioned lookup table | |
CN112187642B (en) | Weighted bandwidth allocation for adaptive routing | |
Xiao et al. | Dynamic update of shortest path tree in OSPF | |
Ma et al. | A distributed storage framework of FlowTable in software defined network | |
Mahini et al. | MLET: a power efficient approach for TCAM based, IP lookup engines in Internet routers | |
Erdem | Pipelined hierarchical architecture for high performance packet classification | |
WO2000077984A1 (en) | Arrangement, system and method relating to datacommunication |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210709 |