Frenetic: a network programming language
Author(s): Foster, Nate; Harrison, Rob; Freedman, Michael J; Monsanto, Christopher; Rexford, Jennifer; et al
DownloadTo refer to this page use:
http://arks.princeton.edu/ark:/88435/pr17r8s
Full metadata record
DC Field | Value | Language |
---|---|---|
dc.contributor.author | Foster, Nate | - |
dc.contributor.author | Harrison, Rob | - |
dc.contributor.author | Freedman, Michael J | - |
dc.contributor.author | Monsanto, Christopher | - |
dc.contributor.author | Rexford, Jennifer | - |
dc.contributor.author | Story, Alec | - |
dc.contributor.author | Walker, David | - |
dc.date.accessioned | 2021-10-08T19:49:09Z | - |
dc.date.available | 2021-10-08T19:49:09Z | - |
dc.date.issued | 2011-09 | en_US |
dc.identifier.citation | Foster, Nate, Rob Harrison, Michael J. Freedman, Christopher Monsanto, Jennifer Rexford, Alec Story, and David Walker. "Frenetic: a network programming language." ACM SIGPLAN Notices 46, no. 9 (2011): pp. 279-291. doi:10.1145/2034574.2034812 | en_US |
dc.identifier.issn | 0362-1340 | - |
dc.identifier.uri | https://www.cs.princeton.edu/~dpw/papers/frenetic-draft-0411.pdf | - |
dc.identifier.uri | http://arks.princeton.edu/ark:/88435/pr17r8s | - |
dc.description.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. | en_US |
dc.format.extent | 279 - 291 | en_US |
dc.language.iso | en_US | en_US |
dc.relation.ispartof | ACM SIGPLAN Notices | en_US |
dc.rights | Author's manuscript | en_US |
dc.title | Frenetic: a network programming language | en_US |
dc.type | Conference Article | en_US |
dc.identifier.doi | 10.1145/2034574.2034812 | - |
pu.type.symplectic | http://www.symplectic.co.uk/publications/atom-terms/1.0/conference-proceeding | en_US |
Files in This Item:
File | Description | Size | Format | |
---|---|---|---|---|
FreneticNetworkProgrammingLang.pdf | 330.39 kB | Adobe PDF | View/Download |
Items in OAR@Princeton are protected by copyright, with all rights reserved, unless otherwise indicated.