The Power of Composition: Abstracting a Multi-Device SDN Data Path Through a Single API

Software Defined Networking aims to separate network control and data plane by moving the control logic from network elements into a logically-centralized controller. Using a well-defined, unified control-channel protocol, such as OpenFlow, the controller is able to configure the forwarding behavior of data plane devices. Here, the OpenFlow protocol is translated to vendor- and device-specific instructions that, for instance, manipulate the flow table entries of a switch. In practice, SDN-enabled switches often feature different hardware capabilities and configurations with respect to the number of flow tables, their implementation, and which kind of data plane features they support. This leads to device heterogeneity within the SDN landscape, thereby obstructing the increased scalability and flexibility promised by the SDN paradigm. To overcome this challenge we propose TableVisor, a transparent proxy-layer for the SDN control channel that enables the flexible abstraction of heterogeneous data plane devices into a single emulated data plane switch. In this paper, we extend our previous work by introducing features to integrate modern P4 devices into an existing SDN environment and perform a detailed performance evaluation to quantify the overhead induced by our approach.

[1]  Junjie Liu,et al.  The FlowAdapter: enable flexible multi-table processing on legacy hardware , 2013, HotSDN '13.

[2]  Minlan Yu,et al.  NOSIX: a lightweight portability layer for the SDN OS , 2014, CCRV.

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

[4]  David Walker,et al.  Modular SDN Programming with Pyretic , 2013, login Usenix Mag..

[5]  Steffen Gebert,et al.  Tablevisor 2.0: Towards full-featured, scalable and hardware-independent multi table processing , 2017, 2017 IEEE Conference on Network Softwarization (NetSoft).

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

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

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

[9]  David Walker,et al.  Frenetic: a network programming language , 2011, ICFP.

[10]  Jia Wang,et al.  Scalable flow-based networking with DIFANE , 2010, SIGCOMM '10.

[11]  David Walker,et al.  Optimizing the "one big switch" abstraction in software-defined networks , 2013, CoNEXT.

[12]  Eric Torng,et al.  TCAM SPliT : Optimizing Space , Power , and Throughput for TCAM-based Packet Classification Systems , 2009 .

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

[14]  Elio Salvadori,et al.  VeRTIGO: Network Virtualization and Beyond , 2012, 2012 European Workshop on Software Defined Networking.

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

[16]  Stanislav Lange,et al.  Performance evaluation mechanisms for FlowMod message processing in OpenFlow switches , 2016, 2016 IEEE Sixth International Conference on Communications and Electronics (ICCE).

[17]  T. S. Eugene Ng,et al.  Software-Defined Flow Table Pipeline , 2015, 2015 IEEE International Conference on Cloud Engineering.

[18]  Gaogang Xie,et al.  FlowConvertor: Enabling portability of SDN applications , 2017, IEEE INFOCOM 2017 - IEEE Conference on Computer Communications.

[19]  Ariel Orda,et al.  dRMT: Disaggregated Programmable Switching , 2017, SIGCOMM.

[20]  Phuoc Tran-Gia,et al.  Table Visor: An Emulation Layer for Multi-table Open Flow Switches , 2015, 2015 Fourth European Workshop on Software Defined Networks.

[21]  Attila Korösi,et al.  Dataplane Specialization for High-performance OpenFlow Software Switching , 2016, SIGCOMM.

[22]  Haoyu Song,et al.  Protocol-oblivious forwarding: unleash the power of SDN through a future-proof forwarding plane , 2013, HotSDN '13.

[23]  Daniel Raumer,et al.  A study of networking software induced latency , 2015, 2015 International Conference and Workshops on Networked Systems (NetSys).

[24]  Eric Torng,et al.  TCAM Razor: A Systematic Approach Towards Minimizing Packet Classifiers in TCAMs , 2007, 2007 IEEE International Conference on Network Protocols.

[25]  Sakir Sezer,et al.  Queen ' s University Belfast-Research Portal Are We Ready for SDN ? Implementation Challenges for Software-Defined Networks , 2016 .

[26]  Daniel Raumer,et al.  Throughput and Latency of Virtual Switching with Open vSwitch: A Quantitative Analysis , 2018, Journal of Network and Systems Management.

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

[28]  Martina Zitterbart,et al.  Port Based Capacity Extensions (PBCEs): Improving SDNs Flow Table Scalability , 2016, 2016 28th International Teletraffic Congress (ITC 28).

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

[30]  Yashar Ganjali,et al.  On scalability of software-defined networking , 2013, IEEE Communications Magazine.

[31]  Giuseppe Bianchi,et al.  OpenState: programming platform-independent stateful openflow applications inside the switch , 2014, CCRV.

[32]  Yu Zhou,et al.  Source Address Validation in Software Defined Networks , 2016, SIGCOMM.

[33]  Jacob Nelson,et al.  Evaluating the Power of Flexible Packet Processing for Network Resource Allocation , 2017, NSDI.

[34]  Nick McKeown,et al.  PISCES: A Programmable, Protocol-Independent Software Switch , 2016, SIGCOMM.

[35]  Xin Huang,et al.  Tango: Simplifying SDN Control with Automatic Switch Property Inference, Abstraction, and Optimization , 2014, CoNEXT.

[36]  Eduardo Jacob,et al.  Design and implementation of an OpenFlow hardware abstraction layer , 2014, DCC '14.

[37]  Mathieu Bouet,et al.  Improving SDN with InSPired Switches , 2016, SOSR.

[38]  Alexander Sprintson,et al.  tinyNBI: distilling an API from essential OpenFlow abstractions , 2014, HotSDN.

[39]  Roberto Bifulco,et al.  Towards Scalable SDN Switches: Enabling Faster Flow Table Entries Installation , 2015, Comput. Commun. Rev..

[40]  Bernard Cousin,et al.  Integration of Legacy Non-SDN Optical ROADMs in a Software Defined Network , 2016, 2016 IEEE International Conference on Cloud Engineering Workshop (IC2EW).