Software Defined Networking (SDN)
Tarunianand MuruganandanPranav Kumar Sivakumar
Three Planes
● Control Plane (brains or decision maker)
● Data Plane (packet forwarder)
● Management plane
Networking Overview
● Physical layer
● Data link layer
● MAC address
● Network layer
● IP address
● Port
● Frame, packet
● Switches, routers
● Broadcast/flood
Networking functionality migrating to Hardware
SDN
● In conventional networking, all three planes are implemented in the firmware of routers
and switches.
● Software-defined networking (SDN) decouples the data and control planes, removes the
control plane from network hardware and implements it in software instead, which
enables programmatic access and, as a result, makes network administration much more
flexible.
● An architecture to control not just a networking device but an entire network
Why SDN?
SDN separates the control of the network from the hardware. It
uses software applications to program your network intelligently
through centralized control. This means the underlying hardware
and associated technologies are still there, but they are
programmed centrally.
As a result, you can consistently and holistically manage your
entire network with utmost flexibility and speed.
SDN Architecture
Properties of SDN Architecture:
● Plane Separation
● A simplified device
● Centralized control
● Network automation
● Virtualization
● Openness
How does SDN work?
● Controllers
● Southbound APIs
● Northbound APIs
What are SDN controllers?
● Control point that manages flow control between SB and NB APIs
● When there are multiple SDNs, controllers also federate between each other using
application interfaces like open flow
● General tasks: inventory of devices network stats, orchestrating rules through the
network etc.
● Commonly used protocols - OpenFlow and OVSDB
What are SDN southbound APIs?
● APIs that communicate between controller and switches/routers of the network
● Dynamically make changes according to real time needs and demands
● Common SB APIs: OpenFLow, Lisp, XML
What are SDN northbound APIs?
● REST APIs that communicate between the controller and services/applications that run
over the network.
● Facilitate efficient orchestration and automation of the network to align with different
application needs
● Used to integrate controller with automation stacks and orchestration platforms
● Common NB APIs: load balancers, firewalls, SDSec devices
SDN controllers
● The first SDN controller - NOX by Nicira Networks (Claimed to be base of Google WAN)
● The first open source controller - Beacon (Java based OpenFlow)
● Others include Trema (Ruby based), Ryu (supported by NTT)
● Proprietary controllers like Cisco, HP and IBM (originally based on Beacon)
● Current shift to OpenDaylight
OpenDaylight - New, open source controller
● Oxygen - the 2018 release
● Java based, derived from Beacon
● New P4 plugin and Kubernetes plugin for mixed VM-container environments
● ‘Managed distribution model’
● Security - Authorization, authentication and accounting
● Each component is isolated as a Karaf feature to prevent interference
● Uses OSGi and Maven to manage the Karaf feature interaction
SDN Application Responsibilities
● Configure flows to route packets through the best path between two endpoints
● Balance traffic loads across multiple paths or destined to a set of endpoints
● React to changes in the network topology such as link failures and the addition of new
devices and paths
● Redirect traffic for purposes of inspection, authentication, segregation, and security
related tasks
Do you need an SDN?
● The industry in which the organization is operating
● The size of an organization’s network
● The dynamic nature of an organizations’ applications and workloads
● The number of VMs within an organization’s network
● The organization’s need for agility, flexibility and scalability within the network
● The organization’s need to simplify security measures and control access to applications
● The organization’s access to personnel and capital resources
Advantages/Features
● Programmable networks
● Intelligence and control centralized
● Network interaction via APIs
● Vendor-neutral architectures
● Dealing with big data
● Supporting cloud-based traffic
● Managing traffic to many IP address and virtual machines
● Making infrastructure scalable and agile
● Managing policy and security
OpenFlow
General Myth:
SDN is OpenFlow
Reality:
OpenFlow is an Open API that provides a standard interface for
programming the data plane switches
Why OpenFlow?
SDN requires:
● That there must be a common logical architecture in all switches, routers, and other
network devices to be managed by a controller
● A standard, secure protocol between the SDN controller and the network device.
OpenFlow is both, a protocol between SDN controllers and network devices, as well as a
specification of the logical structure of the network switch functions.
OpenFlow (contd.)
● OpenFlow can be compared as an x86
instruction for the network nodes
● Provides open interface to ‘black box’
networking node (routers and L2/L3 switch) to
enable visibility and openness in the network
● Control plane and Data plane are separated
like,○ The Data path of the OpenFlow switch consists
of a Flow Table and an action linked with each flow entry
○ The Control path consists of a controller which writes the flow entry in the flow table.
All SDN Alternatives
● OpenSDN
● SDN via APIs
● SDN via Hypervisor - Based Overlays
● This approach tends to be focused around OpenFlow , which is considered to be one of
the first SDN standards, and allows a SDN controller to directly interact with network
devices (routers, switches, etc.)
● OpenFlow is just the protocol, so you could have Open SDN with other protocols if you
choose.
OpenSDN
SDN via APIs
● SDN implementation via APIs refers to southbound APIs that configure and program the
control plane active on the device.
● OpenFlow is used to directly control the data plane, not just the configuration of the
devices and the control plane.
● Some of the API vendors are: Juniper Networks, Cisco , Arista and OpenDaylight
SDN via Overlays
● What are overlay networks?
● What is a hypervisor?
● So what does SDN have in unique?
Challenges to SDN
● Coordination between applications
● Lack of standard NB API
● Flow prioritization
References
● https://www.datacenterknowledge.com/archives/2013/07/26/7-software-defined-netw
orking-considerations
● https://www.sdxcentral.com/sdn/
● SDN Architecture, Open Networking Foundation, ONF TR-502, Issue 1
● Software-Defined Networks and OpenFlow - The Internet Protocol Journal, Volume 16, No. 1,
Stallings● Software Defined Networks, The Elsevier Inc, 2014, Gornasson, Black● Software Defined Networking with OpenFlow, Packt Publishing, 2013, Azodolmolky● https://infocus.dellemc.com/javier_guillermo/