Professional Documents
Culture Documents
Why Can'T I Innovate in My Wiring Closet?: Nick Mckeown
Why Can'T I Innovate in My Wiring Closet?: Nick Mckeown
in my wiring closet?
MIT, April 17, 2008
Nick McKeown
nickm@stanford.edu
2
Internet Innovation
End to end arguments led to the principle:
Move function up out of the network to the end-points
3
A fixed substrate
Fierce protection against overloading
network, unless necessary
4
How streamlined is the substrate?
Feature lists as long as your arm
Routers with >10M lines of source code,
datapath with 100M gates & 1Gbyte RAM.
Claim
Most complexity is about routing: picking paths,
managing location, identity and access.
The current network controls the routing.
Routing doesnt belong in the boxes.
If we control routing, we can innovate.
6
Local equilibrium
Inelegantclosed design (like a bad API)
leads to complexity, and fragility. Hard to
innovate.
Resistant to change
High
Inelegance Industry, IETF, Barrier to
Entry
Add complexity
7
Why should we care?
There are basic things the Internet cant do well
Mobility, access control/security, management,
So
1. Alternative OS on your switch/router?
2. Virtualization of your switch/router?
9
Outline
Routing doesnt belong in routers
10
Innovation by ripping off the lid
NetFPGA
Small (4x1GE) router; open-source hardware and software
Flexible, low-cost, medium ease of use
Hardware-based; line-rate performance
Point solution, limited port count (4-8)
OpenWRT
Embedded Linux for wireless APs and routers
11
Open source networking hardware
CPU Memory
Memory
NetFPGA Board
12
Outline
Routing doesnt belong in routers
13
Innovation by changing the substrate
IP X Y Z
IP Virtualization layer
14
OpenFlow Model
Allow lots of innovative research experiments
Diverse applications
Routing, Mobility,
Diverse transport layers
Naming/Addressing,
Ethernet IP X Y Z
Access Control,
Flow layer
Management,
Monitoring Collapse difference; ease use of optical circuits
Packet switching and circuit switching
Diverse link layers
15
OpenFlow Switching
A way to innovate in the networks we use everyday.
A pragmatic compromise
Allow researchers to run experiments in their network
without requiring vendors to expose internal workings.
Basics
An Ethernet switch (e.g. 128-ports of 1GE)
Use flow-table already in every switch and chipset
An open protocol to remotely add/remove flow entries
16
What wed like
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 traffic
Aggregated flows
Alternatives to IP running side-by-side
17
OpenFlow Switching Controller
OpenFlow Switch specification
18
Flow Table Entry
Type 0 OpenFlow Switch
19
OpenFlow Type 1
(future)
More flexible header
Allow arbitrary matching of first few bytes
Additional actions
Rewrite headers (e.g. NAT, or address
obfuscation)
Map to queue/class
Encrypt
Support multiple controllers
Load-balancing and robustness
20
OpenFlow Consortium
http://OpenFlowSwitch.org
21
OpenFlow: Status
Commercial Ethernet switches and routers
Working with six vendors to add to existing products
Expect OpenFlow Type 0 to be available in 2008-09
Reference switches
Software: Linux and OpenWRT (for access points)
Hardware: NetFPGA (line-rate 1GE; available soon)
Working on low-cost 48-port 1GE switch based on Quanta switch (Broadcom
chips)
Reference controller
Simple test controller
NOX controller (available soon)
22
Deployment at Stanford
Stanford Computer Science Department
Gates Building
~1,000 network users
23 wiring closets
s
link
E
1G
24
OpenFlow Usage Models
1. Experiments at the flow level
Layer 2 or Layer 3 (same!)
User-defined routing protocols
Experiment-specific controllers
Admission control Static or dynamic flow-entries
Network access control
Network management
Energy management
VOIP mobility and handoff
3. Alternatives to IP
25
OpenFlow Switch
Usage example: Production Traffic Unchanged
Policy Rule
Hari: Use production network
Commercial
Switch or AP User Space
Open API Hari
Controller
e n F low Llinux kernel
Op
r ot ocol
P
Normal
sw Secure SSL Linux PC
Software Channel
Normal Flow
hw
datapath Table
26 Hari
OpenFlow Switch
Usage example: New Protocols Isolated, But Alongside
Policy Rule
Dina: Use Dinas protocol
Commercial
Switch or AP User Space
Open API Dina
Controller
e n F low Llinux kernel
Op
r ot ocol
P
Normal
sw Secure SSL Linux PC
Software Channel
Normal Flow
hw
datapath Table
27 Dina
Example Experiment at the flow level
Mobility
Management of flows
Control of switches
Access control of users and devices
Tracking user location and motion
28
Innovation in the datapath
Layerless plumbing
Controller
Line-rate packet processing
1. Encryption PC
OpenFlow-enabled
2. IP++ Commercial Switch
3. Packet inspection
4. Congestion control
Normal Secure
Secure
(XCP etc.) Software Channel
Channel
5. ? Normal Flow
Flow
Datapath Table
Table
Laboratory
NetFPGA
29
Controller Innovation
TDM/WDM
IP Ethernet
Alongside
Circuits
Alongside Alongside
Spanning tree,
Normal routing, circuit routing,
VLANs, mgmt,
mgmt, inside box mgmt, inside box
inside box
30
Controller Open Questions
Scalability
of controller
Load-balanced and redundant controllers
Aggregation of flows
31
Conclusion
Networking has to work harder than most fields
to enable innovation.
The good news is that industry is open to the
idea.
And government agencies are on our side.
Lets work together to do it lets deploy
OpenFlow widely in universities.
If you are interested, please contact me
nickm@stanford.edu
http://OpenFlowSwitch.org
32