Lets Compile a Network Cherie Wasous CSS 548
























- Slides: 24
“Let’s Compile a Network” Cherie Wasous CSS 548 – Introduction to Compilers Autumn 2012
traditional Networking Devices
…. . who rides into town? ? March 2011
…. . who rides into town? ?
…. . who rides into town? ?
…. . who rides into town? ?
…. . who rides into town? ? those with Big Networks, and Huge Data Centers
…. . who rides into town? ? those with Big Networks, and Huge Data Centers Google, Verizon, Microsoft, Yahoo!, Deutsche Telekom, …
Open Networking Foundation (ONF) “Revolutionizing the Networking Industry” … prying open the networking devices.
Software Defined Networking (SDN) Decouple the Control and Data Planes
Software Defined Networking (SDN) Decouple the Control and Data Planes Ø Eliminate Control Plan from Network Devices
Software Defined Networking (SDN) 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
Software Defined Networking (SDN) 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 Open. Flow: switch-controller protocol
Open. Flow Ø low-level SDN framework Ø single pattern per rule
Net. Core published: ACM POPL (Principles of Programming Languages) proceedings 1/2012 Ø Ø Ø high-level Declarative language Expressing packet-forwarding policies on SDNs Expressive: intuitively readable constructs Compositional Formal Semantics
Need for Compiler
$10 M series A funding for a SDN “Compiler” 7/2012 http: //www. lightreading. com/d ocument. asp? doc_id=227138
Net. Core to Open. Flow Compiler a Policy – from Net. Core level
Net. Core to Open. Flow Compiler a Policy – from Net. Core level a Policy – to Open. Flow level
Net. Core to Open. Flow Compiler a Policy – from Net. Core level a Policy – to Open. Flow level Policy 2 Policy another – from–Net. Core from Net. Core level
Net. Core to Open. Flow Compiler a Policy – from Net. Core level a Policy – to Open. Flow level another Policy – from Net. Core level another Policy – to Open. Flow level
Net. Core to Open. Flow Compiler combined Policy – from Net. Core level combined Policy – to Open. Flow level
Net. Core to Open. Flow Compiler Ø 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/
References 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