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