Skip to main content
Log in

On programmable networking evolution

  • Special Issue on SDN
  • Published:
CSI Transactions on ICT Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2

Similar content being viewed by others

Notes

  1. https://www.onap.org/wp-content/uploads/sites/20/2019/07/35752846-0-Lumina-Orchestration-2.pdf.

  2. https://github.com/p4lang/behavioral-model.

References

  1. A simple network management protocol (snmp). https://www.ietf.org/rfc/rfc1157.txt

  2. 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

  3. Apache ZooKeeper. http://zookeeper.apache.org

  4. Arashloo MT, Koral Y, Greenberg M, Rexford J, Walker D (2016) SNAP: stateful network-wide abstractions for packet processing. In: SIGCOMM

  5. 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

  6. 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

  7. 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

  8. Broadcom Trident 3. https://packetpushers.net/broadcom-trident3-programmable-varied-volume/

  9. Cavium xpliant ethernet switch product family. https://goo.gl/xzfLLo

  10. Chen X, Feibish S L, Koral Y, Rexford J, Rottenstreich O (2018) Catching the microburst culprits with snappy. In: SelfDN

  11. 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

  12. Clark D (1988) The design philosophy of the darpa internet protocols. In: SIGCOMM

  13. Cormode G, Muthukrishnan M (2012) Approximating data with the count-min sketch. In: IEEE Softw

  14. Dang HT, Sciascia D, Canini M, Pedone F, Soulé R (2015) NetPaxos: consensus at network speed. In: SOSR

  15. Feamster EZN, Rexford J (2014) The road to SDN: an intellectual history of programmable networks. In: SIGCOMM Comput. Commun. Rev

  16. Floodlight OpenFlow Controller. http://www.projectfloodlight.org/floodlight/

  17. Forwarding and control element separation (forces). https://datatracker.ietf.org/wg/forces/documents/

  18. Gao X, Kim T, Varma AK, Sivaraman A, Narayana S (2019) Autogenerating fast packet-processing code using program synthesis. In: HotNets

  19. General switch management protocol (gsmp). https://datatracker.ietf.org/wg/gsmp/about/

  20. 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

  21. Gupta A, Harrison R, Canini M, Feamster N, Rexford J, Willinger W (2018) Sonata: query-driven streaming network telemetry. In: SIGCOMM

  22. 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

  23. 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

  24. 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

  25. Huang Q, Lee PPC, Bao Y (2018) Sketchlearn: relieving user burdens in approximate measurement with automated statistical inference. In: SIGCOMM

  26. In-band Network Telemetry. https://p4.org/assets/INT-current-spec.pdf

  27. 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

  28. Innovium teralynx. https://www.innovium.com/products/teralynx/

  29. Intel flexpipe. https://goo.gl/PzPudG

  30. 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

  31. Jepsen T, Alvarez D, Foster N, Kim C, Lee J, Moshref M, Soulé R (2019) Fast string searching on PISA. In: SOSR

  32. Jepsen T, Moshref M, Carzaniga A, Foster N, Soulé R (2018) Packet subscriptions for programmable ASICs. In: HotNets

  33. 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

  34. 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

  35. Joshi R, Qu T, Chan MC, Leong B, Loo BT (2018) BurstRadar: practical real-time microburst monitoring for datacenter networks. In: APSys

  36. Kang N, Liu Z, Rexford J, Walker D (2013) Optimizing the “one big switch” abstraction in software-defined networks. In: CoNEXT

  37. Kannan PG, Joshi R, Chan MC (2019) Precise time-synchronization in the data-plane using programmable switching asics. In: SOSR

  38. Katabi D, Handley M, Rohrs C (2002) Congestion control for high bandwidth-delay product networks. In: SIGCOMM

  39. Katta N, Hira M, Kim C, Sivaraman A, Rexford J (2016) HULA: scalable load balancing using programmable data planes. In: SOSR

  40. Lakshman TV, Nandagopal T, Ramjee R, Sabnani K, Woo T (2004) The SoftRouter architecture. In: HotNets

  41. Lamport L (1998) The part-time parliament. ACM Trans Comput Syst 16:133

    Article  Google Scholar 

  42. 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

    Article  Google Scholar 

  43. 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

  44. 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

  45. Li J, Michael E, Ports DRK (2017) Eris: coordination-free consistent transactions using in-network concurrency control. In: SOSP

  46. Li J, Michael E, Sharma NK, Szekeres A, Ports DRK (2016) Just say NO to paxos overhead: replacing consensus with network ordering. In: OSDI

  47. 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

  48. Li Y, Miao R, Kim C, Yu M (2016) Flowradar: a better netflow for data centers. In: NSDI

  49. Liu M, Cui T, Schuh H, Krishnamurthy A, Peter S, Gupta K (2019) Offloading distributed applications onto smartNICs using ipipe. In: SIGCOMM

  50. 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

  51. Liu X, Shirazipour M, Yu M, Zhang Y (2016) Mozart: temporal coordination of measurement. In: SOSR

  52. 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

  53. 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

  54. McCauley J, Panda A, Krishnamurthy A, Shenker S (2019) Thoughts onload distribution and the role of programmable switches. In: SIGCOMM Comput. Commun. Rev

  55. 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

  56. 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

  57. Natesh V, Kannan P G, Sivaraman A, Netravali R (2019) Sluice: network-wide data plane programming. In: SIGCOMM Posters and Demos

  58. NetFlow. https://en.wikipedia.org/wiki/NetFlow

  59. 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

    Article  Google Scholar 

  60. Onos project. https://onosproject.org/

  61. Opendaylight. https://www.opendaylight.org/

  62. Ports DRK, Nelson J (2019) When should the network be the computer? In: HotOS

  63. Portable Switch Architecture. https://p4.org/p4-spec/docs/PSA-v1.0.0.pdf

  64. Pox sdn controller. https://noxrepo.github.io/pox-doc/html/

  65. Qu T et al (2019) SQR: in-network packet loss recovery from link failures for high-reliability datacenter networks. In: ICNP

  66. Ryu sdn controller. https://osrg.github.io/ryu/

  67. Sapio A, Abdelaziz I, Aldilaijan A, Canini M, Kalnis P (2017) In-network computation is a dumb idea whose time has come. In: HotNets

  68. 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

  69. SDNet Packet Processor https://www.xilinx.com/support/documentation/sw_manuals/xilinx2018_2/ug1012-sdnet-packet-processor.pdf

  70. Sflow. https://en.wikipedia.org/wiki/SFlow

  71. Shahbaz M, Suresh L, Rexford J, Feamster N, Rottenstreich O, Hira M (2019) Elmo: source routed multicast for public clouds. In: SIGCOMM

  72. 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

  73. Sharma NK, Liu M, Atreya K, Krishnamurthy A (2018) Approximating fair queueing on reconfigurable switches. In: NSDI

  74. Sivaraman V, Narayana S, Rottenstreich O, Muthukrishnan S, Rexford J (2017) Heavy-hitter detection entirely in the data plane. In: SOSR

  75. Sonchack J, Aviv AJ, Keller E, Smith JM (2018) Turboflow: information rich flow record generation on commodity switches. In: EuroSys

  76. 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

  77. Tai C, Zhu J, Dukkipati N (2008) Making large scale deployment of RCP practical for real networks. In: INFOCOM

  78. Tammana P, Agarwal R, Lee M (2018) Distributed network monitoring and debugging with switchpointer. In: NSDI

  79. The world’s fastest and most programmable networks. https://www.barefootnetworks.com/resources/worlds-fastest-most-programmable-networks/

  80. Wetherall DJ, Guttag JV, Tennenhouse DL (1998) Ants: a toolkit for building and dynamically deploying network protocols. In: IEEE open architectures and network programming

  81. Wundsam A, Levin D, Seetharaman S, Feldmann A (2011) Ofrewind: enabling record and replay troubleshooting for networks. In: ATC

  82. Xiong Z, Zilberman N (2019) Do switches dream of machine learning? Toward in-network classification. In: HotNets

  83. 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

  84. Yaseen N, Sonchack J, Liu V (2018) Synchronized network snapshots. In: SIGCOMM

  85. Yu M, Jose L, Miao R (2013) Software defined traffic measurement with OpenSketch. In: NSDI

  86. 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

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Pravein Govindan Kannan.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s40012-020-00272-w

Keywords

Navigation