Sie sind auf Seite 1von 25

Software Defined Networking

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

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

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

SDN might provide answers for
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

With flexibility

Vendor independence
Through generic interfaces to underlying functions
Underlying equipment interoperable, e.g. via OpenFlow
Software Defined Networking - Introduction



IGP, tunnelling








by design

ad hoc




SDN architecture high level

Software Defined Networking - Introduction

OpenFlow is one of many ways to implement a
Origins in Stanford and Berkeley
Open interface to packet forwarding
Provides forwarding abstraction

Two parts:
Control protocol

Software Defined Networking - Introduction


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


Match Action - Counters

Software Defined Networking - Introduction



Software Defined Networking - Introduction


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

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


Example: video streaming

Software Defined Networking - Introduction


Standards development
To be interoperable, we still need standards
Open Networking Foundation (ONF)
Defining OpenFlow
Implemented on switches, routers, wireless APs,

Internet Engineering Task Force (IETF)

SDN RG, i2rs WG, SFC WG,

European Telecommunications Standards Institute (ETSI)

Network Function Virtualisation (NFV)

Software Defined Networking - Introduction


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

Growing vendor support:

Some 15 vendors of OpenFlow switches and routers
A growing number of software controllers
Software Defined Networking - Introduction


Example: OFERTIE
ECS is part of a European research project called

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


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.


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


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


OFERTIE: Network Control Layer

Software Defined Networking - Introduction


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


Mininet SDN example

If youd like to get a feel for SDN in action
Grab mininet

Example is available via github
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



Open Networking Foundation (ONF)


Early OpenFlow paper (2008):

SDN white paper (2012):

OFELIA presentation



Software Defined Networking - Introduction