Languages for Software-Defined Networks

Abstract

Modern computer networks perform a bewildering array of tasks, from routing and traffic monitoring, to access control and server load balancing. Yet, managing these networks is unnecessarily complicated and error-prone, due to a heterogeneous mix of devices (e.g., routers, switches, firewalls, and middleboxes) with closed and proprietary configuration interfaces. Software-Defined Networks (SDN) are poised to change this by offering a clean and open interface between networking 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. Today's OpenFlow controllers offer low-level APIs that mimic the underlying switch hardware. To reach SDN's full potential, we need to identify the right higher-level abstractions for creating (and composing) applications. In the Frenetic project, we are designing simple and intuitive abstractions for programming the three main stages of network management: (i) monitoring network traffic, (ii) specifying and composing packet-forwarding policies, and (iii) updating policies in a consistent way. Overall, these abstractions make it dramatically easier for programmers to write and reason about SDN applications.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Feb 01, 2013
Accession Number
ADA579341

Entities

People

  • Arjun Guha
  • Christopher Monsanto
  • Cole Schlesinger
  • Jennifer Rexford
  • Joshua Reich
  • Mark Reitblatt
  • Michael J. Freedman
  • Naga P. Katta
  • Nate Foster
  • Rob Harrison

Organizations

  • Princeton University

Tags

Communities of Interest

  • Energy and Power Technologies

DTIC Thesaurus Topics

  • Authentication
  • Compilers
  • Computer Access Control
  • Computer Networks
  • Computer Programming
  • Computers
  • Consistency
  • Data Centers
  • Infrastructure
  • Language
  • Monitoring
  • Network Protocols
  • Network Topology
  • Networks
  • Software Defined Networks
  • Standards
  • Topology

Fields of Study

  • Computer science

Readers

  • Computer Networking
  • Database Systems and Applications
  • Distributed Systems and Data Platform Development