- Nate Foster. Keynote: Foundations of SDN
Abstract: The emergence of software-defined networking (SDN) has led to growing interest in high-level abstractions for programming networks. But so far, the design of these abstractions has been largely ad hoc, driven more by the needs of applications and the capabilities of network devices than by foundational principles. The lack of a semantic foundation has left the designers of these abstractions with little guidance in determining how to incorporate new features, and programmers without a means to reason precisely about their code.This talk will discuss recent work toward developing a mathematical foundation of for SDN programming in three parts. The first part will introduce an detailed operational model of SDN and a machine-verified proof that captures the correctness of a large class of packet-processing functions. The second part will present an expressive language for describing packet-processing functions and will develop a formal connection this language and well-studiedmathematical structures known as Kleene Algebras with Tests (KAT). The third part will discuss mechanisms for handling dynamicprograms, including general techniques that provide transaction-like consistency guarantees as well as software synthesis techniques that generate update strategies automatically from logical specifications.
- Yehuda Afek Consistent Range Classification with OpenFlow
- Abstract: We discuss issues in the ranges based flow classification in a dynamic SDN based network. Such issues arise in load-balancing and security based applications in a multi entrance network, where flows may dynamically change their point of entrance. We present a new consistent flow management scheme in an Openflow based SDN network. that addresses these issues. Our first step is a new efficient mutli-range classification scheme which uses only 3 entries per range instead of w per range as in the best existing classifiers, where w is the field size in bits. Building on the ranges classification we show how to update ranges across multiple switches in an atomic manner – allowing to update the set of ranges and their associated actions while packets are classified and the network is changing. Finally, using the two schemes above, we present an architecture suitable for several applications such as load-balancing (which we describe in detail), and NFV, to manage multi-entrance consistency – ensuring that flows are handled by the same policy even when they change the entrance point to the network. Future extensions will be discussed. Joint work with Anat Bremler-Barr and Liron Schiff.
- Marco Canini Software Transactional Networking: A Robust and Distributed SDN Control Plane
- Abstract: This talk presents Software Transactional Networking, a distributed SDN control plane based on Software Transactional Memory principles that supports concurrent policy updates while ensuring consistent policy composition and high availability.
- Robert Soule Managing the Network with Merlin
- Abstract: This talk presents the Merlin network management framework. With Merlin, administrators express network policy using programs in a declarative language based on logical predicates and regular expressions. The Merlin compiler automatically partitions these programs into components that can be placed on a variety of devices.
It uses a constraint solver to allocate resources such as paths and bandwidth. To ease the administration of federated networks, Merlin provides mechanisms for delegating management of sub-policies to tenants, along with tools for verifying that delegated sub-policies do not violate global constraints. Overall, Merlin greatly simplifies the task of network administration.
- Roger Wattenhofer Managing Dynamic Networks: Distributed or Centralized Control
- Abstract: What if a node or edge of a network fails? What if traffic between two nodes grows or shrinks? Clearly this is a case for distributed algorithms! After all, the Internet and its protocols are decentralized by design. Thanks to redundancy and distributed communications, Paul Baran suggested that the Internet could operate even if many of its links and nodes had been destroyed by a “nuclear attack”. However, it turns out that distributed control leaves quite some efficiency on the table. Recently several companies started to organize their enterprise networks in a centralized fashion, separating data and control planes by means of software-defined networks (SDNs). So we might soon see a world where a (possibly fault-tolerant but nevertheless) centralized controller is making all routing and transport decisions, using SDN-switches to implement these decisions. Is this the death of distributed network algorithms? In my talk I will discuss why this is not necessarily true, that is, why even central control may learn from distributed computing when dealing with network dynamics.