Path Computation Enhancement in SDN Networks
Total Page:16
File Type:pdf, Size:1020Kb
Path Computation Enhancement in SDN Networks by Tim Huang Bachelor of Computer Science in ChengDu College of University of Electronic Science and Technology of China, ChengDu, 2011 A thesis presented to Ryerson University in partial fulfillment of the requirements for the degree of Master of Applied Science in the Program of Computer Networks Toronto, Ontario, Canada, 2015 c Tim Huang 2015 AUTHOR’S DECLARATION FOR ELECTRONIC SUBMISSION OF A THESIS I hereby declare that I am the sole author of this thesis. This is a true copy of the thesis, including any required final revisions, as accepted by my examiners. I authorize Ryerson University to lend this thesis to other institutions or individuals for the purpose of scholarly research. I further authorize Ryerson University to reproduce this thesis by photocopying or by other means, in total or in part, at the request of other institutions or individuals for the purpose of scholarly research. I understand that my dissertation may be made electronically available to the public. iii Path Computation Enhancement in SDN Networks Master of Applied Science 2015 Tim Huang Computer Networks Ryerson University Abstract Path computation is always the core topic in networking. The target of the path computation is to choose an appropriate path for the traffic flow. With the emergence of Software-defined networking (SDN), path computation moves from the distributed network nodes to a centralized controller. In this thesis, we will present a load balancing algorithm in SDN framework for popular data center networks and a fault management approach for hybrid SDN networks. The proposed load balancing algorithm computes and selects appropriate paths based on characteristics of data center networks and congestion status. In addition, a solution that supports proper operations of a hybrid SDN network will also be proposed. The evaluation shows the proposed load balancing algorithm performs better than classic shortest path algorithms. We also demonstrated that the proposed solution for hybrid SDN networks can support proper operations in complicated hybrid SDN networks. v Acknowledgements I would like to express my sincere gratitude to my supervisor Dr. Ngok Wa Ma for his patient support and encouragement through my graduate study. Special thanks to the Computer Networks Master program and the School of Graduate Studies at Ryerson University for their financial support and the opportunity granted me to study in this great citadel of learning. Last, but not the least, I would like to thank my wife, jojo jiang, for her continuous support over years. vii Contents Declaration ............................................... iii Abstract ................................................. v Acknowledgements ........................................... vii List of Tables .............................................. xi List of Figures .............................................xiii 1 Introduction 1 1.1 General . 1 1.2 Research Problem . 2 1.2.1 Contributions of the thesis . 3 1.2.2 Thesis Organization . 3 2 Background 5 2.1 Legacy Networks . 5 2.2 SDN Network . 5 2.2.1 OpenFlow Protocol . 5 2.2.2 OpenFlow Switch . 6 2.2.3 OpenFlow Controller . 7 2.3 Network Topology in SDN . 9 2.4 Path Computation in SDN . 9 2.5 Hybrid SDN Networks . 9 2.6 Related works in Load Balancing . 10 2.7 Related works in Hybrid SDN networks . 11 3 Proposed Path Computation and Path Selection Algorithms 13 3.1 Overview of Proposed Algorithms . 13 3.2 Path Computation . 13 3.2.1 Characters in Data Center Networks . 13 3.2.2 Path Computation Algorithm . 15 3.3 Load Balancing . 17 3.3.1 Load Balancing Background . 17 ix 3.3.2 Path selection Algorithm . 17 3.4 Summary . 19 4 Proposed Solution For Hybrid Networks 21 4.1 Overview of current Hybrid SDN Network Solution . 21 4.2 Overview of proposed Solution for hybrid network . 22 4.3 Proposed Solution for Hybird Network . 24 4.4 Summary . 27 5 Implementation 29 5.1 System Environment . 29 5.2 System Design . 30 5.3 Summary . 31 6 Experimental results and Analysis 33 6.1 Experiment Parameters and Environment . 33 6.2 Performance Metrics . 33 6.3 Path computation performance comparison . 34 6.3.1 The Floyd-Warshall algorithm . 34 6.3.2 The Dijkstra’s algorithm . 35 6.3.3 Test Case . 35 6.4 Path selection performance comparison . 36 6.4.1 Hash . 37 6.4.2 Periodic Query . 37 6.4.3 Test Case . 37 6.5 Verification For Proposed Solution of hybird SDN networks . 40 6.5.1 Test case . 40 6.5.2 Result and analysis for Hybird network solution . 41 7 Conclusion and Future Work 47 Bibliography 50 x List of Tables 2.1 Main components of a flow entry in a flow table . 7 6.1 Network changes during the test case . 36 6.2 The parameters used for ping command . 38 6.3 The flows changes during the test case . 39 xi List of Figures 1.1 A typical data center network topology . 2 2.1 The SDN architecture . 6 2.2 Main components of an OpenFlow switch . 7 2.3 The flowchart detailing packet flow through an OpenFlow switch . 8 2.4 A example of hybrid SDN network . 10 3.1 The workflow of proposed algorithms in chapter 3 . 14 3.2 The flowchart of path selection algorithm . 20 4.1 A example of hybrid SDN network that Floodlight can handle . 21 4.2 Example 1 of hybrid SDN network that Floodlight can not handle . 22 4.3 Example 2 of hybrid SDN network that Floodlight can not handle . 22 4.4 The workflow of proposed solutin for hybrid network . 23 4.5 The switches a,b,c and d are connected to legacy island 2 . 24 4.6 a,b are in a group . 25 4.7 Scenario 1 that the proposed solution handles . 26 4.8 The example that we can not use non-desiganated switch . 26 4.9 Scenario 2 that the proposed solution handles . 27 5.1 The architecture of Mininet . 30 6.1 The network topology of initial stage . 36 6.2 Performance comparison among three algorithms . 37 6.3 Network topology of path selection for test case . 38 6.4 Comparison of average delay . 39 6.5 Comparison of throughput . 39 6.6 The test scenario for proposed solution . 40 6.7 The controller discovers the legacy island link and LLDP link . 41 6.8 The controller analyzed all legacy islands . 42 6.9 The controller discover the groups of legacy islands . 42 6.10 The configuration and flows are installed to the switches . 42 xiii 6.11 The controller achieves SDN islands . 43 6.12 The spanning tree is calculated and the interface is blocked to prevent the loop . 43 6.13 The between h0 and h4 ping works . 44 6.14 The MAC table for legacy island . 45 xiv Chapter 1 Introduction 1.1 General Since the first establishment of point-to-point networks in the last century, networking industry has experienced fast development, especially after the establishment of the Internet. The network traffic is growing exponentially over time. Meanwhile, managing networks has become more complicated and difficult. Firstly, it involves too many types of network devices, from switches and routers to middle boxes such as firewalls, load balancers. Secondly, there are many network protocols to address all sorts of information asymmetry problems among network nodes, like using Spanning Tree Protocol (STP) on switches to avoid Layer-2 loop, Open Shortest Path First (OSPF) on routers to choose the shortest paths, Network address translation (NAT) on firewalls to protect internal Internet Protocol (IP) address[12]. Network devices have control and data plane. The control plane is the brain of network node, which decides what to do with incoming packets. The data plane is the limbs of network node, which takes action on the packet according to control plane decision. On control plane of legacy network devices, network device vendors usually implement the standardization protocols drafted by some organizations, such as Internet Engineering Task Force (IETF) and Institute of Electrical and Electronics Engineers (IEEE). The job of network operators is to configure different vendors’ devices to make the protocol work properly among devices. In many cases, different networking hardware vendors implement the same protocol differently. In addition, these vendors may introduce proprietary features to the standard protocol. This results in unnecessary configuration complexity for network operators and unpredicted.