Professional Documents
Culture Documents
Network Layer:
The Control Plane
Routing
Algorithm
control
plane
data
plane
Remote Controller
control
plane
data
plane
CA
CA CA CA CA
Ap Ap Ap Ap Ap Ap Ap Ap Ap Ap
Ap Ap Ap Ap Ap Ap Ap Ap Ap Ap
App
Specialized p p p p p p p p p p
Applications Open Interface
u 2
3
1 z
1
2
x 1 y
control
plane
data
plane
CA 2. control,
data plane
CA CA CA CA separation
1: generalized“ flow-
based” forwarding
(e.g., OpenFlow)
Network Layer: Control Plane 5-9
SDN perspective: data plane switches
Data plane switches network-control
applications
fast, simple, commodity
routing
…
switches implementing
generalized data-plane access load
control balance
forwarding (Section 4.4) in
hardware control
plane
northbound API
switch flow table computed,
installed by controller SDN Controller
API for table-based switch (network operating system)
control (e.g., OpenFlow)
• defines what is controllable and southbound API
what is not
protocol for communicating data
with controller (e.g., OpenFlow) plane
SDN-controlled switches
Network Layer: Control Plane 5-10
SDN perspective: SDN controller
SDN controller (network network-control
OS): applications
…
routing
maintain network state
access load
information control balance
interacts with network control
control
applications “above” via northbound API plane
northbound API
interacts with network SDN Controller
switches “below” via (network operating system)
southbound API
implemented as distributed southbound API
SDN-controlled switches
Network Layer: Control Plane 5-11
SDN perspective: control applications
network-control apps: network-control
applications
“brains” of control:
routing
…
implement control functions
using lower-level services, access load
control balance
API provided by SDN
controller control
plane
northbound API
unbundled: can be provided by
3rd party: distinct from routing SDN Controller
vendor, or SDN controller (network operating system)
southbound API
data
plane
SDN-controlled switches
Network Layer: Control Plane 5-12
Components of SDN controller
routing access load
control balance
Interface layer to
network control Interface, abstractions for network control apps
apps: abstractions
API
network
graph
RESTful
API
… intent
Network-wide state
management layer: statistics … flow tables
state of networks
Network-wide distributed, robust state management
SDN
links, switches,
controller
services: a
distributed database
Link-state info host info … switch info
4 5
network
graph
RESTful
API
… intent 5 link state routing app interacts
with flow-table-computation
statistics
3
… flow tables
component in SDN controller,
which computes new flow
Link-state info host info … switch info
tables needed
6
1
s2
s1
s4
s3
Network Layer: Control Plane 5-18
OpenDaylight (ODL) controller
Traffic …
Engineering ODL Lithium
controller
REST
API network apps may be
Network Basic Network Service Functions
contained within, or
service apps be external to SDN
Access
topology switch stats
manager
controller
Control manager manager
Service Abstraction
forwarding host
manager manager
Layer: interconnects
internal, external
Service Abstraction Layer (SAL) applications and
services
OpenFlow 1.0
… SNMP OVSDB
control plane
data plane
local flow table
headers counters actions
1
0100 1101
3 2
values in arriving
packet’s header
Network Layer: Data Plane 4-22
OpenFlow data plane abstraction
flow: defined by header fields
generalized forwarding: simple packet-handling rules
• Pattern: match values in packet header fields
• Actions: for matched packet: drop, forward, modify, matched
packet or send matched packet to controller
• Priority: disambiguate overlapping patterns
• Counters: #bytes and #packets
* : wildcard
1. src=1.2.*.*, dest=3.4.5.* drop
2. src = *.*.*.*, dest=3.4.*.* forward(2)
3. src=10.1.2.3, dest=*.*.*.* send to controller
OpenFlow: Flow Table Entries
Firewall:
Switch MAC MAC Eth VLAN IP IP IP TCP TCP
Forward
Port src dst type ID Src Dst Prot sport dport
* * * * * * * * * 22 drop
do not forward (block) all datagrams destined to TCP port 22
3 4
Host h5
10.3.0.5
1 s1 1 s2
2 Host h4
4 2 4
Host h1 10.2.0.4
3 3
10.1.0.1
Host h2
10.1.0.2 match action
match action Host h3
ingress port = 2
10.2.0.3 forward(3)
ingress port = 1 IP Dst = 10.2.0.3
IP Src = 10.3.*.* forward(4) ingress port = 2
forward(4)
IP Dst = 10.2.*.* IP Dst = 10.2.0.4
SDN: selected challenges
hardening the control plane: dependable, reliable,
performance-scalable, secure distributed system
• robustness to failures: leverage strong theory of reliable
distributed system for control plane
• dependability, security: “baked in” from day one?
networks, protocols meeting mission-specific
requirements
• e.g., real-time, ultra-reliable, ultra-secure
Internet-scaling