Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Frenetic: a network programming language

Published: 19 September 2011 Publication History

Abstract

Modern networks provide a variety of interrelated services including routing, traffic monitoring, load balancing, and access control. Unfortunately, the languages used to program today's networks lack modern features - they are usually defined at the low level of abstraction supplied by the underlying hardware and they fail to provide even rudimentary support for modular programming. As a result, network programs tend to be complicated, error-prone, and difficult to maintain.
This paper presents Frenetic, a high-level language for programming distributed collections of network switches. Frenetic provides a declarative query language for classifying and aggregating network traffic as well as a functional reactive combinator library for describing high-level packet-forwarding policies. Unlike prior work in this domain, these constructs are - by design - fully compositional, which facilitates modular reasoning and enables code reuse. This important property is enabled by Frenetic's novel run-time system which manages all of the details related to installing, uninstalling, and querying low-level packet-processing rules on physical switches.
Overall, this paper makes three main contributions: (1) We analyze the state-of-the art in languages for programming networks and identify the key limitations; (2) We present a language design that addresses these limitations, using a series of examples to motivate and validate our choices; (3) We describe an implementation of the language and evaluate its performance on several benchmarks.

Supplementary Material

MP4 File (_talk2.mp4)

References

[1]
Beacon: A java-based OpenFlow control platform. See http://www.beaconcontroller.net, Nov 2010.
[2]
The Frenetic language. See http://www.frenetic-lang.org/, Nov 2010.
[3]
OpenFlow. See http://www.openflowswitch.org, Nov 2010.
[4]
SNAC. See http://snacsource.org/, 2010.
[5]
Umut A. Acar, Guy E. Blelloch, and Robert Harper. Adaptive functional programming. TOPLAS, 28:990--1034, November 2006.
[6]
Arvind Arasu, Shivanth Babu, and Jennifer Widom. The CQL continuous query language: Semantic foundations and query execution. The VLDB Journal, 15:121--142, Jun 2006.
[7]
Gérard Berry and Georges Gonthier. The Esterel synchronous programming language: Design, semantics, implementation. Science of Computer Programming, (2):87--152, 1992.
[8]
Zheng Cai, Alan L. Cox, and T. S. Eugene Ng. Maestro: A system for scalable OpenFlow control. Technical Report TR10-08, Rice University, Dec 2010.
[9]
Martin Casado, Michael J. Freedman, Justin Pettit, Jianying Luo, Natasha Gude, Nick McKeown, and Scott Shenker. Rethinking enterprise network control. Trans. on Networking., 17(4), Aug 2009.
[10]
Michael K. Chen, Xiao Feng Li, Ruiqi Lian, Jason H. Lin, Lixia Liu, Tao Liu, and Roy Ju. Shangri-la: Achieving high performance from compiled network applications while enabling ease of programming. In PLDI, pages 224--236, Jun 2005.
[11]
Gregory H. Cooper and Shriram Krishnamurthi. Embedding dynamic dataflow in a call-by-value language. In ESOP, pages 294--308, 2006.
[12]
Antony Courtney, Henrik Nilsson, and John Peterson. The Yampa arcade. In Haskell Workshop, pages 7--18, Aug 2003.
[13]
Chuck Cranor, Theodore Johnson, Oliver Spataschek, and Vladislav Shkapenyuk. Gigascope: A stream database for network applications. In SIGMOD, pages 647--651, 2003.
[14]
Mihai Lucian Cristea, Claudiu Zissulescu, Ed Deprettere, and Herbert Bos. FPL-3E: Towards language support for reconfigurable packet processing. In SAMOS, pages 201--212. Jul 2005.
[15]
Mihai Dobrescu, Norbert Egi, Katerina Argyraki, Byung-Gon Chun, Kevin Fall, Gianluca Iannaccone, Allan Knies, Maziar Manesh, and Sylvia Ratnasamy. RouteBricks: Exploiting parallelism to scale software routers. In SOSP, Oct 2009.
[16]
Sergei Egorov and Gene Savchuk. SNORTRAN: An Optimizing Compiler for Snort Rules. Fidelis Security Systems, 2002.
[17]
Conal Elliott and Paul Hudak. Functional reactive animation. In ICFP, pages 163--173, Jun 1997.
[18]
David Erickson et al. A demonstration of virtual machine mobility in an OpenFlow network, Aug 2008. Demo at ACM SIGCOMM.
[19]
Nate Foster, Rob Harrison, Matthew L. Meola, Michael J. Freedman, Jennifer Rexford, and David Walker. Frenetic: A high-level langauge for OpenFlow networks. In PRESTO, Nov 2010.
[20]
Natasha Gude, Teemu Koponen, Justin Pettit, Ben Pfaff, Martín Casado, Nick McKeown, and Scott Shenker. NOX: Towards an operating system for networks. SIGCOMM CCR, 38(3), 2008.
[21]
Nikhil Handigol, Srinivasan Seetharaman, Mario Flajslik, Nick McKeown, and Ramesh Johari. Plug-n-Serve: Load-balancing web traffic using OpenFlow, Aug 2009. Demo at ACM SIGCOMM.
[22]
Brandon Heller, Srini Seetharaman, Priya Mahadevan, Yiannis Yiakoumis, Puneet Sharma, Sujata Banerjee, and Nick McKeown. ElasticTree: Saving energy in data center networks. In NSDI, Apr 2010.
[23]
Timothy L. Hinrichs, Natasha S. Gude, Martin Casado, John C. Mitchell, and Scott Shenker. Practical declarative network management. In WREN, pages 1--10, 2009.
[24]
Eddie Kohler, Robert Morris, Benjie Chen, John Jannotti, and M. Frans Kaashoek. The Click modular router. ACM Transactions on Computer Systems, 18(3):263--297, Aug 2000.
[25]
Teemu Koponen, Martin Casado, Natasha Gude, Jeremy Stribling, Leon Poutievski, Min Zhu, Rajiv Ramanathan, Yuichiro Iwata, Hiroaki Inoue, Takayuki Hama, and Scott Shenker. Onix: A distributed control platform for large-scale production networks. In OSDI, Oct 2010.
[26]
Bob Lantz, Brandon Heller, and Nick McKeown. A network in a laptop: Rapid prototyping for software-defined networks. In HotNets, pages 1--6, 2010.
[27]
Boon Thau Loo, Tyson Condie, Joseph M. Hellerstein, Petros Maniatis, Timothy Roscoe, and Ion Stoica. Implementing declarative overlays. SIGOPS, 39(5):75--90, 2005.
[28]
Boon Thau Loo, Joseph M. Hellerstein, Ion Stoica, and Raghu Ramakrishnan. Declarative routing: Extensible routing with declarative queries. In SIGCOMM, pages 289--300, 2005.
[29]
Geoffrey Mainland, Greg Morrisett, and Matt Welsh. Flask: Staged functional programming for sensor networks. In ICFP, pages 335--346, 2008.
[30]
John Markoff. Open networking foundation pursues new standards. The New York Times, Mar 2011. See http://nyti.ms/eK3CCK.
[31]
Nick McKeown, Tom Anderson, Hari Balakrishnan, Guru Parulkar, Larry Peterson, Jennifer Rexford, Scott Shenker, and Jonathan Turner. Openflow: Enabling innovation in campus networks. SIGCOMM CCR, 38(2):69--74, 2008.
[32]
Leo A. Meyerovich, Arjun Guha, Jacob Baskin, Gregory H. Cooper, Michael Greenberg, Aleks Bromfield, and Shriram Krishnamurthi. Flapjax: A programming language for Ajax applications. In OOPSLA, pages 1--20, 2009.
[33]
Ankur Nayak, Alex Reimers, Nick Feamster, and Russ Clark. Resonance: Dynamic access control in enterprise networks. In WREN, Aug 2009.
[34]
Henrik Nilsson, Antony Courtney, and John Peterson. Functional reactive programming, continued. In Haskell Workshop, pages 51--64, Oct 2002.
[35]
Vern Paxson. Bro: A system for detecting network intruders in real-time. Computer Networks, 31(23-24):2435--2463, Dec 1999.
[36]
John Peterson, Paul Hudak, and Conal Elliott. Lambda in motion: Controlling robots with Haskell. In PADL, Jan 1999.
[37]
Robert Soulé, Martin Hirzel, Robert Grimm, Buǧra Gedik, Henrique Andrade, Vibhore Kumar, and Kun-Lung Wu. A universal calculus for stream processing languages. In ESOP, pages 507--528, 2010.
[38]
William Thies, Michal Karczmarek, and Saman Amarasinghe. Streamit: A language for streaming applications. In International Conference on Compiler Construction, pages 179--196, Apr 2002.
[39]
Andreas Voellmy and Paul Hudak. Nettle: Functional reactive programming of OpenFlow networks. In PADL, Jan 2011.
[40]
Richard Wang, Dana Butnariu, and Jennifer Rexford. OpenFlow-based server load balancing gone wild. In Hot-ICE, Mar 2011.

