Software Defined Networking (SDN) : Marco - Cello@unige - It
Software Defined Networking (SDN) : Marco - Cello@unige - It
Software Defined Networking (SDN) : Marco - Cello@unige - It
Marco.Cello@unige.it
DITEN – Università di Genova
Material from:
• Scott Shenker (UC Berkeley), “Software-Defined Networking at the Crossroads”, Standford, Colloquium
on Computer Systems Seminar Series (EE380), 2013.
• Scott Shenker (UC Berkeley), “A Gentle Introduction to Software Defined Networks”, Technion Computer
Engineering Center, 2012. http://tce.technion.ac.il/files/2012/06/Scott-shenker.pdf
• Scott Shenker (UC Berkeley), “The Future of Networking, and the Past of Protocols”, Open Network
Summit, 2011. http://www.opennetsummit.org/archives/oct11/shenker-tue.pdf
• Nick McKeown (Stanford), ITC Keynote, San Francisco, 2011.
http://yuba.stanford.edu/~nickm/talks/ITC%20Keynote%20Sept%202011.ppt
Presented by Gregory Kesden in 14-848, Fall 2017
1
A Short History of SDN
~2004: Research on new management paradigms
RCP, 4D [Princeton, CMU,….]
SANE, Ethane [Stanford/Berkeley]
2008: Software-Defined Networking (SDN)
NOX Network Operating System [Nicira]
OpenFlow switch interface [Stanford/Nicira]
2011: Open Networking Foundation (~69 members)
Board: Google, Yahoo, Verizon, DT, Microsoft, Facebook, NTT
Members: Cisco, Juniper, HP, Dell, Broadcom, IBM,…..
2013: Latest Open Networking Summit
1600 attendees, Google: SDN used for their WAN
Commercialized, in production use (few places)
2
Why Was SDN Needed?
4
How Programming Made the Transition
6
Data Plane Abstractions: Layers
Applications
…built on…
Reliable (or unreliable) transport
…built on…
Best-effort global packet delivery
…built on…
Best-effort local packet delivery
…built on…
Local physical transfer of bits
7
Control Plane Abstractions
8
(Too) Many Control Plane Mechanisms
• Variety of goals:
- Routing: distributed routing algorithms
- Isolation: ACLs, VLANs, Firewalls,…
- Traffic engineering: adjusting weights, MPLS,…
9
What abstractions should we
apply to the control plane?
10
The Control Plane Problem
This is crazy!
11
Programming Analogy
• What if you were told to write a program that must…
- Be aware of the hardware you were running on
- Specify where each bit was stored
12
The Control Plane Problem
• Control plane must compute forwarding state. To
accomplish its task, the control plane must:
1. Figure out what network looks like (topology)
2. Figure out how to accomplish goal on given topology
3. Tell the swtiches what to do (configure forwarding
state)
14
Network
SDN of Switches
Traditional
is “Layers”
Control and/or
for Control Routers
Mechanisms
Plane
routing, access control, etc.
Control Program
Forwarding Model
15
Example1: OSPF and Dijkstra
• OSPF
- RFC 2328: 245 pages
• Distributed System
- Builds consistent, up-to-date map of the network:
101 pages
• Dijkstra’s Algorithm
- Operates on map: 4 pages
16
Example1: OSPF and Dijkstra
17
Example2: Load Balancing
18
Example2: Load Balancing
Current Load Balancer:
it can choose only the
lightly loaded server
KEMP Technologies
LoadMasterTM 2400
19
Example2: Load Balancing
20
Example2: Load Balancing
22
Simple Example: Access Control
• Operator’s goal: prevent A’s packets from reaching B
• Control program does so with access control entries:
- Control program must respond to topology/routing changes
- Makes it hard to write correct control program
A AB drop
Global Network View
AB drop
B 23
Network Virtualization
• Introduce new abstraction and new SDN layer
24
Virtualization Simplifies Control Program
Abstract Network View
A
AB drop
B
Hypervisor then inserts flow entries as needed
A AB drop
Global Network View
AB drop
B 25
Software Defined Network
Virtual Topology
Control
Network Program
Hypervisor
Network OS
26
Clean Separation of Concerns
• Control program: express goals on Virtual Topology
- Operator Requirements
- Configuration = Function(view)
- Not a distributed protocol, now just a graph algorithm
Network Virtualization
Global Network View
Network OS
28
Abstractions Don’t Eliminate Complexity
• Every component of system is tractable
- NOS, Virtualization are still complicated pieces of code
29
Virtualization is Killer App for SDN
• Consider a multi-tenant datacenter
- Want to allow each tenant to specify virtual topology
- This defines their individual policies and requirements
30
What Should I Remember About SDN?
31
Four Crucial Points
• SDN is merely set of abstractions for control plane
- Not a specific set of mechanisms
- OpenFlow is least interesting aspect of SDN, technically
33
Control/Data Planes Become Separate
• Currently control plane tied to data plane
34
Networking Becomes Edge-Oriented
• Can implement most control functionality at edge
- Access control, QoS, mobility, migration, monitoring…
36
2. Networking Becomes Software-Oriented
• All complicated forwarding done in software (edge)
37
SDN Vision: Networks Become “Normal”
• Hardware: Cheap, interchangeable, Moore’s Law
38
Recap - The network is changing
Feature Feature
Network OS
Feature Feature
OS
Feature Feature
Custom Hardware
OS
Feature Feature
Custom Hardware
OS
Feature Feature
Custom Hardware
OS
Feature Feature
Custom Hardware
OS
Custom Hardware
39
Recap - Software Defined Network (SDN)
3. Consistent, up-to-date global network view 2. At least one Network OS
probably many.
Control Program 1 Control Program 2 Open- and closed-source
Network OS
1. Open interface to packet forwarding
Packet
Forwarding Packet
Forwarding
Packet
Packet Forwarding
Forwarding
Packet
Forwarding
40
OpenFlow Basics
Network OS
OpenFlow Protocol
Ethernet Switch
Control Path OpenFlow
41
Primitives <Match, Action>
• Match arbitrary bits in headers:
Header Data
Match: 1000x01xx0101001x
42
OpenFlow Basics
Network OS
“If header = p, send to port 4”
Packet “If header = q, overwrite header with r,
Forwarding add header s, and send to ports 5,6”
“If header = ?, send to me”
Flow
Packet Table(s)
Forwarding Packet
Forwarding
43
More sophisticated flow identification
44
More sophisticated flow identification
IP flow
45
More sophisticated flow identification
Custom flow
46
More sophisticated flow identification
My flow
47
SDN “Implementations” –
Software/Hardware
• Forwarding Model
- OpenFlow
- ForCES
• Software Switches compliant with OpenFlow std.
- Open vSwitch
- Pantou/OpenWRT
- Ofsoftswitch13
- Indigo
• Controller compliant with OpenFlow std.
- POX
- NOX
- MUL
- Maestro
• Available Commodity Switches compliant with OpenFlow std.
- Hewlett-Packard 8200zl, 6600, 6200zl,
- Brocade 5400zl, and 3500/3500yl
- IBM NetIron CES 2000 Series
Bruno Astuto A. Nunes, Marc Mendonca, Xuan-Nam Nguyen, Katia Obraczka, and Thierry Turletti, “A Survey of
Software-Defined Networking: Past, Present, and Future of Programmable Networks”, Technical Report,
http://hal.inria.fr/hal-00825087/PDF/bare_jrnl.pdf
48
SDN Literature - Sources
• Browsing on proceedings of:
– ACM Sigcomm;
– ACM Sigcomm Workshop HotSDN;
– ACM Sigcomm Workshop HotNets;
– ACM CoNEXT;
– USENIX NSDI;
– USENIX HotCloud;
– USENIX Hot-ICE;
– ONS;
• SDN reading list: http://www.nec-
labs.com/~lume/sdn-reading-list.html
49
SDN research areas
Controller scalability
multi-controller
reduce messages sent to Traffic Management/QoS
controller flow scheduling
SDN applications
switch/CPU design Load balancing
SDN architecture
Programming Security
Testing/Debugging
50