Software Defined Networking
(SDN)
Teng Chee Seng
ITE College West, Institute of Technical
Education Singapore
Software Defined Networking - Introduction
Software Defined Networking
Objective: share with you some insight into SDN as a
new trend in network provisioning
Starting to see some significant deployments appearing
Currently typically within data centres
One example is Google , Vmware
Key takeaway from this lecture is the principle behind
SDN, and how it can be implemented using OpenFlow
At the end of the slide deck we give you pointers to an
example that you can try later using Mininet
SDN using open source components
Software Defined Networking - Introduction
Software Defined Networking
One part of a number of interesting emerging trends
Software Defined Networking (SDN)
Network Function Virtualisation (NFV)
Network as a Service (NaaS)
One of many *aaS services
Service Function Chaining (SFC)
Directing traffic through virtualised services
Firewall, NAC, DDoS mitigation, IDS,
New IETF SFC WG just formed very popular
Software Defined Networking - Introduction
Existing switching / routing
Switching and routing today uses dedicated hardware
Commonly combined in one device
Routers:
Control plane routing protocol, e.g. OSPF, BGP creates the
Routing Information Base (RIB)
Data plane Forwarding Information Base (FIB), written by
control plane, from RIB information it holds
Management plane via ssh, via SNMP
Switches:
Dumb devices, optimised for fast layer 2 switching
Some additional capability, e.g. ACLs, DHCP snooping,
Software Defined Networking - Introduction
Key SDN concepts
Separation of control and data plane
Centralising network intelligence
Through one or more controller device(s)
Enabling a programmable network
Through a control protocol, running between the controller and the
underlying network devices
e.g. using OpenFlow as the control protocol
Highly dynamic
Can be per-flow, on demand
Rapid provisioning
Rapid innovation
Potentially no need to wait for new vendor features
In principle, can empower network owners
Software Defined Networking - Introduction
SDN drivers
Changing traffic patterns
e.g. emerging data centre requirements
Need elasticity in services
Be able to meet peak demand; big data, peak hours
But dont pay for capacity in quiet periods
Abstraction of services from hardware
Firewalls, IDS,
Need to be able to control traffic paths
We have seen compute and storage functions virtualised
SDN is doing the equivalent for the network
One part of a bigger network function virtualisation picture
Software Defined Networking - Introduction
Challenges
SDN might provide answers for
Complexity
Devices have many protocols working in isolation
A resulting tendency for networks to be static
Consistency (across a network)
Simpler devices, single logical control point
Scalability
With flexibility
Vendor independence
Through generic interfaces to underlying functions
Underlying equipment interoperable, e.g. via OpenFlow
Software Defined Networking - Introduction
Challenges
Traditional
SDN
IGP, tunnelling
(RSVP-TE)
Manageability
low
high
Flexibility
low
highest
Scalability
by design
ad hoc
Robustness
high
low
SDN architecture high level
Software Defined Networking - Introduction
OpenFlow
OpenFlow is one of many ways to implement a
SDN
Origins in Stanford and Berkeley
Open interface to packet forwarding
Provides forwarding abstraction
Two parts:
Control protocol
Configuration
Software Defined Networking - Introduction
10
The OpenFlow instruction set
OpenFlow provides a Match Action model
Instructions can be programmed dynamically
On a per-flow basis, if required
Allows a controller to populate a device flow table
e.g. If see this header, send to port N
If see header like this, rewrite that part
If see this, drop the packet
Forward packets matching this a this bit rate
Default action is usually to send packet to controller
Provides an abstraction of how all forwarding works today,
as a set of match action instructions
Currently at OpenFlow version 1.4, or OF1.4
Software Defined Networking - Introduction
11
Match Action - Counters
Software Defined Networking - Introduction
12
Examples
Software Defined Networking - Introduction
13
Programming the network
The intelligence lies with the controller
Can implement whatever algorithms you like in the controller for
provisioning the devices
This in principle allows innovation
Could develop own load-balancing algorithms per application
Cant do this with vendor-specific routers/switches
Many open source controllers available
Mininet example later uses a modified NOX controller
Can rapidly prototype using mininet
Strategies
Can prepopulate the flow table
Might mean some rules/instructions never used
Can program on the fly
Will mean some amount of flow creation latency
Software Defined Networking - Introduction
14
Example: video streaming
Software Defined Networking - Introduction
15
Standards development
To be interoperable, we still need standards
Open Networking Foundation (ONF)
Defining OpenFlow
Implemented on switches, routers, wireless APs,
https://www.opennetworking.org/
Internet Engineering Task Force (IETF)
SDN RG, i2rs WG, SFC WG,
http://www.ietf.org
European Telecommunications Standards Institute (ETSI)
Network Function Virtualisation (NFV)
http://www.etsi.org/technologies-clusters/technologies/nfv
Software Defined Networking - Introduction
16
SDN use cases
SDN is being proposed for many scenarios, e.g.:
Data centres, cloud computing, campus networks,
home networks, cellular access networks,
And for many use cases, e.g.:
Load balancing, enabling QoS, enforcing security
policies, IPv6 transition, DDoS mitigation, device
quarantining,
Growing vendor support:
Some 15 vendors of OpenFlow switches and routers
A growing number of software controllers
Software Defined Networking - Introduction
17
Example: OFERTIE
ECS is part of a European research project called
OFERTIE
http://www.ofertie.org/
Applying SDN / OpenFlow to real-time interactive
online applications (ROIAs)
Collaborative 3D editing software
Multiplayer gaming
Allows analysis of use cases
Within a data centre (hosting provider, server lag)
Between ISPs (end user access networks)
Software Defined Networking - Introduction
18
OFERTIE: ROIAs
OFERTIEs target application domain is RealTime Online Interactive Applications (ROIAs)
and their challenging network demands
Example Application Scenarios:
Collaborative real-time world editor
Large-scale multiplayer online games
Characteristics include:
High level of interactivity and update rates
Dynamically changing game situations
Network requirements change dynamically
Variable player loads over time
Impact of packet loss and latency on QoE will
depend on what player is doing
Software Defined Networking - Introduction
Content (assets and artwork) by courtesy of
PrvEM research group of the University of
Applied Sciences Mittweida.
19
OFERTIE: Network QoS in ROIAs
Specification of a novel API that allows ROIA applications to specify their dynamic
network requirements and to meet them using SDN technology
Improve network utilisation by allowing applications to signal type of traffic
The API frees ROIA developers from specifying detailed, low-level network metrics
Software Defined Networking - Introduction
20
OFERTIE: Classes of data transfer
ROIA data transfers can be classified into various categories:
Game updates / State synchronisaton
Depends on number of players, proximity, and their activities
State transfer/migration
e.g. need to migrate ten players (and their data) in 10 seconds
Network Control Layer can feed back to application on path availability
Asset transfer (upload or download)
e.g. a 2MB asset in 1 minute, or 50MB in 30 seconds
If the application developer can express these requirements, the
Network Control Layer can make better decisions about
provisioning the flows
Software Defined Networking - Introduction
21
OFERTIE: Network Control Layer
Software Defined Networking - Introduction
22
SDN future
SDN promises a lot
The network abstraction is very appealing
The OpenFlow specification hardening
Vendors now shipping OF1.4 support (but 1.51 now out!)
Lots of support out there
Deploying SDN is a big challenge
It can be deployed incrementally
Examples already within data centres
e.g. Google, Facebook
Bigger challenge is end-to-end
Requires inter-ISP/site orchestration
Software Defined Networking - Introduction
23
Mininet SDN example
If youd like to get a feel for SDN in action
Grab mininet
http://mininet.org/download/
Example is available via github
https://github.com/drn05r/ofsoftswitch13-testing
Wiki contains a walkthrough and example exercises
Uses NOX OpenFlow 1.4 controller
Includes OpenFlow 1.4 tutorial
Uses IPv4, but IPv6 is also supported in latest OF specs
Software Defined Networking - Introduction
24
Links
Open Networking Foundation (ONF)
https://www.opennetworking.org/
Mininet
http://mininet.org/
Early OpenFlow paper (2008):
http://archive.openflow.org/documents/openflow-wp-latest.pdf
SDN white paper (2012):
https://www.opennetworking.org/images/stories/downloads/sdn-resources/whitepapers/wp-sdn-newnorm.pdf
OFELIA presentation
http://www.fp7-ofelia.eu/assets/Publications-and-Presentations/SDN-The-Next-Wave-ofNetworking.pdf
Coursera
https://www.coursera.org/course/sdn
Google
http://googlecloudplatform.blogspot.co.uk/2014/04/enter-andromeda-zone-google-cloudplatforms-latest-networking-stack.html
Software Defined Networking - Introduction
25