Cited By

View all
  • (2024)Review on DDoS Attack in Controller Environment of Software Defined NetworkICST Transactions on Scalable Information Systems10.4108/eetsis.582311Online publication date: 24-Jul-2024
  • (2024)Network Security Challenges and Countermeasures for Software-Defined Smart Grids: A SurveySmart Cities10.3390/smartcities70400857:4(2131-2181)Online publication date: 2-Aug-2024
  • (2024)P4CGO: Control Plane Guided P4 Program OptimizationProceedings of the 2024 SIGCOMM Workshop on Formal Methods Aided Network Operation10.1145/3672199.3673892(1-7)Online publication date: 4-Aug-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGPLAN Notices
ACM SIGPLAN Notices  Volume 46, Issue 9
ICFP '11
September 2011
456 pages
ISSN:0362-1340
EISSN:1558-1160
DOI:10.1145/2034574
Issue’s Table of Contents
  • cover image ACM Conferences
    ICFP '11: Proceedings of the 16th ACM SIGPLAN international conference on Functional programming
    September 2011
    470 pages
    ISBN:9781450308656
    DOI:10.1145/2034773
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: 19 September 2011
Published in SIGPLAN Volume 46, Issue 9

Check for updates

Author Tags

  1. domain-specific languages
  2. functional reactive programming
  3. network programming languages
  4. openflow

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)147
  • Downloads (Last 6 weeks)16
