+ All Categories
Home > Documents > Software-defined Networking and OpenFlo McKeo… · Software-defined Networking and OpenFlow Nick...

Software-defined Networking and OpenFlo McKeo… · Software-defined Networking and OpenFlow Nick...

Date post: 08-Oct-2020
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
44
Software-defined Networking and OpenFlow Nick McKeown [email protected] Nick McKeown [email protected] POMI Workshop, April 2009 OpenFlow team: Nick McKeown, Guido Appenzeller, Guru Parulkar, Brandon Heller, Glen Gibb, Masayoshi Kobayashi, Tatsuya Yabe, Mikio Hara, Rob Sherwood, Srini Seetharaman, David Underhill, Dave Erickson.
Transcript
Page 1: Software-defined Networking and OpenFlo McKeo… · Software-defined Networking and OpenFlow Nick McKeown nickm@stanford.edu Nick McKeown nickm@stanford.edu POMI Workshop, April 2009

Software-defined Networking

and OpenFlow

Nick [email protected]

Nick [email protected]

POMI Workshop, April 2009

OpenFlow team: Nick McKeown, Guido Appenzeller, Guru Parulkar, Brandon Heller, Glen Gibb, Masayoshi Kobayashi, Tatsuya Yabe, MikioHara, Rob Sherwood, Srini Seetharaman, David Underhill, Dave Erickson.

Page 2: Software-defined Networking and OpenFlo McKeo… · Software-defined Networking and OpenFlow Nick McKeown nickm@stanford.edu Nick McKeown nickm@stanford.edu POMI Workshop, April 2009

Part 1: Software-defined networking• Trend towards defining the network

infrastructure in software• Requires a simple hardware substrate

Part 2: OpenFlow as an example

Page 3: Software-defined Networking and OpenFlo McKeo… · Software-defined Networking and OpenFlow Nick McKeown nickm@stanford.edu Nick McKeown nickm@stanford.edu POMI Workshop, April 2009

Computer

Application

Computer

Application Application

OS

OS abstracts hardware substrateInnovation in applications

Page 4: Software-defined Networking and OpenFlo McKeo… · Software-defined Networking and OpenFlow Nick McKeown nickm@stanford.edu Nick McKeown nickm@stanford.edu POMI Workshop, April 2009

x86(Computer)

Windows(OS)

ApplicationApplication

Linux MacOS

x86(Computer)

Windows(OS) or or

ApplicationApplication

Simple, common, stable, hardware substrate below+ Programmability+ Competition

Innovation in OS and applications

Page 5: Software-defined Networking and OpenFlo McKeo… · Software-defined Networking and OpenFlow Nick McKeown nickm@stanford.edu Nick McKeown nickm@stanford.edu POMI Workshop, April 2009

Linux MacOS

x86(Computer)

Windows(OS) or or

ApplicationApplication Windows(OS)

Windows(OS)

Linux MacOS

x86(Computer)

Windows(OS)

AppApp

LinuxLinuxMacOS

MacOS

Virtualization

App

Simple, common, stable, hardware substrate below+ Programmability + Strong isolation model+ Competition above

Innovation in infrastructure

Page 6: Software-defined Networking and OpenFlo McKeo… · Software-defined Networking and OpenFlow Nick McKeown nickm@stanford.edu Nick McKeown nickm@stanford.edu POMI Workshop, April 2009

A simple stable common substrate

1. Allows applications to flourish Internet: Stable IPv4 lead to the web

2. Allows the infrastructure on top to be defined in softwareInternet: Routing protocols, management, …

3. Rapid innovation of the infrastructure itselfInternet: ...? What’s missing?

Page 7: Software-defined Networking and OpenFlo McKeo… · Software-defined Networking and OpenFlow Nick McKeown nickm@stanford.edu Nick McKeown nickm@stanford.edu POMI Workshop, April 2009

Mid-1990s: “To enable innovation in the

network, we need to program on top of a simple hardware

datapath”

Active networking

Problems: isolation, performance, complexity

Page 8: Software-defined Networking and OpenFlo McKeo… · Software-defined Networking and OpenFlow Nick McKeown nickm@stanford.edu Nick McKeown nickm@stanford.edu POMI Workshop, April 2009

