Matching model of flow table for networked big data
Yiheng Su Ting Peng Xiaoxun Zhong Lianming Zhang
cs.NI













empty 



Matching Model of Flow Table for Networked Big Data 




    Yiheng Su, Ting Peng, Xiaoxun Zhong, and Lianming Zhang
Yiheng Su, Ting Peng, Xiaoxun Zhong, and Lianming Zhang  (zlm@hunnu.edu.cn) are with Key Laboratory of Internet of Things Technology and Application, College of Physics and Information Science, Hunan Normal University, Changsha, China (Corresponding Author: L. Zhang).

    December 30, 2023
=========================================================================================================================================================================================================================================================================================================================================

empty




Networking for big data has to be intelligent because it will adjust data transmission requirements adaptively during data splitting and merging. Software-defined networking (SDN) provides a workable and practical paradigm for designing more efficient and flexible networks. Matching strategy in the flow table of SDN switches is most crucial. In this paper, we use a classification approach to analyze the structure of packets based on the tuple-space lookup mechanism, and propose a matching model of the flow table in SDN switches by classifying packets based on a set of fields, which is called an F-OpenFlow. The experiment results show that the proposed F-OpenFlow effectively improves the utilization rate and matching efficiency of the flow table in SDN switches for networked big data.






Networked Big Data, Software-Defined Networking, Matching Model, F-OpenFlow, Tuple-Space Search











§ INTRODUCTION


With the advent of big data <cit.>, networking for big data, also called networked big data, will become more and more important <cit.>. The applications with bigger and bigger data volume need to process vast information, whose scale grows larger and more complex to the multiple locations for resiliency. Networked big data needs an intelligent network, which can adaptively adjust data transmission requirements during data splitting and merging, thus achieving a fast run speed and high utilization ratio. Software-defined networking (SDN) <cit.> is a new networking innovation paradigm that separates the control plane from the data plane, offering a well-defined programmable interface for software intelligence. The SDN can meet the requirements of networked big data through the network programming, making it possible to analyze networked big data, and build a self-adaptive intelligent network. In the recent years, Hu et al. proposed an SDN-enabled big data processing system for social TV analytics <cit.>. Cui et al. proposed dynamic traffic engineering system architecture and cross-layer design with SDN and big data.<cit.>. Lin et al. presented a forward-looking view of the convergence of IoT, big data, cloud and SDN technologies along with the arrival of 5G mobile broadband networks <cit.>. Qin et al. <cit.> proposed a heuristic bandwidth-aware for implementing task scheduler bandwidth-aware scheduling with SDN in Hadoop for big data.

The two main components of SDNs are SDN controllers and SDN switches. The SDN controllers are mainly responsible for the centralized management and remote control of network devices, while the SDN switches relying on flow tables are only in charge of forwarding data. However, the global deployment of SDNs encounters some issues. With the increasing number of flow tables and the complicated structure of flow entries, the size of flow tables in SDN switches explosively grows, which poses difficulties for practicing flow tables by hardware <cit.>. To solve the above questions, the authors of paper <cit.> provided a model for minimizing storage space of flow tables and proposed an H-SOFT algorithm. Guo et al. <cit.> proposed a forwarding scheme for achieving low and balanced usage of flow tables by properly and reactively placing flow entries in SDN switches. Luo et al. proposed fast flow table aggregation (FFTA) and its incremental FFTA to make practical flow table aggregation <cit.>. Huang et al. <cit.> proposed a rule partition and allocation algorithm to distribute the rules across network switches. Leng et al. <cit.> proposed a reduction scheme to solve flow table congestion problem. Metter et al. <cit.> formulated a simple analytical model that allows optimizing the network performance with respect to the flow table occupancy.

The Open vSwitch kernel has been adopted Microflow Cache method <cit.>, where the Hash's exact lookup table and wildcard lookup table they use it to reduce the number of lookups in a multilayer flow table. Since Open vSwitch utilizes a tuple-space lookup method, the average number for searching the original lookup table is half of what adopts the tuple-space table based on the kernel. The core of this idea is to minimize the number of messages in the lookup of multilayer flow tables, and to increase the number of accesses to the lookup table in the cache of switches.

