CEC354
CEC354
MAHESH MARINA
[email protected]
Routing
Algorithm
Routing algorithm control
Control plane plane
Data plane
Values in arriving
packet’s header
1
1101
2
3
Remote Controller
control
plane
data
plane
CA
CA CA CA CA
5
3
2 v w 5
u 2
3
1 z
1
2
x 1 y
u 2
3
1 z
1
2
x 1 y
zz
u 2 1
3
1
2
xx yy
1
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-10
Generalized Forwarding and SDN
Each router contains a flow table that is computed and
distributed by a logically centralized routing controller
logically-centralized routing controller
control plane
data plane
local flow table
headers counters actions
1
0100 1101
3 2
values in arriving
packet s header
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
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 perspective: data plane switches
Data plane switches network-control applications
SDN-controlled switches
Network Layer: Control Plane 5-19
OpenFlow protocol
§ operates between
OpenFlow Controller controller, switch
§ TCP used to exchange
messages
• optional encryption
§ three classes of
OpenFlow messages:
• controller-to-switch
• asynchronous (switch
to controller)
• symmetric (misc)
scalability, fault-tolerance,
robustness data
plane
SDN-controlled switches
Network Layer: Control Plane 5-23
SDN perspective: control applications
network-control apps: network-control applications
§ “brains” of control:
routing
…
implement control functions
using lower-level services, API access load
control balance
provided by SDN controller
§ unbundled: can be provided by northbound API
control
plane
3rd party: distinct from routing
vendor, or SDN controller SDN Controller
(network operating system)
southbound API
data
plane
SDN-controlled switches
Network Layer: Control Plane 5-24
Components of SDN controller
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
s2
s1
s4
s3
Network Layer: Control Plane 5-27
OpenDaylight (ODL) controller
Traffic …
Engineering § ODL Lithium
controller
REST API
§ network apps may
Network Basic Network Service Functions
be contained within,
service apps or be external to
Access
topology
manager
switch
manager
stats
manager
SDN controller
Control
forwarding host
§ Service Abstraction
manager manager Layer: interconnects
internal, external
Service Abstraction Layer (SAL) applications and
services
OpenFlow 1.0
… SNMP OVSDB
agent data
agent data
managed device
managed device
managing managing
entity entity
request
trap msg
response
PDU Trap
type Enterprise Agent Type
Specific Time
Name Value ….
4 Addr code stamp
(0-7)
Trap header Trap info
SNMP PDU