To refer to this page use:
|Abstract:||Managing a network requires support for multiple concurrent tasks, from routing and trafﬁc monitoring, to access control and server load balancing. Software-Deﬁned 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 trafﬁc. First, we deﬁne composition operators and a library of policies for forwarding and querying trafﬁc. 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 deﬁne a new abstract packet model that allows programmers to extend packets with virtual ﬁelds that maybe used to associate packets with high-level meta-data. We realize these abstractions in Pyretic, an imperative, domain-speciﬁc language embedded in Python.|
|Citation:||Monsanto, Christopher, Joshua Reich, Nate Foster, Jennifer Rexford, and David Walker. "Composing software defined networks." In 10th USENIX Symposium on Networked Systems Design and Implementation (2013): pp. 1-13.|
|Pages:||1 - 13|
|Type of Material:||Conference Article|
|Journal/Proceeding Title:||10th USENIX Symposium on Networked Systems Design and Implementation|
|Version:||Final published version. This is an open access article.|
Items in OAR@Princeton are protected by copyright, with all rights reserved, unless otherwise indicated.