In this paper, we present a matching model of the flow table in SDN switches by classifying packets based on matching a set of fields, which is short for F-OpenFlow, to search flow tables of OpenFlow switches. The main contributions of this paper are as follows:



  * Proposing the method that the matching field can improve the matching probability of the table entries by classifying packets;

  * Using tuple-space search to analyze the structure of the flow table in existing networks, and finding the matching rules of the same type;

  * Integrating the analysis model with the dictionary tree using a tuple-space approach, and obtaining a rule matching strategy.


The rest of the paper is organized as follows. In Section II, we introduces challenges for flow tables of OpenFlow switches. We describes the problem of flow tables of SDN switches and presents a system model for flow tables in Section III. In Section IV, we realize the flow tables and design the structure of packets and flow tables. Section V presents the experimental results and evaluates the performance of the proposed matching model. Finally, conclusions are given in Section VI.





§ CHALLENGES FOR THE FLOW TABLE OF OPENFLOW SWITCHES


In traditional network devices, the data forwarding of switches and routers depends on the MAC forwarding table on Layer 2 or the IP address routing table on Layer 3. The flow table of OpenFlow switches is the entry of network devices integrating other levels of OpenFlow networks. Each flow table of OpenFlow switches consists of three parts: header fields for matching packets (Header Fields), counters for counting the number of packets (Counters) and actions on how to process a matching packet (Actions). The OpenFlow header field is used to match the header of the packets received by switches. In OpenFlow v1.0, the header of the flow table contains twelve tuples. However, there are still following challenges for flow tables of OpenFlow switches.


  
  * The number of matching fields of flow entries is increasing rapidly. OpenFlow v1.0 defines a 12-tuple matching field. OpenFlow v1.3 defines forty matching fields, including thirteen matching fields that the switches must support. It is an inevitable trend for networked big data to extend matching field types and increase the number of flow tables.
  
  * The scale of flow tables grows exponentially. Along with the expansion of the network, the number of flow entries and the number of matching entries will continue to grow. OpenFlow v1.1 points out the scalability of flow tables by introducing a multilayer structure. However, the flexibility of multilayer flow tables is far beyond the capacity of data forwarding processing of traditional switching chip. It will add the complexity of designing hardware and software of OpenFlow switches.
  
  * According to the application scenario of switches and the types of flow actions supported by switches, OpenFlow switches are classified into OpenFlow-only and OpenFlow-enabled, and the latter is also called OpenFlow-hybrid after OpenFlow v1.1. The former only supports OpenFlow protocol, while the latter considers the incompatibility between the OpenFlow switches and traditional switches when they are mixed. It can run the OpenFlow protocol and traditional Layer 2 or Layer 3 protocol stacks simultaneously. As a result, the latter is able to support NORMAL action in the optional forward action in OpenFlow.
  
  * After an OpenFlow switch receives network packets, the processing of 802.1d protocol in the flow will become an optional step in the process. When the OpenFlow switch receives a packet, it will match the entries with its local flow table according to the priority. As the result of matching, it takes the matching entry with the highest priority as the matching result based on the corresponding action to operate the packet. At the same time, once the matching is successful, the corresponding counter will update. If the packet cannot find a matching entry, it will forward to the controller.




§ THE STRUCTURE OF F-OPENFLOW




 §.§ Problem Description

In recent years, the SDN has been widely used in the current experimental environments for network innovation, and it has broad application prospects as well as data centers. However, many critical technologies of the SDN have no mature solutions <cit.>. One of them is the update and design scheme of flow tables in switches.

The flow table of SDN switches contains a large number of matching rules. When a packet enters the flow table, it is matched in accordance with a specified search algorithm. Consequently, some matching algorithms, including linear and sequential search algorithms, will have a great effect on the pros and cons of SDN switches in the matching performance of data packets. The order of matching rules is limited by the search speed in the design level. Some linear and sequential rules in flow tables are analyzed, and a new pre-match method is formed by the hierarchical structure of data packets. Each packet, passing through flow tables in SDN switches, needs to be compared with the pre-model.

With the extension of OpenFlow applications, the scale of flow tables in OpenFlow switches is escalating, and the number of matching fields becomes larger and larger. The OpenFlow v1.1 <cit.> is proposed to compress the storage space and improve the lookup speed by a multilayer flow table and pipeline structure. The flow table of OpenFlow switches is divided into several word tables based on the protocol level of the header in the matching field. When the flow table is used for matching rules, the packet header is divided into multiple fields. We make a search operation in each field independently, use the method of sorting and grouping to find and integrate returned data, and return them to the flow table in OpenFlow switches for finding the rules of the Action.



 §.§ The Structure of F-OpenFlow


