Fast OpenFlow Table Lookup with Fast Update

Software-Defined Networking (SDN), which separates the control plane and data plane, is a promising new network architecture for the Future Internet. OpenFlow is the de facto standard which defines the communication protocol between the controller and switches. The most challenging issue in OpenFlow switches is the lookup of multiple OpenFlow tables. The lookup of OpenFlow tables is so complicated that the state-of-the-art research are still focusing on the design of lookup pipeline architecture, and there is no specific algorithm for the lookup of OpenFlow tables. In this paper, we revise the long-pipeline architecture of OpenFlow 1.4 to a 5-stage pipeline architecture to make a trade-off between flexibility and implementability, and decompose the lookup of OpenFlow tables into three kinds of lookup: longest prefix matching (IP lookup), multi-field matching (packet classification), and exact matching. Then we design new algorithms for packet classification, because the state-of-the-art solutions for them seldom support fast update which is highly demanding for OpenFlow. The other two kinds of lookups can be well handled by state-of-the-art. Experimental results show that our proposed algorithms work excellently, and outperform state-of-the-art solutions.

[1]  Walid Dabbous,et al.  Survey and taxonomy of IP address lookup algorithms , 2001, IEEE Netw..

[2]  Danny Hendler,et al.  Space-Efficient TCAM-Based Classification Using Gray Coding , 2007, IEEE Transactions on Computers.

[3]  Jie Li,et al.  Energy-Efficient Broadcasting Scheme for Smart Industrial Wireless Sensor Networks , 2017, Mob. Inf. Syst..

[4]  Anand Rangarajan,et al.  Algorithms for advanced packet classification with ternary CAMs , 2005, SIGCOMM '05.

[5]  George Varghese,et al.  Tree bitmap: hardware/software IP lookups with incremental updates , 2004, CCRV.

[6]  Michiel H. M. Smid,et al.  On the false-positive rate of Bloom filters , 2008, Inf. Process. Lett..

[7]  Nick McKeown,et al.  Algorithms for packet classification , 2001, IEEE Netw..

[8]  Eric Torng,et al.  TCAM Razor: a systematic approach towards minimizing packet classifiers in TCAMs , 2010, TNET.

[9]  Gunnar Karlsson,et al.  IP-address lookup using LC-tries , 1999, IEEE J. Sel. Areas Commun..

[10]  Mark H. Overmars,et al.  Range Searching and Point Location among Fat Objects , 1994, J. Algorithms.

[11]  Hayato Musa SMALL FORWARDING TABLES FOR FAST ROUTING LOOKUPS , 2011 .

[12]  Jonathan S. Turner,et al.  ClassBench: A Packet Classification Benchmark , 2005, IEEE/ACM Transactions on Networking.

[13]  George Varghese,et al.  Packet classification for core routers: is there an alternative to CAMs? , 2003, IEEE INFOCOM 2003. Twenty-second Annual Joint Conference of the IEEE Computer and Communications Societies (IEEE Cat. No.03CH37428).

[14]  Qi Li,et al.  Guarantee IP lookup performance with FIB explosion , 2015, SIGCOMM 2015.

[15]  Xin Wang,et al.  Scalable data center multicast using multi-class Bloom Filter , 2011, 2011 19th IEEE International Conference on Network Protocols.

[16]  David E. Taylor Survey and taxonomy of packet classification techniques , 2005, CSUR.

[17]  George Varghese,et al.  Forwarding metamorphosis: fast programmable match-action processing in hardware for SDN , 2013, SIGCOMM.

[18]  Burton H. Bloom,et al.  Space/time trade-offs in hash coding with allowable errors , 1970, CACM.

[19]  Nick McKeown,et al.  Classifying Packets with Hierarchical Intelligent Cuttings , 2000, IEEE Micro.

[20]  Srihari Cadambi,et al.  Chisel: A Storage-efficient, Collision-free Hash-based Network Processing Architecture , 2006, 33rd International Symposium on Computer Architecture (ISCA'06).

[21]  Miljenko Mikuc,et al.  DXR: towards a billion routing lookups per second in software , 2012, CCRV.

[22]  Kirill Kogan,et al.  SAX-PAC (Scalable And eXpressive PAcket Classification) , 2015, SIGCOMM 2015.

[23]  Tong Yang,et al.  A Shifting Framework for Set Queries , 2017, IEEE/ACM Transactions on Networking.

[24]  Rami Cohen,et al.  Exact Worst Case TCAM Rule Expansion , 2013, IEEE Transactions on Computers.

[25]  George Varghese,et al.  Packet classification using multidimensional cutting , 2003, SIGCOMM '03.

[26]  Haim Kaplan,et al.  On finding an optimal TCAM encoding scheme for packet classification , 2013, 2013 Proceedings IEEE INFOCOM.

[27]  Gaogang Xie,et al.  A Shifting Bloom Filter Framework for Set Queries , 2015, Proc. VLDB Endow..

[28]  Baohua Yang,et al.  Packet Classification Algorithms: From Theory to Practice , 2009, IEEE INFOCOM 2009.

[29]  T. N. Vijaykumar,et al.  EffiCuts: optimizing packet classification for memory and throughput , 2010, SIGCOMM '10.

[30]  T. V. Lakshman,et al.  High-speed policy-based packet forwarding using efficient multi-dimensional range matching , 1998, SIGCOMM '98.

[31]  Antonius P. J. Engbersen,et al.  Fast and scalable packet classification , 2003, IEEE J. Sel. Areas Commun..

[32]  Bin Liu,et al.  Approaching optimal compression with fast update for large scale routing tables , 2012, 2012 IEEE 20th International Workshop on Quality of Service.

[33]  Kenneth J. Christensen,et al.  A new analysis of the false positive rate of a Bloom filter , 2010, Inf. Process. Lett..

[34]  Venkatachary Srinivasan,et al.  Packet classification using tuple space search , 1999, SIGCOMM '99.

[35]  Jonathan S. Turner,et al.  Scalable packet classification using distributed crossproducing of field labels , 2005, Proceedings IEEE 24th Annual Joint Conference of the IEEE Computer and Communications Societies..

[36]  George Varghese,et al.  Scalable packet classification , 2001, SIGCOMM 2001.

[37]  Nick McKeown,et al.  Packet classification on multiple fields , 1999, SIGCOMM '99.

[38]  贺鹏 Meta-algorithms for Software-based Packet Classification , 2014 .