Machine Learning Based Flow Entry Eviction for OpenFlow Switches

Software Defined Networking (SDN) is fundamentally changing the way networks work, which enables programmable and flexible network management and configuration. As the de facto southbound interface of SDN, OpenFlow defines how the control plane can directly interact with the forwarding plane. In OpenFlow, flow tables play a significant role in packet forwarding. However, the capacity of flow table is limited due to power, cost, and silicon area constraints. The capacity-limited flow table cannot hold the explosive flows generated by the fine- grained granularity control mechanism used in SDN. Thus the flow table is frequently overflowed. In the case of overflow, eviction strategy which replaces existing flow entries with the new ones is critical to guarantee the efficient usage of the flow table. In this paper, we present a machine learning based eviction approach which can identify whether a flow entry is active or inactive and thus timely evict the inactive flow entries when flow table overflow occurs. Our simulations based on real network packet traces show that the proposed method can increase the usage of flow table by more than 55% and reduce the number of capacity misses by up to 80%, compared with the Least Recently Used eviction policy.

[1]  Bin Liu,et al.  ALFE: A replacement policy to cache elephant flows in the presence of mice flooding , 2012, 2012 IEEE International Conference on Communications (ICC).

[2]  Maciej Kuźniar,et al.  What You Need to Know About SDN Flow Tables , 2015, PAM.

[3]  A. Zarek OpenFlow Timeouts Demystified , 2012 .

[4]  Haitao Wu,et al.  ServerSwitch: A Programmable and High Performance Platform for Data Center Networks , 2011, NSDI.

[5]  David A. Maltz,et al.  Network traffic characteristics of data centers in the wild , 2010, IMC '10.

[6]  Ethem Alpaydin,et al.  Introduction to machine learning , 2004, Adaptive computation and machine learning.

[7]  Vijay Mann,et al.  Effective switch memory management in OpenFlow networks , 2014, DEBS '14.

[8]  Hyunseung Choo,et al.  Intelligent eviction strategy for efficient flow table management in OpenFlow Switches , 2016, 2016 IEEE NetSoft Conference and Workshops (NetSoft).

[9]  Gaël Varoquaux,et al.  Scikit-learn: Machine Learning in Python , 2011, J. Mach. Learn. Res..

[10]  H. Jonathan Chao,et al.  STAR: Preventing flow-table overflow in software-defined networks , 2017, Comput. Networks.

[11]  Rich Caruana,et al.  An empirical evaluation of supervised learning in high dimensions , 2008, ICML '08.

[12]  Maurizio Dusi,et al.  Quantifying the accuracy of the ground truth associated with Internet traffic traces , 2011, Comput. Networks.

[13]  Amin Vahdat,et al.  Jupiter Rising: A Decade of Clos Topologies and Centralized Control in Google's Datacenter Network , 2015, Comput. Commun. Rev..

[14]  Guigang Zhang,et al.  Deep Learning , 2016, Int. J. Semantic Comput..

[15]  Eric Mayer Practical Packet Analysis Using Wireshark To Solve Real World Network Problems , 2016 .

[16]  Bu-Sung Lee,et al.  An efficient flow cache algorithm with improved fairness in Software-Defined Data Center Networks , 2013, 2013 IEEE 2nd International Conference on Cloud Networking (CloudNet).

[17]  Niccolo Cascarano,et al.  GT: picking up the truth from the ground for internet traffic , 2009, CCRV.

[18]  Adam Zarek,et al.  OpenFlow Timeouts Demystied , 2012 .