A flow entry is composed of six parts, including matching field, table item priority, counter, table item instruction, timeout period, and cookie. The matching field and the table item priority in the flow table of OpenFlow switches define a unique flow table entry. The matching field contains many matches, which cover most of the character sets in the link layer, network layer, and transport layer. The table item priority indicates the execution order of the flow entry. The table item instruction shows that the packet executes next instruction to match the table entry. The counter collects the statistics of the data flow, including the number and the length of matching the data flow. The devices in the OpenFlow network will no longer distinguish between routers and switches. In order to improve the efficiency of the flow table lookup, the current lookup uses the multilayer flow table and pipeline mode to obtain the corresponding operation. The OpenFlow pipeline of each switch contains multiple levels of flow tables that contain multiple flow entries. In this section, we present the structure of a matching model of the flow table in SDN switches, F-OpenFlow for short, as shown in Fig.<ref>.



Firstly, the data packets enter into the OpenFlow switch via a port of network devices. Secondly, by applying a specific analytical model, we gain a pre-match model for the corresponding packet inside the matching field. Thirdly, according to adopting the layered protocol, the packet data is able to be classified by the tuple-space lookup. Fourthly, we can obtain the corresponding front table model by adopting the results that are obtained in the third step. Finally, we get the index ID of the flow table to fetch an instruction from the action field in the table, and perform the instruction of action.



§ DESIGN APPROACH OF F-OPENFLOW




 §.§ Implementation of Flow Tables


The matching features of packets are as follows: Layer 1 is the ingress port (IngressPort) in switches. Layer 2 is made up of five parts which are the source MAC address (Ethersource), destination MAC address (Etherdst), Ethernet type (EtherType), VLAN tag (VLANid), and VLAN priority (VLANpriority). Layer 3 includes source IP (IPsrc), destination IP (IPdst), IP protocol field (IP proto), and IP service type (IP ToS bits). Layer 4 contains TCP/UDP source port number (TCP/UDP src port), and TCP/UDP destination port number (TCP/UDP dst port).

Based on the concept of TCP/IP layers, we classify the matching fields of data packets. At the same time, we can gather the counts for the fields under classification phase. Fig.<ref> shows the implementation process of the flow table in the F-OpenFlow. The information of data packets is resolved, classified and counted. This categorization only considers the pre-match model of the field and ignores the specific value of the latter entry.





 §.§ Feature Structure of Data Packets


Here are five data packets for analyzing the samples whose statistics are stored in a database table for comparison and classification, as shown in Tab.<ref>. It shows the relationship between the ID of packets and the number of matching fields in the corresponding layer.



From Tab.<ref>, we can see that Packet 1 contains one first-level matching field, two second-level matching fields, third third-level matching fields, and one fourth-level matching field. The structure of Packet 5 is similar to that of Packet 1. Obviously, we can classify the data according to the number of hierarchical statistics. For example, the structural model of Packet 1 and Packet 5 can be classified the two as a homogeneous structure. When the pre-matching model matches the corresponding structure, the number of matches in the corresponding type of flow tables can be found quickly.



 §.§ Feature Structure of Flow Table Rule


Fig.<ref> shows rules for classifying flow tables. For each table, we count the matching fields based on the previous entries, and ignore other parameters. Assume that there are sixty tables,  using the above classification method, we can find that there are seven tables in the first layer, twenty-one tables in the second layer, nineteen tables in the third layer, and thirteen tables in the fourth layer for meeting the requirement.



At the same time, we gain the index ID of each table in order to find the root, as shown in Tab.<ref>. In this way, it is helpful to locate the approximate position of all matching fields in the flow table quickly and precisely.





 §.§ Classification Algorithm


We categorize data packets on the concept of TCP/IP layer and obtain layered packets, and it shortens the matching range of packets in switches. The specific methods to achieve the following: (1) getting all matching fields in the data packet; (2) omitting specific parameters after the field and only matching the first item; (3) classifying statistics and getting fuzzy results; (4) converting a corresponding numeric string into resulting statistics. We implement this method with the code shown in Algorithm <ref>.



