skip to main content
research-article

The road to SDN: an intellectual history of programmable networks

Published:08 April 2014Publication History
Skip Abstract Section

Abstract

Software Defined Networking (SDN) is an exciting technology that enables innovation in how we design and manage networks. Although this technology seems to have appeared suddenly, SDN is part of a long history of efforts to make computer networks more programmable. In this paper, we trace the intellectual history of programmable networks, including active networks, early efforts to separate the control and data plane, and more recent work on OpenFlow and network operating systems. We highlight key concepts, as well as the technology pushes and application pulls that spurred each innovation. Along the way, we debunk common myths and misconceptions about the technologies and clarify the relationship between SDN and related technologies such as network virtualization.

References

  1. A. Al-Shabibi. Programmable virtual networks: From network slicing to network virtualization, July 2013. http://www.slideshare.net/nvirters/virt-july2013meetup.Google ScholarGoogle Scholar
  2. D. Alexander, W. Arbaugh, A. Keromytis, and J. Smith. Secure active network environment archtiecture: Realization in SwitchWare. IEEE Network Magazine, pages 37--45, May 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. D. S. Alexander, W. A. Arbaugh, M. W. Hicks, P. Kakkar, A. D. Keromytis, J. T. Moore, C. A. Gunter, S. M. Nettles, and J. M. Smith. The SwitchWare active network architecture. IEEE Network, 12(3):29--36, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. D. G. Andersen, H. Balakrishnan, M. F. Kaashoek, and R. Morris. Resilient Overlay Networks. In Proc. 18th ACM Symposium on Operating Systems Principles (SOSP), pages 131--145, Banff, Canada, Oct. 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. B. Anwer, M. Motiwala, M. bin Tariq, and N. Feamster. SwitchBlade: A Platform for Rapid Deployment of Network Protocols on Programmable Hardware. In Proc. ACM SIGCOMM, New Delhi, India, Aug. 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. A. Bavier, M. Bowman, D. Culler, B. Chun, S. Karlin, S. Muir, L. Peterson, T. Roscoe, T. Spalink, and M. Wawrzoniak. Operating System Support for Planetary-Scale Network Services. In Proc. First Symposium on Networked Systems Design and Implementation (NSDI), San Francisco, CA, Mar. 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. A. Bavier, N. Feamster, M. Huang, L. Peterson, and J. Rexford. In VINI Veritas: Realistic and Controlled Network Experimentation. In Proc. ACM SIGCOMM, Pisa, Italy, Aug. 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. S. Bhattacharjee, K. Calvert, and E. Zegura. An architecture for active networks. In High Performance Networking, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. BIRD Internet routing daemon. http://bird.network.cz/.Google ScholarGoogle Scholar
  10. J. Biswas, A. A. Lazar, J.-F. Huard, K. Lim, S. Mahjoub, L.-F. Pau, M. Suzuki, S. Torstensson, W. Wang, and S. Weinstein. The ieee p1520 standards initiative for programmable network interfaces. Communications Magazine, IEEE, 36(10):64--70, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. P. Bosshart, G. Gibb, H. Kim, G. Varghese, N. McKeown, M. Izzard, F. Mujica, and M. Horowitz. Forwarding metamorphosis: Fast programmable match-action processing in hardware for SDN. In ACM SIGCOMM, Aug. 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. M. Caesar, N. Feamster, J. Rexford, A. Shaikh, and J. van der Merwe. Design and implementation of a routing control platform. In Proc. 2nd USENIX NSDI, Boston, MA, May 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. K. Calvert. An architectural framework for active networks (v1.0). http://protocols.netlab.uky.edu/calvert/arch-latest.ps.Google ScholarGoogle Scholar
  14. K. Calvert. Reflections on network architecture: An active networking perspective. ACM SIGCOMM Computer Communications Review, 36(2):27--30, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. K. Calvert, S. Bhattacharjee, E. Zegura, and J. Sterbenz. Directions in active networks. IEEE Communications Magazine, pages 72--78, October 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. M. Casado, M. J. Freedman, J. Pettit, J. Luo, N. McKeown, and S. Shenker. Ethane: Taking control of the enterprise. In ACM SIGCOMM '07, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. M. Casado, T. Garfinkel, M. Freedman, A. Akella, D. Boneh, N. McKeown, and S. Shenker. SANE: A protection architecure for enterprise networks. In Proc. 15th USENIX Security Symposium, Vancouver, BC, Canada, Aug. 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. B. Chun, D. Culler, T. Roscoe, A. Bavier, L. Peterson, M. Wawrzoniak, and M. Bowman. Planetlab: an overlay testbed for broad-coverage services. ACM SIGCOMM Computer Communication Review, 33(3):3--12, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. M. Ciosi et al. Network functions virtualization. Technical report, ETSI, Darmstadt, Germany, Oct. 2012. http://portal.etsi.org/NFV/NFV_White_Paper.pdf.Google ScholarGoogle Scholar
  20. S. da Silva, Y. Yemini, and D. Florissi. The NetScript active network system. IEEE Journal on Selected Areas in Communications, 19(3):538--551, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. M. Dobrescu, N. Egi, K. Argyraki, B.-G. Chun, K. Fall, G. Iannaccone, A. Knies, M. Manesh, and S. Ratnasamy. RouteBricks: Exploiting parallelism to scale software routers. In Proc. 22nd ACM Symposium on Operating Systems Principles (SOSP), Big Sky, MT, Oct. 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. D. Drutskoy, E. Keller, and J. Rexford. Scalable network virtualization in software-defined networks. IEEE Internet Computing, March/April 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. D. Erickson. The Beacon OpenFlow controller. In Proc. HotSDN, Aug. 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. D. Erickson et al. A demonstration of virtual machine mobility in an OpenFlow network, Aug. 2008. Demo at ACM SIGCOMM.Google ScholarGoogle Scholar
  25. A. Farrel, J. Vasseur, and J. Ash. A Path Computation Element (PCE)-Based Architecture. Internet Engineering Task Force, Aug. 2006. RFC 4655.Google ScholarGoogle ScholarCross RefCross Ref
  26. N. Feamster, H. Balakrishnan, J. Rexford, A. Shaikh, and K. van der Merwe. The case for separating routing from routers. In ACM SIGCOMM Workshop on Future Directions in Network Architecture, Portland, OR, Sept. 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. N. Feamster, L. Gao, and J. Rexford. How to lease the Internet in your spare time. ACM SIGCOMM Computer Communications Review, 37(1):61--64, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Floodlight OpenFlow Controller. http://floodlight.openflowhub.org/.Google ScholarGoogle Scholar
  29. FlowVisor. http://www.openflowswitch.org/wk/index.php/FlowVisor.Google ScholarGoogle Scholar
  30. A. Fraser. Datakit--A Modular Network for Synchronous and Asynchronous Traffic. In Proc. Int. Conf. on Communications, 1980.Google ScholarGoogle Scholar
  31. NSF Future Internet Design. http://www.nets-find.net/.Google ScholarGoogle Scholar
  32. EU Future Internet Research and Experimentation Initiative. http://www.ict-fire.eu/.Google ScholarGoogle Scholar
  33. GENI: Global Environment for Network Innovations. http://www.geni.net/.Google ScholarGoogle Scholar
  34. GENI. Campus OpenFlow topology, 2011. http://groups.geni.net/geni/wiki/OpenFlow/CampusTopology.Google ScholarGoogle Scholar
  35. A. Greenberg, G. Hjalmtysson, D. A. Maltz, A. Myers, J. Rexford, G. Xie, H. Yan, J. Zhan, and H. Zhang. A clean slate 4D approach to network control and management. ACM SIGCOMM Computer Communications Review, 35(5):41--54, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. K. Greene. TR10: Software-defined networking. MIT Technology Review, March/April 2009. http://www2.technologyreview.com/article/412194/tr10-software-defined-networking/.Google ScholarGoogle Scholar
  37. N. Gude, T. Koponen, J. Pettit, B. Pfaff, M. Casado, N. McKeown, and S. Shenker. NOX: Towards an operating system for networks. ACM SIGCOMM Computer Communication Review, 38(3):105--110, July 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. S. Han, K. Jang, K. Park, and S. Moon. PacketShader: a GPU-accelerated software router. In Proc. ACM SIGCOMM, New Delhi, India, Aug. 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. N. Handigol, M. Flajslik, S. Seetharaman, N. McKeown, and R. Johari. Aster*x: Load-balancing as a network primitive. In ACLD '10: Architectural Concerns in Large Datacenters, 2010.Google ScholarGoogle Scholar
  40. M. Handley, E. Kohler, A. Ghosh, O. Hodson, and P. Radoslavov. Designing extensible IP router software. In Proc. Networked Systems Design and Implementation, May 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. B. Heller, N. Handigol, V. Jeyakumar, B. Lantz, and N. McKeown. Reproducible network experiments using container based emulation. In Proc. ACM CoNEXT, Dec. 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. B. Heller, S. Seetharaman, P. Mahadevan, Y. Yiakoumis, P. Sharma, S. Banerjee, and N. McKeown. ElasticTree: Saving energy in data center networks. Apr. 2010.Google ScholarGoogle Scholar
  43. R. Hinden and J. Postel. IPv6 Testing Address Allocation. Internet Engineering Task Force, January 1996. RFC 1897, obsoleted by RFC 2471 on "6bone Phaseout". Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. S. Jain, A. Kumar, S. Mandal, J. Ong, L. Poutievski, A. Singh, S. Venkata, J. Wanderer, J. Zhou, M. Zhu, J. Zolla, U. Hölzle, S. Stuart, and A. Vahdat. B4: Experience with a globally deployed software defined WAN. In ACM SIGCOMM, Aug. 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. E. Kohler, R. Morris, B. Chen, J. Jannotti, and M. F. Kaashoek. The Click modular router. ACM Transactions on Computer Systems, 18(3):263--297, Aug. 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. T. Koponen, M. Casado, N. Gude, J. Stribling, L. Poutievski, M. Zhu, R. Ramanathan, Y. Iwata, H. Inoue, T. Hama, and S. Shenker. Onix: A distributed control platform for large-scale production networks. In OSDI, volume 10, pages 1--6, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. T. V. Lakshman, T. Nandagopal, R. Ramjee, K. Sabnani, and T. Woo. The SoftRouter Architecture. In Proc. 3nd ACM Workshop on Hot Topics in Networks (Hotnets-III), San Diego, CA, Nov. 2004.Google ScholarGoogle Scholar
  48. B. Lantz, B. Heller, and N. McKeown. A network in a laptop: Rapid prototyping for software-defined networks (at scale!). In Proc. HotNets, Oct. 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. J. Lockwood, N. McKeown, G. Watson, G. Gibb, P. Hartke, J. Naous, R. Raghuraman, and J. Luo. NetFPGA: An open platform for gigabit-rate network switching and routing. In IEEE International Conference on Microelectronic Systems Education, pages 160--161, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. M. R. Macedonia and D. P. Brutzman. Mbone provides audio and video across the internet. Computer, 27(4):30--36, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. N. McKeown, T. Anderson, H. Balakrishnan, G. Parulkar, L. Peterson, J. Rexford, S. Shenker, and J. Turner. OpenFlow: Enabling innovation in campus networks. ACM SIGCOMM Computer Communications Review, Apr. 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. NSF Guidelines for Planning and Managing the Major Research Equipment and Facilities Construction (MREFC) Account. http://www.nsf.gov/bfa/docs/mrefcguidelines1206.pdf, Nov. 2005.Google ScholarGoogle Scholar
  53. A. Nayak, A. Reimers, N. Feamster, and R. Clark. Resonance: Dynamic access control in enterprise networks. In Proc. Workshop: Research on Enterprise Networking, Barcelona, Spain, Aug. 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. Nicira. It's time to virtualize the network, 2012. http://nicira.com/en/network-virtualization-platform.Google ScholarGoogle Scholar
  55. ON.Lab. ONOS: Open network operating system, 2013. http://tinyurl.com/pjs9eyw.Google ScholarGoogle Scholar
  56. Open Daylight. http://www.opendaylight.org/.Google ScholarGoogle Scholar
  57. Open Networking Foundation. https://www.opennetworking.org/.Google ScholarGoogle Scholar
  58. Open vSwitch. http://openvswitch.org.Google ScholarGoogle Scholar
  59. L. Peterson, T. Anderson, D. Blumenthal, D. Casey, D. Clark, D. Estrin, J. Evans, D. Raychaudhuri, M. Reiter, J. Rexford, S. Shenker, and J. Wroclawski. GENI design principles. IEEE Computer, Sept. 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  60. L. Peterson, T. Anderson, D. Culler, and T. Roscoe. A blueprint for introducing disruptive technology into the Internet. In Proc. 1st ACM Workshop on Hot Topics in Networks (Hotnets-I), Princeton, NJ, Oct. 2002.Google ScholarGoogle Scholar
  61. L. Peterson, S. Shenker, and J. Turner. Overcoming the Internet impasse through virtualization. In Proc. 3nd ACM Workshop on Hot Topics in Networks (Hotnets-III), San Diego, CA, Nov. 2004.Google ScholarGoogle Scholar
  62. B. Pfaff, J. Pettit, K. Amidon, M. Casado, T. Koponen, and S. Shenker. Extending networking into the virtualization layer. In Proc. HotNets, Oct. 2009.Google ScholarGoogle Scholar
  63. POX. http://www.noxrepo.org/pox/about-pox/.Google ScholarGoogle Scholar
  64. Quagga software routing suite. http://www.quagga.net/.Google ScholarGoogle Scholar
  65. J. Salim, H. Khosravi, A. Kleen, and A. Kuznetsov. Linux Netlink as an IP Services Protocol. Internet Engineering Task Force, July 2003. RFC 3549. Google ScholarGoogle ScholarDigital LibraryDigital Library
  66. B. Schwartz, A. W. Jackson, W. T. Strayer, W. Zhou, R. D. Rockwell, and C. Partridge. Smart packets for active networks. In IEEE Conference on Open Architectures and Network Programming, pages 90--97. IEEE, 1999.Google ScholarGoogle ScholarCross RefCross Ref
  67. R. Sherwood, G. Gibb, K.-K. Yap, G. Appenzeller, M. Casado, N. McKeown, and G. Parulkar. Can the production network be the testbed? In Proc. 9th USENIX OSDI, Vancouver, Canada, Oct. 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  68. J. Smith et al. SwitchWare: Accelerating network evolution. Technical Report MS-CIS-96-38, CIS Department, University of Pennsylvania, 1996.Google ScholarGoogle Scholar
  69. J. M. Smith, K. L. Calvert, S. L. Murphy, H. K. Orman, and L. L. Peterson. Activating networks: A progress report. 32(4):32--41, Apr. 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  70. J. M. Smith and S. M. Nettles. Active networking: One view of the past, present, and future. IEEE Transactions on Systems, Man, and Cybernetics: Part C: Applications and Reviews, 34(1), February 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  71. T. Spalink, S. Karlin, L. Peterson, and Y. Gottlieb. Building a robust software-based router using network processors. In Proc. SOSP, Dec. 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  72. D. Taylor and J. Turner. Diversifying the Internet. In Proc. IEEE GLOBECOM, Nov. 2005.Google ScholarGoogle Scholar
  73. D. E. Taylor, J. S. Turner, J. W. Lockwood, and E. L. Horta. Dynamic hardware plugins: Exploiting reconfigurable hardware for high-performance programmable routers. Computer Networks, 38(3):295--310, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  74. D. Tennenhouse, J. Smith, W. D. Sincoskie, D. Wetherall, and G. Minden. A survey of active network research. IEEE Communications Magazine, pages 80--86, January 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  75. D. L. Tennenhouse and D. J. Wetherall. Towards an Active Network Architecture. ACM SIGCOMM Computer Communications Review, 26(2):5--18, Apr. 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  76. J. Touch. Dynamic Internet overlay deployment and management using the X-Bone. Computer Networks, 36(2):117--135, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  77. J. van der Merwe, A. Cepleanu, K. D'Souza, B. Freeman, A. Greenberg, et al. Dynamic connectivity management with an intelligent route service control point. In ACM SIGCOMM Workshop on Internet Network Management, Oct. 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  78. J. van der Merwe, S. Rooney, I. Leslie, and S. Crosby. The Tempest: A Practical Framework for Network Programmability. IEEE Network, 12(3):20--28, May 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  79. P. Verkaik, D. Pei, T. Scholl, A. Shaikh, A. Snoeren, and J. van der Merwe. Wresting control from BGP: Scalable fine-grained route control. In Proc. USENIX Annual Technical Conference, June 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  80. A. Voellmy and P. Hudak. Nettle: Functional reactive programming of OpenFlow networks. In Proc. Workshop on Practical Aspects of Declarative Languages, pages 235--249, Jan. 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  81. R. Wang, D. Butnariu, and J. Rexford. OpenFlow-based server load balancing gone wild. In Hot-ICE, Mar. 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  82. D. Wetherall, J. Guttag, and D. Tennenhouse. ANTS: A toolkit for building and dynamically deploying network protocols. In IEEE OpenArch, April 1998.Google ScholarGoogle ScholarCross RefCross Ref
  83. B. White, J. Lepreau, L. Stoller, R. Ricci, S. Guruprasad, M. Newbold, M. Hibler, C. Barb, and A. Joglekar. An integrated experimental environment for distributed systems and networks. In Proc. OSDI, Dec. 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  84. T. Wolf and J. Turner. Design issues for high performance active routers. IEEE Journal on Selected Areas of Communication, pages 404--409, March 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  85. H. Yan, D. A. Maltz, T. S. E. Ng, H. Gogineni, H. Zhang, and Z. Cai. Tesseract: A 4D Network Control Plane. In Proc. 4th USENIX NSDI, Cambridge, MA, Apr. 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  86. L. Yang, R. Dantu, T. Anderson, and R. Gopal. Forwarding and Control Element Separation (ForCES) Framework. Internet Engineering Task Force, Apr. 2004. RFC 3746. Google ScholarGoogle ScholarDigital LibraryDigital Library
  87. Y. Yiakoumis and N. McKeown. Slicing Home Networks. In ACM SIGCOMM Workshop on Home Networking (Homenets), Toronto, Ontario, Canada, May 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  88. J. Zander and R. Forchheimer. Softnet: An approach to higher level packet radio. In Proceedings, AMRAD Conference, San Francisco, 1983.Google ScholarGoogle Scholar

