35
CS-552/452 Introduction to Cloud Computing 16. Software-Defined Networking (SDN) (1) 1

CS-552/452 Introduction to Cloud Computing

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: CS-552/452 Introduction to Cloud Computing

CS-552/452 Introduction to Cloud Computing

16. Software-Defined Networking (SDN) (1)

1

Page 2: CS-552/452 Introduction to Cloud Computing

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.

Page 3: CS-552/452 Introduction to Cloud Computing

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

Page 4: CS-552/452 Introduction to Cloud Computing

The Definition of SDN

4

emerging architecture

dynamic

manageable

cost-effective

adaptable

decouples

abstracted

programmable

Page 5: CS-552/452 Introduction to Cloud Computing

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

Page 6: CS-552/452 Introduction to Cloud Computing

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

Page 7: CS-552/452 Introduction to Cloud Computing

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

Page 8: CS-552/452 Introduction to Cloud Computing

8

A Helpful Analogy

From Nick McKeown’s talk “Making SDN Work” at the Open Networking Summit, April 2012

Page 9: CS-552/452 Introduction to Cloud Computing

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

Page 10: CS-552/452 Introduction to Cloud Computing

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

Page 11: CS-552/452 Introduction to Cloud Computing

Data and Control Planes

11

Page 12: CS-552/452 Introduction to Cloud Computing

Data and Control Planes

12

Switching

Fabric

Processor

Line card

Line card

Line card

Line card

Line card

Line card

data plane

control plane

Page 13: CS-552/452 Introduction to Cloud Computing

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

Page 14: CS-552/452 Introduction to Cloud Computing

Management Plane

14

Collect measurements and configure the equipment

Human time scale

Page 15: CS-552/452 Introduction to Cloud Computing

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

Page 16: CS-552/452 Introduction to Cloud Computing

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

Page 17: CS-552/452 Introduction to Cloud Computing

But, No Abstraction for Control Plane

17

Page 18: CS-552/452 Introduction to Cloud Computing

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

Page 19: CS-552/452 Introduction to Cloud Computing

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

Page 20: CS-552/452 Introduction to Cloud Computing

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

Page 21: CS-552/452 Introduction to Cloud Computing

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

Page 22: CS-552/452 Introduction to Cloud Computing

22

Traditional Network

Feature

Feature

Feature

Feature

Feature

Page 23: CS-552/452 Introduction to Cloud Computing

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

Page 24: CS-552/452 Introduction to Cloud Computing

Software Defined Network (SDN)

▪ Decouple control and data planes by providing open standard API

24

Control Program A Control Progrma B

Network OS

Page 25: CS-552/452 Introduction to Cloud Computing

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

Page 26: CS-552/452 Introduction to Cloud Computing

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

Page 27: CS-552/452 Introduction to Cloud Computing

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

Page 28: CS-552/452 Introduction to Cloud Computing

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

Page 29: CS-552/452 Introduction to Cloud Computing

Summary: what we have now…

29

AppAppAppAppAppAppAppAppAppAppApp

Network Operating System

Open Interface

Merchant

Switching Chips

Open Interface OpenFlow

Page 30: CS-552/452 Introduction to Cloud Computing

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

Page 31: CS-552/452 Introduction to Cloud Computing

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

Page 32: CS-552/452 Introduction to Cloud Computing

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

Page 33: CS-552/452 Introduction to Cloud Computing

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

Page 34: CS-552/452 Introduction to Cloud Computing

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

Page 35: CS-552/452 Introduction to Cloud Computing

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