Open Packet Processor: a programmable architecture for wire speed platform-independent stateful in-network processing

This paper aims at contributing to the ongoing debate on how to bring programmability of stateful packet processing tasks inside the network switches, while retaining platform independency. Our proposed approach, named "Open Packet Processor" (OPP), shows the viability (via an hardware prototype relying on commodity HW technologies and operating in a strictly bounded number of clock cycles) of eXtended Finite State Machines (XFSM) as low-level data plane programming abstraction. With the help of examples, including a token bucket and a C4.5 traffic classifier based on a binary tree, we show the ability of OPP to support stateful operation and flow-level feature tracking. Platform independence is accomplished by decoupling the implementation of hardware primitives (registries, conditions, update instructions, forwarding actions, matching facilities) from their usage by an application formally described via an abstract XFSM. We finally discuss limitations and extensions.

[1]  Haoyu Song,et al.  Unified POF Programming for Diversified SDN Data Plane , 2014, ArXiv.

[2]  Martín Casado,et al.  NOX: towards an operating system for networks , 2008, CCRV.

[3]  Aditya Akella,et al.  OpenNF: enabling innovation in network function control , 2015, SIGCOMM 2015.

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

[5]  Kwang-Ting Cheng,et al.  Automatic Functional Test Generation Using The Extended Finite State Machine Model , 1993, 30th ACM/IEEE Design Automation Conference.

[6]  Zahid Ullah,et al.  FPGA Implementation of SRAM-based Ternary Content Addressable Memory , 2012, 2012 IEEE 26th International Parallel and Distributed Processing Symposium Workshops & PhD Forum.

[7]  Nick Feamster,et al.  Procera: a language for high-level reactive network control , 2012, HotSDN '12.

[8]  Guochu Shou,et al.  Study of Information Network Traffic Identification Based on C4.5 Algorithm , 2008, 2008 4th International Conference on Wireless Communications, Networking and Mobile Computing.

[9]  Vyas Sekar,et al.  Making middleboxes someone else's problem: network processing as a cloud service , 2012, SIGCOMM '12.

[10]  J. Ross Quinlan,et al.  C4.5: Programs for Machine Learning , 1992 .

[11]  Ramesh Govindan,et al.  Flow-level state transition as a new switch primitive for SDN , 2014, SIGCOMM.

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

[13]  Andrew W. Moore,et al.  NetFPGA SUME: Toward 100 Gbps as Research Commodity , 2014, IEEE Micro.

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

[15]  David Walker,et al.  SNAP: Stateful Network-Wide Abstractions for Packet Processing , 2015, SIGCOMM.

[16]  Weirong Jiang Scalable Ternary Content Addressable Memory implementation using FPGAs , 2013, Architectures for Networking and Communications Systems.

[17]  Sebastian Zander,et al.  A preliminary performance comparison of five machine learning algorithms for practical IP traffic flow classification , 2006, CCRV.

[18]  Riyad Alshammari,et al.  Machine learning based encrypted traffic classification: Identifying SSH and Skype , 2009, 2009 IEEE Symposium on Computational Intelligence for Security and Defense Applications.

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

[20]  Daoqiang Zhang,et al.  Hybrid neural network and C4.5 for misuse detection , 2003, Proceedings of the 2003 International Conference on Machine Learning and Cybernetics (IEEE Cat. No.03EX693).

[21]  Russell J. Clark,et al.  Kinetic: Verifiable Dynamic Network Control , 2015, NSDI.

[22]  Russell J. Clark,et al.  Resonance: dynamic access control for enterprise networks , 2009, WREN '09.

[23]  Andrew W. Moore,et al.  A Machine Learning Approach for Efficient Traffic Classification , 2007, 2007 15th International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems.

[24]  Shriram Krishnamurthi,et al.  Tierless Programming and Reasoning for Software-Defined Networks , 2014, NSDI.

[25]  George Varghese,et al.  P4: programming protocol-independent packet processors , 2013, CCRV.

[26]  尤达亚玛卡尔·斯瑞尼瓦桑,et al.  Dynamic load balancing without packet reordering , 2012 .

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

[28]  Nick McKeown,et al.  Towards Programmable Packet Scheduling , 2015, HotNets.

[29]  Giuseppe Bianchi,et al.  Stateful OpenFlow: Hardware proof of concept , 2015, 2015 IEEE 16th International Conference on High Performance Switching and Routing (HPSR).

[30]  Qiang Xu,et al.  An untold story of middleboxes in cellular networks , 2011, SIGCOMM 2011.

[31]  Grenville J. Armitage,et al.  A survey of techniques for internet traffic classification using machine learning , 2008, IEEE Communications Surveys & Tutorials.

[32]  Nick Feamster,et al.  The road to SDN: an intellectual history of programmable networks , 2014, CCRV.

[33]  David Walker,et al.  Composing Software Defined Networks , 2013, NSDI.

[34]  Martin Mozina,et al.  Orange: data mining toolbox in python , 2013, J. Mach. Learn. Res..

[35]  Jean-Louis Brelet Using Block RAM for High Performance Read/Write CAMs , 2000 .

[36]  George Varghese,et al.  Compiling Packet Programs to Reconfigurable Switches , 2015, NSDI.

[37]  Ying Zhang,et al.  A method for real-time peer-to-peer traffic classification based on C4.5 , 2010, 2010 IEEE 12th International Conference on Communication Technology.

[38]  Nick Feamster,et al.  The case for an intermediate representation for programmable data planes , 2015, SOSR.

[39]  Minlan Yu,et al.  SIMPLE-fying middlebox policy enforcement using SDN , 2013, SIGCOMM.

[40]  Xiaohong Guan,et al.  Accurate Classification of the Internet Traffic Based on the SVM Method , 2007, 2007 IEEE International Conference on Communications.