Late-1990s: “To enable innovation in the

network, we need the datapathsubstrate to be programmable”

Network processors

Problem: Accelerated complexity of the datapath substrate

Page 9: Software-defined Networking and OpenFlo McKeo… · Software-defined Networking and OpenFlow Nick McKeown nickm@stanford.edu Nick McKeown nickm@stanford.edu POMI Workshop, April 2009

HardwareDatapath

SoftwareControl

RouterMillion of linesof source code

5389 RFCs Barrier to entry

500M gates10Gbytes RAM

Complex Power Hungry

Many complex functions baked into the infrastructureOSPF, BGP, multicast, differentiated services,Traffic Engineering, NAT, firewalls, MPLS, redundant layers, …

Very hard to changeSubstrate is getting more and more complex

Where we are

Page 10: Software-defined Networking and OpenFlo McKeo… · Software-defined Networking and OpenFlow Nick McKeown nickm@stanford.edu Nick McKeown nickm@stanford.edu POMI Workshop, April 2009

(Statement of the obvious)

In networking, despite several attempts…

We’ve never agreed upon a clean separation between:1. A simple common hardware substrate2. And an open programming environment on top

But there are rumblings in large data centers,and service provider networks.

Page 11: Software-defined Networking and OpenFlo McKeo… · Software-defined Networking and OpenFlow Nick McKeown nickm@stanford.edu Nick McKeown nickm@stanford.edu POMI Workshop, April 2009

Observations

Prior attempts have generally1. Assumed the current IP substrate is fixed,

and tried to program it externallyBut the substrate now consists of Ethernet, TCP, …

2. Defined the programming and control model up-front

But to pick the right x86 instruction set, Intel didn’t define Windows XP, Linux or VMware

Page 12: Software-defined Networking and OpenFlo McKeo… · Software-defined Networking and OpenFlow Nick McKeown nickm@stanford.edu Nick McKeown nickm@stanford.edu POMI Workshop, April 2009

We need…

A simple hardware substrate that generalizes, subsumes and simplifies the current substrateA clean separation between the substrate and an open programming environmentVery few preconceived ideas about how the substrate will be programmedStrong isolation

Page 13: Software-defined Networking and OpenFlo McKeo… · Software-defined Networking and OpenFlow Nick McKeown nickm@stanford.edu Nick McKeown nickm@stanford.edu POMI Workshop, April 2009

Substrate today

PayloadPayloadEthernetDA, SA, etcEthernet

DA, SA, etcIP

DA, SA, etcIP

DA, SA, etcTCP

DP, SP, etcTCP

DP, SP, etc

Collection of bits to plumb flows (of different granularities)

between end points

Page 14: Software-defined Networking and OpenFlo McKeo… · Software-defined Networking and OpenFlow Nick McKeown nickm@stanford.edu Nick McKeown nickm@stanford.edu POMI Workshop, April 2009

What is a flow?

Application flowAll httpPeter’s trafficAll packets to Canada…

Types of action

Allow/deny flowRoute & re-route flowIsolate flowMake flow privateRemove flow

We need flexible definitions of a flow We don’t need many types of action

Page 15: Software-defined Networking and OpenFlo McKeo… · Software-defined Networking and OpenFlow Nick McKeown nickm@stanford.edu Nick McKeown nickm@stanford.edu POMI Workshop, April 2009

1.

Unicast

2.Multicast

Page 16: Software-defined Networking and OpenFlo McKeo… · Software-defined Networking and OpenFlow Nick McKeown nickm@stanford.edu Nick McKeown nickm@stanford.edu POMI Workshop, April 2009

4.

WaypointsMiddlewareIntrusion detection…

3.Multipath

Load-balancingRedundancy

Page 17: Software-defined Networking and OpenFlo McKeo… · Software-defined Networking and OpenFlow Nick McKeown nickm@stanford.edu Nick McKeown nickm@stanford.edu POMI Workshop, April 2009

Substrate: “Flowspace”

PayloadPayloadEthernetDA, SA, etcEthernet

DA, SA, etcIP

DA, SA, etcIP

DA, SA, etcTCP

DP, SP, etcTCP

DP, SP, etc

Collection of bits to plumb flows (of different granularities)

between end points

PayloadPayloadHeaderUser-defined flowspace

