Presented by Prof. Jehn-Ruey Jiang
Department of Computer Science and Information Engineering
National Central University
November 5, 2014
Software-Defined Networking (SDN)
Overview
OpenFlow
Google’s WAN B4
Languages
Simulators and Emulators
Extended Dijkstra’s Algorithm
Dijkstra’s Algorithm
Extended Dijkstra’s Algorithm
Applications
Simulations
Summary
2
Software-Defined Networking (SDN)
Overview
OpenFlow
Google’s WAN B4
Languages
Simulators and Emulators
Extended Dijkstra’s Algorithm
Dijkstra’s Algorithm
Extended Dijkstra’s Algorithm
Applications
Simulations
Summary
3
The Megatrend in the Computer Industry
Specialized
Applications
Specialized
Operating
System
Specialized
Hardware
App App App App App App App App App App App
Open Interface
Windows
(OS) or Linux or
Mac
OS
Open Interface
Microprocessor
Vertically integrated
Closed, proprietary
Slow innovation
Small industry
Horizontal
Open interfaces
Rapid innovation
Huge industry
Source: Dr. Nick McKeown’s presentation
4
The Same Trend in the Network Industry?
App App App App App App App App App App App
Specialized
Features
Specialized
Control
Plane
Specialized
Hardware
Control
Plane
Open Interface or
Control
Plane or
Control
Plane
Open Interface
Merchant
Switching Chips
Vertically integrated
Closed, proprietary
Slow innovation
Source: Dr. Nick McKeown’s presentation
Horizontal
Open interfaces
Rapid innovation
5
Routing, management, mobility management, access control, VPNs, …
Feature … Feature
OS
Custom Hardware
Million of lines of source code
6,000 RFCs
Billions of gates
•
•
Vertically integrated, complex, closed, proprietary
Networking industry with “mainframe” mind-set
Source: Dr. Nick McKeown’s presentation
6
SDN (Software Defined Networking) is changing the network
Feature …
Feature
Network OS
Feature Feature
OS
Custom Hardware
Feature Feature
OS
Custom Hardware
Feature Feature
OS
Custom Hardware
Feature Feature
OS
Custom Hardware
Feature Feature
OS
Custom Hardware
Source: Dr. Nick McKeown’s presentation
7
7
Software Defined Networking (SDN)
Feature
…
Feature
Application
Plane (Apps)
Consistent, up-to-date global network view
Open Interface
(Northbound API)
Network OS Control Plane
(Controller)
Open Interface (Southbound API)
Packet
Forwarding
Packet
Forwarding
Packet
Forwarding
Data Plane
(Switches)
Packet
Forwarding
Packet
Forwarding
Source: Dr. Nick McKeown’s presentation
8
Nick McKeown and SDN
Biography
• Born in Bedford, England on April 7, 1963
• Obtained master's degree in 1992 and PhD in
1995 from the University of California at
Berkeley
• Became faculty director of the Clean Slate
Program at Stanford University in 2006
• Casado, McKeown and Shenker co-founded
Nicira Networks in 2007
• McKeown and Shenker co-founded the Open
Networking Foundation (ONF) in 2011
• Nicira was acquired by VMWare for
$1.26 billion in July 2012
Dr. Nick McKeown
9
Source: http://en.wikipedia.org/wiki/Nick_McKeown
Open Networking Foundation (ONF)
• The Open Networking Foundation (ONF) is a nonprofit organization, founded by Google , Microsoft , Facebook , Yahoo!
Deutsche Telekom , Verizo n, and NTT on March 21, 2011.
• Its purpose is to improve networking through softwaredefined networking (SDN) and standardizing the OpenFlow protocol and related technologies.
10 https://www.opennetworking.org/
Open Networking Foundation Member Listing https://www.opennetworking.org/membership/member-listing
11
… In the SDN architecture, the control and data planes are decoupled , network intelligence and state are logically centralized and the underlying network infrastructure is abstracted from the applications …
Source: opennetworking.org
Software-Defined Networking (SDN)
Overview
OpenFlow
Google’s WAN B4
Languages
Simulators and Emulators
Extended Dijkstra’s Algorithm
Dijkstra’s Algorithm
Extended Dijkstra’s Algorithm
Applications
Simulations
Summary
13
OpenFlow Basics
Control Program A Control Program B
Packet
Forwarding
Network OS
“If header = b , drop it”
“If header = p , send to port 4”
“If header = q , overwrite header with r , add header s , and send to ports 5,6”
“If header = ?
, send to me”
Packet
Forwarding
Source: Dr. Nick McKeown’s presentation
Flow
Table(s)
Packet
Forwarding
14
Matching
Fields
Action Statistics
Packet + byte counters
1.Forward packet to port(s)
2.Encapsulate and forward to controller
3.Drop packet
4.Send to normal processing pipeline
Switch
In Port
MAC src
MAC dst
Eth type
VLAN
ID
IP
Src
IP
Dst
IP
Prot
TCP sport
TCP dport
15
Source: Dr. McKeown’s presentation
A Mei e-Gate
16
A Mei
Name Attribute Attribute
A Mei
Jessica
Interorbital
Width
…
Mouth size
…
Iris
XXX·XXX
XXX·XX
…
...
…
…
…
…
…….
…
…
…
…
...
17
A Mei Interorbital
Width
Mouth size
…
Jessica … … …
Iris
XXX·XXX
XXX·XX
…
...
…
…
…
A Mei
...
…
… e-Gate
18
19
SSL
20
Software-Defined Networking (SDN)
Overview
OpenFlow
Google’s WAN B4
Languages
Simulators and Emulators
Extended Dijkstra’s Algorithm
Dijkstra’s Algorithm
Extended Dijkstra’s Algorithm
Applications
Simulations
Summary
21
Google Search
Gmail
Chrome
Google Plus
Google Drive
Google map
22
Posted on Monday, October 25 th , 2010| Bookmark on del.icio.us
“Google Sets New Internet Traffic Record,”by Craig Labovitz
23
S. Jain, et. al., “B4, Experience with a Globally-Deployed Software Defined WAN,” ACM SIGCOMM conference, 2013
24
Traditional WAN Routing
Treat all bits the same
30% ~ 40% average utilization
Centralized Traffic Engineering (TE)
Using Software Defined Networking (SDN) principles
Using OpenFlow
Drive links to near 100% utilization
Fast, global convergence for failures
25
The statistics are from Google company
26
Software-Defined Networking (SDN)
Overview
OpenFlow
Google’s WAN B4
Languages
Simulators and Emulators
Extended Dijkstra’s Algorithm
Dijkstra’s Algorithm
Extended Dijkstra’s Algorithm
Applications
Simulations
Summary
27
Frenetic is introduced as a high-level language to program the controller to manage switches in the SDN network .
28
Based on Frenetic and Python, Pyretic is introduced as an SDN programming language or platform that raises the level of abstraction .
Python + Frenetic = Pyretic
Pyretic
29
It allows programmers to focus on how to specify a network policy at high-level abstraction.
Pyretic hides low-level details by allowing programmers to express policies as compact, abstract functions that take a packet as input, and return a set of new packets.
30
Software-Defined Networking (SDN)
Overview
OpenFlow
Google’s WAN B4
Languages
Simulators and Emulators
Extended Dijkstra’s Algorithm
Dijkstra’s Algorithm
Extended Dijkstra’s Algorithm
Applications
Simulations
Summary
31
Mininet is an open source network emulator that supports the OpenFlow protocol for the SDN architecture.
It is one of the most popular tools used by the SDN research community.
32
It's fast - starting up a simple network takes just a few seconds.
This means that your run-editdebug loop can be very quick.
You can create custom topologies : a single switch, larger Internet-like topologies, the Stanford backbone, a data center, or anything else.
You can run real programs : anything that runs on Linux is available for you to run, from web servers to TCP window monitoring tools to Wireshark.
33
You can run Mininet on your laptop , on a server, in a VM, on a native Linux box (Mininet is included with Ubuntu 12.10+!), or in the cloud (e.g. Amazon EC2.)
Mininet is an open source project , so you are encouraged to examine its source code on https://github.com/mininet, modify it, fix bugs, file issues/feature requests, and submit patches/pull requests.
Source: https://github.com/mininet/mininet/wiki/Introduction-to-Mininet 34
EstiNet combines the advantages of both the simulation and emulation approaches without their respective shortcomings.
EstiNet uses tunnel network interfaces to automatically intercept the packets exchanged by two real applications and redirect them into the EstiNet simulation engine.
35
EstiNet’s GUI can be used to easily set up and configure a simulation case and be used to observe the packet playback of a simulation run.
36
Software-Defined Networking (SDN)
Overview
OpenFlow
Google’s WAN B4
Languages
Simulators and Emulators
Extended Dijkstra’s Algorithm
Dijkstra’s Algorithm
Extended Dijkstra’s Algorithm
Applications
Simulations
Summary
37
• Dijkstra was born in Rotterdam,
Netherlands.
• He received the 1972 Turing
Award for fundamental contributions to developing programming languages.
• In 2002, he received the ACM
PODC Influential Paper Award in distributed computing for his work on self-stabilization of program computation. This annual award was renamed the
Dijkstra Prize the following year, in his honor.
(1930~2002)
38
Dijkstra’s shortest path algorithm is a 20-mimute invention during coffee drinking
“One morning I was shopping in Amsterdam with my young fiancée , and tired, we sat down on the café terrace to drink a cup of coffee and I was just thinking about whether
I could do this, and I then designed the algorithm for the shortest path. As I said, it was a 20-minute invention . In fact, it was published in 1959 , three years later.”
Thomas J. Misa (Editor), "An Interview with Edsger W. Dijkstra,"
Communications of the ACM 53 (8): 41–47, 2010.
39
Conceived by E. W. Dijkstra in 1956, published in 1959
Solves the single-source all-destination shortest path problem for a graph with non-negative edge weights , producing a shortest path tree.
Source: http://en.wikipedia.org/wiki/Dijkstra%27s_algor
40
Software-Defined Networking (SDN)
Overview
OpenFlow
Google’s WAN B4
Languages
Simulators and Emulators
Extended Dijkstra’s Algorithm
Dijkstra’s Algorithm
Extended Dijkstra’s Algorithm
Applications
Simulations
Summary
41
42
The node weight nw[v] of v is defined according to
Eq. (1)
The edge weight ew[e] of e is defined according to
Eq. (2).
43
Software-Defined Networking (SDN)
Overview
OpenFlow
Google’s WAN B4
Languages
Simulators and Emulators
Extended Dijkstra’s Algorithm
Dijkstra’s Algorithm
Extended Dijkstra’s Algorithm
Applications
Simulations
Summary
44
Constructing a path
Controller from green to red
45
46
Switch
Controller
OpenFlow Controller
Openvswitch
Server
Hosts
Server
WAN
Load
Balancer
Host
Server http://docwiki.cisco.com/wiki/Cisco_ACE_4700_Series_Appliance_Quick_Start_Guide,_Release_A3(
1.0)_--_Configuring_Server_Load_Balancing
47
Software-Defined Networking (SDN)
Overview
OpenFlow
Google’s WAN B4
Languages
Simulators and Emulators
Extended Dijkstra’s Algorithm
Dijkstra’s Algorithm
Extended Dijkstra’s Algorithm
Applications
Simulations
Summary
48
The Abilene network is a highperformance backbone network suggested by the Internet2 project in the late 1990s.
It connects 11 regional sites or nodes across the United States.
It has 10 Gbps connectivity between neighboring nodes and
100 Mbps connectivity between a host and a node.
Historical Abilene Connection Traffic Statistics, http://stryper.uits.iu.edu/abilene/, last accessed in March 2014.
49
Setting up the Abilene topology in Mininet for routing from the green client to the red client
50
Simulation Settings for Routing (cont.)
We use Iperf as a testing tool to generate TCP data streams in our simulation.
The testing time for every testing case is 1000 seconds.
The Iperf tool reports the average TCP bandwidth between a client and the server, and we use the packet size of 53 bytes to derive the average end-to-end latency.
51
52
Topology Setting
53
Simulation Settings for Multicasting ( cont .)
Parameter
Number of controller
Number of switches
Number of publisher
Number of subscribers
Number of edges
Controller
OpenFlow switch
Testing tool
Testing time per case
Setting
1
11
1
12
25
POX 2.0 supporting Pyretic
Open vSwitch 1.0
Iperf
30 sec
54
Simulation Results for Multicasting
The BFST
55
Simulation Results for Multicasting (cont.)
The DSPT
56
Simulation Results for Multicasting (cont.)
The EDSPT parent 4 6 4 5 5 2 11 10 5 6 child 1 2 3 4 6 7 8 9 10 11
57
Simulation Results for Multicasting (cont.)
Throughput
58
Simulation Results for Multicasting (cont.)
Average Throughput
59
Simulation Settings for Load-Balancing
OpenFlow Controller
Openvswitch
Server
Hosts
60
Simulation Settings for Load-Balancing (cont.)
Parameter
Bandwidth on edges
Number of server
Number of switches
Number of edges
Controller
Openflow Switch
Testing tool
Testing time
Setting
1 Gbps
2
11
25
POX 2.0 supporting Pyretic
Open vSwitch 1.0
Iperf, Netperf
30 sec 61
Simulation Results for Load-Balancing
End-to-End Latency
62
Simulation Results for Load-Balancing (cont.)
Response Time
63
Simulation Results for Load-Balancing (cont.)
Total Transactions to Servers
64
Simulation Results for Load-Balancing (cont.)
Variation Loads on Server
65
Software-Defined Networking (SDN)
Overview
OpenFlow
Google’s WAN B4
Languages
Simulators and Emulators
Extended Dijkstra’s Algorithm
Dijkstra’s Algorithm
Extended Dijkstra’s Algorithm
Applications
Simulations
Summary
66
We have introduced the SDN concept and its related technologies.
We have shown how to apply the extended Dijkstra’s algorithm to SDNbased end-to-end routing , multicasting and load-balancing .
67
Jehn-Ruey Jiang, Hsin-Wen Huang, Ji-Hau Liao, and Szu-
Yuan Chen, “ Extending Dijkstra’s Shortest Path Algorithm for Software Defined Networking ,” in Proc. of the 16th
Asia-Pacific Network Operations and Management
Symposium (APNOMS 2014), 2014.
Jehn-Ruey Jiang, Widhi Yahya, and Mahardeka Tri Ananta,
“ Load Balancing and Multicasting Using the Extended
Dijkstra’s Algorithm in Software Defined Networking ,” in
Proc. of the International Computer Symposium 2014 (ICS
2014), 2014.
68
Open edX 繁體中文平台 https://courses.openedx.tw/
69
70