Apps

advertisement

Software Defined Networking and

Dijkstra’s Algorithm

Presented by Prof. Jehn-Ruey Jiang

Department of Computer Science and Information Engineering

National Central University

November 5, 2014

Outline

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

Outline

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

What is SDN viewed by ONF?

… 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

Outline

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

Flow Table Entry

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

Flow Table Process Example

A Mei e-Gate

16

Flow Table Process Example (cont.)

A Mei

Name Attribute Attribute

A Mei

Jessica

Interorbital

Width

Mouth size

Iris

XXX·XXX

XXX·XX

...

…….

...

17

Flow Table Process Example (cont.)

A Mei Interorbital

Width

Mouth size

Jessica … … …

Iris

XXX·XXX

XXX·XX

...

A Mei

...

… e-Gate

18

SDN (OpenFlow) Controllers

19

Controller and Switch

SSL

20

Outline

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

ATLAS 2010 Traffic Report

Posted on Monday, October 25 th , 2010| Bookmark on del.icio.us

“Google Sets New Internet Traffic Record,”by Craig Labovitz

23

Google’s Private WAN B4

S. Jain, et. al., “B4, Experience with a Globally-Deployed Software Defined WAN,” ACM SIGCOMM conference, 2013

24

Google’s Private WAN B4 (cont.)

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

B4 Sample Utilization

The statistics are from Google company

26

Outline

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

Frenetic is introduced as a high-level language to program the controller to manage switches in the SDN network .

28

Pyretic

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

Pyretic (cont.)

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

Outline

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

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

Mininet Features

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

Mininet Features (cont.)

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 Simulator/Emulator

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 Simulator/Emulator (cont.)

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

Outline

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

Edsger Wybe Dijkstra

• 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

Dijkstra's Algorithm

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

Outline

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

Extending Dijkstra’s Algorithm

42

Node Weight & Edge Weight

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

Outline

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

End-to-End Routing

Constructing a path

Controller from green to red

45

Multicasting

46

Switch

Load Balancing

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

Outline

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 Core Topology

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

Simulation Settings for Routing

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

Simulation Results for Routing

52

Simulation Setting for Multicasting

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

Outline

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

Summary

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

Related Publication

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

Thank You!

70

Download