clean slate design for the internet - computer science at rutgers
TRANSCRIPT
![Page 2: Clean Slate Design for the Internet - Computer Science at Rutgers](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb71952e268c58cd5e3bbf/html5/thumbnails/2.jpg)
Part 1: Inside the box
Switch and Router Design
Part 2: Outside the box
Software-defined networking
![Page 3: Clean Slate Design for the Internet - Computer Science at Rutgers](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb71952e268c58cd5e3bbf/html5/thumbnails/3.jpg)
Hardware
Datapath
Router
Software
Control
Management: CLI, SNMP
Routing Protocols: OSPF, ISIS, BGP
Per-packet: Lookup, switch, buffer
![Page 4: Clean Slate Design for the Internet - Computer Science at Rutgers](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb71952e268c58cd5e3bbf/html5/thumbnails/4.jpg)
IP Address Lookup
& Classification
Crossbar
Scheduler
How big should buffers be? [1/ N]
How to build really fast buffers? [Nemo]
Which schedulers give 100% throughput? [MWM]
Which schedulers are practical in hardware? [iSLIP]
How to schedule multicast? [ESLIP]
How to run the scheduler slower? [PPS]
How to avoid scheduling altogether? [VLB]
How to emulate an output queued switch? [MUCFA]
How to lookup quickly in hardware? [24-8]
Heuristic classification algorithms [HiCuts]
![Page 5: Clean Slate Design for the Internet - Computer Science at Rutgers](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb71952e268c58cd5e3bbf/html5/thumbnails/5.jpg)
Three Open Topics
1. There’s something special about
“2x speedup”
2. Deterministic (instead of probabilistic)
switch design
3. Making routers simpler
![Page 6: Clean Slate Design for the Internet - Computer Science at Rutgers](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb71952e268c58cd5e3bbf/html5/thumbnails/6.jpg)
Three Open Topics
1. There’s something special about
“2x speedup”
A maximal match crossbar scheduler gives
100% throughput [Dai&Prabhakar]
Makes a Clos network strictly non-blocking
[Clos]
Allows a CIOQ switch to precisely emulate an
output-queued switch [Chuang]
![Page 7: Clean Slate Design for the Internet - Computer Science at Rutgers](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb71952e268c58cd5e3bbf/html5/thumbnails/7.jpg)
Three Open Topics
1. There’s something special about
“2x speedup” (contd.)
Allows a parallel stack of small switches to
precisely emulate one big switch [Iyer]
Valiant Load-Balanced switch (or network)
can give 100% throughput [Valiant]
![Page 8: Clean Slate Design for the Internet - Computer Science at Rutgers](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb71952e268c58cd5e3bbf/html5/thumbnails/8.jpg)
Related observations
“2x speedup” is key for both deterministic &
probabilistic systems
A maximum size bipartite match is at most
twice the size of a maximal match
A switch has two simultaneous constraints:
input and output
Local “selfish” routing decisions cost twice as
much as “global” ones [Roughgarden]
![Page 9: Clean Slate Design for the Internet - Computer Science at Rutgers](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb71952e268c58cd5e3bbf/html5/thumbnails/9.jpg)
Three Open Topics
1. There’s something special about
“2x speedup”
2. Deterministic (instead of probabilistic)
switch design
We need more analytical tools for “mimicking”
Generalized pigeon-hole principles
3. Making routers simpler
![Page 10: Clean Slate Design for the Internet - Computer Science at Rutgers](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb71952e268c58cd5e3bbf/html5/thumbnails/10.jpg)
Three Open Topics
1. There’s something special about
“2x speedup”
2. Deterministic (instead of probabilistic)
switch design
1. Making routers simpler
![Page 11: Clean Slate Design for the Internet - Computer Science at Rutgers](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb71952e268c58cd5e3bbf/html5/thumbnails/11.jpg)
Million of lines
of source code
5389 RFCs Barrier to entry
500M gates
10Gbytes RAM
Bloated Power Hungry
Many complex functions baked into the infrastructureOSPF, BGP, multicast, differentiated services,Traffic Engineering, NAT, firewalls, MPLS, redundant layers, …
We have lost our way
Hardware
Datapath
Router
Software
Control
![Page 12: Clean Slate Design for the Internet - Computer Science at Rutgers](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb71952e268c58cd5e3bbf/html5/thumbnails/12.jpg)
Process of innovation
Almost no technology transfer
from academia
Deployment
Idea Standardize
Wait 10 years
![Page 13: Clean Slate Design for the Internet - Computer Science at Rutgers](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb71952e268c58cd5e3bbf/html5/thumbnails/13.jpg)
Personal regret
I wish I had said it sooner and louder
Our “dumb, minimal”
datapath turned into a
bloated 1960s mainframe!
![Page 14: Clean Slate Design for the Internet - Computer Science at Rutgers](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb71952e268c58cd5e3bbf/html5/thumbnails/14.jpg)
The essence of my talk (1 of 2)
Hardware Substrate
The PC industry found a simple, common,
hardware substrate (x86 instruction set)
Software-definition
Innovation exploded on top (applications) and
in the infrastructure itself (operating systems,
virtualization)
Open-source
100,000s of developers blew apart the
standards process, accelerated innovation
![Page 15: Clean Slate Design for the Internet - Computer Science at Rutgers](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb71952e268c58cd5e3bbf/html5/thumbnails/15.jpg)
The essence of my talk (2 of 2)
It is up to us to make it happen.
Until we (someone) does, it remains ossified.
Let’s define the substrate.
Hardware
Substrate
Open Source
Culture
Software-Defined
Network
![Page 16: Clean Slate Design for the Internet - Computer Science at Rutgers](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb71952e268c58cd5e3bbf/html5/thumbnails/16.jpg)
Part 1: Inside the box
Part 2: Outside the box
The need for a substrate
The inevitability of software-defined
networking
![Page 17: Clean Slate Design for the Internet - Computer Science at Rutgers](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb71952e268c58cd5e3bbf/html5/thumbnails/17.jpg)
Computer
Application
Computer
Application Application
OS
OS abstracts hardware substrate
Innovation in applications
![Page 18: Clean Slate Design for the Internet - Computer Science at Rutgers](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb71952e268c58cd5e3bbf/html5/thumbnails/18.jpg)
x86
(Computer)
Windows
(OS)
ApplicationApplication
LinuxMac
OS
x86
(Computer)
Windows
(OS)or or
ApplicationApplication
Simple, common, stable, hardware substrate below
+ Programmability
+ Competition
Innovation in OS and applications
![Page 19: Clean Slate Design for the Internet - Computer Science at Rutgers](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb71952e268c58cd5e3bbf/html5/thumbnails/19.jpg)
LinuxMac
OS
x86
(Computer)
Windows
(OS)or or
ApplicationApplication Windows
(OS)Windows
(OS)Linux
Mac
OS
x86
(Computer)
Windows
(OS)
AppApp
LinuxLinuxMac
OSMac
OS
Virtualization
App
Simple, common, stable, hardware substrate below
+ Programmability
+ Strong isolation model
+ Competition above
Innovation in infrastructure
![Page 20: Clean Slate Design for the Internet - Computer Science at Rutgers](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb71952e268c58cd5e3bbf/html5/thumbnails/20.jpg)
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 software
Internet: Routing protocols, management, …
3. Rapid innovation of the infrastructure itself
Internet: er...? What’s missing? What is the
substrate…?
![Page 21: Clean Slate Design for the Internet - Computer Science at Rutgers](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb71952e268c58cd5e3bbf/html5/thumbnails/21.jpg)
Mid-1990s:
“To enable innovation in the
network, we need to program on
top of a simple hardware
datapath”
Problems: isolation, performance,
complexity
Active networking
![Page 22: Clean Slate Design for the Internet - Computer Science at Rutgers](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb71952e268c58cd5e3bbf/html5/thumbnails/22.jpg)
Late-1990s:
“To enable innovation in the
network, we need the datapath
substrate to be programmable”
Problem: Accelerated complexity
of the datapath substrate
Network processors
![Page 23: Clean Slate Design for the Internet - Computer Science at Rutgers](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb71952e268c58cd5e3bbf/html5/thumbnails/23.jpg)
(Statement of the obvious)
In networking, despite several attempts…
We’ve never agreed upon a clean separation
between:
1. A simple common hardware substrate
2. And an open programming environment on top
But things are changing fast in
data centers and service provider networks.
![Page 24: Clean Slate Design for the Internet - Computer Science at Rutgers](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb71952e268c58cd5e3bbf/html5/thumbnails/24.jpg)
Observations
Prior attempts have generally
1. Assumed the current IP routing substrate
is fixed, and tried to program it externally
Including the routing protocols
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 25: Clean Slate Design for the Internet - Computer Science at Rutgers](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb71952e268c58cd5e3bbf/html5/thumbnails/25.jpg)
We need…
1. A clean separation between the substrate
and an open programming environment
2. A simple hardware substrate that
generalizes, subsumes and simplifies the
current substrate
3. Very few preconceived ideas about how
the substrate will be programmed
4. Strong isolation
![Page 26: Clean Slate Design for the Internet - Computer Science at Rutgers](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb71952e268c58cd5e3bbf/html5/thumbnails/26.jpg)
New function!
Operators, users, 3rd party developers, researchers, …
Step 1: Separate intelligence from datapath
![Page 27: Clean Slate Design for the Internet - Computer Science at Rutgers](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb71952e268c58cd5e3bbf/html5/thumbnails/27.jpg)
We need…
1. A clean separation between the substrate
and an open programming environment
2. A simple hardware substrate that
generalizes, subsumes and simplifies the
current substrate
3. Very few preconceived ideas about how
the substrate will be programmed
4. Strong isolation
![Page 28: Clean Slate Design for the Internet - Computer Science at Rutgers](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb71952e268c58cd5e3bbf/html5/thumbnails/28.jpg)
Step 2: Cache decisions in minimal
flow-based datapath
“If header = x, send to port 4”
Flow
Table
“If header = ?, send to me”
“If header = y, overwrite header with z, send to ports 5,6”
![Page 29: Clean Slate Design for the Internet - Computer Science at Rutgers](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb71952e268c58cd5e3bbf/html5/thumbnails/29.jpg)
1.
Unicast
2.Multicast
![Page 30: Clean Slate Design for the Internet - Computer Science at Rutgers](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb71952e268c58cd5e3bbf/html5/thumbnails/30.jpg)
4.
Waypoints Middleware
Intrusion detection
…
3.
Multipath Load-balancing
Redundancy
![Page 31: Clean Slate Design for the Internet - Computer Science at Rutgers](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb71952e268c58cd5e3bbf/html5/thumbnails/31.jpg)
Types of action
Allow/deny flow
Route & re-route flow
Isolate flow
Make flow private
Remove flow
What is a flow?
Application flow
All http
Jim’s traffic
All packets to Canada
…
![Page 32: Clean Slate Design for the Internet - Computer Science at Rutgers](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb71952e268c58cd5e3bbf/html5/thumbnails/32.jpg)
Packet-switching substrate
PayloadEthernet
DA, SA, etc
IP
DA, SA, etc
TCP
DP, SP, etc
Collection of bits to plumb flows
(of different granularities)
between end points
![Page 33: Clean Slate Design for the Internet - Computer Science at Rutgers](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb71952e268c58cd5e3bbf/html5/thumbnails/33.jpg)
Properties of a flow-based
substrate
We need flexible definitions of a flow
Unicast, multicast, waypoints, load-balancing
Different aggregations
We need direct control over flows
Flow as an entity we program: To route, to
make private, to move, …
Exploit the benefits of packet switching
It works and is universally deployed
It’s efficient (when kept simple)
![Page 34: Clean Slate Design for the Internet - Computer Science at Rutgers](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb71952e268c58cd5e3bbf/html5/thumbnails/34.jpg)
Substrate: “Flowspace”
PayloadEthernet
DA, SA, etc
IP
DA, SA, etc
TCP
DP, SP, etc
Collection of bits to plumb flows
(of different granularities)
between end points
PayloadHeader
User-defined flowspace
![Page 35: Clean Slate Design for the Internet - Computer Science at Rutgers](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb71952e268c58cd5e3bbf/html5/thumbnails/35.jpg)
Flowspace: Simple example
IP SA
IP DA
Single flow All flows from A
A
All flows
between two
subnets
![Page 36: Clean Slate Design for the Internet - Computer Science at Rutgers](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb71952e268c58cd5e3bbf/html5/thumbnails/36.jpg)
Flowspace: Generalization
Field 2
Field 1
Single flowSet of flows
Field n
![Page 37: Clean Slate Design for the Internet - Computer Science at Rutgers](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb71952e268c58cd5e3bbf/html5/thumbnails/37.jpg)
Properties of Flowspace
Backwards compatible
Current layers are a special case
No end points need to change
Easily implemented in hardware
e.g. TCAM flow-table in each switch
Strong isolation of flows
Simple geometric construction
Can prove which flows can/cannot
communicate
![Page 38: Clean Slate Design for the Internet - Computer Science at Rutgers](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb71952e268c58cd5e3bbf/html5/thumbnails/38.jpg)
A substrate
Flow-based
Small number of actions for each flow
Plumbing: Forward to port(s)
Control: Forward to controller
Routing between flow-spaces: Rewrite
header
Bandwidth isolation: Min/max rate
External open API to flow-table
![Page 39: Clean Slate Design for the Internet - Computer Science at Rutgers](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb71952e268c58cd5e3bbf/html5/thumbnails/39.jpg)
OpenFlow as a strawman
flow-based substrate
![Page 40: Clean Slate Design for the Internet - Computer Science at Rutgers](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb71952e268c58cd5e3bbf/html5/thumbnails/40.jpg)
Our Approach1. Define the substrate
OpenFlow is an open external API to a flow-table
Version 1.0Defined to be easy to add to existing hardware switches, routers, APs, …
Timeframe: Now
Version 2.0OpenFlow-optimized hardware
General “flowspace”
Timeframe: 2011
![Page 41: Clean Slate Design for the Internet - Computer Science at Rutgers](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb71952e268c58cd5e3bbf/html5/thumbnails/41.jpg)
Our Approach2. Deploy
Deploy on college campuses
Deploy in national research backbone networks
Enable researchers to freely innovate on top
![Page 42: Clean Slate Design for the Internet - Computer Science at Rutgers](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb71952e268c58cd5e3bbf/html5/thumbnails/42.jpg)
OpenFlow Hardware
Cisco Catalyst
6k
NEC IP8800
HP Procurve
5400
Juniper MX-seriesWiMax (NEC)
PC Engines
Quanta LB4G More coming soon...
![Page 43: Clean Slate Design for the Internet - Computer Science at Rutgers](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb71952e268c58cd5e3bbf/html5/thumbnails/43.jpg)
An OpenFlow Controller
Martin
Casado
Scott
Shenker
“Nicira” created NOX controller
Available at http://NOXrepo.org
Controller
![Page 44: Clean Slate Design for the Internet - Computer Science at Rutgers](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb71952e268c58cd5e3bbf/html5/thumbnails/44.jpg)
OpenFlow Basics
![Page 45: Clean Slate Design for the Internet - Computer Science at Rutgers](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb71952e268c58cd5e3bbf/html5/thumbnails/45.jpg)
Ethernet Switch
![Page 46: Clean Slate Design for the Internet - Computer Science at Rutgers](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb71952e268c58cd5e3bbf/html5/thumbnails/46.jpg)
Data Path (Hardware)
Control PathControl Path (Software)
![Page 47: Clean Slate Design for the Internet - Computer Science at Rutgers](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb71952e268c58cd5e3bbf/html5/thumbnails/47.jpg)
Data Path (Hardware)
Control Path OpenFlow
OpenFlow Controller
OpenFlow Protocol (SSL)
![Page 48: Clean Slate Design for the Internet - Computer Science at Rutgers](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb71952e268c58cd5e3bbf/html5/thumbnails/48.jpg)
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 49: Clean Slate Design for the Internet - Computer Science at Rutgers](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb71952e268c58cd5e3bbf/html5/thumbnails/49.jpg)
Flow Table EntryOpenFlow Protocol Version 1.0
Switch
Port
MAC
src
MAC
dst
Eth
type
VLAN
ID
IP
Src
IP
Dst
IP
Prot
TCP
sport
TCP
dport
Rule Action Stats
1. Forward packet to port(s)
2. Encapsulate and forward to controller
3. Drop packet
4. Send to normal processing pipeline
+ mask what fields to match
Packet + byte counters
![Page 50: Clean Slate Design for the Internet - Computer Science at Rutgers](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb71952e268c58cd5e3bbf/html5/thumbnails/50.jpg)
Examples
Switching
*
Switch
Port
MAC
src
MAC
dst
Eth
type
VLAN
ID
IP
Src
IP
Dst
IP
Prot
TCP
sport
TCP
dportAction
* 00:1f:.. * * * * * * * port6
Flow Switching
port3
Switch
Port
MAC
src
MAC
dst
Eth
type
VLAN
ID
IP
Src
IP
Dst
IP
Prot
TCP
sport
TCP
dportAction
00:2e.. 00:1f.. 0800 vlan1 1.2.3.4 5.6.7.8 4 17264 80 port6
Firewall
*
Switch
Port
MAC
src
MAC
dst
Eth
type
VLAN
ID
IP
Src
IP
Dst
IP
Prot
TCP
sport
TCP
dportForward
* * * * * * * * 22 drop
![Page 51: Clean Slate Design for the Internet - Computer Science at Rutgers](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb71952e268c58cd5e3bbf/html5/thumbnails/51.jpg)
Examples
Routing
*
Switch
Port
MAC
src
MAC
dst
Eth
type
VLAN
ID
IP
Src
IP
Dst
IP
Prot
TCP
sport
TCP
dportAction
* * * * *5.6.7.
8* * * port6
VLAN
*
Switch
Port
MAC
src
MAC
dst
Eth
type
VLAN
ID
IP
Src
IP
Dst
IP
Prot
TCP
sport
TCP
dportAction
* * * vlan1 * * * * *
port6,
port7,
port9
![Page 52: Clean Slate Design for the Internet - Computer Science at Rutgers](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb71952e268c58cd5e3bbf/html5/thumbnails/52.jpg)
OpenFlowSwitch.org
Controller
OpenFlow Switch
PC
OpenFlow UsageDedicated OpenFlow Network
OpenFlow Switch
OpenFlow Switch
OpenFlow
Protocol
Peter’s code
Rule Action Statistics
Rule Action Statistics Rule Action Statistics
Peter
![Page 53: Clean Slate Design for the Internet - Computer Science at Rutgers](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb71952e268c58cd5e3bbf/html5/thumbnails/53.jpg)
Usage examples
Peter’s code:Static “VLANs”
His own new routing protocol: unicast, multicast, multipath, load-balancing
Network access control
Home network manager
Mobility manager
Energy manager
Packet processor (in controller)
IPvPeter
Network measurement and visualization
…
![Page 54: Clean Slate Design for the Internet - Computer Science at Rutgers](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb71952e268c58cd5e3bbf/html5/thumbnails/54.jpg)
Separate VLANs for Production
and Research Traffic
Normal L2/L3 Processing
Flow Table
Production VLANs
Research VLANs
Controller
![Page 55: Clean Slate Design for the Internet - Computer Science at Rutgers](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb71952e268c58cd5e3bbf/html5/thumbnails/55.jpg)
Virtualize OpenFlow Switch
Normal L2/L3 Processing
Flow Table
Flow Table
Flow Table
Researcher A VLANs
Researcher B VLANs
Researcher C VLANs
Production VLANs
Controller A
Controller B
Controller C
![Page 56: Clean Slate Design for the Internet - Computer Science at Rutgers](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb71952e268c58cd5e3bbf/html5/thumbnails/56.jpg)
OpenFlow Switch
OpenFlow
Protocol
OpenFlow FlowVisor
& Policy Control
Craig’s
Controller
Heidi’s
ControllerAaron’s
Controller
OpenFlow
Protocol
Virtualizing OpenFlow
OpenFlow Switch
OpenFlow Switch
![Page 57: Clean Slate Design for the Internet - Computer Science at Rutgers](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb71952e268c58cd5e3bbf/html5/thumbnails/57.jpg)
OpenFlow
Protocol
OpenFlow
FlowVisor & Policy Control
BroadcastMulticast
OpenFlow
Protocol
http
Load-balancer
Virtualizing OpenFlow
OpenFlow Switch
OpenFlow Switch
OpenFlow Switch
![Page 58: Clean Slate Design for the Internet - Computer Science at Rutgers](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb71952e268c58cd5e3bbf/html5/thumbnails/58.jpg)
Windows
(OS)Windows
(OS)Linux
Mac
OS
x86
(Computer)
Windows
(OS)
AppApp
LinuxLinuxMac
OSMac
OS
Virtualization
App
Simple, common, stable, hardware substrate below
+ Programmability
+ Strong isolation model
+ Competition above
Faster innovation
Controller
1
AppApp
Controller
2
Virtualization (FlowVisor)
App
OpenFlow
Controller
1Controller
1
Controller
2Controller
2
![Page 59: Clean Slate Design for the Internet - Computer Science at Rutgers](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb71952e268c58cd5e3bbf/html5/thumbnails/59.jpg)
OpenFlow Deployment
![Page 60: Clean Slate Design for the Internet - Computer Science at Rutgers](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb71952e268c58cd5e3bbf/html5/thumbnails/60.jpg)
OpenFlow Deployments
Stanford Deployments
Wired: CS Gates building, EE CIS building,
EE Packard building
WiFi: 100 OpenFlow APs across SoE
WiMAX: OpenFlow service in SoE
Other deployments
Internet2 (NetFPGA switches)
JGN2plus, Japan (NEC switches)
10-15 research groups have switches
![Page 61: Clean Slate Design for the Internet - Computer Science at Rutgers](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb71952e268c58cd5e3bbf/html5/thumbnails/61.jpg)
OpenFlow DeploymentsPlans in 2009-10
Campus deployments
Lab + production use
“Enterprise GENI” (NSF/GPO)
Backbone deployments
National research backbones
Research + Production use
![Page 62: Clean Slate Design for the Internet - Computer Science at Rutgers](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb71952e268c58cd5e3bbf/html5/thumbnails/62.jpg)
How to get involved (1)
Visit http://OpenFlowSwitch.org
Experiment with reference switches
Linux soft switch
NetFPGA hardware switch
Explore with your network administrator/CIO
about trial production deployment
Look at prototype commercial hardware
![Page 63: Clean Slate Design for the Internet - Computer Science at Rutgers](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb71952e268c58cd5e3bbf/html5/thumbnails/63.jpg)
How to get involved (2)
Experiment with controllers
Simple test controllers
NOX: http://NOXrepo.org
Add a new experiment/feature
Run a class
![Page 64: Clean Slate Design for the Internet - Computer Science at Rutgers](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb71952e268c58cd5e3bbf/html5/thumbnails/64.jpg)
Thank You!