The core idea of OpenFlow flow tables passing through F-OpenFlow transformation is: (1) obtaining the results of both sides of the classification algorithm;
(2) comparing and confirming a rough rule model of flow tables; (3) finding the specific model ID in the front table, and getting its corresponding rules ID
in original tables; (4) according to the ID of the original flow table, matching all the operation of Action. The code is shown in Algorithm <ref>.



The matching becomes the principle of fuzzy matching after getting the packet feature code and the fuzzy classification structure of the flow table. There are two reference elements during the period: the hit rate and the tuple length. Where A represents the data package and B represents the flow.

The fuzzy matching code between the data packet and the two features of the flow table entries is given in Algorithm <ref>.





§ EXPERIMENTAL RESULT

In order to ensure the efficiency and practicability of the proposed architecture, we have built a data model which is similar with the flow table in the database. By using Java language, we design the flow table architecture for optimizing OpenFlow.

By using OpenFlow 1.0, we first find and match twelve elements, and then we carry on the data consolidation according to the data warehouse theory. The basic database is constructed to be used in real-time data, and it is the basis for establishing analysis platform.



 §.§ Hit Rate

We use the proposed F-OpenFlow and the original flow table structure to carry on the related data in our test experiments. We compare the two groups of data packets through two different designs.

Fig.<ref> shows the impact of the time (in ms) to enter the flow table from a single data flow to the Action instruction on the hit rate of the data flow to the field in the forward model of flow tables.



When the hit rate is 10%, there is a higher time. Compared with the original structure, the F-OpenFlow has more steps, so there is a higher time. When hit rate is 20%, 30%, and 40%, respectively, the time has declined while the effect is not obvious. But the gap between the two structures is constantly narrowing. When the hit rate is equal to 50%, and there is a critical point that indicates that the original structure and the proposed F-OpenFlow are mutually balanced. When the hit rate is more than 50%, the superiority is quite obvious.

From Fig.<ref>, it can be seen that when the contrast value of the matching rate between the data flow and the field in the pre-model flow table is very low, the flow table structure of the proposed F-OpenFlow does not have the original structure quickly. However, with the improvement of the hit rate, it can be seen that there are obvious changes in the structure design of the proposed F-OpenFlow. When the hit rate is close to 50%, the time required for both structures is very close. When the hit rate is equal to 70%, the F-OpenFlow is significantly better than the original design.



 §.§ Tuple length


Fig.<ref> shows the impact of the time to enter the flow table from a single data flow to the Action instruction on the tuple length of the matching field. The single data flow gets into the flow table for getting the time to get the Action command (in ms), and the matching field is the one that is in the flow table of the proposed OpenFlow.



From Fig.<ref>, it can be seen that for a tuple length, the original structure is shorter than the structure of the F-OpenFlow, because of the very short length. This phenomenon is not static. The time for the two structures increases on 2, 3, 4, 5, and 6 tuple lengths. The growth rate of the optimized structure of the F-OpenFlow is lower than that of the original structure. When the length of the tuple exceeds seven, the time of the optimizing structure of the F-OpenFlow is less than that of the original structure.

We have simulated twelve test cases of tuple length. We found that when the length is relatively short and the inner tuple capacity is small, the proposed F-OpenFlow does not match the OpenFlow fast. But with the increase of the tuple length, we can see that the F-OpenFlow matching structure design has a relatively good development trend in the experimental results. When the tuple length increases to eight, the advantages and disadvantages of F-OpenFlow and OpenFlow have obvious difference. Accordingly, it can directly verify that the structural design of the F-OpenFlow has the advantage of shortening the time of the long data flow.



 §.§ Frequency


Fig.<ref> shows the impact of the time (in ms) that a single data flow enters the flow table until it gets the Action instruction on the number of repeated tests for the same data flow table. From the above two tests we have chosen the middle segment of a group of data packets, and the data packets with two dimensions of hit rate and tuple length are the 50% of length and the eight elements. The difference between the two can be seen in terms of the data. The stability of the new proposed structure of the F-OpenFlow is better than that of the original design.





§ CONCLUSIONS

