Frenetic: A Network Programming Language

Subscribers:
344,000
Published on ● Video Link: https://www.youtube.com/watch?v=y1-oYZg1eh0



Duration: 1:07:23
678 views
7


Modern enterprise and datacenter networks must provide a variety of interrelated services including routing, traffic monitoring, load balancing, and access control. In order to facilitate implementation of these network services, the Open Networking Foundation, a group that includes Microsoft, Facebook, Google, Cisco, IBM and others, have settled on a new set of protocols, based on the OpenFlow platform, for monitoring and controlling network devices. OpenFlow simplifies and improves network programming by making it possible to implement new network functionality from the vantage-point of a general-purpose, centralized controller program. Unfortunately, while OpenFlow now makes it possible to program new network functionality, it does not necessarily make it easy. To remedy this situation, we present our on-going research on Frenetic, a high-level language for programming networks, built on top of OpenFlow and the network operating system NOX. Frenetic provides a declarative query language for classifying and aggregating network traffic as well as a functional, reactive combinatory library for describing high-level packet-forwarding policies. Unlike prior work in this domain, these constructs are designed to enable correct-by-construction network programming, reliable composition of program modules, and effective code reuse. These important properties are made possible 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. This is joint research at Cornell and Princeton Universities involving Nate Foster, Mike Freedman, Rob Harrison, Christopher Monsanto, Mark Reitblatt, Jennifer Rexford, and Alec Story.







Tags:
microsoft research