HeaderUser-defined flowspace

Page 18: Software-defined Networking and OpenFlo McKeo… · Software-defined Networking and OpenFlow Nick McKeown nickm@stanford.edu Nick McKeown nickm@stanford.edu POMI Workshop, April 2009

Flows: Simple example

IP SA

IP DA

Single flow All flows from A

A

All flows between two

subnets

Page 19: Software-defined Networking and OpenFlo McKeo… · Software-defined Networking and OpenFlow Nick McKeown nickm@stanford.edu Nick McKeown nickm@stanford.edu POMI Workshop, April 2009

Flows: Generalization

Field 2

Field 1

Single flowSet of flows

Field n

Page 20: Software-defined Networking and OpenFlo McKeo… · Software-defined Networking and OpenFlow Nick McKeown nickm@stanford.edu Nick McKeown nickm@stanford.edu POMI Workshop, April 2009

Properties of Flowspace

Backwards compatibleCurrent layers are a special case

Easily implemented in hardwaree.g. TCAM flow-table in each switch

Strong isolation of flowsSimple geometric constructionCan prove which flows can/cannot communicate

Page 21: Software-defined Networking and OpenFlo McKeo… · Software-defined Networking and OpenFlow Nick McKeown nickm@stanford.edu Nick McKeown nickm@stanford.edu POMI Workshop, April 2009

A substrate

Flow-basedSmall number of actions for each flow

Plumbing: Forward to port(s)Control: Forward to controllerRouting between flow-spaces: Rewrite headerBandwidth isolation: Min/max rate

External open API to flow-table

Page 22: Software-defined Networking and OpenFlo McKeo… · Software-defined Networking and OpenFlow Nick McKeown nickm@stanford.edu Nick McKeown nickm@stanford.edu POMI Workshop, April 2009

Part 1: Software-defined networking• Trend towards defining the infrastructure in

software• Requires a simple hardware substrate

Part 2: OpenFlow as an example

Page 23: Software-defined Networking and OpenFlo McKeo… · Software-defined Networking and OpenFlow Nick McKeown nickm@stanford.edu Nick McKeown nickm@stanford.edu POMI Workshop, April 2009

New function!

Operators, users, 3rd party developers, researchers, …

Step 1: Separate intelligence from datapath

Page 24: Software-defined Networking and OpenFlo McKeo… · Software-defined Networking and OpenFlow Nick McKeown nickm@stanford.edu Nick McKeown nickm@stanford.edu POMI Workshop, April 2009

Step 2: Cache decisions in minimal datapath

“If header = x, send to port 4”

FlowTableFlowTable

“If header = ?, send to me”“If header = y, overwrite header with z, send to ports 5,6”

Page 25: Software-defined Networking and OpenFlo McKeo… · Software-defined Networking and OpenFlow Nick McKeown nickm@stanford.edu Nick McKeown nickm@stanford.edu POMI Workshop, April 2009

Our Approach1. Define the substrate

Define the OpenFlow featureFirst version (now): OpenFlow-enabled switchesMake it easy to add to commercial switches, routers, APs and basestationsSecond version (~2yrs): OpenFlow-optimized switches in general “flowspace”

2. Deploy on college campuses3. Deploy in national backbone networks4. Enable researchers to freely innovate on top

Page 26: Software-defined Networking and OpenFlo McKeo… · Software-defined Networking and OpenFlow Nick McKeown nickm@stanford.edu Nick McKeown nickm@stanford.edu POMI Workshop, April 2009

OpenFlow Basics

Page 27: Software-defined Networking and OpenFlo McKeo… · Software-defined Networking and OpenFlow Nick McKeown nickm@stanford.edu Nick McKeown nickm@stanford.edu POMI Workshop, April 2009

Ethernet SwitchEthernet Switch

Page 28: Software-defined Networking and OpenFlo McKeo… · Software-defined Networking and OpenFlow Nick McKeown nickm@stanford.edu Nick McKeown nickm@stanford.edu POMI Workshop, April 2009

Data Path (Hardware)Data Path (Hardware)

Control PathControl PathControl Path (Software)Control Path (Software)