For the wisdom of the networked big data in this direction combined with the scalability problem of SDNs, the performance of SDN switch directly affects the speed of information exchange and the management process. The proposed F-OpenFlow structure is different from the OpenFlow. It is optimized on the basis of the original one. The purpose is to solve the problem of packet matching speed. The core idea of the F-OpenFlow is to give priority to the analysis of the content structure of flow table rules, and to establish a simple model of the front table. In the proposed F-OpenFlow structure, the packet matching can quickly locate the specific Action instruction of the flow table. In case of the packet length is longer, F-OpenFlow matching is better than OpenFlow matching. The future work will also take advantage of the previous historical data of matching. It will be more accurate to analyze the relationship between the location of the message and the flow table. In this way, we can improve the hit rate and matching speed of the flow table.





§ ACKNOWLEDGEMENTS

This work was supported in part by Natural Science Foundation of China (Grant No. 61572191 and 61402170).




00
b1 M. Chen, S. Mao, and Y. Liu, “Big data: A survey,” Mobile Networks and Applications, vol.19, no.2, pp.171-209, 2014.
b2 S Yu, M Liu, W Dou, X Liu, and S Zhou, “Networking for big data: A Survey,” IEEE Communications Surveys & Tutorials, vol. 19, no.1, pp. 531-549, 2017.
b3 Y Jarraya, T Madi, and M Debbabi, “A survey and a layered taxonomy of software-defined networking,” IEEE Communications Surveys & Tutorials, 1955, 16 (4):1955-1980.
b4 H. Hu, Y. Wen, Y.Gao, T.-S. Chua, and X. Li, “Toward an SDN-enabled big data platform for social TV analytics,” IEEE Network, vol.29, no.5, pp.43-49, 2015.
b5 L. Cui, F. R. Yu, and Q Yan, “When big data meets software-defined networking: SDN for big data and big data for SDN,” IEEE Network, vol.30, no.1, pp.58-65, 2016.
b6 B.-S. P. Lin, F. J. Lin, and L.-P. Tung, “The roles of 5G mobile broadband in the development of IoT, big data, cloud and SDN,” Communications and Network, vol.8, no.1, pp.9-21, 2016.
b7 P. Qin, B. Dai, B. Huang, and G. Xu, “Bandwidth-aware scheduling with SDN in Hadoop: a new trend for big data,” IEEE Systems Journal, vol. PP-99, pp.1-8, 2015.
b8 J. Ge, Z. Chen, Y. Wu, and E. Yuepeng, “H-SOFT: a heuristic storage space optimisation algorithm for flow table of OpenFlow,” Concurrency & Computation Practice & Experience, vol. 27, no.13, pp.3497-3509, 2015.
b9 Z. Guo, Y. Xu, M. Cello, J. Zhang, Z. Wang, M. Liu, and H. J. Chao, “JumpFlow: Reducing flow table usage in software-defined networks,” Computer Networks, vol.92, pp. 300-315, 2015.
b10 S Luo, H Yu, and L Li, “Practical flow table aggregation in SDN,” Computer Networks, vol. 92, no.P1, pp.72-88, 2015.
b11  J.-F. Huang, G.-Y. Chang, C.-F. Wang, and C.-H. Lin, “Heterogeneous flow table distribution in software-defined networks,” IEEE Transactions on Emerging Topics in Computing, vol.4, no.2, pp. 252-261, 2016.
b12  B. Leng, L. Huang, C. Qiao, H. Xu, and X. Wang, “FTRS: A mechanism for reducing flow table entries in software defined networks,” Computer Networks, vol.122, pp.1-15, 2017.
b13  C. Metter, M. Seufert, F. Wamser, T. Zinner, and P. Tran-Gia, “Analytical model for SDN signaling traffic and flow table occupancy and its application for various types of traffic,” IEEE Transactions on Network and Service Management, vol.14, no.3, pp. 603-615, 2017.
b14 B. Pfaff, J. Pettit, T. Koponen, et al. “The design and implementation of Open vSwitch,” in 12th USENIX Symposium on Networked Systems Design and Implementation, 2015.
b15 S. Wang, D. Li, and S. Xia, “The problems and solutions of network update in SDN: A survey,” in 2015 IEEE Conference on Computer Communications Workshops (INFOCOM WKSHPS), pp. 474-479, 2015.
b16 X. Sun, T. S. Eugene Ng, G. Wang, “Software-defined flow table pipeline,” in 2015 IEEE International Conference on Cloud Engineering, pp. 335-340, 2015.





