TableVisor 2.0: Towards Full-Featured, Scalable and Hardware-Independent Multi Table Processing
Stefan Geissler, University of Wuerzburg, Germany; Stefan Herrnleben, University of Wuerzburg, Germany; Robert Bauer, Karlsruhe Institute of Technology, Germany; Steffen Gebert, University of Wuerzburg, Germany; Thomas Zinner, University of Wuerzburg, Germany; and Michael Jarschel, Nokia Bell Labs, Germany
IEEE Softwarization, September 2017
The original idea of Software Defined Networking (SDN) is to control a network consisting of COTS (Commercial-Off-The-Shelf) hardware switches by programming their forwarding behavior via a standardized southbound interface such as OpenFlow. However, this vision of a unified interface towards the data plane has not always been held up in practice. SDN-enabled devices are often shipped with different hardware capabilities and configurations, e.g., with a varying number of flow tables or support for certain data plane features. Furthermore, complexity and feature requirements of control plane applications have increased significantly since the SDN concept has first been introduced.
While new and updated versions of the OpenFlow control protocol aim to provide the features required to fulfil control plane requirements, the challenging device heterogeneity inherent to the evolving and changing landscape of software defined networks remains. Due to this device heterogeneity, network application developers currently have no other choice than either restrict the compatibility of their control software to a set of well-known devices or to provide feature-limited solutions for a wider range of devices on the market. Both approaches essentially negate the original vision of SDN as the clear separation of concerns between control and data plane gets softened.
At the same time, many modern SDN applications rely on sophisticated packet processing features such as multi-stage pipeline processing that are a) unavailable in most COTS hardware switches and b) hard to realize if the feature is not supported. Therefore, missing hardware features and hardware heterogeneity is a growing problem for software-based networks. This can be characterized as a general mismatch between control plane requirements and data plane capabilities and is a significant problem for network operators as well as network application developers.
Several approaches try to address these problems by introducing more flexibility into the data plane, e.g., programmable switches , OpenFlow Table Type Patterns (TTP) , or high-level programming languages for packet processing . Another proposed solution includes further extensions of the OpenFlow protocol in order to achieve a more powerful data plane. While these Programmable Data Plane (PDP)  solutions partially solve the mismatch, two fundamental problems remain. First, PDP based solutions are -- by design -- limited to the resources and capabilities of a single device. Control plane requirements going beyond what is provided by the device cannot be satisfied, even if two devices together could easily fulfill the request through their combined functionality. Furthermore, real world SDN deployments are quickly evolving systems that are expected to be composed of heterogeneous devices.
With TableVisor, we propose a novel approach that is able to leverage this device heterogeneity in order to alleviate the current mismatch between control plane requirements and data plane functionalities. TableVisor is based on the concept that multiple physical hardware switches can be pooled together to emulate a device with extended capabilities and capacity. Therefore, a transparent abstraction layer is introduced into the SDN architecture in order to allow the interception of control channel messages. Figure 1 shows the OpenFlow control channel using TableVisor.
Figure 1. OpenFlow Control Channel Using TableVisor.
The abstraction layer allows the modification of messages between the control and data plane in order to realize the combination of multiple physical data plane devices into a single emulated hardware accelerated device. The transparency of the approach allows the usage of a standard SDN controller as well as standard OpenFlow capable data plane devices without the need for any modifications. TableVisor thereby provides controller functionality towards involved data plane devices while emulating a single switch towards the control plane. Depending on the use case, this emulated switch is now able to expose different capabilities to the controller. The feature set of the TableVisor abstraction layer includes, among other use cases, the concatenation of hardware devices to form a feature rich and hardware accelerated multi table switch. Thereby, we are able to exploit the mentioned device heterogeneity by pooling together switches with different capabilities. This functionality, to combine heterogeneous hardware devices, significantly increases the capabilities that can be provided by the data plane without the need to a) modify the control plane and b) develop new switching hardware.
In the future, the introduction of more flexible programmable data plane solutions, like P4, may, at least in part, alleviate the issue of lacking data plane features. The introduction of further types of devices into the data plane landscape, however, will increase the heterogeneity of devices even more. And while these flexible solutions might enable the deployment of more complex control plane applications, the inherent limitations of these devices to their own resources remains, while the power of the TableVisor approach scales with the power of available data plane devices. Furthermore, the functionality of the TableVisor abstraction layer could be extended in the future to include, e.g., a more dynamic feature pooling, in which the control plane application specifies the needed functionality and TableVisor dynamically provisions the required hardware capabilities by selecting appropriate switches. Another possible extension is the translation of control protocols between the control plane instance and the data plane devices. This would not only allow the integration of OpenFlow hardware into legacy networks but also the usage of legacy data plane devices in modern SDN-enabled networks.
 R. Ozdag, “Intel Ethernet Switch FM6000 Series - Software Defined Networking,” 2013.
 The Open Networking Foundation, “OpenFlow Table Type Patterns (Version 1.0),” Aug. 2014.
 ] P. Bosshart, D. Daly, G. Gibb, M. Izzard, N. McKeown, J. Rexford, C. Schlesinger, D. Talayco, A. Vahdat, G. Varghese, and D. Walker, “P4: Programming protocol-independent packet processors,” SIGCOMM Comput. Commun. Rev., vol. 44, no. 3, pp. 87–95, Jul. 2014. [Online]. Available: http://doi.acm.org/10.1145/2656877.2656890
 D. Perino, M. Gallo, R. Laufer, Z. B. Houidi, and F. Pianese, “A programmable data plane for heterogeneous nfv platforms,” in 2016 IEEE Conference on Computer Communications Workshops (INFOCOM WKSHPS), April 2016, pp. 77–82.
