skip to main content
10.1145/3230543.3230562acmconferencesArticle/Chapter ViewAbstractPublication PagescommConference Proceedingsconference-collections
research-article
Public Access

Trident: toward a unified SDN programming framework with automatic updates

Published:07 August 2018Publication History

ABSTRACT

Software-defined networking (SDN) and network functions (NF) are two essential technologies that need to work together to achieve the goal of highly programmable networking. Unified SDN programming, which integrates states of network functions into SDN control plane programming, brings these two technologies together. In this paper, we conduct the first systematic study of unified SDN programming. We first show that integrating asynchronous, continuously changing states of network functions into SDN can introduce basic complexities. We then present Trident, a novel, unified SDN programming framework that introduces programming primitives including stream attributes, route algebra and live variables to remove these complexities. We demonstrate the expressiveness of Trident using realistic use cases and conduct an extensive evaluation of its efficiency.

References

  1. C. R. Taylor, D. C. MacFarland, D. R. Smestad, and C. A. Shue. Contextual, flow-based access control with scalable host-based SDN techniques. In IEEE INFOCOM 2016 - The 35th Annual IEEE International Conference on Computer Communications, INFOCOM, pages 1--9, April 2016.Google ScholarGoogle ScholarCross RefCross Ref
  2. Vasudevan Nagendra, Vinod Yegneswaran, and Phillip Porras. Securing Ultra-High-Bandwidth Science DMZ Networks with Coordinated Situational Awareness. In Proceedings of the 16th ACM Workshop on Hot Topics in Networks, HotNets-XVI, pages 22--28, New York, NY, USA, 2017. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Sungmin Hong, Robert Baykov, Lei Xu, Srinath Nadimpalli, and Guofei Gu. Towards SDN-Defined Programmable BYOD (Bring Your Own Device) Security. NDSS'16. Internet Society, 2016.Google ScholarGoogle Scholar
  4. Seyed Kaveh Fayazbakhsh, Luis Chiang, Vyas Sekar, Minlan Yu, and Jeffrey C. Mogul. Enforcing Network-wide Policies in the Presence of Dynamic Middlebox Actions Using Flowtags. In Proceedings of the 11th USENIX Conference on Networked Systems Design and Implementation, NSDI'14, pages 533--546, Berkeley, CA, USA, 2014. USENIX Association. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Timothy L. Hinrichs, Natasha S. Gude, Martin Casado, John C. Mitchell, and Scott Shenker. Practical Declarative Network Management. In Proceedings of the 1st ACM Workshop on Research on Enterprise Networking, WREN '09, pages 1--10, New York, NY, USA, 2009. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Hyojoon Kim, Joshua Reich, Arpit Gupta, Muhammad Shahbaz, Nick Feamster, and Russ Clark. Kinetic: Verifiable Dynamic Network Control. In 12th USENIX Symposium on Networked Systems Design and Implementation (NSDI 15), pages 59--72, Oakland, CA, 2015. USENIX Association. 00053. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Shoumik Palkar, Chang Lan, Sangjin Han, Keon Jang, Aurojit Panda, Sylvia Ratnasamy, Luigi Rizzo, and Scott Shenker. E2: A Framework for NFV Applications. In Proceedings of the 25th Symposium on Operating Systems Principles, SOSP '15, pages 121--136, New York, NY, USA, 2015. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Nate Foster, Rob Harrison, Michael J. Freedman, Christopher Monsanto, Jennifer Rexford, Alec Story, and David Walker. Frenetic: A Network Programming Language. In Proceedings of the 16th ACM SIGPLAN International Conference on Functional Programming, ICFP '11, pages 279--291, New York, NY, USA, 2011. ACM. 00547. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Christopher Monsanto, Joshua Reich, Nate Foster, Jennifer Rexford, and David Walker. Composing Software Defined Networks. In 10th USENIX Symposium on Networked Systems Design and Implementation (NSDI 13), pages 1--13, Lombard, IL, 2013. USENIX Association. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Andreas Voellmy, Junchang Wang, Y Richard Yang, Bryan Ford, and Paul Hudak. Maple: Simplifying SDN Programming Using Algorithmic Policies. In Proceedings of the ACM SIGCOMM 2013 Conference on SIGCOMM, SIGCOMM '13, pages 87--98, New York, NY, USA, 2013. ACM. 00143. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Ryan Beckett, Michael Greenberg, and David Walker. Temporal NetKAT. In Proceedings of the 37th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI '16, pages 386--401, New York, NY, USA, 2016. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Chaithan Prakash, Ying Zhang, Jeongkeun Lee, Yoshio Turner, Joon-Myung Kang, Aditya Akella, Sujata Banerjee, Charles Clark, Yadi Ma, and Puneet Sharma. PGA: Using Graphs to Express and Automatically Reconcile Network Policies. SIGCOMM'15, pages 29--42. ACM Press, 2015. 00032. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. R Fielding, J Gettys, J Mogul, H Frystyk, L Masinter, P Leach, and T Berners-Lee. Hypertext Transfer Protocol - HTTP/1.1, 1999.Google ScholarGoogle Scholar
  14. Ryan Beckett, Ratul Mahajan, Todd Millstein, Jitendra Padhye, and David Walker. Don'T Mind the Gap: Bridging Network-wide Objectives and Device-level Configurations. In Proceedings of the 2016 ACM SIGCOMM Conference, SIGCOMM '16, pages 328--341, New York, NY, USA, 2016. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Robert SoulÃl', Shrutarshi Basu, Parisa Jalili Marandi, Fernando Pedone, Robert Kleinberg, Emin Gun Sirer, and Nate Foster. Merlin: A Language for Provisioning Network Resources. In Proceedings of the 10th ACM International on Conference on Emerging Networking Experiments and Technologies, CoNEXT '14, pages 213--226, New York, NY, USA, 2014. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Kausik Subramanian, Loris D'Antoni, and Aditya Akella. Genesis: Synthesizing Forwarding Tables in Multi-tenant Networks. In Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages, POPL 2017, pages 572--585, New York, NY, USA, 2017. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Carolyn Jane Anderson, Nate Foster, Arjun Guha, Jean-Baptiste Jeannin, Dexter Kozen, Cole Schlesinger, and David Walker. NetKAT: Semantic Foundations for Networks. In Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL '14, pages 113--126, New York, NY, USA, 2014. ACM. 00163. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Mark Reitblatt, Marco Canini, Arjun Guha, and Nate Foster. FatTire: Declarative Fault Tolerance for Software-defined Networks. In Proceedings of the Second ACM SIGCOMM Workshop on Hot Topics in Software Defined Networking, HotSDN '13, pages 109--114, New York, NY, USA, 2013. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Srinivas Narayana, Mina Tahmasbi, Jennifer Rexford, and David Walker. Compiling Path Queries. In 13th USENIX Symposium on Networked Systems Design and Implementation (NSDI 16), pages 207--222, Santa Clara, CA, 2016. USENIX Association. 00029. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Jan Medved, Robert Varga, Anton Tkacik, and Ken Gray. Opendaylight: Towards a model-driven SDN controller architecture. In Proceeding of IEEE International Symposium on a World of Wireless, Mobile and Multimedia Networks, 2014. 00092.Google ScholarGoogle ScholarCross RefCross Ref
  21. Natasha Gude, Teemu Koponen, Justin Pettit, Ben Pfaff, Martin Casado, Nick McKeown, and Scott Shenker. NOX: Towards an Operating System for Networks. SIGCOMM Comput. Commun. Rev., 38(3):105--110, July 2008. 01452. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. ONOS. Intent Framework, 2017. https://wiki.onosproject.org/display/ONOS/Intent+Framework.Google ScholarGoogle Scholar
  23. OpenDaylight. Network Intent Composition, 2017. https://wiki.opendaylight.org/view/Network_Intent_Composition:Main.Google ScholarGoogle Scholar
  24. Peng Sun, Ratul Mahajan, Jennifer Rexford, Lihua Yuan, Ming Zhang, and Ahsan Arefin. A Network-state Management Service. In Proceedings of the 2014 ACM Conference on SIGCOMM, SIGCOMM '14, pages 563--574, New York, NY, USA, 2014. ACM. 00039. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Shriram Rajagopalan, Dan Williams, and Hani Jamjoom. Pico Replication: A High Availability Framework for Middleboxes. In Proceedings of the 4th Annual Symposium on Cloud Computing, SOCC '13, pages 1:1--1:15, New York, NY, USA, 2013. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Wenxuan Zhou, Dong Jin, Jason Croft, Matthew Caesar, and P. Brighten Godfrey. Enforcing Customizable Consistency Properties in Software-Defined Networks. In 12th USENIX Symposium on Networked Systems Design and Implementation (NSDI 15), pages 73--85, Oakland, CA, 2015. USENIX Association. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Lei Xu, Jeff Huang, Sungmin Hong, Jialong Zhang, and Guofei Gu. Attacking the Brain: Races in the SDN Control Plane. In 26th USENIX Security Symposium (USENIX Security 17), pages 451--468, Vancouver, BC, 2017. USENIX Association. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Teemu Koponen, Keith Amidon, Peter Balland, Martin Casado, Anupam Chanda, Bryan Fulton, Igor Ganichev, Jesse Gross, Paul Ingram, Ethan Jackson, Andrew Lambeth, Romain Lenglet, Shih-Hao Li, Amar Padmanabhan, Justin Pettit, Ben Pfaff, Rajiv Ramanathan, Scott Shenker, Alan Shieh, Jeremy Stribling, Pankaj Thakkar, Dan Wendlandt, Alexander Yip, and Ronghua Zhang. Network Virtualization in Multi-tenant Datacenters. In 11th USENIX Symposium on Networked Systems Design and Implementation (NSDI 14), pages 203--216, Seattle, WA, 2014. USENIX Association. 00191. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Andreas Voellmy, Hyojoon Kim, and Nick Feamster. Procera: A Language for High-level Reactive Network Control. In Proceedings of the First Workshop on Hot Topics in Software Defined Networks, HotSDN '12, pages 43--48, New York, NY, USA, 2012. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Mina Tahmasbi Arashloo, Yaron Koral, Michael Greenberg, Jennifer Rexford, and David Walker. SNAP: Stateful Network-Wide Abstractions for Packet Processing. pages 29--43. ACM Press, 2016. 00007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Marco Canini, Petr Kuznetsov, Dan Levin, and Stefan Schmid. A distributed and robust sdn control plane for transactional network updates. In 2015 IEEE conference on computer communications (INFOCOM), pages 190--198. IEEE, 2015. 00043.Google ScholarGoogle ScholarCross RefCross Ref
  32. Mark Reitblatt, Nate Foster, Jennifer Rexford, Cole Schlesinger, and David Walker. Abstractions for Network Update. In Proceedings of the ACM SIGCOMM 2012 Conference on Applications, Technologies, Architectures, and Protocols for Computer Communication, SIGCOMM '12, pages 323--334, New York, NY, USA, 2012. ACM. 00433. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Mark Reitblatt, Nate Foster, Jennifer Rexford, and David Walker. Consistent updates for software-defined networks: Change you can believe in! page 7. ACM, 2011. 00138.Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Alessandro Margara and Guido Salvaneschi. We Have a DREAM: Distributed Reactive Programming with Consistency Guarantees. In Proceedings of the 8th ACM International Conference on Distributed Event-Based Systems, DEBS '14, pages 142--153, New York, NY, USA, 2014. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Vern Paxson. Bro: A System for Detecting Network Intruders in Real-time. In Proceedings of the 7th Conference on USENIX Security Symposium - Volume 7, SSYM'98, pages 3--3, Berkeley, CA, USA, 1998. USENIX Association. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. freeradius.org. FreeRADIUS - the open source implementation of RADIUS, 2018.Google ScholarGoogle Scholar
  37. Simon Knight, Hung X. Nguyen, Nick Falkner, Rhys Bowden, and Matthew Roughan. The Internet Topology Zoo. IEEE Journal on Selected Areas in Communications, 29(9):1765--1775, 2011. 00249.Google ScholarGoogle ScholarCross RefCross Ref
  38. Aaron Gember-Jacobson, Raajay Viswanathan, Chaithan Prakash, Robert Grandl, Junaid Khalid, Sourav Das, and Aditya Akella. OpenNF: Enabling Innovation in Network Function Control. In Proceedings of the 2014 ACM Conference on SIGCOMM, SIGCOMM '14, pages 163--174, New York, NY, USA, 2014. ACM. 00225. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Jeongseok Son, Yongqiang Xiong, Kun Tan, Paul Wang, Ze Gan, and Sue Moon. Protego: Cloud-Scale Multitenant IPsec Gateway. In 2017 USENIX Annual Technical Conference (USENIX ATC 17), pages 473--485, Santa Clara, CA, 2017. USENIX Association. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Rohan Gandhi, Y. Charlie Hu, and Ming Zhang. Yoda: A Highly Available Layer-7 Load Balancer. In Proceedings of the Eleventh European Conference on Computer Systems, EuroSys '16, pages 21:1--21:16, New York, NY, USA, 2016. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. Zafar Ayyub Qazi, Cheng-Chun Tu, Luis Chiang, Rui Miao, Vyas Sekar, and Minlan Yu. SIMPLE-fying Middlebox Policy Enforcement Using SDN. In Proceedings of the ACM SIGCOMM 2013 Conference on SIGCOMM, SIGCOMM '13, pages 27--38, New York, NY, USA, 2013. ACM. 00433. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. Anat Bremler-Barr, Yotam Harchol, and David Hay. OpenBox: A Software-Defined Framework for Developing, Deploying, and Managing Network Functions. In Proceedings of the 2016 ACM SIGCOMM Conference, SIGCOMM '16, pages 511--524, New York, NY, USA, 2016. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. Umut A. Acar, Guy Blelloch, Ruy Ley-Wild, Kanat Tangwongsan, and Duru Turkoglu. Traceable Data Types for Self-adjusting Computation. In Proceedings of the 31st ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI '10, pages 483--496, New York, NY, USA, 2010. ACM. 00028. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. Umut A. Acar, Amal Ahmed, and Matthias Blume. Imperative Self-adjusting Computation. In Proceedings of the 35th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL '08, pages 309--322, New York, NY, USA, 2008. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. Matthew A. Hammer, Joshua Dunfield, Kyle Headley, Nicholas Labich, Jeffrey S. Foster, Michael Hicks, and David Van Horn. Incremental Computation with Names. In Proceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2015, pages 748--766, New York, NY, USA, 2015. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. Matthew A. Hammer, Khoo Yit Phang, Michael Hicks, and Jeffrey S. Foster. Adapton: Composable, Demand-driven Incremental Computation. In Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI '14, pages 156--166, New York, NY, USA, 2014. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. Pramod Bhatotia, Alexander Wieder, \.Istemi Ekin Akkuŧ, Rodrigo Rodrigues, and Umut A. Acar. Large-scale Incremental Data Processing with Change Propagation. In Proceedings of the 3rd USENIX Conference on Hot Topics in Cloud Computing, HotCloud'11, pages 18--18, Berkeley, CA, USA, 2011. USENIX Association. Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. Guido Salvaneschi, Gerold Hintz, and Mira Mezini. REScala: Bridging Between Object-oriented and Functional Style in Reactive Applications. In Proceedings of the 13th International Conference on Modularity, MODULARITY '14, pages 25--36, New York, NY, USA, 2014. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. Conal Elliott and Paul Hudak. Functional Reactive Animation. In Proceedings of the Second ACM SIGPLAN International Conference on Functional Programming, ICFP '97, pages 263--273, New York, NY, USA, 1997. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. Joscha Drechsler, Guido Salvaneschi, Ragnar Mogk, and Mira Mezini. Distributed REScala: An Update Algorithm for Distributed Reactive Programming. In Proceedings of the 2014 ACM International Conference on Object Oriented Programming Systems Languages & Applications, OOPSLA '14, pages 361--376, New York, NY, USA, 2014. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. Xin Jin, Jennifer Gossels, Jennifer Rexford, and David Walker. CoVisor: A Compositional Hypervisor for Software-Defined Networks. In 12th USENIX Symposium on Networked Systems Design and Implementation (NSDI 15), 2015. 00037. Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. Xitao Wen, Chunxiao Diao, Xun Zhao, Yan Chen, Li Erran Li, Bo Yang, and Kai Bu. Compiling Minimum Incremental Update for Modular SDN Languages. In Proceedings of the Third Workshop on Hot Topics in Software Defined Networking, HotSDN '14, pages 193--198, New York, NY, USA, 2014. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  53. Teemu Koponen, Martin Casado, Natasha Gude, Jeremy Stribling, Leon Poutievski, Min Zhu, Rajiv Ramanathan, Yuichiro Iwata, Hiroaki Inoue, Takayuki Hama, and others. Onix: A Distributed Control Platform for Large-scale Production Networks. In OSDI volume 10, pages 1--6, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. Pankaj Berde, Matteo Gerola, Jonathan Hart, Yuta Higuchi, Masayoshi Kobayashi, Toshio Koide, Bob Lantz, Brian O'Connor, Pavlin Radoslavov, William Snow, and Guru Parulkar. ONOS: Towards an Open, Distributed SDN OS. In Proceedings of the Third Workshop on Hot Topics in Software Defined Networking, HotSDN '14, pages 1--6, New York, NY, USA, 2014. ACM. 00215. Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. Kai Gao, Chen Gu, Qiao Xiang, Y Richard Yang, and Jun Bi. FAST: A Simple Programming Abstraction for Complex State-Dependent SDN Programming. In Proceedings of the 2016 conference on ACM SIGCOMM 2016 Conference, pages 579--580. ACM, 2016. 00000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  56. JoÃčo Luis Sobrinho. Algebra and algorithms for QoS path computation and hop-by-hop routing in the Internet. IEEE/ACM Transactions on Networking (TON), 10(4):541--550, 2002. 00328. Google ScholarGoogle ScholarDigital LibraryDigital Library
  57. Haijun Geng, Xingang Shi, Xia Yin, Zhiliang Wang, and Han Zhang. Algebra and algorithms for efficient and correct multipath QoS routing in link state networks. In Quality of Service (IWQoS), 2015 IEEE 23rd International Symposium on, pages 261--266. IEEE, 2015. 00000.Google ScholarGoogle ScholarCross RefCross Ref
  58. Ryan Beckett, Ratul Mahajan, Todd Millstein, Jitendra Padhye, and David Walker. Network Configuration Synthesis with Abstract Topologies. In Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2017, pages 437--451, New York, NY, USA, 2017. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  59. Renaud Hartert, Stefano Vissicchio, Pierre Schaus, Olivier Bonaventure, Clarence Filsfils, Thomas Telkamp, and Pierre Francois. A Declarative and Expressive Approach to Control Forwarding Paths in Carrier-Grade Networks. In Proceedings of the 2015 ACM Conference on Special Interest Group on Data Communication, pages 15--28. ACM, 2015. 00026. Google ScholarGoogle ScholarDigital LibraryDigital Library
  60. E. F. Codd. A Relational Model of Data for Large Shared Data Banks. Commun. ACM, 13(6):377--387, June 1970. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Trident: toward a unified SDN programming framework with automatic updates

        Recommendations

        Comments

        Login options

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

        Sign in
        • Published in

          cover image ACM Conferences
          SIGCOMM '18: Proceedings of the 2018 Conference of the ACM Special Interest Group on Data Communication
          August 2018
          604 pages
          ISBN:9781450355674
          DOI:10.1145/3230543

          Copyright © 2018 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 7 August 2018

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article

          Acceptance Rates

          Overall Acceptance Rate554of3,547submissions,16%

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader