Compiler for Network Programming Languages
Download
Report
Transcript Compiler for Network Programming Languages
Cherie Wasous
CSS548 – Introduction to Compilers
Autumn 2012
those with Big Networks,
and Huge Data Centers
those with Big Networks,
and Huge Data Centers
Google, Verizon, Microsoft,
Yahoo!, Deutsche Telekom, …
Decouple the Control and Data Planes
Decouple the Control and Data Planes
Eliminate Control Plan from Network Devices
Decouple the Control and Data Planes
Eliminate Control Plan from Network Devices
use separate general purpose machine
(“Controller”) to Program and Query the Data
Planes of the cheap commodity switches
Decouple the Control and Data Planes
Eliminate Control Plan from Network Devices
use separate general purpose machine
(“Controller”) to Program and Query the Data
Planes of the cheap commodity switches
OpenFlow: switch-controller protocol
low-level SDN framework
single pattern per rule
high-level Declarative language
Expressing packet-forwarding policies on SDNs
Expressive: intuitively readable constructs
Compositional
Formal Semantics
http://www.lightreading.com/d
ocument.asp?doc_id=227138
a Policy – from NetCore level
a Policy – from NetCore level
a Policy – to OpenFlow level
a Policy – from NetCore level
a Policy – to OpenFlow level
Policy 2 Policy
another
– from–NetCore
from NetCore
level level
a Policy – from NetCore level
a Policy – to OpenFlow level
another Policy – from NetCore level
another Policy – to OpenFlow level
combined Policy – from NetCore level
combined Policy – to OpenFlow level
Open Source compiler development effort
https://github.com/frenetic-lang/netcore
coding in Haskell – Functional language
Open Source SDN network simulator, and more
http://www.sdncentral.com/comprehensive-
list-of-open-source-sdn-projects/
1. The Open Networking Foundation. https://www.opennetworking.org
2. “Software-Defined Networking: The New Norm for Networks.” Whitepaper.
https://www.opennetworking.org/images/stories/downloads/white-papers/wpsdn-newnorm.pdf
3. “A Compiler and Run-time System for Network Programming Languages “,
1/2012, ACM/POPL, Christopher Monsanto, Nate Foster, Rob Harrison, David
Walker, http://dl.acm.org/citation.cfm?id=2103685