Stefan Geissler is working towards his Ph.D at the University of Würzburg, Germany, where he also completed his Master's degree in 2016. He is a researcher in the "Next Generation Networks" research group at the Chair of Communication Networks in Würzburg. His research topics include software defined networking and network function virtualization with focus on performance evaluation.
Stefan Herrnleben finished his apprenticeship as IT specialist for system integration in 2006 at the IBM Deutschland GmbH. In 2015 he completed his Bachelor thesis, with the first version of TableVisor as main contribution, at the University of Würzburg, Germany. After finishing his Master's degree on analysis and optimization of networks in 2017 he is working as doctoral researcher at the Chair of Software Engineering in Würzburg.
Robert Bauer received his Diploma in Computer Science from Karlsruhe Institute of Technology (KIT) in 2014. Since then, he worked as a research assistant and PhD Candidate at the research group of Prof. Zitterbart (Institute of Telematics, KIT). He is involved in several teaching activities related to software-based networking. In April 2016, he joined the CELTIC EUREKA project SENDATE-PLANETS, where he is working on the coexistence of multiple communication paradigms and user-tailored services that are incorporated into the network. His research interests focus on advanced communication systems based on Software Defined Networking and Network Functions Virtualization.
Steffen Gebert received his Ph.D at the University of Würzburg Germany in 2017, where he also received his Diploma degree in 2011. His research interests include softwarized networks and agile network operations.
Thomas Zinner received his Diploma and Ph.D. degrees in computer science from the University of Würzburg, Germany, in 2007 and 2012, respectively. His habilitation thesis titled “Performance evaluation of novel network and application paradigms and management approaches.” was finished in 2017. He is heading the “Next Generation Networks” Research Group at the Chair of Communication Networks, University of Würzburg and has published more than 80 research papers in major conferences and journals, receiving six best paper and best student paper awards.
Michael Jarschel is working as a research engineer in the area of Network Softwarization and Connected Driving at Nokia Bell Labs in Munich, Germany. He finished his Ph.D. thesis, titled “An Assessment of Applications and Performance Analysis of Software Defined Networking'', at the University of Würzburg in 2014. His main research interests are in the applicability of SDN and NFV concepts to next generation networks as well as distributed telco cloud technologies and their use cases.
Francesco Benedetto was born in Rome, Italy, on August 4th, 1977. He received the Dr. Eng. degree in Electronic Engineering from the University of ROMA TRE, Rome, Italy, in May 2002, and the PhD degree in Telecommunication Engineering from the University of ROMA TRE, Rome, Italy, in April 2007.
In 2007, he was a research fellow of the Department of Applied Electronics of the Third University of Rome. Since 2008, he has been an Assistant Professor of Telecommunications at the Third University of Rome (2008-2012, Applied Electronics Dept.; 2013-Present, Economics Dept.), where he currently teaches the course of "Elements of Telecommunications" (formerly Signals and Telecommunications) in the Computer Engineering degree and the course of "Software Defined Radio" in the Laurea Magistralis in Information and Communication Technologies. Since the academic year 2013/2014, He is also in charge of the course of "Cognitive Communications" in the Ph.D. degree in Applied Electronics at the Department of Engineering, University of Roma Tre.
The research interests of Francesco Benedetto are in the field of software defined radio (SDR) and cognitive radio (CR) communications, signal processing for financial engineering, digital signal and image processing in telecommunications, code acquisition and synchronization for the 3G mobile communication systems and multimedia communication. In particular, he has published numerous research articles on SDR and CR communications, signal processing applied to financial engineering, multimedia communications and video coding, ground penetrating radar (GPR) signal processing, spread-spectrum code synchronization for 3G communication systems and satellite systems (GPS and GALILEO), correlation estimation and spectral analysis.
He is a Senior Member of the Institution of Electrical and Electronic Engineers (IEEE), and and a member of the following IEEE Societies: IEEE Standard Association, IEEE Young Professionals, IEEE Software Defined Networks, IEEE Communications, IEEE Signal Processing, IEEE Vehicular Technology. Finally, He is also a member of CNIT (Italian Inter-Universities Consortium for Telecommunications). He is the Chair of the IEEE 1900.1 WG on dynamic spectrum access, the Chair of the Int. Workshop on Signal Processing fo Secure Communciations (SP4SC), and the co-Chair of the WP 3.5 on signal processing for ground penetrating radar of the European Cost Action YU1208.
Subscribe to IEEE Softwarization
Join our free SDN Technical Community and receive IEEE Softwarization.
Article Contributions Welcomed
If you wish to have an article considered for publication, please contact the Managing Editor at firstname.lastname@example.org.
IEEE Softwarization Editorial Board
Laurent Ciavaglia, Editor-in-Chief
Mohamed Faten Zhani, Managing Editor
TBD, Deputy Managing Editor
Syed Hassan Ahmed
Dr. J. Amudhavel
Atta ur Rehman Khan