Optimising packet forwarding in multi-tenant networks using rule compilation

Packet forwarding in Software-Defined Networks (SDN) relies on a centralised network controller which enforces network policies expressed as forwarding rules. Rules are deployed as sets of entries into network device tables. With heterogeneous devices, deployment is strongly bounded by the respective table constraints (size, lookup time, etc.) and forwarding pipelines. Hence, minimising the overall number of entries is paramount in reducing resource consumption and speeding up the search. Moreover, since multiple control plane applications can deploy own rules, conflicts may occur. To avoid those and ensure overall correctness, a rule validation mechanism is required. Here, we present a compilation mechanism for rules of diverging origins that minimises the number of entries. Since it exploits the semantics of rules and entries, our compiler fits a heterogeneous landscape of network devices. We evaluated compiler implementations on both software and hardware switches using a realistic testbed. Experimental results show a reduction in both produced table entries and forwarding delay.

[1]  Eric Torng,et al.  Split: Optimizing Space, Power, and Throughput for TCAM-Based Classification , 2011, 2011 ACM/IEEE Seventh Symposium on Architectures for Networking and Communications Systems.

[2]  Amedeo Napoli,et al.  Constructing Iceberg Lattices from Frequent Closures Using Generators , 2008, Discovery Science.

[3]  Wolfgang Kellerer,et al.  Survey on Network Virtualization Hypervisors for Software Defined Networking , 2015, IEEE Communications Surveys & Tutorials.

[4]  Eric Torng,et al.  Bit weaving: A non-prefix approach to compressing packet classifiers in TCAMs , 2009, 2009 17th IEEE International Conference on Network Protocols.

[5]  Isaac Keslassy,et al.  Palette: Distributing tables in software-defined networks , 2013, 2013 Proceedings IEEE INFOCOM.

[6]  Radu State,et al.  Rule Compilation in Multi-Tenant Networks , 2017, 2017 ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS).

[7]  David Walker,et al.  Infinite CacheFlow in software-defined networks , 2014, HotSDN.

[8]  Amedeo Napoli,et al.  Efficient Vertical Mining of Frequent Closures and Generators , 2009, IDA.

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

[10]  Radu State,et al.  Compiling packet forwarding rules for switch pipelined architecture , 2016, IEEE INFOCOM 2016 - The 35th Annual IEEE International Conference on Computer Communications.

[11]  Bo Yan,et al.  CAB: a reactive wildcard rule caching system for software-defined networks , 2014, HotSDN.

[12]  Xin Huang,et al.  Efficient conflict detection in flow-based virtualized networks , 2012, 2012 International Conference on Computing, Networking and Communications (ICNC).

[13]  Guru M. Parulkar,et al.  OpenVirteX: make your virtual SDNs programmable , 2014, HotSDN.

[14]  Sujata Banerjee,et al.  Corybantic: towards the modular composition of SDN control programs , 2013, HotNets.

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

[16]  Martín Casado,et al.  Onix: A Distributed Control Platform for Large-scale Production Networks , 2010, OSDI.

[17]  Rob Sherwood,et al.  FlowVisor: A Network Virtualization Layer , 2009 .

[18]  B. Davey,et al.  Introduction to Lattices and Order: Appendix B: further reading , 2002 .

[19]  Bernhard Ganter,et al.  Formal Concept Analysis: Mathematical Foundations , 1998 .

[20]  Nick McKeown,et al.  OpenFlow: enabling innovation in campus networks , 2008, CCRV.

[21]  Xin Jin,et al.  CoVisor: A Compositional Hypervisor for Software-Defined Networks , 2015, NSDI.

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