Network Programmability

Computer networks are hard to manage. Given a set of high-level requirements (e.g., connectivity, security, reliability), networks operators have to coordinate the individual behavior of potentially thousands of devices running complex distributed protocols so that they, collectively, compute a compatible forwarding state. If this was not hard enough, even specifying the behavior of a single device is hard as operators can only rely on low-level (and quite arcane) configuration languages which vary not only across vendors, but also across devices type. Not surprisingly, this obvious complexity leads to many human mistakes. Actually, it has been shown that the majority of the network downtimes are caused by humans, not equipment failures.

Software-Defined Networking (SDN) has emerged in the recent years as a way to radically change this situation, by making networks programmable from a single (logical) vantage point. Specifically, network programmability is concerned with developing high-level programming interfaces to specify network-wide forwarding behavior along with compilers and controller systems that enforce these requirements at runtime by translating them into low-level instructions (e.g. forwarding entries, routing configurations, routing announcements). Managing a network this way enables operators to focus on what they want, rather than how to implement it.

In the last few years our group has taken pioneering steps to bring programmability into existing networks. With Fibbing, we showed how to program any network by leveraging internal routing protocols as programming interface. Fibbing won the SIGCOMM best paper award along with an Applied Networking Research Prize. With SDX, we brought programmability to Internet routing via Internet eXchange Points. SDX won the NSDI community award and few IXPs have trial deployments of the SDX controller. Finally, with SyNET, we proposed the first solution to the configuration synthesis problem involving multiple protocols.

Active Members


Taming the transient while reconfiguring BGP

Fast In-network Gray Failure Detection for ISPs

Aggregate-Based Congestion Control for Pulse-Wave DDoS Defense

Programmable, Hardware-Based Routing and Scheduling

SP-PIFO: Approximating Push-In First-Out Behaviors using Strict-Priority Queues

Blink: Fast Connectivity Recovery Entirely in the Data Plane

Hardware-Accelerated Network Control Planes

Blog Posts

Selected Publications