SDN
SDN
SDN
Networking
• Research directions
What is SDN?
The Internet: A Remarkable Story
• Tremendous success
– from research experiment
to global infrastructure
constant innovation
Applications:
Internet Protocols:
routing, congestion
stagnant! control, naming, …
(TCP/IP, BGP, DNS, OSPF, ECMP,…)
Technologies:
constant innovation
Why Can’t We Innovate?
• Closed equipment
– software bundled with hardware
– vendor-specific interfaces
• Over specified
– slow protocol standardization
Data plane:
packet
streaming
Control plane:
distributed algorithms
Management plane:
human time scale
smart,
slow
API to the data plane
(e.g., OpenFlow)
dumb,
fast
switches
12
A Helpful Analogy
Mainframes
AppAppAppAppAppAppAppAppAppAppApp
Specialized
Open Interface
Applications
Windows Mac
Specialized or Linux or OS
(OS)
Operating
System Open Interface
Specialized
Hardware Microprocessor
Specialized Merchant
Hardware Switching Chips
horizontal
vertically integrated
open interfaces
closed, proprietary
rapid innovation
slow innovation
15
Secure Controller
sw Channel
Flow
hw Table
Controller: Programmability
Controller Application
Network OS
17
Reactive vs. Proactive
• Reactive SDN:
switches send (first) packets to controller, then
controller programs switch's flow table to handle
rest of the flow
– Problem: source of DoS on controller (packet-in
event)
• Proactive SDN:
Controller programs the switches proactively,
according to its own knowledge of the network
– Requires smarter approaches than just reacting to
network events (global knowledge, discovery,
updates…)
Flow Table Entry at Switch
“Type 0” OpenFlow Switch
• Definition in progress
• Additional actions
rewrite headers
map to queue/class
encrypt
• More flexible header
allow arbitrary matching of first few bytes
• Support multiple controllers
load-balancing and reliability
Example OpenFlow Applications
See http://www.openflow.org/videos/
E.g.: Dynamic Access Control
src=0*
src=1*
25
In-depth Example: Simple Repeater
Controller
1 2
Switch
Flow Table
Priority Pattern Action Counters
DEFAULT IN_PORT:1 OUTPUT:2 (0,0)
access MAC IP
control look-up look-up
29
SDN or OpenFlow?
• Is OpenFlow dead?
30
31
Challenges
Controller Delay and Overhead
• Controller is much slower the the switch
• Processing packets leads to delay and
overhead
• Need to keep most packets in the “fast path”
packets
32
Distributed Controller
33
Testing and Debugging
• Example: Switches
– http://www.frenetic-lang.org/
35
MiniNet
36
MiniNet
• Creates scalable SDN (up to hundreds of nodes) using
OpenFlow, on a single PC
• Allows to quickly create, interact with and customize
a SDN prototype with complex topologies, and can be
used to emulate real networks – all on your PC
• Can work with any kind of OpenFlow controller
• Takes seconds to install
• Easy to program
• Of course, is an
open source project
37
MiniNet
38
Innovating with SDN
Dealing with Large Tables
41
How to Solve this Problem?
42
Palette: Step I
43
Palette: Step II
Assign at most a single colour to each switch s.t.
every packet-forwarding path is a “rainbow path”
Algorithmic Challenges
• http://webee.technion.ac.il/~isaac/p/tr12-
05_palette.pdf
Rethinking (Routing)
Protocols
d
Motivation
Packet
i X d
51
Forwarding Model
• Perfect resilience ≣ t →∞
Thm: Can always protect against
one failure
Big Gap!
• Rethinking networking
– open interfaces to the data plane
– separation of control and data
– leveraging techniques from distributed
systems