Page 29: Software-defined Networking and OpenFlo McKeo… · Software-defined Networking and OpenFlow Nick McKeown nickm@stanford.edu Nick McKeown nickm@stanford.edu POMI Workshop, April 2009

Data Path (Hardware)Data Path (Hardware)

Control PathControl Path OpenFlowOpenFlow

OpenFlowOpenFlow ControllerController

OpenFlow Protocol (SSL)

Page 30: Software-defined Networking and OpenFlo McKeo… · Software-defined Networking and OpenFlow Nick McKeown nickm@stanford.edu Nick McKeown nickm@stanford.edu POMI Workshop, April 2009

OpenFlow Basics (1)

Rule(exact & wildcard) Action Statistics

Rule(exact & wildcard) Action Statistics

Rule(exact & wildcard) Action Statistics

Rule(exact & wildcard) Default Action Statistics

Exploit the flow table in switches, routers, and chipsets

Flow 1.

Flow 2.

Flow 3.

Flow N.

Page 31: Software-defined Networking and OpenFlo McKeo… · Software-defined Networking and OpenFlow Nick McKeown nickm@stanford.edu Nick McKeown nickm@stanford.edu POMI Workshop, April 2009

Flow Table EntryOpenFlow Protocol

SwitchPort

MACsrc

MACdst

Ethtype

VLANID

IPSrc

IPDst

IPProt

TCPsport

TCPdport

Rule Action Stats

1. Forward packet to port(s)2. Encapsulate and forward to controller3. Drop packet4. Send to normal processing pipeline

+ mask what fields to match

Packet + byte counters

Page 32: Software-defined Networking and OpenFlo McKeo… · Software-defined Networking and OpenFlow Nick McKeown nickm@stanford.edu Nick McKeown nickm@stanford.edu POMI Workshop, April 2009

ExamplesSwitching

*

SwitchPort

MACsrc

MACdst

Ethtype

VLANID

IPSrc

IPDst

IPProt

TCPsport

TCPdport Action

* 00:1f:.. * * * * * * * port6

Flow Switching

port3

SwitchPort

MACsrc

MACdst

Ethtype

VLANID

IPSrc

IPDst

IPProt

TCPsport

TCPdport Action

00:2e.. 00:1f.. 0800 vlan1 1.2.3.4 5.6.7.8 4 17264 80 port6

Firewall

*

SwitchPort

MACsrc

MACdst

Ethtype

VLANID

IPSrc

IPDst

IPProt

TCPsport

TCPdport Forward

* * * * * * * * 22 drop

Page 33: Software-defined Networking and OpenFlo McKeo… · Software-defined Networking and OpenFlow Nick McKeown nickm@stanford.edu Nick McKeown nickm@stanford.edu POMI Workshop, April 2009

ExamplesRouting

*

SwitchPort

MACsrc

MACdst

Ethtype

VLANID

IPSrc

IPDst

IPProt

TCPsport

TCPdport Action

* * * * * 5.6.7.8 * * * port6

VLAN

*

SwitchPort

MACsrc

MACdst

Ethtype

VLANID

IPSrc

IPDst

IPProt

TCPsport

TCPdport Action

* * * vlan1 * * * * *port6, port7,port9

Page 34: Software-defined Networking and OpenFlo McKeo… · Software-defined Networking and OpenFlow Nick McKeown nickm@stanford.edu Nick McKeown nickm@stanford.edu POMI Workshop, April 2009

http://OpenFlowSwitch.orghttp://OpenFlowSwitch.org

Page 35: Software-defined Networking and OpenFlo McKeo… · Software-defined Networking and OpenFlow Nick McKeown nickm@stanford.edu Nick McKeown nickm@stanford.edu POMI Workshop, April 2009

OpenFlowSwitch.org

Controller

OpenFlow Switch

PC

OpenFlow UsageDedicated OpenFlow Network

OpenFlow Switch

OpenFlow Switch

OpenFlowProtocol

Peter’s code

Rule Action Statistics

Rule Action Statistics Rule Action Statistics

Peter

Page 36: Software-defined Networking and OpenFlo McKeo… · Software-defined Networking and OpenFlow Nick McKeown nickm@stanford.edu Nick McKeown nickm@stanford.edu POMI Workshop, April 2009

Usage examplesPeter’s code:

