Don't Configure the Network, Program It! Domain-Specific Programming Languages for Network Systems

TitleDon't Configure the Network, Program It! Domain-Specific Programming Languages for Network Systems
Publication TypeReports
Year of Publication2010
AuthorsFeamster N, Voellmy A, Agarwal A, Hudak P, Burnett S, Launchbury J
Date Published2010///
InstitutionYale University
Abstract

Network operators must configure networks to accomplish critical, complex, and often conflicting requirements: they must ensure good performance while maintaining security, and satisfy contractual obligations while ensuring profitable use of interdomain connections. Unfortunately, today they have no choice but to implement these high-level goals by configuring hundreds of individual network devices. These interact in complex and unexpected ways, often resulting in misconfigurations or downtime. We propose a new approach: rather than configure individual network devices, operators should program the network holistically, according to high-level policies. Towards this goal, we present Nettle, a system for clearly and concisely expressing network requirements together with mechanisms to control the network accordingly. At the lowest level, we rely on OpenFlow switches for programmable network hardware. On top of this layer, we build an extensible family of embedded domain-specific languages (EDSLs), each aimed at different operational concerns and provide convenient ways to sensibly combine expressions in these languages. We present a case study demonstrating a DSL for networks that provides fine-grained, dynamic access control policies.