Action - McKeown Group

advertisement
Software Defined Networking
Nick McKeown
Stanford University
(part 1)
Why I love my job
I work with people much smarter than me.
I get to work on intellectually interesting ideas.
… that might positively change the practice.
Then, we try to actually change the practice.
Whatever it takes
•
•
•
•
•
•
•
•
•
•
Prove a theorem
Write a paper
Build a demo
Talk to lots of industry people
Write a standard
Give lots of talks
Write a blog
Start a company
Build an open source tool
…
Choosing research projects
• Pick a problem that is intellectually interesting.
• And improves the practice.
• And industry doesn’t like (yet).
Ethane
Martin Casado et al [Sigcomm ‘07]
Policy
“Laptops can’t accept
incoming connections”
“A can’t talk to B”
Network Control Plane
Control
Packet
Forwarding
Control
Control
Packet
Forwarding
Control
Packet
Forwarding
Control
Packet
Forwarding
Packet
Forwarding
Microsoft: “Come on in….”
Cisco: “It will never work…”
Raw nerve.
We must be onto something.
Checklist
• Intellectually interesting.
• And improves the practice.
• And industry doesn’t like (yet).
Corollary: You can’t give stuff away
Example 1: Order of magnitude faster router (1997)
– Tried to give Tiny-Tera away for free.
– Industry wasn’t ready.
– Started Abrizio.
Example 2: Network Memory (2001)
– Tried to give it away for free, to save $500M per year.
– Industry wasn’t ready.
– Started Nemo.
Example 3: Ethane (2007)
– Tried to give it away for free; early stages of SDN.
– Industry wasn’t ready.
– Started Nicira.
I put everything in public domain
Industry
– Invests huge amounts to develop and sell products.
– Patents protect ideas, giving the confidence to invest.
University research
–
–
–
–
Serves society at large.
Stay ahead by running fast, not by protecting.
Makes it easier to work with industry.
If it’s good research, industry doesn’t see it yet.
Everything in public domain since 1999.
(part 2)
If you are in any doubt about whether
OpenFlow/SDN will be deployed in the WAN
Urs Hölzle (Google), ONS 2012
Software Defined Networks
Martin Casado
What is SDN?
(when we clear away all the hype)
SDN is the separation of the control plane
from the forwarding plane.
Software Defined Network (SDN)
f ( Map)
f ( Map)
f ( Map)
Control
Program
Control
Program
Control
Program
Global Network Map
Network OS
Abstract
Forwarding
Model
(e.g. OpenFlow)
Packet
Forwarding
Packet
Forwarding
Packet
Forwarding
Packet
Forwarding
Packet
Forwarding
The Technical Benefits (1)
Well-defined control abstraction
–
–
–
–
–
Control plane can run on modern servers
Can adopt software engineering best-practices
Easier to add new control programs
…or customize locally
Solve distributed systems problem once, rather
than for every protocol
OSPF
Dijkstra 5%
OSPF
Dijkstra
Global Network Map
Network OS
Network 95%
Map
OS
Specialized
Hardware
Packet
Forwarding
Packet
Forwarding
Packet
Forwarding
Packet
Forwarding
The Technical Benefits (2)
Well-defined forwarding abstraction
– e.g. OpenFlow
– Vendor-agnostic interface to forwarding plane
– Simpler, lower-cost, lower-power hardware
Match-Action Forwarding Abstraction
Action Primitives
1.
2.
3.
4.
5.
6.
“Plumbing primitives”
“Forward to ports 4 & 5”
“Push header Y after bit 12”
“Pop header bits 8-12”
“Decrement bits 13-18”
“Drop packet”
…
H’
H
Match Action
F
Action(F)
G
Action(G)
H
Action(H)
Multiple Table Match-Action
H
n
H’
H1
Match
Action
Match
Action
F1
Action(F)
Fn
Action(F)
G1
Action(G)
Gn
Action(G)
H1
Action(H)
Hn
Action(H)
OpenFlow Philosophy
Long-term, forwarding looking
Match: Very general, not protocol specific.
Action: Small instruction set, not protocol specific.
– Make it easy to add new headers and actions.
– Any network (packet, circuit, radio).
Short-term, backward looking
Match: include well-known header fields.
Action: necessary set for existing protocols.
– Support existing protocols on existing switch chips.
Match
Table
Recombine
Match
Table
Action
DataIn H
DATA
H
Action
HEADER
New switch chips emerging
Output
Queues
Data
H
Out
The Technical Benefits (3)
Well-defined forwarding behavior
– The forwarding tables capture the entire
forwarding behavior.
– Control plane writes the forwarding state.
– Therefore, we can verify its correctness.
Software Defined Network (SDN)
firewall.c
…
if( TCP_port == SMTP)
Control
dropPacket();
Program
…
Control
Program
Control
Program
Global Network Map
Network OS
Match
Action
Packet
A
Action(A)
Forwarding
Match
Action
Action(F)
Packet
Forwarding
G
Action(G)
F
H
Action(H)
B
Action(B)
Match
Action
C
Action(C)
X
Action(X)
Z
Action(Z)
Match
Action
A
Action(A)
D
Action(D)
Packet
G
Action(G)
Forwarding
Packet
Y
Action(Y)
Forwarding
Match
Action
A
Action(A)
H
Action(H)
Packet
G
Action(G)
Forwarding
Software Defined Network (SDN)
firewall.c
…
if( TCP_port == SMTP)
Control
dropPacket();
Program
…
Control
Program
Control
Program
Global Network Map
Network OS
Match
Action
Packet
A
Action(A)
Forwarding
Match
Action
Action(F)
Packet
Forwarding
G
Action(G)
F
H
Action(H)
B
Action(B)
Match
Action
C
Action(C)
X
Action(X)
Z
Action(Z)
Match
Action
A
Action(A)
D
Action(D)
Packet
G
Action(G)
Forwarding
Packet
Y
Action(Y)
Forwarding
Match
Action
A
Action(A)
H
Action(H)
Packet
G
Action(G)
Forwarding
Software Defined Network (SDN)
Policy
Control
Program
Control
Program
Control
Program
Global Network Map
Action
Packet
A
Action(A)
Forwarding
Match
Action
Action(F)
Packet
Forwarding
G
Action(G)
F
H
Action(H)
B
Action(B)
Match
Action
C
Action(C)
X
Action(X)
Z
Action(Z)
Match
Action
A
Action(A)
D
Action(D)
Packet
G
Action(G)
Forwarding
“Guests can’t reach
PatientRecords”
“No loops”
Network OS
Match
“A can talk to B”
Packet
Y
Action(Y)
Forwarding
Match
Action
A
Action(A)
H
Action(H)
Packet
G
Action(G)
Forwarding
Forwarding
Behavior
Networks notoriously hard to debug
Today, even simple questions hard to answer:
– Can host A talk to host B?
– What are all the packet headers from A that can
reach B?
– Are there any loops in the network?
– Is Group X provably isolated from Group Y?
– What happens if I remove a line in the config file?
28
Header Space Analysis
Header
L
01110011…1
Data
Header
111..100000
Data
Header Space Analysis
1
2
The set of packets from A that can reach B
All packets from A that can reach B
Header Space Analysis
[Kazemian NSDI ‘12]
Consequences
–
–
–
–
Abstract forwarding model; protocol independent
Finds all packets from A that can reach B
Find loops, regardless of protocol or layer
Can prove that two groups are isolated
Can verify if network adheres to policy
HSA as a “foundation”
HSA enables many tools and methods
–
–
–
–
Independent static checking
In-line in-controller invariance checking
Dynamic testing: Automatic test packet generation
Dynamic testing: Automatic performance monitoring
Analogy to Boolean algebra for logic design
SDN: Business Consequences
The Business Consequences
1. Vertical integration will finally be replaced by
a more competitive industry with a level
playing field.
2. Large growth in software industry for
networking. Faster innovation.
3. Hardware switches will focus on capacity,
fan-out and power. (Think Intel for
networking).
4. Multi $Bn tools industry will emerge.
Corollary
The customer and end-user will be better served
–
–
–
–
–
Networks will be cheaper.
Networks will be faster.
Networks will be (much) more reliable.
Networks will improve faster.
Networks will be in service of the owner, the
operator, the customer and the application rather
than just the high-margin vendor.
SDN is in the best interest of society at large.
To resist is to be protectionist and self-serving.
AppAppAppAppAppAppAppAppAppAppApp
Specialized
Applications
Specialized
Operating
System
Specialized
Hardware
Vertically integrated
Closed, proprietary
Slow innovation
Small industry
Open Interface
Windows
(OS)
or
Linux
or
Open Interface
Microprocessor
Horizontal
Open interfaces
Rapid innovation
Huge industry
Mac
OS
AppAppAppAppAppAppAppAppAppAppApp
Specialized
Features
Specialized
Control
Plane
Specialized
Hardware
Vertically integrated
Closed, proprietary
Slow innovation
Open Interface
Control
Plane
or
Control
Plane
or
Open Interface
Merchant
Switching Chips
Horizontal
Open interfaces
Rapid innovation
Control
Plane
Specialized
Features
Hundreds of protocols
6,500 RFCs
Specialized
Control
Plane
Tens of millions of lines of code.
Closed, proprietary, outdated.
Specialized
Hardware
Billions of gates.
Power hungry and bloated.
What SDN isn’t
Ram in even more lines of code…
“My box now has an
OpenFlow interface too!”
(part 3)
What’s new?
1. Separation of control from forwarding.
2. Programmatic control of forwarding by
writing entries into tables.
Transport networks have done this for decades!
Natural Evolution: Converged Control
Control
Program
Control
Program
Global Network Map
Control
Program
Network OS
Direct Control of
Hardware,
Controlor
Virtual transport network
Data
Center
MPLS
Transport
Network
MPLS
New ONF Working Group: Optical Transport
Data
Center
Match-Action Forwarding Abstraction
OpenFlow
OpenFlow
Packet flow
Packet flow
Packet flow
Circuit/channel
Match
Action
Match
Action
F
Action(F)
F
Action(F)
G
Action(G)
G
Action(G)
OpenFlow
Circuit/channel
Circuit/channel
Match
Action
F
Action(F)
G
Action(G)
Dynamic Circuit Switching
Packet
Network
UNI
Transport
Transport
Network
Network
UNI
Packet
Network
Why it was supposed to happen
Technology: High capacity optical crossconnects.
Aggregation: High capacity packet networks.
Cost: Circuit switches cost less; use less power.
Standard: GMPLS.
Why GMPLS failed
1. Router vendors prevented it.
2. GMPLS standard much too complicated.
Packet Network
Transport Network
IP/MPLS Control Plane
GMPLS Control Plane
OSPF-TE, RSVP-TE + many more
OSPF-TE, RSVP-TE
EMS
Proprietary Interface
EMS
EMS
Proprietary Interface
UNI
Vendor Islands
We Didn’t Make it Easy!
49
Packet Network
Transport Network
IP/MPLS Control Plane
GMPLS Control Plane
OSPF-TE, RSVP-TE + many more
OSPF-TE, RSVP-TE
OSPF-TE,
RSVP-TE
OSPF-TE, RSVP-TE
EMS
Proprietary Interface
EMS
EMS
Proprietary Interface
UNI
GMPLS
OSP
F
RSVP
Quagga
175k
Vendor Islands
50k
Linux
50
Good Architecture Simplifies
3% as much code!
Dynamic
Bandwidth
Global Network Map
Aggregation
Network OS
Recovery
NOX
Linux
4.7k
68k
GMPLS
OSP
F
RSVP
Quagga
Linux
Packet
Network
Transport
Network
Packet
Network
175k
50k
Conclusions
• SDN is here to stay: It introduces the right
abstractions into network control.
• It will sweep away protectionist practices, and
level the playing field.
• It will enable converged control of packet and
transport networks.
• I don’t recommend sitting on the sidelines.
Apps
Specialized
Features
Specialized
Control
Plane
Specialized
Hardware
Apps
Network OS
Specialized
Control
Plane
Specialized
Simpler
Hardware
Download