Day 1 - Lab 4 Introduction To SDN
Day 1 - Lab 4 Introduction To SDN
1
SDN Concepts, Controllers, Flow Tables
2
Plane Separation
• The first fundamental characteristic of SDN is the separation of planes
• Data plane, implemented in the device
• Control plane, implemented by a centralized controller
3
Plane Separation – Data Plane
• The data plane implements forwarding functionality (logic and tables for choosing how
to deal with incoming packets)
• Forwarding based on MAC address, IP address, VLAN ID, etc.
• The data plane may forward, drop, consume, transform, replicate an incoming packet
4
Plane Separation – Data Plane
• It determines the correct output port by performing a lookup in the address table in the
ASIC (very high-speed hardware, operating at terabits per second)
• Special-case packets (e.g., routing advertisements) that require processing by the
control plane are passed to that plane
5
Plane Separation – Control Plane
• The algorithms used to program the data plane reside in the control plane
• Many protocols / algorithms require global knowledge (for example, OSPF, BGP)
• The control plane is moved off of the switching device, onto a centralized controller
6
SDN Operation
• Basic components (bottom-up)
• SDN switches (e.g. Open vswitches)
• Controller (e.g., ONOS controller) Global view app BGP app
• Applications (e.g., OpenFlow, forwarding)
IDS app Business app
SDN Controller
Flow table
7
SDN Operation – Switches
• SDN devices contain forwarding functionality
• Forwarding information is stored in flow tables
• The flow tables reside on the network device and Global view app BGP app
consist of a series of flow entries and actions to IDS app Business app
perform when a packet matches an entry
• If the SDN device finds a match, it takes the Northbound (REST, JSON)
appropriate configured action (e.g. forward) Control plane
• If it does not find a match, it can either drop the SDN Controller
packet or pass it to the controller
Data plane Southbound (OpenFlow)
Flow table
8
SDN Operation – Controller
• SDN controller implements control plane
functionality
• It presents an abstraction of the network to the SDN Global view app BGP app
applications running above
IDS app Business app
• It allows the SDN application to define flows on
devices and to help the application to respond to Northbound (REST, JSON)
packets which are forwarded to the controller by Control plane
devices
SDN Controller
• It maintains a view of the entire network (global
network view)
Data plane Southbound (OpenFlow)
Flow table
9
SDN Operation – Applications
• SDN applications are built on top of the controller
• Software applications can implement forwarding,
routing, overlay, multipath, access control, etc. Global view app BGP app
• The application is driven by events coming from the IDS app Business app
controller and from external inputs
• External inputs could include network monitoring Northbound (REST, JSON)
systems, Netflow, IDS, or BGP peers Control plane
SDN Controller
Flow table
10
Flow Tables
• Flow tables are the fundamental data structures in an SDN device
• They allow the device to evaluate incoming packets and take the appropriate action
• Flow tables consist of entries, each of which has match fields and actions
• OpenFlow explicitly specifies protocol headers on which it operates / matches
11
Lab 4: Introduction to SDN
12
Lab 4: Introduction to SDN
• The topology consists of: c0
s2 s3
.1 .2 .3 .4
h1 h2 h3 h4
Out-of-band connection
13
Activating the OpenFlow Application
c0
Devices
s1
Hosts
10.0.0.0/8
s2 s3
.1 .2 .3 .4
h1 h2 h3 h4
Out-of-band connection
14
Activating the Forwarding Application
c0
Flows on switch s1
s1
10.0.0.0/8
s2 s3
.1 .2 .3 .4
h1 h2 h3 h4
Out-of-band connection
15
ONOS GUI
Devices Topology (ONOS GUI view)
16