LOcAl DEcisions on Replicated States (LOADER) in programmable data planes: programming abstraction and experimental evaluation

Abstract Programmable data planes recently emerged as a prominent innovation in Software Defined Networking (SDN). They provide support for stateful per-packet/per-flow operations over hardware network switches specifically designed for network processing. Unlike early SDN solutions such as OpenFlow, modern stateful data planes permit to keep (and dynamically update) per-flow states local to each switch, thus dramatically improving reactiveness of network applications to different state changes. Still, in stateful data planes, the management of non-local states is assumed to be completely delegated to a centralized controller, thus requiring extra overhead to be accessed. Our LOADER proposal aims at contrasting the apparent dichotomy between local and non-local states. We do so by introducing a new possibility: permit to take localized (in-switch) decisions not only on local states but also on global replicated states, thus providing support for network-wide applications without incurring the drawbacks of classic approaches. To this purpose, (i) we provide high-level programming abstractions devised to define the states and the update logic of a generic network-wide application, and (ii) we detail the underlying low level state management and replication mechanisms. We then show LOADER’s independence of the stateful data plane technology employed, by implementing it over two distinct stateful data planes (P4 switches and OPP - Open Packet Processor - switches), and by experimentally validating both implementations in an emulated testbed using a simple distributed Deny-of-Service (DoS) detection application.

[1]  Ryan Beckett,et al.  Temporal NetKAT , 2016, PLDI.

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

[3]  Saman Taghavi Zargar,et al.  A Survey of Defense Mechanisms Against Distributed Denial of Service (DDoS) Flooding Attacks , 2013, IEEE Communications Surveys & Tutorials.

[4]  Leslie Lamport,et al.  Paxos Made Simple , 2001 .

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

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

[7]  Patrick Valduriez,et al.  Principles of Distributed Database Systems , 1990 .

[8]  Arpit Gupta,et al.  Network-Wide Heavy Hitter Detection with Commodity Switches , 2018, SOSR.

[9]  Bingchiang Jeng,et al.  Load-Balancing Tactics in Cloud , 2011, 2011 International Conference on Cyber-Enabled Distributed Computing and Knowledge Discovery.

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

[11]  Andrea Bianco,et al.  LODGE: LOcal Decisions on Global statEs in progrananaable data planes , 2018, 2018 4th IEEE Conference on Network Softwarization and Workshops (NetSoft).

[12]  Salvatore Pontarelli,et al.  Open Packet Processor: a programmable architecture for wire speed platform-independent stateful in-network processing , 2016, ArXiv.

[13]  Pavlin Radoslavov,et al.  ONOS: towards an open, distributed SDN OS , 2014, HotSDN.

[14]  Salvatore Pontarelli,et al.  FlowBlaze: Stateful Packet Processing in Hardware , 2019, NSDI.

[15]  Anirudh Sivaraman,et al.  In-band Network Telemetry via Programmable Dataplanes , 2015 .

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

[17]  Paolo Giaccone,et al.  Optimal State Replication in Stateful Data Planes , 2020, IEEE Journal on Selected Areas in Communications.

[18]  Nick McKeown,et al.  A network in a laptop: rapid prototyping for software-defined networks , 2010, Hotnets-IX.

[19]  Richard Mortier,et al.  A Generalised Solution to Distributed Consensus , 2019, ArXiv.

[20]  Marina Thottan,et al.  Measuring control plane latency in SDN-enabled switches , 2015, SOSR.

[21]  E. Brewer,et al.  CAP twelve years later: How the "rules" have changed , 2012, Computer.

[22]  Yashar Ganjali,et al.  Beehive: Simple Distributed Programming in Software-Defined Networks , 2016, SOSR.

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

[24]  Wassim El-Hajj,et al.  Stateful Distributed Firewall as a Service in SDN , 2018, 2018 4th IEEE Conference on Network Softwarization and Workshops (NetSoft).

[25]  Fernando Pedone,et al.  NetPaxos: consensus at network speed , 2015, SOSR.

[26]  Yifei Yuan,et al.  NetEgg: Programming Network Policies by Examples , 2014, HotNets.

[27]  Pavol Cerný,et al.  Event-driven network programming , 2015, PLDI.

[28]  Sriram Ramabhadran,et al.  Cloud control with distributed rate limiting , 2007, SIGCOMM '07.

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

[30]  Laurent Vanbever,et al.  Swing State: Consistent Updates for Stateful and Programmable Data Planes , 2017, SOSR.