SDN
-
Upload
tito-nugroho -
Category
Documents
-
view
8 -
download
0
description
Transcript of SDN
Software Defined Networking (SDN)
Teng Chee Seng
ITE College West, Institute of Technical Education Singapore
Software Defined Networking - Introduction 1
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 2
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 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
Manageability
Flexibility
Scalability
Robustness
SDN
ad hoc
low
highest
high
Traditional
IGP, tunnelling (RSVP-TE)
by design
high
low
low
Challenges
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
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 14
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
• OFERTIE’s target application domain is Real-Time 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 19
Content (assets and artwork) by courtesy of PrävEM 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 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
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 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.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/white-
papers/wp-sdn-newnorm.pdf
• OFELIA presentation – http://www.fp7-ofelia.eu/assets/Publications-and-Presentations/SDN-The-Next-Wave-of-
Networking.pdf
• Coursera – https://www.coursera.org/course/sdn
• Google – http://googlecloudplatform.blogspot.co.uk/2014/04/enter-andromeda-zone-google-cloud-
platforms-latest-networking-stack.html
Software Defined Networking - Introduction 25