Download - CS-552/452 Introduction to Cloud Computing
CS-552/452 Introduction to Cloud Computing
16. Software-Defined Networking (SDN) (1)
1
An Innovation from Stanford
2
In 2006, OpenFlow was proposed, which provides an open protocol to program the flow-tablein different switches and routers. People can try new routing protocols and security models by a software controller.
In 2007, Nicira was founded by Martin Casado, Nick McKeown and Scott Shenker. This company focuses on software defined networking and network virtualization. The aim is “Network is programmable“ – acquired by VMware in 2012
In 2008, one SIGCOMM paper:McKeown N, Anderson T, et al. OpenFlow: enabling innovation in campus networks[J]. ACM SIGCOMM Computer Communication Review, 2008. In
2009, INFOCOM Keynote:McKeown N, Software-defined Networking.
The Definition of SDN
• Software-Defined Networking (SDN) is an emerging architecture that is dynamic, manageable, cost effective, and adaptable, making it ideal for the high-bandwidth, dynamic nature of today's applications.
• This architecture decouples the network control and forwarding functions enabling the network control to become directly programmable and the underlying infrastructure to be abstracted for applications and network services
3
The Definition of SDN
4
emerging architecture
dynamic
manageable
cost-effective
adaptable
decouples
abstracted
programmable
Motivation
• Networks are hard to manage• Computation and storage have
been virtualized• Creating a more flexible and
manageable infrastructure• Networks are still notoriously
hard to manage• Network administrators large
share of sysadmin staff
5
Motivation
• Networks are hard to evolve• Ongoing innovation in systems
software • New languages, operating
systems, etc.• Networks are stuck in the past
• Routing algorithms change very slowly
• Network management extremely primitive
• Closed equipment
6
Motivation
• Networks design not based on formal principles
• OS courses teach fundamental principles
• Files, file systems, threads, and other building block
• Networking courses teach a big bag of protocols
• No formal principles, just general design guidelines
7
8
A Helpful Analogy
From Nick McKeown’s talk “Making SDN Work” at the Open Networking Summit, April 2012
9
Vertically integratedClosed, proprietary
Slow innovationSmall industry
Specialized
Operating
System
Specialized
Hardware
AppAppAppAppAppAppAppAppAppAppApp
Specialized
Applications
Horizontal
Open interfaces
Rapid innovation
Huge industry
Microprocessor
Open Interface
LinuxMacOS
Windows
(OS) or or
Open Interface
Mainframes
10
Vertically integratedClosed, proprietary
Slow innovation
AppAppAppAppAppAppAppAppAppAppApp
HorizontalOpen interfacesRapid innovation
ControlPlane
ControlPlane
ControlPlane or or
Open Interface
Specialized
Control
Plane
Specialized
Hardware
Specialized
Features
Merchant
Switching Chips
Open Interface
Data and Control Planes
11
Data and Control Planes
12
Switching
Fabric
Processor
Line card
Line card
Line card
Line card
Line card
Line card
data plane
control plane
Data and Control Planes
13
Track topology changes, compute routes, install forwarding rulesControl plane:
Distributed algorithms
Data plane:
Packet
streaming Forward, filter, buffer, mark, rate-limit, and measure packets
Management Plane
14
Collect measurements and configure the equipment
Human time scale
Control Plane and Data Plane
• Control plane: compute the state in routers (forwarding state)
• Determines how and where packets are forwarded
• E.g.Routing, traffic engineering, firewall state, …
• Implemented with distributed protocols
• Data plane: processing and delivery of packets with local forwarding state
• Forwarding state + packet header →forwarding decision
• These planes require different abstractions
15
Data Plane Abstractions: Layers
16
Applications
…built on…
Reliable (or unreliable) transport
…built on…
Best-effort global packet delivery
…built on…
Best-effort local packet delivery
…built on…
Local physical transfer of bits
But, No Abstraction for Control Plane
17
Control Plane: Without Abstraction
18
Variety of goals:
• Routing: distributed routing algorithms
• Isolation: ACLs, VLANs, Firewalls,…
• Traffic engineering: adjusting weights, MPLS,…
Control Plane: only mechanism without abstraction
• Too many mechanisms
Control Plane – how can control plane be abstracted?
• In general, control plane must compute forwarding state.
• To accomplish its task, the control plane must:
• 1. Figure out what network looks like (topology)
• 2. Figure out how to accomplish goal on given topology (controlling algorithms)
• 3. Tell the swtiches what to do (configure forwarding state)
19
Control Plane
• Control plane must compute forwarding state. To accomplish its task, the control plane must:
• 1. Figure out what network looks like (topology information)
• 2. Figure out how to accomplish goal on given topology (algorithm)
• 3. Tell the swtiches what to do (configure forwarding state)
• What components that we can reuse (abstract)?
• 1. Determining the topology information
• 3. Configuring forwarding state on routers/switches
20
SDN: Two Control Plane Abstractions
21
• Provides information about current network
• Implementation: “Network Operating System”
• Runs on servers in network (replicated for reliability)
• Manages all network devices of the network
Abstraction: Global network view
• Provides standard way of defining forwarding state and communicating the state to the hardware
• E.g., the OpenFlow protocol
Abstraction: Forwarding model
22
Traditional Network
Feature
Feature
Feature
Feature
Feature
23
Software Defined Network (SDN)
Feature Feature
Network OS/Controller
1. Open interface to packet forwarding
3. Consistent, up-to-date global network view 2. At least one Network OSprobably many.
Open- and closed-sourceLogically-centralized control
Smart, slow
Dumb, fast
Software Defined Network (SDN)
▪ Decouple control and data planes by providing open standard API
24
Control Program A Control Progrma B
Network OS
Network OS (Global Network View)
Network OS
▪ A (distributed) system that creates a consistent, up-to-date network view
▪ Runs on servers (controllers) in the network
▪ NOX, ONIX, Trema, Beacon, Maestro, Opendaylight… + more
▪ Use “forwarding abstraction” to:
▪ Get state information from forwarding elements
▪ Give control directives to forwarding elements
▪ E.g., OpenFlow
25
Network OS
Data Plane Will Be:
▪ Simpler management▪ No need to “invert” control-plane
operations
▪ Faster pace of innovation▪ Less dependence on vendors and
standards
▪Easier interoperability▪ Compatibility only in “wire” protocols
▪ Simpler, cheaper equipment▪ Minimal software
26
Control Programs
▪ Control program operates on view of network▪ Input: global network view (graph/database)
▪ Output: configuration of each network device
▪ Control program is not a distributed system▪ Abstraction hides details of distributed state
27
AppAppAppAppAppAppAppAppAppAppApp
Network Operating System
Open Interface
Merchant
Switching Chips
Open Interface
Forwarding Abstraction
▪ Purpose: Abstract away forwarding hardware
▪ Flexible▪ Behavior specified by control plane
▪ Built from basic set of forwarding primitives
▪Minimal▪ Streamlined for speed and low-power
▪ Control program not vendor-specific
▪OpenFlow is an example of such an abstraction
28
Summary: what we have now…
29
AppAppAppAppAppAppAppAppAppAppApp
Network Operating System
Open Interface
Merchant
Switching Chips
Open Interface OpenFlow
Material from:
30
▪ Marco Cello Talk @ IEIIT – Consiglio Nazionale delle Ricerche (CNR) Genova 28 Marzo 2014
▪ Scott Shenker (UC Berkeley), “Software-Defined Networking at the Crossroads”, Standford, Colloquium on Computer Systems Seminar Series (EE380), 2013.
▪ Scott Shenker (UC Berkeley), “A Gentle Introduction to Software Defined Networks”, Technion Computer Engineering Center, 2012. http://tce.technion.ac.il/files/2012/06/Scott-shenker.pdf
▪ Scott Shenker (UC Berkeley), “The Future of Networking, and the Past of Protocols”, Open Network Summit, 2011. http://www.opennetsummit.org/archives/oct11/shenker-tue.pdf
▪ Nick McKeown (Stanford), ITC Keynote, San Francisco, 2011. http://yuba.stanford.edu/~nickm/talks/ITC%20Keynote%20Sept%202011.ppt
▪ Microsoft Azure data center
▪ Jennifer Rexford COS 461: Computer Networks
Material from:
31
▪ Marco Cello Talk @ IEIIT – Consiglio Nazionale delle Ricerche (CNR) Genova 28 Marzo 2014
▪ Scott Shenker (UC Berkeley), “Software-Defined Networking at the Crossroads”, Standford, Colloquium on Computer Systems Seminar Series (EE380), 2013.
▪ Scott Shenker (UC Berkeley), “A Gentle Introduction to Software Defined Networks”, Technion Computer Engineering Center, 2012. http://tce.technion.ac.il/files/2012/06/Scott-shenker.pdf
▪ Scott Shenker (UC Berkeley), “The Future of Networking, and the Past of Protocols”, Open Network Summit, 2011. http://www.opennetsummit.org/archives/oct11/shenker-tue.pdf
▪ Nick McKeown (Stanford), ITC Keynote, San Francisco, 2011. http://yuba.stanford.edu/~nickm/talks/ITC%20Keynote%20Sept%202011.ppt
▪ Microsoft Azure data center
▪ Jennifer Rexford COS 461: Computer Networks
▪ https://www.youtube.com/watch?v=AoHHXELV6ik
▪ https://www.youtube.com/watch?v=ct8u-rKgveM
State of the Art
32
Architecture ▪ A Highly Available Software Defined Fabric, HotNets 2014 ▪ On the Scalability of Software-Defined Networking, IEEE Communications Magazine 2013 ▪ Fabric: A Retrospective on Evolving SDN,HotSDN 2012
Control Plane ▪ On the Co-Existence of Distributed and Centralized Routing Control-Planes, INFOCOM 2015 ▪ CoVisor: A Compositional Hypervisor for Software-Defined Networks, NSDI 2015 ▪ A Network State Management Service, SIGCOMM 2014
Data Plane ▪ The (Surprising) Computational Power of the SDN Data Plane, INFOCOM 2015 ▪ Compiling Packet Programs to Reconfigurable Switches, NSDI 2015 ▪ Reclaiming the Brain: Useful OpenFlow Functions in the Data Plane, HotNets 2014
Hybrid Networks ▪ Traffic Engineering in SDN/OSPF Hybrid Networks , ICNP 2014 ▪ Reaping the Benefits of Partial SDN Deployment in Enterprise Networks, USENIX 2014 ▪ HybNET: Network Manager for A Hybrid Network Infrastructure, Middleware 2013
State of the Art
33
Cloud Computing and Big Data ▪ Meridian: An SDN Platform for Cloud Network Services, IEEE Communications Magazine 2013 ▪ Programming Your Network at Run-time for Big Data Applications, HotSDN 2012 ▪ Dynamic Graph Query Primitives for SDN-based Cloud Network Management, HotSDN 2012
Monitoring and Measurement ▪ Cracking Network Monitoring in DCNs with SDN, INFOCOM 2015 ▪ DREAM: Dynamic Resource Allocation for Software-defined Measurement, SIGCOMM 2014 ▪ Software Defined Traffic Measurement with OpenSketch, NSDI 2013
Network Security ▪ A Survey of Securing Networks Using Software Defined Networking, Trans. on Reliability 2015 ▪ FlowGuard: Building Robust Firewalls for Software-defined Networks , HotSDN 2014 ▪ FRESCO: Modular Compostable Security Services for Software-Defined Networks, NDSS 2013
SDN in WAN ▪ SDX: A Software Defined Internet Exchange, SIGCOMM 2014 ▪ B4: Experience with a Globally-Deployed Software Defined WAN, SIGCOMM 2013 ▪ Virtualizing the Access Network via Open APIs, CoNEXT 2013
State of the Art
34
Architecture ▪ A Highly Available Software Defined Fabric, HotNets 2014 ▪ On the Scalability of Software-Defined Networking, IEEE Communications Magazine 2013 ▪ Fabric: A Retrospective on Evolving SDN,HotSDN 2012
Control Plane ▪ On the Co-Existence of Distributed and Centralized Routing Control-Planes, INFOCOM 2015 ▪ CoVisor: A Compositional Hypervisor for Software-Defined Networks, NSDI 2015 ▪ A Network State Management Service, SIGCOMM 2014
Data Plane ▪ The (Surprising) Computational Power of the SDN Data Plane, INFOCOM 2015 ▪ Compiling Packet Programs to Reconfigurable Switches, NSDI 2015 ▪ Reclaiming the Brain: Useful OpenFlow Functions in the Data Plane, HotNets 2014
Hybrid Networks ▪ Traffic Engineering in SDN/OSPF Hybrid Networks , ICNP 2014 ▪ Reaping the Benefits of Partial SDN Deployment in Enterprise Networks, USENIX 2014 ▪ HybNET: Network Manager for A Hybrid Network Infrastructure, Middleware 2013
State of the Art
35
Cloud Computing and Big Data ▪ Meridian: An SDN Platform for Cloud Network Services, IEEE Communications Magazine 2013 ▪ Programming Your Network at Run-time for Big Data Applications, HotSDN 2012 ▪ Dynamic Graph Query Primitives for SDN-based Cloud Network Management, HotSDN 2012
Monitoring and Measurement ▪ Cracking Network Monitoring in DCNs with SDN, INFOCOM 2015 ▪ DREAM: Dynamic Resource Allocation for Software-defined Measurement, SIGCOMM 2014 ▪ Software Defined Traffic Measurement with OpenSketch, NSDI 2013
Network Security ▪ A Survey of Securing Networks Using Software Defined Networking, Trans. on Reliability 2015 ▪ FlowGuard: Building Robust Firewalls for Software-defined Networks , HotSDN 2014 ▪ FRESCO: Modular Compostable Security Services for Software-Defined Networks, NDSS 2013
SDN in WAN ▪ SDX: A Software Defined Internet Exchange, SIGCOMM 2014 ▪ B4: Experience with a Globally-Deployed Software Defined WAN, SIGCOMM 2013 ▪ Virtualizing the Access Network via Open APIs, CoNEXT 2013