Sie sind auf Seite 1von 25

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