Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Defined Networking and Dijkstra’s Algorithm Presented by Prof. Jehn-Ruey Jiang Department of Computer Science and Information Engineering National.

Similar presentations


Presentation on theme: "Software Defined Networking and Dijkstra’s Algorithm Presented by Prof. Jehn-Ruey Jiang Department of Computer Science and Information Engineering National."— Presentation transcript:

1 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

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 2

3 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

4 The Megatrend in the Computer Industry Vertically integrated Closed, proprietary Slow innovation Small industry Specialized Operating System Specialized Hardware App Specialized Applications Horizontal Open interfaces Rapid innovation Huge industry Microprocessor Open Interface Linux Mac OS Windows (OS) or Open Interface Source: Dr. Nick McKeown’s presentation 4

5 The Same Trend in the Network Industry? Vertically integrated Closed, proprietary Slow innovation App Horizontal Open interfaces Rapid innovation Control Plane Control Plane Control Plane or Open Interface Specialized Control Plane Specialized Hardware Specialized Features Merchant Switching Chips Open Interface Source: Dr. Nick McKeown’s presentation 5

6 Million of lines of source code 6,000 RFCs Billions of gates Vertically integrated, complex, closed, proprietary Networking industry with “mainframe” mind-set Custom Hardware OS Routing, management, mobility management, access control, VPNs, … Feature … Source: Dr. Nick McKeown’s presentation 6

7 Custom Hardware OS Network OS Feature SDN (Software Defined Networking) is changing the network Feature 7 Source: Dr. Nick McKeown’s presentation … 7

8 Feature Network OS Open Interface (Southbound API) Consistent, up-to-date global network view Software Defined Networking (SDN) Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Source: Dr. Nick McKeown’s presentation Data Plane (Switches) Control Plane (Controller) Application Plane (Apps) Open Interface (Northbound API) 8 …

9 Dr. Nick McKeown 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 Source: http://en.wikipedia.org/wiki/Nick_McKeown Nick McKeown and SDN 9

10 Open Networking Foundation (ONF) The Open Networking Foundation (ONF) is a nonprofit organization, founded by Google, Microsoft, Facebook, Yahoo! Deutsche Telekom, Verizon, and NTT on March 21, 2011. Its purpose is to improve networking through software- defined networking (SDN) and standardizing the OpenFlow protocol and related technologies. https://www.opennetworking.org/ 10

11 https://www.opennetworking.org/membership/member-listing Open Networking Foundation Member Listing 11

12 … 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 … What is SDN viewed by ONF? Source: opennetworking.orgopennetworking.org

13 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

14 Control Program A Control Program B Network OS OpenFlow Basics Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Flow Table(s) Flow Table(s) “If header = p, send to port 4” “If header = ?, send to me” “If header = q, overwrite header with r, add header s, and send to ports 5,6” Source: Dr. Nick McKeown’s presentation 14 “If header = b, drop it”

15 Flow Table Entry Source: Dr. McKeown’s presentation Switch In Port MAC src MAC dst Eth type VLAN ID IP Src IP Dst IP Prot TCP sport TCP dport Matching Fields ActionStatistics 1.Forward packet to port(s) 2.Encapsulate and forward to controller 3.Drop packet 4.Send to normal processing pipeline Packet + byte counters 15

16 A Mei e-Gate Flow Table Process Example 16

17 A Mei Flow Table Process Example (cont.) NameAttribute ……. A Mei Interorbital Width Mouth size… Jessica……… Iris……... XXX·XXX...…… XXX·XX……… 17

18 A Mei Flow Table Process Example (cont.) e-Gate NameAttribute ……. A Mei Interorbital Width Mouth size … Jessica……… Iris……... XXX·XXX...…… XXX·XX……… 18

19 SDN (OpenFlow) Controllers 19

20 Controller and Switch 20 SSL

21 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

22 Google Drive Gmail Google map Google Search Chrome Google Plus 22

23 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

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

25 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

26 B4 Sample Utilization The statistics are from Google company 26

27 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

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

29 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

30 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

31 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

32 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

33 Mininet Features  It's fast - starting up a simple network takes just a few seconds. This means that your run-edit- debug 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

34 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

35 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

36 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

37 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

38 Edsger Wybe Dijkstra (1930~2002) 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. 38

39 Dijkstra’s shortest path algorithm  “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. is a 20-mimute invention during coffee drinking 39

40 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

41 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

42 Extending Dijkstra’s Algorithm 42

43 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

44 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

45 End-to-End Routing 45 Constructing a path from green to red Controller

46 Multicasting 46

47 Load Balancing http://docwiki.cisco.com/wiki/Cisco_ACE_4700_Series_Appliance_Quick_Start_Guide,_Release_A3( 1.0)_--_Configuring_Server_Load_Balancing OpenFlow Controller Openvswitch Server Hosts WAN Load Balancer 47 Server Controller Switch Host

48 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

49 The Abilene Network Core Topology  The Abilene network is a high- performance 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

50 Simulation Settings for Routing  Setting up the Abilene topology in Mininet for routing from the green client to the red client 50

51 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 Simulation Results for Routing 52

53 Simulation Setting for Multicasting  Topology Setting 53

54 Simulation Settings for Multicasting ( cont.) ParameterSetting Number of controller1 Number of switches11 Number of publisher1 Number of subscribers12 Number of edges25 ControllerPOX 2.0 supporting Pyretic OpenFlow switchOpen vSwitch 1.0 Testing toolIperf Testing time per case30 sec 54

55  The BFST Simulation Results for Multicasting 55

56  The DSPT Simulation Results for Multicasting (cont.) 56

57  The EDSPT parent464552111056 child123467891011 Simulation Results for Multicasting (cont.) 57

58  Throughput Simulation Results for Multicasting (cont.) 58

59 Simulation Results for Multicasting (cont.) Average Throughput 59

60 Simulation Settings for Load-Balancing OpenFlow Controller Openvswitch Server Hosts 60

61 ParameterSetting Bandwidth on edges1 Gbps Number of server2 Number of switches11 Number of edges25 ControllerPOX 2.0 supporting Pyretic Openflow SwitchOpen vSwitch 1.0 Testing toolIperf, Netperf Testing time30 sec Simulation Settings for Load-Balancing (cont.) 61

62 Simulation Results for Load-Balancing End-to-End Latency 62

63 Response Time Simulation Results for Load-Balancing (cont.) 63

64 Total Transactions to Servers Simulation Results for Load-Balancing (cont.) 64

65 Variation Loads on Server Simulation Results for Load-Balancing (cont.) 65

66 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

67 Summary  We have introduced the SDN concept and its related technologies.  We have shown how to apply the extended Dijkstra’s algorithm to SDN- based end-to-end routing, multicasting and load-balancing. 67

68 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

69 Open edX 繁體中文平台 https://courses.openedx.tw/ 69

70 Thank You! 70


Download ppt "Software Defined Networking and Dijkstra’s Algorithm Presented by Prof. Jehn-Ruey Jiang Department of Computer Science and Information Engineering National."

Similar presentations


Ads by Google