, pp.88-93 http://dx.doi.org/10.14257/astl.2016.135.23 An Efficient Flow Table Management Scheme for SDNs Based On Flow Forwarding Paths Dongryeol Kim, Byoung-Dai Lee Kyonggi university, Department of Computer Science, Suwon, Republic of Korea {kdr, blee}@kyonggi.ac.kr Abstract. As essential infrastructure networks become more common in diverse areas, a wide range of services have appeared related to increasing traffic and high-capacity content, though network-management problems have also increased. Because these problems cannot be easily solved within existing networks, new software defined networks (SDNs) technology has appeared. However, when the network becomes too large, the control plane s overhead may increase due to differing device performance within the data plane. This leads to network performance problems because of the characteristics of SDNs, in which the control plane controls management of the entire network. In this paper, problems that occur because of performance differences among the devices that constitute the data plane are explained, and a flow table management scheme able to reduce network overhead, occurring when the controller manages the flow table, is proposed. Keywords: SDN, flow, flow table, flow table replacement. 1 Introduction Networks that develop rapidly have become essential infrastructures, and as networks have become increasingly important in different areas, diverse services have appeared, including representative services such as high-definition streaming and VOD. Network traffic increases as high-capacity content continues to increase, and many difficulties have risen for managing the network. The most popular solution for this problem is the use of SDNs. SDNs divide network structures into control and data planes and centralize network management on control planes [1]. Control planes are enabled to make various packet transmission-related decisions so that new services can be implemented and networks can be efficiently operated in flow units [2], [3]. As the scale of networks and the types and number of network devices increase, constituting a network using the same devices is difficult and may cause problems. For instance, when there is a network consisting of switches containing flow tables in different sizes, flow table replacement occurs in the switches that contain flow tables smaller than the number of all flows occurring in the network. Flows that should be deleted from the table are determined according to the network policy, and new flows are created to revise the table. This process acts as a large overhead on the controller, in terms of network operation, the performance of the entire network will be ISSN: 2287-1233 ASTL Copyright 2016 SERSC
degraded. Therefore, securing space for additional flow tables reduces the workload of the controller related to deleting flows, which is very important. In this paper, problems that can occur due to differences in the performance of switches that constitute an SDN are examined. A flow table management scheme is proposed to enable efficient use of network resources and minimize delays that occur during packet transmission, by securing space for additional flow to flow tables in networks containing diverse switches. 2 Problem Description In the SDN, when a user operates a network, the network can be configured by adjusting the performance levels of virtual switches to fit the network. If the network is configured and operates with significant differences in the level of performance of virtual switches, the following problems may occur. Fig 1 shows an SDN consisting of switches containing different table sizes. When a flow table is completely filled, as illustrated by switch #3 in Fig 1, to deliver a new input packet without any flow to the table, unnecessary flows should be deleted and newly created flows should be added. Fig. 1. An SDN consisting of switches with different performance levels. When a packet has been entered into a switch, the packet is matched with a flow using flow table look up, and if there is no matching flow, a flow table containing new flows will be created through message exchanges with the controller. Thereafter, a matching flow is found from the flow table to take further action. However, all switches in the moving path of the packet to make new flow table through message exchanges with the controller, overhead such as packet transmission delays and resource waste will occur. Network performance degrades in situations where traffic Copyright 2016 SERSC 89
is significantly diverse. Therefore, a method of maintaining network performance during diverse traffic situations is necessary. Traffic patterns can be divided into those that occur in the short run and those that occur repeatedly at certain intervals. Cases in which traffic is terminated after receiving data from multiple servers occur frequently, and deleting flows from the entire packet-moving path is efficient in terms of network performance because the flows are not used again. Cases in which traffic is periodically repeated occur frequently, and if flows are deleted from the entire packetmoving path, the flows should be recreated when packets are entered because the flow will be used again. Therefore, permanently maintaining the flows in the table is efficient in this case because the flows are repeatedly and continuously used, and accordingly, deleting flows from only those switches that have completely filled flow tables is beneficial for network performance. This problem should be solved without fail to ensure network performance in the current situation, where network traffics are rapidly increasing due to the use of high-capacity content. 3 Proposed Scheme The flow table management scheme proposed in this paper secures available spaces in flow tables and reduces network overhead, such as packet transmission delays. It does so by deleting all related flows from the all switches passed by the relevant flow and considers network traffic when flows are deleted during the process of updating. 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: Function Flow() while true do packet = nextpacket() flow = searchflow(packet) if no flow then newflow = generateflow(flow) pattern = analysistrafficpattern() if table is full then if pattern == temporary then deleteflow(table) deleteallflow(table) insertflow(newflow) if pattern == periodic then deleteflow(table) insertflow(newflow) flow = searchflow(packet) Action(flow) end Function Fig. 2. Pseudo code of flow table management scheme Fig 2 is the pseudo code of the proposed flow table management scheme. If the packet arrives at the first switch, a flow that matches with the packet will be searched from the flow table (line 3 4). If there is a matching flow, actions that correspond to 90 Copyright 2016 SERSC
the flow will be taken, and if there is no matching flow, new flows will be created (line 5 6). Thereafter, traffic patterns will be analyzed (line 7). If flow tables are full (line 8), current traffic will be found, and if additional traffic occurs, one-time (line 9) flows will be selected and deleted according to the flow table replacement algorithm (i.e., LRU, LFU), and all flows related to the deleted flows will also be deleted from the flow tables of switches in the packet moving path. Then, the tables will be updated by adding newly created flow (line 10 12). If the current traffic pattern contains traffic that occurs periodically (line 13), flows will be deleted from only those switches that have completely filled flow tables, and the tables will be updated by adding newly created flow (line 14 15). Thereafter, flows that match the packet will be found from the updated flow tables, and actions that correspond to the flows will be taken (line 16 17). Through this process, the priorities of flows for deletion and traffic patterns should be considered first so that the flow tables can be managed dynamically to fit diverse network situations. Fig 3 shows an SDN network in which all the flow tables of switches with different performance levels have no available space. A path through which packets pass is set as shown in path (1), and the arrows in the dotted lines in Fig 3 indicate communication between the switches and the controller. Fig. 3. An SDN in whitch all the flow tables of individual switches are being used. Src -> switch #1 -> switch #3 -> switch #2 -> dst (1) When a packet enters a switch, if there is no corresponding flow, the flow table should be revised. The number of flow deletions by individual switches through communication with the controller becomes equal to the number of switches with completely filled flow tables in the packet-moving path. In Fig 3, because three switches with completely filled flow tables are in the packet-moving path, the flow table update is repeated three times. Copyright 2016 SERSC 91
Fig. 4. An SDN applied with the proposed flow table management scheme. Fig 4 shows an SDN applied with the proposed flow table management scheme in which available spaces are secured in the tables of switches in path (1). If packets occurring one time, pass through path (1), all flows related to the packets will be deleted from all flow tables in path (1). As shown in Fig 3, when a packet arrives at switch 1 through path (1), a flow that corresponds to the packet is searched for in the flow table, and if the relevant flow is not in the table, the controller is requested to create the flow. The controller uses the table replacement algorithm to determine which flow is to be deleted. Then, all flows related to the flow are deleted from switches 3 and 2 so that all available space for adding the flow to path (1) are secured, as shown in Fig 4. Through this process, flow tables are revised in switches 3 and 2 during the packet delivery process without overhead that occur during the process of deleting flows. Using this scheme, the process of deleting flows through communication with controllers is implemented once in switch 1, and this is much more efficient than the existing process. Even in large networks, such as data centers, switches can secure available space through a one-time message exchange, and the network overhead can be reduced. 4 Conclusion and Future Work In this paper, the problem of increased network overhead, occurring due to flow table replacements, was examined. A flow table management scheme able to solve the problem by first securing space in flow tables was proposed. In future research, to verify the performance of the proposed flow table management scheme, the proposed scheme will be applied to environments containing significant network traffic that changes rapidly, to compare and evaluate the scheme s performance with existing flow table management schemes. 92 Copyright 2016 SERSC
Acknowledgments. This work is supported by Kyonggi University Research Grant 2015. References 1. ONF.: Software-Defined Networking: The New Norm for Networks. ONF White Paper, pp. 7, April 13 2012. 2. Sezer, S., Scott-Hayward, S., Chouhan, P.K., Fraser, B., Lake, D., Finnegan, J., Viljoen, N., Miller, M., and Rao, N.: Are We Ready for SDNs? Implementation Challenges for Software-Defined Networks. Communications Magazine, IEEE, vol. 51, no. 7, pp. 36 43, July 2013. 3. Yim, T., Kyung, Y., Nguyen, T.M., Hong, K., and Park, J.: A Fast and Scalable Mobile Flow Management Method for IP-based Mobile Networks. J. KICS, vol. 39B, no. 1, pp. 8 16, January 2014. Copyright 2016 SERSC 93