Static “VLANs”His own new routing protocol: unicast, multicast, multipath, load-balancingNetwork access controlHome network managerMobility managerEnergy managerPacket processor (in controller)IPvPeterNetwork measurement and visualization…

Page 37: Software-defined Networking and OpenFlo McKeo… · Software-defined Networking and OpenFlow Nick McKeown nickm@stanford.edu Nick McKeown nickm@stanford.edu POMI Workshop, April 2009

OpenFlowSwitch

OpenFlowSwitch

OpenFlowSwitch

OpenFlowProtocolOpenFlowProtocol

OpenFlow FlowVisor& Policy Control

Craig’sController

Heidi’sControllerAaron’s

Controller

OpenFlowProtocolOpenFlowProtocol

Virtualizing OpenFlow

Page 38: Software-defined Networking and OpenFlo McKeo… · Software-defined Networking and OpenFlow Nick McKeown nickm@stanford.edu Nick McKeown nickm@stanford.edu POMI Workshop, April 2009

OpenFlowSwitch

OpenFlowSwitch

OpenFlowSwitch

OpenFlowProtocol

OpenFlowFlowVisor & Policy Control

Broadcast Multicast

OpenFlowProtocol

httpLoad-balancer

Virtualizing OpenFlow

Page 39: Software-defined Networking and OpenFlo McKeo… · Software-defined Networking and OpenFlow Nick McKeown nickm@stanford.edu Nick McKeown nickm@stanford.edu POMI Workshop, April 2009

Windows(OS)

Windows(OS)

Linux MacOS

x86(Computer)

Windows(OS)

AppApp

LinuxLinuxMacOS

MacOS

Virtualization

App

Simple, common, stable, hardware substrate below+ Programmability + Strong isolation model+ Competition above

Faster innovation

Controller 1

AppApp

Controller2

Virtualization (FlowVisor)

App

OpenFlow

Controller 1

Controller 1

Controller2

Controller2

Page 40: Software-defined Networking and OpenFlo McKeo… · Software-defined Networking and OpenFlow Nick McKeown nickm@stanford.edu Nick McKeown nickm@stanford.edu POMI Workshop, April 2009

OpenFlow Status

Page 41: Software-defined Networking and OpenFlo McKeo… · Software-defined Networking and OpenFlow Nick McKeown nickm@stanford.edu Nick McKeown nickm@stanford.edu POMI Workshop, April 2009

OpenFlow Hardware

Cisco Catalyst 6k

NEC IP8800

HP Procurve5400

Juniper MX

WiMax (NEC)

PC Engines

Quanta LB4

Morecoming soon...

Page 42: Software-defined Networking and OpenFlo McKeo… · Software-defined Networking and OpenFlow Nick McKeown nickm@stanford.edu Nick McKeown nickm@stanford.edu POMI Workshop, April 2009

Stanford Deployment

Phase 3 (2H2009)Phase 2 (1H2009)Phase 1 (ongoing)

• Gates Building, 3A Wing onlyTwoswitches (HP ProCurve 5400)

• ~30 Wireless APs• ~25 users

• Gates Building, All Floors

• 23 Switches(HP ProCurve 5400)

• Wireless TBD• Hundreds of users

• Packard and CIS Buildings

• Switch Count TBD(HP ProCurve 5400)

• Wireless TBD• > 1000 users

Page 43: Software-defined Networking and OpenFlo McKeo… · Software-defined Networking and OpenFlow Nick McKeown nickm@stanford.edu Nick McKeown nickm@stanford.edu POMI Workshop, April 2009

Two Larger OpenFlow DeploymentsCampus Trials 

At seven leading campuses with researchers and CIOPotentially 20‐30 campuses to follow 

Open up campus networks for innovationsBuild robust OpenFlow infrastructure

Nation‐wide OpenFlow substrate – connect campusesInternet2 backbone and six regional networks Clean slate inter‐domain systemUnified control of packet and circuit networks

Potentially funded by NSF/GENI in partnership with campuses, vendors, Internet2/NLR and regionals  

Page 44: Software-defined Networking and OpenFlo McKeo… · Software-defined Networking and OpenFlow Nick McKeown nickm@stanford.edu Nick McKeown nickm@stanford.edu POMI Workshop, April 2009

Thank You!


Recommended