Enhancing Networks Via Virtualized Network Functions
Total Page:16
File Type:pdf, Size:1020Kb
Enhancing Networks via Virtualized Network Functions A DISSERTATION SUBMITTED TO THE FACULTY OF THE GRADUATE SCHOOL OF THE UNIVERSITY OF MINNESOTA BY Yang Zhang IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF DOCTOR OF PHILOSOPHY Professor Zhi-Li Zhang May, 2019 © Yang Zhang 2019 ALL RIGHTS RESERVED Acknowledgements This dissertation is accomplished with tremendous help from many amazing people. First of all, I would like to acknowledge my advisor, Professor Zhi-Li Zhang, for his con- tinuous support, criticism, encouragement, and guidance on conducting research and achieving personal long-term career goals throughout my stay in graduate school. He taught me, among many things, how to transform my stilted speaking and writing into engaging storylines, and how to identify the simplicity at the core of complex technical concepts. His knowledge, wis- dom, dedication, and strive for excellence amazed me, and I have been constantly inspired by his never-ending passion and commitment towards research. I am also indebted to a variety of brilliant researchers outside of university over the years. I want to thank my collaborators: Ruben Torres, Fang Hao, Sarit Mukherjee, T V Lakshman, Bo Han, Bilal Anwer, Joshua Reich, Aman Shaikh, Vijay Gopalakrishnan, Jean Tourrilhes, and Puneet Sharma. I am grateful to all of them for their time, help, and the wisdom they have shared with me. Their valuable feedback helped me turn my research efforts into reality. I cherish the awesome time that I spent with my lab mates in discussing research, daily life, and our future. In particular, Hesham Mekky, Eman Ramadan, Zhongliu Zhuo, Arvind Narayanan, and Zehua Guo. I have learned a lot through the discussions over the years. I am thankful to all my fellow graduate students working with Professors David Du, Tian He, and Feng Qian for their valuable feedback on my research during our group meetings and for maintaining a friendly and intellectually creative environment. I am grateful to Professors Abhishek Chandra, Yousef Saad, Georgios Giannakis, and David Du, who were very kind to serve as my committee members. I would like to especially acknowl- edge Professor Chandra here, who served as a committee member of my PhD qualification, thesis proposal, defense, and wrote recommendation letter for my fellowship application. Finally, I thank my family and friends for support during this arduous but fruitful journey. i My research was supported by various sources of funds: DoD ARO MURI Award W911NF- 12-1-0385, DTRA grant HDTRA1- 09-1-0050, NSF grants CNS-1411636, CNS-1618339, CNS- 1617729, CNS 1814322 and CNS183677. ii Dedication To those who held me up over the years iii Abstract In an era of ubiquitous connectivity, various new applications, network protocols, and on- line services (e.g., cloud services, distributed machine learning, cryptocurrency) have been con- stantly creating, underpinning many of our daily activities. Emerging demands for networks have led to growing traffic volume and complexity of modern networks, which heavily rely on a wide spectrum of specialized network functions (e.g., Firewall, Load Balancer) for per- formance, security, etc. Although (virtual) network functions (VNFs) are widely deployed in networks, they are instantiated in an uncoordinated manner failing to meet growing demands of evolving networks. In this dissertation, we argue that networks equipped with VNFs can be designed in a fash- ion similar to how computer software is today programmed. By following the blueprint of joint design over VNFs, networks can be made more effective and efficient. We begin by presenting Durga, a system fusing wide area network (WAN) virtualization on gateway with local area network (LAN) virtualization technology. It seamlessly aggregates multiple WAN links into a (virtual) big pipe for better utilizing WAN links and also provides fast fail-over thus minimizing application performance degradation under WAN link failures. Without the support from LAN virtualization technology, existing solutions fail to provide high reliability and performance required by today’s enterprise applications. We then study a newly standardized protocol, Mul- tipath TCP (MPTCP), adopted in Durga, showing the challenge of associating MPTCP subflows in network for the purpose of boosting throughput and enhancing security. Instead of designing a customized solution in every VNF to conquer this common challenge (making VNFs aware of MPTCP), we implement an online service named SAMPO to be readily integrated into VNFs. Following the same principle, we make an attempt to take consensus as a service in software- defined networks. We illustrate new network failure scenarios that are not explicitly handled by existing consensus algorithms such as Raft, thereby severely affecting their correct or ef- ficient operations. Finally, we re-consider VNFs deployed in a network from the perspective of network administrators. A global view of deployed VNFs brings new opportunities for per- formance optimization over the network, and thus we explore parallelism in service function chains composing a sequence of VNFs that are typically traversed in-order by data flows. iv Contents Acknowledgements i Dedication iii Abstract iv List of Tables ix List of Figures x 1 Introduction 1 1.1 Contributions and Organization . .2 1.2 Bibliographic Note . .3 2 Background and Motivation 5 2.1 Software Defined Wide Area Network . .5 2.2 MPTCP Awareness . .6 2.3 Consensus in Software-Defined Network . .7 2.4 Service Function Chaining and Parallelizable VNFs . .9 3 Fusing LAN Virtualization with WAN Virtualization 10 3.1 Main Results . 10 3.2 Mitigating the Impact of WAN Link Failures . 11 3.2.1 End system MPTCP to the Rescue? . 11 3.2.2 WAN-aware MPTCP . 13 3.3 Durga Overview and Mechanisms . 14 v 3.3.1 Tunnel Handoff . 14 3.3.2 MPTCP Proxy . 16 3.3.3 WAN aware MPTCP . 17 3.3.4 MPTCP Recovery Optimization . 19 3.3.5 Mechanisms Integration . 20 3.4 Vertical Handoff Performance Metrics . 21 3.5 Evaluation of Durga . 22 3.5.1 Bandwidth Aggregation Evaluation . 23 3.5.2 Handoff Traces Evaluation . 24 3.5.3 Handoff Metric Evaluation . 25 3.5.4 TCP/IP Congestion Control . 27 3.5.5 Handoff Impact on Applications . 28 3.5.6 Evaluation in the Wild . 31 3.6 Related Work . 33 3.7 Summary . 34 4 Making Network Functions Aware of Multiple TCP 35 4.1 Main Results . 35 4.2 MPTCP Subflow Association . 36 4.2.1 Token-based Solution . 36 4.2.2 Challenges in Network . 37 4.3 SAMPO Overview . 38 4.4 MPTCP Subflow Association . 39 4.4.1 DSN-based Association . 40 4.4.2 Analysis of DSN-based Association . 41 4.5 Evaluation . 51 4.5.1 Experimental Setup . 51 4.5.2 Experimental Results . 53 4.6 Related Work . 56 4.7 Summary . 57 5 Taking Consensus as a Service in Software Defined Network 58 5.1 Main Results . 58 vi 5.2 Fundamentals . 59 5.2.1 Raft Overview . 59 5.2.2 P4 Overview . 61 5.3 Raft Meets SDN . 61 5.4 System Design . 64 5.4.1 Possible Solutions During Leader Election . 64 5.4.2 Offloading Raft to P4 Switch . 66 5.5 Evaluation . 68 5.5.1 Raft with Routing via PrOG . 68 5.5.2 Raft-aware P4 Switch . 70 5.6 Related Work . 71 5.7 Summary . 72 6 Parallelizing Network Functions For Accelerating Service Function Chains 73 6.1 Main Results . 73 6.2 Challenges in Parallelizing VNFs . 74 6.3 HydraNF Overview . 76 6.4 HydraNF Controller . 78 6.4.1 SPG Construction . 78 6.4.2 SPG Provisioning . 82 6.5 HydraNF Data Plane . 85 6.5.1 Mirror and Merge Modules . 85 6.5.2 Placement of Mirror and Merge . 87 6.6 Evaluation . 88 6.6.1 HydraNF Performance . 90 6.6.2 HydraNF Overhead . 92 6.7 Related Work . 93 6.8 Discussion . 95 6.9 Summary . 96 7 Conclusion, Lessons Learned & Thoughts for the Future 97 7.1 Summary of Contributions . 97 7.2 Lessons Learned & Thoughts for the Future . 98 vii References 101 viii List of Tables 3.1 Throughput aggregation comparison . 23 3.2 Vertical handoff performance of different mechanisms . 26 3.3 Impact of TCP congestion control (BFD=1s) . 29 3.4 HTTP download duration with intermittent link in controlled testbed (seconds for 2GB file) . 29 3.5 TCP transaction rate with intermittent link in controlled testbed (transactions / seconds) . 30 3.6 HTTP download duration with intermittent link in GENI testbed, 100ms BFD (seconds for 20MB file) . 31 3.7 TCP transaction rate with intermittent link in GENI testbed, 100ms BFD (trans- actions / seconds) . 32 3.8 Parameters to access Amazon EC2 . 32 3.9 Parameters to access Amazon EC2 . 32 5.1 Decomposed Latency between Raft Leader and a Follower. a: RPC latency at leader side + bidirectional latency between S1 and P4 1; b: bidirectional la- tency in P4 1; c: bidirectional latency between P4 1 and P4 2; d: bidirectional latency in P4 2; e: bidirectional latency between P4 2 and S2 + latency at Raft follower . 70 6.1 Service Function Chains Used in the Experiments . ..