Software Defined Networking Concept
Department of Computer Science and Information Engineering
Chang Gung University
Yoppy Yunhasnawa
A Brief Introduction
9 April 2015
Sections
1. Data Plane
2. Control Plane
3. The Drawbacks of Traditional Networking
4. The Needs of New Networking Strategy
5. Separation of Control Plane & Data Plane
6. Packet Forwarding
7. Network Controller
Data Plane
• Data plane or forwarding plane is a part in router
architecture that defines what to do with every incoming
packets.
• Most commonly, it refers to a table used by router to:
– Lookup the destination of the incoming packet.
– Retrieves information about the path to the packet receiver.
• Some policies or flags can also be incorporated in the
table, so the router can determine whether the package
should be delivered or discarded.
• The table can be in the following forms:
– Routing Information Base (RIB)
– Forwarding Information Base (FIB)
Control Plane
• Control Plane is a part of router architecture that
executes the forwarding rules defined in the data
plane while continuously updating the routing
table according to the given protocol.
• An imaginary map/topology of the network is
exchanged from every one into another
connected router to maintain the content of the
data plane’s routing table.
• Hence, it is the signaling of the network and it
can be considered as the brain of a routing
device.
Control Plane
ROUTING LOGIC
INGRESS Ports EGRESS Ports
Firewall
MAC Filtering
Encryption
Decryption
Etc…Etc…
Routing Table
Logic stacks
X
Packet X:
DROP?
CONTINUE
to PORT X
The Drawbacks of Traditional Networking
• Complexity that lead to stasis
– Complex network with a large number of switching device will require
extra cautions when performing any change. This causes IT tends to let
the network unchanged to minimize service disruption risks.
• Inconsistent policies
– Network administrators are unable to implement single policy because
of the complexity problem.
• Inability to scale
– Numerous different user devices require different level of bandwidth.
To update any configuration or to add new networking devices will be
very difficult because reconfiguration must be done in device level.
• Vendor dependence
– Depending on the number of used networking hardware, the
reconfiguration of the device will be more. Because hardware created
by different factories, IT department must perform a lot of study from
each vendor's manual book.
The Needs of New Networking Strategy
• Changing traffic patterns
– In enterprise systems, users have different and unpredictable traffic pattern as
a single user can access the systems through a numerous different devices and
platform. Dynamic & flexible network service are needed.
• The consumerization of IT
– More and more users’ personal devices now access the corporate networks.
All of them should be accommodated while protecting corporate data and
intellectual property is also important. Therefore secure network is
mandatory.
• The rise of cloud service
– Enterprises have high demand on cloud services, resulting in very high growth
on this kind of services. Cloud service, requires elastic scaling of computing,
storage, and network resources. And such capability often requires periodic
changes in network infrastructure.
• Big data.
– Big data or mega datasets requires massive parallel processing on thousands
of servers that are directly connected to each other. This constant demand for
additional network capacity in the data center.
OpenFlow Protocol
• OpenFlow is a communication protocol that
opens access to every single routing device’s data
plane over the entire network.
• This access allows a remote controller to
determine the path of network packets
throughout the network switches.
• That means, the work of all switches and routers
can be monitored and controlled in a centralized
manner.
• Because OpenFlow is an open standard protocol,
this centralized control can be done even the
switches are from different manufacturers.
OpenFlow Protocol
Network Operating System
Remote Controller
Machine
(Physical/Virtual)
Switch’s Data
Plane
This API is also
called
Southbound API,
can be inform of
commands to
forward, delete,
or modify packets
OpenFlow is this
API or set of
commands sent
from network
OS to switch
and vice-versa
OpenFlow Protocol
• Each OpenFlow API is encapsulated in a set of bytes data frame called FLOW.
• This Flow is sent from a controller to any switching devices over the entire network.
• The purpose of this flow-sending is to modify certain routing tables so that all packets
can be forwarded strictly based on the network administrator’s will.
An example of FLOW
OpenFlow Protocol
NETWORK SWITCHING DEVICES
SOFTWARE DEFINED NETWORK
COMMUNICATION PROTOCOL
NETWORK OS
NETWORK APPLICATIONS
Traffic
Engineering
Bandwidth on-
Demands
QOS Aware Etc.
Northbound API
Southbound API
Separation of Control Plane & Data Plane
• Because of OpenFlow, the Data Plane and Control Plane can now be
separated.
• At first, typical switch is equipped with tons of tools consisting of
millions of lines of source codes.
• Those switches are expensive because their brains aka. Control
Planes are installed with all of this features but not limited to:
– Routing algorithm
– Firewall
– Security
– Management Console, and MANY others
• With the help of OpenFlow, all those features are enough to be
installed in one or more centralized controller.
• What next? All the switches can be simplified into a pure
forwarding functions or Data Plane-centric switches that are:
– Less resource consumption.
– Easier to remove, add, replace or configure.
– Less expensive aka. CHEAPER.
Flow Table
Forwarding Rules
Flow Table
Forwarding Rules
Flow Table
Forwarding Rules
Flow Table
Forwarding Rules
Control
Plane
Data
Plane
Control
Plane
Data
Plane
Control
Plane
Data
Plane
Control
Plane
Data
Plane
Separation of Control Plane & Data Plane
SDN Controller
• An SDN Controller in a software-defined network (SDN)
is the “brains” of the network.
• It is the strategic control point in the SDN network.
• It relays information to the switches/routers ‘below’
(via southbound APIs) and the applications and
business logic ‘above’ (via northbound APIs).
• An SDN Controller platform typically contains a
collection of “pluggable” modules that can perform
different network tasks. They are called network
applications.
• 2 most well-known protocols used by SDN Controllers:
– OpenFlow
– OVSDB.
SDN Controller
Distributed routing algorithm, difficult
to change one switch without
disturbing the others.
Centralized management, enables easier
maintenance. Allows programming the
behavior of the network.
• SDN Controller enables the global view of the network.
• Because all of the knowledge from every single routing device are now stored in the central controller, the
network topology can be simplified and encapsulated.
• This encapsulation enables a much easier way for developer to write networking apps on top of the
network OS because they no need to care about the specific location and properties of every
router/switch.
A schema of Congestion Avoidance using single SDN Controller
SDN Controller
Congestion
Notifications
No congestion!
Heavy traffic
Reduced
traffic rate