The GENI Book pp 149-178 | Cite as

Programmable, Controllable Networks

  • Nicholas Bastin
  • Rick McGeer


We describe OpenFlow, a first step on the road to networks which are fully integrated into the IT infrastructure ecosystem. We review the history of OpenFlow, its precursors, its design and initial implementations. We discuss its use within the GENI project and the applications and services developers have built on the OpenFlow platform. Finally, we review the implementation issues with OpenFlow, and consider extensions and the next generation of Software-Defined Networking.


Control Plane Software Define Networking Border Gateway Protocol Network Function Virtualization Campus Network 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.



We have been fortunate to enjoy the support of a number of brilliant colleagues and a vibrant ecosystem throughout the course of this project. Sujata Banerjee was instrumental in ensuring that many of the commercial and academic researchers who wanted to experiment with OpenFlow could do so on commercial switches. Charles Clark of HP Networking was the first person to suggest hybrid switching and using OpenFlow on specific VLANs. Nick McKeown and Guru Parulkar of Stanford were unfailingly supportive throughout this process. The legions of GENI users and experimenters provided invaluable feedback. The initiative of the campuses first involved in the initial OpenFlow trials was critical, and Nick Feamster, Jennifer Rexford, Russ Clark, and Ron Hutchins. were notably helpful.


  1. 1.
    Baldin, I., Chase, J., Xin, Y., Mandal, A., Ruth, P., Castillo, C., Orlikowski, V., Heermann, C., Mills, J.: Exogeni: a multi-domain infrastructure-as-a-service testbed. In: GENI: Prototype of the Next Internet. Springer, New York (2016)Google Scholar
  2. 2.
    Berde, P., Gerola, M., Hart, J., Higuchi, Y., Kobayashi, M., Koide, T., Lantz, B., O’Connor, B., Radoslavov, P., Snow, W., et al.: ONOS: towards an open, distributed SDN OS. In: Proceedings of the Third Workshop on Hot Topics in Software Defined Networking, pp. 1–6. ACM, New York (2014)Google Scholar
  3. 3.
    Bosshart, P., Daly, D., Gibb, G., Izzard, M., McKeown, N., Rexford, J., Schlesinger, C., Talayco, D., Vahdat, A., Varghese, G., Walker, D.: P4: programming protocol-independent packet processors. SIGCOMM Comput. Commun. Rev. 44 (3), 87–95 (2014)CrossRefGoogle Scholar
  4. 4.
    Casado, M., Freedman, M.J., Pettit, J., Luo, J., McKeown, N., Shenker, S.: Ethane: taking control of the enterprise. In: Proceedings of ACM SIGCOMM (2007)CrossRefGoogle Scholar
  5. 5.
    Covington, G.A. Naous, J., Erickson, D., Mckeown, N.: Implementing an openflow switch on the NetFPGA platform. In: Proceedings of ANCS (2008)Google Scholar
  6. 6.
    Davy, M., Parulkar, G., van Reijendam, J., Schmiedt, D., Clark, R., Tengi, C., Seskar, I., Christian, P., Cote, I., China, G.: A case for expanding openflow/SDN deployments on university campuses., (2011)
  7. 7.
    Dempsey, H.: The GENI mesoscale network. In: GENI: Prototype of the Next Internet. Springer, New York (2016)Google Scholar
  8. 8.
    ETSI. Network functions virtualisation: an introduction, benefits, enablers, challenges & call for action. In: SDN and OpenFlow World Congress (2012)Google Scholar
  9. 9.
    Foster, N., Guha, A., Reitblatt, M., Story, A., Freedman, M., Katta, N., Monsanto, C., Reich, J., Rexford, J., Schlesinger, C., Walker, D., Harrison, R.: Languages for software-defined networks. IEEE Commun. Mag. 51 (2), 128–134 (2013)CrossRefGoogle Scholar
  10. 10.
  11. 11.
    Gude, N., Koponen, T., Pettit, J., Pfaff, B., Casado, M., McKeown, N., Shenker, S.: Nox: towards an operating system for networks. ACM SIGCOMM CCR 38 (3), 105–110 (2008)CrossRefGoogle Scholar
  12. 12.
    Gupta, A., Vanbever, L., Shahbaz, M., Donovan, S.P., Schlinker, B., Feamster, N., Rexford, J., Shenker, S., Clark, R., Katz-Bassett, E.: SDX: a software defined internet exchange. In: Proceedings of the 2014 ACM Conference on SIGCOMM, pp. 551–562. ACM, New York (2014)Google Scholar
  13. 13.
    Gurkan, D., Dane, L., Bastin, N.: Split data plane switches on GENI. (2012)
  14. 14.
    Heller, B., Seetharaman, S., Mahadevan, P., Yiakoumis, Y., Sharma, P., Banerjee, S., Mckeown, N.: Elastictree: saving energy in data center networks. In: Proceedings of IN NSDI (2010)Google Scholar
  15. 15.
    Jacobson, V., Mosko, M., Smetters, D., Garcia-Luna-Aceves, J.: Content-centric networking. Whitepaper, Palo Alto Research Center, pp. 2–4 (2007)Google Scholar
  16. 16.
    Katta, N.P., Rexford, J., Walker, D.: Incremental consistent updates. In: Proceedings of the Second ACM SIGCOMM Workshop on Hot Topics in Software Defined Networking, pp. 49–54. ACM, New York (2013)Google Scholar
  17. 17.
    Kazemian, P., Varghese, G., McKeown, N.: Header space analysis: Static checking for networks. In: Proceedings of the 9th USENIX Conference on Networked Systems Design and Implementation, NSDI’12, pp. 9–9. USENIX Association, Berkeley, CA (2012)Google Scholar
  18. 18.
    Khurshid, A., Zhou, W., Caesar, M., Godfrey, P.: Veriflow: verifying network-wide invariants in real time. ACM SIGCOMM Comput. Commun. Rev. 42 (4), 467–472 (2012)CrossRefGoogle Scholar
  19. 19.
    Knutsson, B., Peterson, L.: Transparent proxy signalling. J. Commun. Netw. 3 (2), 164–174 (2001)Google Scholar
  20. 20.
    Levin, D., Canini, M., Schmid, S., Schaffert, F., Feldmann, A., et al.: Panopticon: reaping the benefits of incremental SDN deployment in enterprise networks. In: Proceedings of USENIX ATC (2014)Google Scholar
  21. 21.
    Lockwood, J.W., Mckeown, N., Watson, G., Gibb, G., Hartke, P., Naous, J., Raghuraman, R., Luo, J.: Netfpga - an open platform for gigabit-rate network switching and routing. In: Proceedings of MSE ’07, pp. 3–4 (2007)Google Scholar
  22. 22.
    McGeer, R.: A safe, efficient update protocol for openflow networks. In: Proceedings of the First Workshop on Hot Topics in Software Defined Networks, HotSDN ’11, pp. 61–66. ACM, New York (2011)Google Scholar
  23. 23.
    McGeer, R.: Verification of switching network properties using satisfiability. In: ICC Workshop on Software-Defined Networks (2012)CrossRefGoogle Scholar
  24. 24.
    McGeer, R.: A correct, zero-overhead protocol for network updates. In: Proceedings of the Second ACM SIGCOMM Workshop on Hot Topics in Software Defined Networking, pp. 161–162. ACM, New York (2013)Google Scholar
  25. 25.
    McGeer, R., Ricci, R.: The instaGENI project. In: GENI: Prototype of the Next Internet. Springer, New York (2016)Google Scholar
  26. 26.
    McKeown, N., Anderson, T., Balakrishnan, H., Parulkar, G., Peterson, L., Rexford, J., Shenker, S., Turner, J.: Openflow: enabling innovation in campus networks. ACM SIGCOMM CCR 38 (2), 69–74 (2008)CrossRefGoogle Scholar
  27. 27.
    McLaggan, D.: Web cache communication protocol v2, revision 1. (2012)
  28. 28.
    Naous, J., Bolouki, S.: Netfpga: reusable router architecture for experimental research. In: Proceedings of the ACM Workshop on Programmable Routers for Extensible Services of Tomorrow PRESTO ’08, pp. 1–7. ACM, New York (2008)Google Scholar
  29. 29.
    Nunes, B., Mendonca, M., Nguyen, X.-N., Obraczka, K., Turletti, T., et al.: A survey of software-defined networking: past, present, and future of programmable networks. IEEE Commun. Surv. Tutorials 16 (3), 1617–1634 (2014)CrossRefGoogle Scholar
  30. 30.
    ON.LAB. Introducing ONOS - a SDN network operating system for service providers. (2014)
  31. 31.
    ON.LAB. Central office re-architected as a datacenter (cord). (2015)
  32. 32.
    P.C.I.S.S. Council. Payment card industry data security standard requirements and security assessment procedures version 2.0. (2010)
  33. 33.
  34. 34.
    Peterson, L., Baker, S., De Leenheer, M., Bavier, A., Bhatia, S., Nelson, J., Wawrzoniak, M., Hartman, J.: XOS: an extensible cloud operating system. In: Proceedings of BigSystem (2015)CrossRefGoogle Scholar
  35. 35.
    Reich, J., Monsanto, C., Foster, N., Rexford, J., Walker, D.: Modular SDN programming with Pyretic. USENIX;login 38 (5), 128–134 (2013)Google Scholar
  36. 36.
    Reitblatt, M., Foster, N., Rexford, J., Schlesinger, C., Walker, D.: Abstractions for network update. In: Proceedings of the ACM SIGCOMM 2012 Conference on Applications, Technologies, Architectures, and Protocols for Computer Communication, pp. 323–334. ACM, New York (2012)Google Scholar
  37. 37.
    Ricart, G., McGeer, R.: US ignite and smarter GENI cities. In: GENI: Prototype of the Next Internet. Springer, New York (2016)Google Scholar
  38. 38.
    Sakurauchi, Y., McGeer, R., Takada, H.: Openweb: seamless proxy interconnection at the switching layer. Int. J. Netw. Comput. 1 (2), 157–177 (2011)Google Scholar
  39. 39.
    Saltzer, J.H., Reed, D.P., Clark, D.D.: End-to-end arguments in system design. ACM Trans. Comput. Syst. (TOCS) 2 (4), 277–288 (1984)Google Scholar
  40. 40.
    Sherwood, R., Gibb, G., Yap, K.-K., Appenzeller, G., Casado, M., McKeown, N., Parulkar, G.: Flowvisor: a network virtualization layer. Technical report, OPENFLOW-TR-2009-1, Open Network Foundation (2009)Google Scholar
  41. 41.
    Sherwood, R., Gibb, G., Kobayashi, M.: Carving research slices out of your production networks with openflow. ACM SIGCOMM CCR 40 (1), 129–130 (2010)CrossRefGoogle Scholar
  42. 42.
    Sherwood, R., Gibb, G., Yap, K.-K., Appenzeller, G., Casado, M., McKeown, N., Parulkar, G.: Can the production network be the testbed? In: Operating Systems Design and Implementation (OSDI) (2010)Google Scholar
  43. 43.
  44. 44.
    Stoica, I., Morris, R., Karger, D., Kaashoek, M.F., Balakrishnan, H.: Chord: a scalable peer-to-peer lookup service for internet applications. In: Proceedings of SIGCOMM’01, pp. 149–160 (2001)Google Scholar
  45. 45.
    Szalay, A.S.: Jim gray, astronomer. Commun. ACM 51 (11), 58–65 (2008)CrossRefGoogle Scholar
  46. 46.
    Szalay, A.S., Gray, J., Thakar, A., Kunszt, P.Z., Malik, T., Raddick, J., Stoughton, C., van den Berg, J.: The SDSS skyserver: public access to the sloan digital sky server data. In: Proceedings of the 2002 ACM SIGMOD International Conference on Management of Data, Madison, WI, 3–6 June 2002, pp. 570–581 (2002)Google Scholar
  47. 47.
    The Openflow Switch Specification. (2009)
  48. 48.
    Van Adrichem, N.L., Doerr, C., Kuipers, F., et al.: Opennetmon: network monitoring in openflow software-defined networks. In: 2014 IEEE Network Operations and Management Symposium (NOMS), pp. 1–8. IEEE, New York (2014)Google Scholar
  49. 49.
    Wetherall, D.: Active network vision and reality: lessons from a capsule-based system. In: Symposium on Operating Systems Principles (1999)CrossRefGoogle Scholar
  50. 50.
    Zhang, S., Malik, S., McGeer, R.: Verification of computer switching networks: an overview. In: Proceedings of the 10th International Conference on Automated Technology for Verification and Analysis, ATVA’12, pp. 1–16. Springer, Berlin/Heidelberg (2012)Google Scholar
  51. 51.
    Zhao, B.Y., Kubiatowicz, J., Joseph, A.D.: Tapestry: an infrastructure for fault-tolerant wide-area location and routing. Technical report, UC-Berkeley (2001)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  1. 1.Barnstormer Softworks Ltd. and University of HoustonHoustonUSA
  2. 2.Chief ScientistUS IgniteWashington, DCUSA

Personalised recommendations