Top Banner
http://cleanslate.stanford.edu The Stanford Clean Slate Program OpenFlow (Or: “Why can’t I innovate in my wiring closet?”) Nick McKeown [email protected]
20

The Stanford Clean Slate Program

Feb 25, 2016

Download

Documents

jerry

The Stanford Clean Slate Program. OpenFlow (Or: “Why can’t I innovate in my wiring closet? ”). Nick McKeown [email protected]. http://cleanslate.stanford.edu. Outline. OpenFlow Enabling innovation on campus Standard way to control flow-tables in commercial switches and routers - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: The Stanford Clean Slate Program

http://cleanslate.stanford.eduThe Stanford Clean Slate Program

OpenFlow(Or: “Why can’t I innovate in my wiring closet?”)

Nick [email protected]

Page 2: The Stanford Clean Slate Program

The Stanford Clean Slate Program http://cleanslate.stanford.edu

Outline

OpenFlow– Enabling innovation on campus– Standard way to control flow-tables in commercial

switches and routers– Being deployed at Stanford– Consider deploying it at your campus too

Page 3: The Stanford Clean Slate Program

The Stanford Clean Slate Program http://cleanslate.stanford.edu

Innovations in campus wiring closetsExperiments we’d like to do

Mobility managementNetwork-wide energy managementNew naming/addressing schemesNetwork access control

Problem with our networkPaths are fixed (by the network) IP-onlyAddresses dictated by DNS, DHCP, etcNo means to add our own processing

Page 4: The Stanford Clean Slate Program

The Stanford Clean Slate Program http://cleanslate.stanford.edu

OpenFlow Switching1. A way to run experiments in the networks we

use everyday.2. Bring GENI to college campuses.

A “pragmatic” compromiseAllow researchers to run experiments in their network……without requiring vendors to expose internal workings.

BasicsAn Ethernet switch (e.g. 128-ports of 1GE) An open protocol to remotely add/remove flow entries

Page 5: The Stanford Clean Slate Program

The Stanford Clean Slate Program http://cleanslate.stanford.edu

Experimenter’s Dream(Vendor’s Nightmare)

StandardNetwork

Processinghwsw Experimenter writes

experimental codeon switch/router

User-defined

Processing

Page 6: The Stanford Clean Slate Program

The Stanford Clean Slate Program http://cleanslate.stanford.edu

No obvious way

Commercial vendor won’t open software and hardware development environmentComplexity of supportMarket protection and barrier to entry

Hard to build my ownPrototypes are flakeySoftware only: Too slowHardware/software: Fanout too small

(need >100 ports for wiring closet)

Page 7: The Stanford Clean Slate Program

The Stanford Clean Slate Program http://cleanslate.stanford.edu

Furthermore, we want… Isolation: Regular production traffic untouched Virtualized and programmable: Different flows

processed in different ways Equipment we can trust in our wiring closet Open development environment for all

researchers (e.g. Linux, Verilog, etc). Flexible definitions of a flow

Individual application trafficAggregated flowsAlternatives to IP running side-by-side…

Page 8: The Stanford Clean Slate Program

The Stanford Clean Slate Program http://cleanslate.stanford.edu

Controller

OpenFlow Switch

FlowTable

SecureChannel

PCOpenFlow

Protocol

SSL

hw

sw

OpenFlow Switch specification

OpenFlow Switching

Page 9: The Stanford Clean Slate Program

The Stanford Clean Slate Program http://cleanslate.stanford.edu

Flow Table Entry“Type 0” OpenFlow Switch

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

Packet + byte counters

Page 10: The Stanford Clean Slate Program

The Stanford Clean Slate Program http://cleanslate.stanford.edu

OpenFlow “Type 1” Definition in progress Additional actions

Rewrite headers Map to queue/classEncrypt

More flexible headerAllow arbitrary matching of first few bytes

Support multiple controllersLoad-balancing and reliability

Page 11: The Stanford Clean Slate Program

The Stanford Clean Slate Program http://cleanslate.stanford.edu

Secure Channel

SSL Connection, site-specific key Controller discovery protocol Encapsulate packets for controller Send link/port state to controller

Page 12: The Stanford Clean Slate Program

The Stanford Clean Slate Program http://cleanslate.stanford.edu

Controller

PC

OpenFlowAccess Point

Server room

OpenFlow

OpenFlow

OpenFlowOpenFlow-enabledCommercial Switch

FlowTable

SecureChannel

NormalSoftware

NormalDatapath

Page 13: The Stanford Clean Slate Program

The Stanford Clean Slate Program http://cleanslate.stanford.edu

OpenFlow Usage Models1. Experiments at the flow level

User-defined routing protocols Admission control Network access control Network management Energy management VOIP mobility and handoff …

2. Experiments at the packet level Slow: Controller handles packet processing Fast: Redirect flows through programmable hardware Modified routers, firewalls, NAT, congestion control…

3. Alternatives to IP

• Experiment-specific controllers• Static or dynamic flow-entries

Page 14: The Stanford Clean Slate Program

The Stanford Clean Slate Program http://cleanslate.stanford.edu

Example Experiment at the flow levelMobility

Lots of interesting questions

• Management of flows• Control of switches• Access control of users and devices• Tracking user location and motion

Page 15: The Stanford Clean Slate Program

The Stanford Clean Slate Program http://cleanslate.stanford.edu

Controller

PC

NetFPGA

Laboratory

Experiments at the packet level

OpenFlow-enabledCommercial Switch

FlowTable

SecureChannel

NormalSoftware

NormalDatapath

Page 16: The Stanford Clean Slate Program

The Stanford Clean Slate Program http://cleanslate.stanford.edu

OpenFlow Usage Models

1. Experiments at the flow level2. Experiments at the packet level

3. Alternatives to IP Flow-table is Layer-2 based e.g. new naming and addressing schemes …

Page 17: The Stanford Clean Slate Program

The Stanford Clean Slate Program http://cleanslate.stanford.edu

OpenFlow Consortiumhttp://OpenFlowSwitch.org

Goal: Evangelize OpenFlow to vendors

Free membership for all researchers

Whitepaper, OpenFlow Switch Specification, Reference Designs

Licensing: Free for research and commercial use

Page 18: The Stanford Clean Slate Program

The Stanford Clean Slate Program http://cleanslate.stanford.edu

OpenFlow: StatusCommercial Ethernet switches and routers

Working with six vendors to add to existing productsExpect OpenFlow “Type 0” to be available in 2008-09

Reference switchesSoftware: Linux and OpenWRT (for access points)Hardware: NetFPGA (line-rate 1GE; available soon)Working on low-cost 48-port 1GE switch based on Broadcom reference

design

Reference controllerSimple test controllerNOX controller (Martin Casado; available soon)

Page 19: The Stanford Clean Slate Program

The Stanford Clean Slate Program http://cleanslate.stanford.edu

Deployment at StanfordStanford Computer Science Department Gates Building~1,000 network users 23 wiring closets

Stanford Center for Integrated Systems (EE) Paul Allen Building ~200 network users 6 wiring closets

Working with HP Labs and Cisco on deployment

Page 20: The Stanford Clean Slate Program

If you are interested in deploying OpenFlow on your campus…

Please contact me!

[email protected]://OpenFlowSwitch.org