Abstract
Software-defined networking (SDN) is a new paradigm for operating and managing computer networks. SDN enables logically-centralized control over network devices through a "controller"- - software that operates independently of the network hardware. Network operators can run both in-house and third-party SDN programs on top of the controller, e.g., to specify routing and access control policies. In practice, having the controller handle events limits the network scalability. Therefore, the feasibility of SDN depends on the ability to efficiently decentralize network event-handling by installing forwarding rules on the switches. However, installing a rule too early or too late may lead to incorrect behavior, e.g., (1) packets may be forwarded to the wrong destination or incorrectly dropped; (2) packets handled by the switch may hide vital information from the controller, leading to incorrect forwarding behavior. The second issue is subtle and sometimes missed even by experienced programmers. The contributions of this paper are two fold. First, we formalize the correctness and optimality requirements for decentralizing network policies. Second, we identify a useful class of network policies which permits automatic synthesis of a controller which performs optimal forwarding rule installation.
Original language | English |
---|---|
Pages (from-to) | 663-676 |
Number of pages | 14 |
Journal | ACM SIGPLAN Notices |
Volume | 50 |
Issue number | 1 |
DOIs | |
State | Published - 14 Jan 2015 |
Keywords
- distributed systems
- logic programming
- network programming languages
- software-defined networking
- synthesis
All Science Journal Classification (ASJC) codes
- General Computer Science