here - Southampton Generic Blogs

Download Report

Transcript here - Southampton Generic Blogs

Software Defined Networking
(SDN)
Tim Chown
Electronics and Computer Science
University of Southampton
[email protected]
6th May 2014
Software Defined Networking - Introduction
1
Software Defined Networking
• The aim of this lecture is to give 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 Andromeda – in the news last month
• 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
2
SDN in context
• 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
3
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
4
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
5
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 don’t 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
6
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
7
SDN architecture – high level
Software Defined Networking - Introduction
8
OpenFlow
• OpenFlow is one way 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
9
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
10
Match – Action - Counters
Software Defined Networking - Introduction
11
Examples
Software Defined Networking - Introduction
12
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
– Can’t 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
13
Example: video streaming
Software Defined Networking - Introduction
14
Google Andromeda
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/
– Six other project partners – developers, ISPs, …
• 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)
• Had a 3rd year intern on the project last summer
– Watch out for adverts soon if you’re doing the MEng…
Software Defined Networking - Introduction
18
OFERTIE: ROIAs
• OFERTIE’s 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
PrävEM 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 – the road ahead?
• SDN promises a lot
– The network abstraction is very appealing
• The OpenFlow specification hardening
– Vendors now shipping OF1.3 support (but 1.4 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
• Bigger challenge is end-to-end
– Requires inter-ISP/site orchestration
Software Defined Networking - Introduction
23
Mininet SDN example
• If you’d 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.3 controller
Includes OpenFlow 1.3 tutorial
Uses IPv4, but IPv6 is also supported in latest OF specs
• Completely voluntary!
– Will be part of the new COMP3210 next year
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 (starts May 26th)
•
Google
– http://googlecloudplatform.blogspot.co.uk/2014/04/enter-andromeda-zone-google-cloudplatforms-latest-networking-stack.html
Software Defined Networking - Introduction
25