Index Terms

  1. The road to SDN: an intellectual history of programmable networks

    Recommendations

    Reviews

    Alberto Egon Schaeffer-Filho

    Software-defined networking (SDN) is arguably the single most important development in the networking field in the past few years. SDN decouples how packets are forwarded between routers/switches (data plane) from how packets must be handled (control plane). Feamster et al. present a history lesson on how different technologies and paradigms played a role in shaping what is now called SDN. A chronological overview of past efforts in the area of programmable networking is depicted from early research on active networks, through control-data separation, and finally on to the more recent OpenFlow and network operating system efforts. Furthermore, the authors discuss what has driven the interest from academia and industry through the years: initially, it was the search for more pragmatism, and later it was the need to generalize previous solutions. Even experienced researchers and practitioners will appreciate the chronological relationships highlighted by the authors. Not surprisingly, many concerns faced earlier by more primitive solutions surfaced later in the SDN domain, including the need for distributed state management. The reliance on existing protocols and application programming interfaces (APIs) significantly limited what could be done in the early 2000s, but the authors emphasize that present-day SDN and OpenFlow as its primary realization build on similar principles for supporting a more general manner of network programming. If one thing is missing in this paper, however, it is a discussion on abstractions for expressing network programmability and for the specification of management functions. This would have included early work on policy-based network management (PBNM), the Internet Engineering Task Force (IETF) script management information base (MIB), and more recent efforts along the lines of Pyretic. Online Computing Reviews Service

    Access critical reviews of Computing literature here

    Become a reviewer for Computing Reviews.

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader