ACM Transactions on Computer Systems (TOCS)
OpenFlow: enabling innovation in campus networks
ACM SIGCOMM Computer Communication Review
NOX: towards an operating system for networks
ACM SIGCOMM Computer Communication Review
Practical declarative network management
Proceedings of the 1st ACM workshop on Research on enterprise networking
Resonance: dynamic access control for enterprise networks
Proceedings of the 1st ACM workshop on Research on enterprise networking
The "Platform as a service" model for networking
INM/WREN'10 Proceedings of the 2010 internet network management conference on Research on enterprise networking
Virtualizing the network forwarding plane
Proceedings of the Workshop on Programmable Routers for Extensible Services of Tomorrow
Onix: a distributed control platform for large-scale production networks
OSDI'10 Proceedings of the 9th USENIX conference on Operating systems design and implementation
Can the production network be the testbed?
OSDI'10 Proceedings of the 9th USENIX conference on Operating systems design and implementation
Nettle: taking the sting out of programming network routers
PADL'11 Proceedings of the 13th international conference on Practical aspects of declarative languages
Topology switching for data center networks
Hot-ICE'11 Proceedings of the 11th USENIX conference on Hot topics in management of internet, cloud, and enterprise networks and services
Frenetic: a network programming language
Proceedings of the 16th ACM SIGPLAN international conference on Functional programming
A compiler and run-time system for network programming languages
POPL '12 Proceedings of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Splendid isolation: a slice abstraction for software-defined networks
Proceedings of the first workshop on Hot topics in software defined networks
VeRTIGO: Network Virtualization and Beyond
EWSDN '12 Proceedings of the 2012 European Workshop on Software Defined Networking
SIMPLE-fying middlebox policy enforcement using SDN
Proceedings of the ACM SIGCOMM 2013 conference on SIGCOMM
Maple: simplifying SDN programming using algorithmic policies
Proceedings of the ACM SIGCOMM 2013 conference on SIGCOMM
FatTire: declarative fault tolerance for software-defined networks
Proceedings of the second ACM SIGCOMM workshop on Hot topics in software defined networking
The beacon openflow controller
Proceedings of the second ACM SIGCOMM workshop on Hot topics in software defined networking
Leveraging SDN layering to systematically troubleshoot networks
Proceedings of the second ACM SIGCOMM workshop on Hot topics in software defined networking
Software transactional networking: concurrent and consistent policy composition
Proceedings of the second ACM SIGCOMM workshop on Hot topics in software defined networking
Fast, accurate simulation for SDN prototyping
Proceedings of the second ACM SIGCOMM workshop on Hot topics in software defined networking
OF.CPP: consistent packet processing for openflow
Proceedings of the second ACM SIGCOMM workshop on Hot topics in software defined networking
Cementing high availability in openflow with RuleBricks
Proceedings of the second ACM SIGCOMM workshop on Hot topics in software defined networking
Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles
ACM SIGOPS 24th Symposium on Operating Systems Principles
IOFlow: a software-defined storage architecture
Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles
SilverLine: preventing data leaks from compromised web applications
Proceedings of the 29th Annual Computer Security Applications Conference
Optimizing the "one big switch" abstraction in software-defined networks
Proceedings of the ninth ACM conference on Emerging networking experiments and technologies
Minimizing network complexity through integrated top-down design
Proceedings of the ninth ACM conference on Emerging networking experiments and technologies
Applying operating system principles to SDN controller design
Proceedings of the Twelfth ACM Workshop on Hot Topics in Networks
Managing the network with Merlin
Proceedings of the Twelfth ACM Workshop on Hot Topics in Networks
Corybantic: towards the modular composition of SDN control programs
Proceedings of the Twelfth ACM Workshop on Hot Topics in Networks
NetKAT: semantic foundations for networks
Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
Unifying Cloud and Carrier Network: EU FP7 Project UNIFY
UCC '13 Proceedings of the 2013 IEEE/ACM 6th International Conference on Utility and Cloud Computing
Network virtualization in multi-tenant datacenters
NSDI'14 Proceedings of the 11th USENIX Conference on Networked Systems Design and Implementation
NetVM: high performance and flexible networking using virtualization on commodity platforms
NSDI'14 Proceedings of the 11th USENIX Conference on Networked Systems Design and Implementation
Tierless programming and reasoning for software-defined networks
NSDI'14 Proceedings of the 11th USENIX Conference on Networked Systems Design and Implementation
Enforcing network-wide policies in the presence of dynamic middlebox actions using flowtags
NSDI'14 Proceedings of the 11th USENIX Conference on Networked Systems Design and Implementation
Hi-index | 0.00 |
Managing a network requires support for multiple concurrent tasks, from routing and traffic monitoring, to access control and server load balancing. Software-Defined Networking (SDN) allows applications to realize these tasks directly, by installing packet-processing rules on switches. However, today's SDN platforms provide limited support for creating modular applications. This paper introduces new abstractions for building applications out of multiple, independent modules that jointly manage network traffic. First, we define composition operators and a library of policies for forwarding and querying traffic. Our parallel composition operator allows multiple policies to operate on the same set of packets, while a novel sequential composition operator allows one policy to process packets after another. Second, we enable each policy to operate on an abstract topology that implicitly constrains what the module can see and do. Finally, we define a new abstract packet model that allows programmers to extend packets with virtual fields that may be used to associate packets with high-level meta-data. We realize these abstractions in Pyretic, an imperative, domain-specific language embedded in Python.