Abstract
In this paper, we present a short survey of programmable networks starting from pre-Software Defined Networking efforts to the more recent programmable data-plane. In particular, we highlight the benefits of data-plane programmability and present some of the challenges and future research directions.
Similar content being viewed by others
References
A simple network management protocol (snmp). https://www.ietf.org/rfc/rfc1157.txt
Alexander DS, Arbaugh WA, Hicks MW, Kakkar P, Keromytis AD, Moore JT, Gunter CA, Nettles SM, Smith JM (1998) The switchware active network architecture. In: IEEE Network
Apache ZooKeeper. http://zookeeper.apache.org
Arashloo MT, Koral Y, Greenberg M, Rexford J, Walker D (2016) SNAP: stateful network-wide abstractions for packet processing. In: SIGCOMM
Biswas J, Lazar AA, Huard J, Lim K, Mahjoub S, Pau L, Suzuki M, Torstensson S, Weiguo W, Weinstein S (1998) The IEEE P1520 standards initiative for programmable network interfaces. In: IEEE Communications Magazine
Bosshart P, Daly D, Gibb G, Izzard M, McKeown N, Rexford J, Schlesinger C, Talayco D, Vahdat A, Varghese G, Walker D (2014) P4: programming protocol-independent packet processors. In: SIGCOMM Comput. Commun. Rev
Bosshart P, Gibb G, Kim H-S, Varghese G, McKeown N, Izzard M, Mujica F, Horowitz M (2013) Forwarding metamorphosis: fast programmable match-action processing in hardware for SDN. In: SIGCOMM
Broadcom Trident 3. https://packetpushers.net/broadcom-trident3-programmable-varied-volume/
Cavium xpliant ethernet switch product family. https://goo.gl/xzfLLo
Chen X, Feibish S L, Koral Y, Rexford J, Rottenstreich O (2018) Catching the microburst culprits with snappy. In: SelfDN
Cisco Nexus 34180YC and 3464C Programmable Switches. https://www.cisco.com/c/en/us/products/collateral/switches/nexus-3000-series-switches/datasheet-c78-740836.pdf
Clark D (1988) The design philosophy of the darpa internet protocols. In: SIGCOMM
Cormode G, Muthukrishnan M (2012) Approximating data with the count-min sketch. In: IEEE Softw
Dang HT, Sciascia D, Canini M, Pedone F, Soulé R (2015) NetPaxos: consensus at network speed. In: SOSR
Feamster EZN, Rexford J (2014) The road to SDN: an intellectual history of programmable networks. In: SIGCOMM Comput. Commun. Rev
Floodlight OpenFlow Controller. http://www.projectfloodlight.org/floodlight/
Forwarding and control element separation (forces). https://datatracker.ietf.org/wg/forces/documents/
Gao X, Kim T, Varma AK, Sivaraman A, Narayana S (2019) Autogenerating fast packet-processing code using program synthesis. In: HotNets
General switch management protocol (gsmp). https://datatracker.ietf.org/wg/gsmp/about/
Gude N, Koponen T, Pettit J, Pfaff B, Casado M, McKeown N, Shenker S (2008) NOX: towards an operating system for networks. In: SIGCOMM Comput. Commun. Rev
Gupta A, Harrison R, Canini M, Feamster N, Rexford J, Willinger W (2018) Sonata: query-driven streaming network telemetry. In: SIGCOMM
Handigol N, Heller B, Jeyakumar V, Mazières D, McKeown N (2014) I know what your packet did last hop: using packet histories to troubleshoot networks. In: NSDI
Handley M, Raiciu C, Agache A, Voinescu A, Moore AW, Antichi G, Wójcik M (2017) Re-architecting datacenter networks and stacks for low latency and high performance. In: SIGCOMM
Holterbach T, Molero E C, Apostolaki M, Dainotti A, Vissicchio S, Vanbever L (2019) Blink: fast connectivity recovery entirely in the data plane. In: NSDI
Huang Q, Lee PPC, Bao Y (2018) Sketchlearn: relieving user burdens in approximate measurement with automated statistical inference. In: SIGCOMM
In-band Network Telemetry. https://p4.org/assets/INT-current-spec.pdf
IEEE Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems (2008). IEEE Std 1588-2008 (Revision of IEEE Std 1588-2002), pp 1–300
Innovium teralynx. https://www.innovium.com/products/teralynx/
Intel flexpipe. https://goo.gl/PzPudG
Jain S, Kumar A, Mandal S, Ong J, Poutievski L, Singh A, Venkata S, Wanderer J, Zhou J, Zhu M, Zolla J, Hölzle U, Stuart S, Vahdat A (2013) B4: experience with a globally-deployed software defined WAN. In: SIGCOMM
Jepsen T, Alvarez D, Foster N, Kim C, Lee J, Moshref M, Soulé R (2019) Fast string searching on PISA. In: SOSR
Jepsen T, Moshref M, Carzaniga A, Foster N, Soulé R (2018) Packet subscriptions for programmable ASICs. In: HotNets
Jin X, Li X, Zhang H, Foster N, Lee J, Soulé R, Kim C, Stoica I (2018) Netchain: scale-free sub-rtt coordination. In: NSDI
Jin X, Li X, Zhang H, Soulé R, Lee J, Foster N, Kim C, Stoica I (2017) Netcache: balancing key-value stores with fast in-network caching. In: SOSP
Joshi R, Qu T, Chan MC, Leong B, Loo BT (2018) BurstRadar: practical real-time microburst monitoring for datacenter networks. In: APSys
Kang N, Liu Z, Rexford J, Walker D (2013) Optimizing the “one big switch” abstraction in software-defined networks. In: CoNEXT
Kannan PG, Joshi R, Chan MC (2019) Precise time-synchronization in the data-plane using programmable switching asics. In: SOSR
Katabi D, Handley M, Rohrs C (2002) Congestion control for high bandwidth-delay product networks. In: SIGCOMM
Katta N, Hira M, Kim C, Sivaraman A, Rexford J (2016) HULA: scalable load balancing using programmable data planes. In: SOSR
Lakshman TV, Nandagopal T, Ramjee R, Sabnani K, Woo T (2004) The SoftRouter architecture. In: HotNets
Lamport L (1998) The part-time parliament. ACM Trans Comput Syst 16:133
Lazar AA, Lim K, Marconcini F (1996) Realizing a foundation for programmability of ATM networks with the binding architecture. IEEE J Sel Areas Commun 14:1214–1227
Lee J, Miao R, Kim C, Yu M, Zeng H (2017) SilkRoad: making stateful layer-4 load balancing fast and cheap using switching ASICs. In: SIGCOMM
Li B, Ruan Z, Xiao W, Lu Y, Xiong Y, Putnam A, Chen E, Zhang L (2017) KV-Direct: high-performance in-memory key-value store with programmable NIC. In: SOSP
Li J, Michael E, Ports DRK (2017) Eris: coordination-free consistent transactions using in-network concurrency control. In: SOSP
Li J, Michael E, Sharma NK, Szekeres A, Ports DRK (2016) Just say NO to paxos overhead: replacing consensus with network ordering. In: OSDI
Li X, Sethi R, Kaminsky M, Andersen DG, Freedman MJ (2016) Befast, cheap and in control with switchkv. In: 13th USENIX symposium on Networked Systems Design and Implementation (NSDI 16), Santa Clara, CA, USENIX Association, pp 31–44
Li Y, Miao R, Kim C, Yu M (2016) Flowradar: a better netflow for data centers. In: NSDI
Liu M, Cui T, Schuh H, Krishnamurthy A, Peter S, Gupta K (2019) Offloading distributed applications onto smartNICs using ipipe. In: SIGCOMM
Liu M, Luo L, Nelson J, Ceze L, Krishnamurthy A, Atreya K (2017) Incbricks: toward in-network computation with an in-network cache. In: ASPLOS
Liu X, Shirazipour M, Yu M, Zhang Y (2016) Mozart: temporal coordination of measurement. In: SOSR
Liu Z, Bai Z, Liu Z, Li X, Kim C, Braverman V, Jin X, Stoica I (2019) Distcache: provable load balancing for large-scale storage systems with distributed caching. In: FAST
Liu Z, Manousis A, Vorsanger G, Sekar V, Braverman V (2016) One sketch to rule them all: rethinking network flow monitoring with univmon. In: SIGCOMM
McCauley J, Panda A, Krishnamurthy A, Shenker S (2019) Thoughts onload distribution and the role of programmable switches. In: SIGCOMM Comput. Commun. Rev
McKeown N, Anderson T, Balakrishnan H, Parulkar G, Peterson L, Rexford J, Shenker S, Turner J (2008) Openflow: enabling innovation in campus networks. In: SIGCOMM Comput. Commun. Rev
Narayana S, Sivaraman A, Nathan V, Goyal P, Arun V, Alizadeh M, Jeyakumar V, Kim C (2017) Language-directed hardware design for network performance monitoring. In: SIGCOMM
Natesh V, Kannan P G, Sivaraman A, Netravali R (2019) Sluice: network-wide data plane programming. In: SIGCOMM Posters and Demos
Nunes BAA, Mendonca M, Nguyen X, Obraczka K, Turletti T (2014) A survey of software-defined networking: past, present, and future of programmable networks. IEEE Commun Surv Tutor 16:1617–1634
Onos project. https://onosproject.org/
Opendaylight. https://www.opendaylight.org/
Ports DRK, Nelson J (2019) When should the network be the computer? In: HotOS
Portable Switch Architecture. https://p4.org/p4-spec/docs/PSA-v1.0.0.pdf
Pox sdn controller. https://noxrepo.github.io/pox-doc/html/
Qu T et al (2019) SQR: in-network packet loss recovery from link failures for high-reliability datacenter networks. In: ICNP
Ryu sdn controller. https://osrg.github.io/ryu/
Sapio A, Abdelaziz I, Aldilaijan A, Canini M, Kalnis P (2017) In-network computation is a dumb idea whose time has come. In: HotNets
Sapio A, Canini M, Ho C, Nelson J, Kalnis P, Kim C, Krishnamurthy A, Moshref M, Ports DRK, Richtárik P (2019) Scaling distributed machine learning with in-network aggregation. CoRR, arXiv:abs/1903.06701
SDNet Packet Processor https://www.xilinx.com/support/documentation/sw_manuals/xilinx2018_2/ug1012-sdnet-packet-processor.pdf
Shahbaz M, Suresh L, Rexford J, Feamster N, Rottenstreich O, Hira M (2019) Elmo: source routed multicast for public clouds. In: SIGCOMM
Sharma NK, Kaufmann A, Anderson T, Kim C, Krishnamurthy A, Nelson J, Peter S (2017) Evaluating the power of flexible packet processing for network resource allocation. In: NSDI
Sharma NK, Liu M, Atreya K, Krishnamurthy A (2018) Approximating fair queueing on reconfigurable switches. In: NSDI
Sivaraman V, Narayana S, Rottenstreich O, Muthukrishnan S, Rexford J (2017) Heavy-hitter detection entirely in the data plane. In: SOSR
Sonchack J, Aviv AJ, Keller E, Smith JM (2018) Turboflow: information rich flow record generation on commodity switches. In: EuroSys
Sonchack J, Michel O, Aviv AJ, Keller E, Smith JM (2018) Scaling hardware accelerated network monitoring to concurrent and dynamic queries with *flow. In: ATC
Tai C, Zhu J, Dukkipati N (2008) Making large scale deployment of RCP practical for real networks. In: INFOCOM
Tammana P, Agarwal R, Lee M (2018) Distributed network monitoring and debugging with switchpointer. In: NSDI
The world’s fastest and most programmable networks. https://www.barefootnetworks.com/resources/worlds-fastest-most-programmable-networks/
Wetherall DJ, Guttag JV, Tennenhouse DL (1998) Ants: a toolkit for building and dynamically deploying network protocols. In: IEEE open architectures and network programming
Wundsam A, Levin D, Seetharaman S, Feldmann A (2011) Ofrewind: enabling record and replay troubleshooting for networks. In: ATC
Xiong Z, Zilberman N (2019) Do switches dream of machine learning? Toward in-network classification. In: HotNets
Yang T, Jiang J, Liu P, Huang Q, Gong J, Zhou Y, Miao R, Li X, Uhlig S (2018) Elastic sketch: adaptive and fast network-wide measurements. In: SIGCOMM
Yaseen N, Sonchack J, Liu V (2018) Synchronized network snapshots. In: SIGCOMM
Yu M, Jose L, Miao R (2013) Software defined traffic measurement with OpenSketch. In: NSDI
Zhu H, Bai Z, Li J, Michael E, Ports DRK, Stoica I, Jin X (2020) Harmonia: near-linear scalability for replicated storage with in-network conflict detection. In: VLDB
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Govindan Kannan, P., Chan, M.C. On programmable networking evolution. CSIT 8, 69–76 (2020). https://doi.org/10.1007/s40012-020-00272-w
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s40012-020-00272-w