Reflects downloads up to 10 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Review on DDoS Attack in Controller Environment of Software Defined NetworkICST Transactions on Scalable Information Systems10.4108/eetsis.582311Online publication date: 24-Jul-2024
  • (2024)Network Security Challenges and Countermeasures for Software-Defined Smart Grids: A SurveySmart Cities10.3390/smartcities70400857:4(2131-2181)Online publication date: 2-Aug-2024
  • (2024)P4CGO: Control Plane Guided P4 Program OptimizationProceedings of the 2024 SIGCOMM Workshop on Formal Methods Aided Network Operation10.1145/3672199.3673892(1-7)Online publication date: 4-Aug-2024
  • (2024)Topaz: Declarative and Verifiable Authoritative DNS at CDN-ScaleProceedings of the ACM SIGCOMM 2024 Conference10.1145/3651890.3672240(891-903)Online publication date: 4-Aug-2024
  • (2024)P4Control: Line-Rate Cross-Host Attack Prevention via In-Network Information Flow Control Enabled by Programmable Switches and eBPF2024 IEEE Symposium on Security and Privacy (SP)10.1109/SP54263.2024.00147(4610-4628)Online publication date: 19-May-2024
  • (2024)Exploring Security Dynamics in SDN Controller Architectures: Threat Landscape and ImplicationsIEEE Access10.1109/ACCESS.2024.339096812(56517-56553)Online publication date: 2024
  • (2024)Enhanced Network Metric Prediction for Machine Learning-Based Cyber Security of a Software-Defined UAV Relay NetworkIEEE Access10.1109/ACCESS.2024.338772812(54202-54219)Online publication date: 2024
  • (2024)Choate: Toward High-Level, Cross-Layer SDN ProgrammingNetwork Simulation and Evaluation10.1007/978-981-97-4522-7_7(102-117)Online publication date: 2-Aug-2024
  • (2024)Design and Implementation of an Open Daylight Event Management System Through the Integration of a Business Process ManagementInternational Conference on Applied Technologies10.1007/978-3-031-58950-8_16(226-238)Online publication date: 30-May-2024
  • (2023)EXPLORING THE LANDSCAPE OF SDN-BASED DDOS DEFENSE: A HOLISTIC EXAMINATION OF DETECTION AND MITIGATION APPROACHES, RESEARCH GAPS AND PROMISING AVENUES FOR FUTURE EXPLORATIONInternational Journal of Advanced Natural Sciences and Engineering Researches10.59287/ijanser.7267:4(327-349)Online publication date: 22-May-2023
  • Show More Cited By

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media