CIS Distinguished Speaker Series
Professor, Department of Computer Science
Thursday, March 14, 2013
Trabant Movie/Lecture Theatre
Frenetic: A Programming Language for Software Defined Networks
Today's network administrators must manage their networks through closed and proprietary interfaces to heterogeneous devices, such as routers, switches, firewalls, and load balancers. During the past several years, the emergence of Software Defined Networking (SDN) has led to cleaner interfaces between network devices and the software that controls them. In particular, many commercial switches support the OpenFlow protocol, and a number of campus, data-center, and backbone networks have deployed the new technology. Yet, while SDN makes it possible to program the network, it does not make it easy.
In our Frenetic project, we are raising the level of abstraction for programming OpenFlow networks. Frenetic supports seamless composition of multiple tasks, such as routing, access control, and traffic monitoring, by automatically generating switch-level rules that enforce all of the policies. A simple "see every packet" abstraction shields programmers from reasoning about asynchronous events and complex timing issues in the underlying network, while the run-time system ensures data packets stay in the "fast path" through the underlying switches. Frenetic also transitions the switches from one network-wide policy to another, while ensuring consistent handling of all traffic during the change. These abstractions enable programmers to write OpenFlow programs that are short, simple, and efficient.
Frenetic (http://www.frenetic-lang.org) is a joint project with Nate Foster (Cornell), Dave Walker (Princeton), Michael Freedman (Princeton), Rob Harrison (US Military Academy), Chris Monsanto (Princeton), Josh Reich (Princeton), Mark Reitblatt (Cornell), Cole Schlesinger (Princeton), and Alec Story (Cornell).