Design, Implementation, and Applications of Peer-To-Peer Virtual Private Networks from Grids to Social Networks
Total Page:16
File Type:pdf, Size:1020Kb
DESIGN, IMPLEMENTATION, AND APPLICATIONS OF PEER-TO-PEER VIRTUAL PRIVATE NETWORKS FROM GRIDS TO SOCIAL NETWORKS By DAVID ISAAC WOLINSKY A DISSERTATION PRESENTED TO THE GRADUATE SCHOOL OF THE UNIVERSITY OF FLORIDA IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF DOCTOR OF PHILOSOPHY UNIVERSITY OF FLORIDA 2011 ⃝c 2011 David Isaac Wolinsky 2 I dedicate this to family and those whose have supported me. 3 ACKNOWLEDGMENTS Over the past 5 years, there has been many constants and many changes, soon there will be only changes. Though through it all, I have been surrounded by wonderful people who have helped and encouraged me to succeed and can only hope that the relationship was beneficial for them as well. To begin naming names, I will begin with my advisor, Professor Renato Figueiredo. I greatly appreciate the time he has invested into me and his wisdom shared with me. I am greatly blessed to have worked so closely with a professor whom I work so well with. That leads me into Professor P. Oscar Boykin, the other head of the ACIS P2P Group, who along with Professor Figueiredo, molded me into the bold Ph.D. I am today. Professor Boykin also helped enrich my design and development skills, for which, I am extremely grateful. Rounding out the ACIS professors, leads to Professor Jose Fortes, who has always been a good source of wisdom and encouragement. As leader of the ACIS lab, Professor Fortes has always been very generous in providing both his time, which is why I am very appreciative to have him as a member on my Ph.D. committee. I would also like thank Professors Shigang Chen and Y. Peter Sheng for their time investments in my research and whose comments have been invaluable in shaping my dissertation. My peers and family have also been critical sources of support, encouragement, and wisdom. I am thankful to the members of the ACIS P2P group, both past and present, namely, Tae Woong Choi, Heung Sik Eom, Arijit Ganguly, Kyungyong Lee, Yonggang Liu, Pierre St. Juste, and Jiangyan Xu, whose comments and contributions have paved the way for my research. I am thankful to members of my sports groups, both the Larsen-Benton Basketball Association and the Badminton Group for their friendships, as they provided a means to redirect frustrations developed along the way. I appreciate the hard work and dedication of my fellow Archer colleague, Girish Venkatasubramanian. My gratitude goes to the kind office ladies who assisted me so much, Catherine Reeves, Janet Sloan, and Dina Stoeber. I am thankful for the time 4 put forth by my Grid Appliance colleagues, Panoat Chuchaisri and Arjun Prakash. My lab experience would have been much more difficult without the expertise and kindness of Sumalatha Adabala, Matthew Collins, Andrea Matsunaga, and Mauricio Tsugawa. I would like to thank Priya Bhatt, Bingyi Cao, Xin Fu, Selvi Kadrivel, and Prapaporn Rattanatamrong for their kind hearts and encouragement and, in some cases, their spicy food. I would like to thank Donna Gimbert for her support and encouragement throughout the years, likewise, I have been blessed to have parents that have encouraged me to press forward and achieve my goals in life and a son who provides me immense amounts of happiness. Research is a collaborative effort that, for me at least, involves both professional and home life. My success has largely been the result of the quality individuals that I have been fortunate enough to have in my life. It is for those already mentioned and those remembered that this dissertation is owed. Thank you so much. 5 TABLE OF CONTENTS page ACKNOWLEDGMENTS .................................. 4 LIST OF TABLES ...................................... 10 LIST OF FIGURES ..................................... 11 ABSTRACT ......................................... 13 CHAPTER 1 INTRODUCTION ................................... 17 1.1 Virtual Private Network Basics ........................ 20 1.2 Computer Network Architectures ....................... 23 1.3 Structured Overlays .............................. 25 1.4 Network Asymmetries ............................. 28 1.5 Contributions .................................. 30 2 VIRTUAL NETWORK CONFIGURATION AND ORGANIZATION ........ 34 2.1 Network Configuration ............................. 35 2.1.1 Centralized VPN Systems ....................... 35 2.1.2 Centralized P2P VPN Systems .................... 36 2.1.3 Decentralized VPN Systems ...................... 37 2.1.4 Unstructured P2P VPN Systems ................... 37 2.1.5 Structured P2P VPN Systems ..................... 37 2.2 Local Configuration ............................... 39 2.2.1 Local VPN Architecture ........................ 41 2.2.2 Address Resolution ........................... 44 2.2.3 Address Allocation ........................... 46 2.2.4 Domain Name Servers and Services ................. 48 2.3 Supporting Migration .............................. 48 2.4 Evaluation of VPN Network Configuration .................. 52 2.5 Evaluation of VPN Local Configuration .................... 54 2.5.1 On the Grid ............................... 56 2.5.2 In the Clouds .............................. 60 3 BOOTSTRAPPING PRIVATE OVERLAYS ..................... 65 3.1 Current Bootstrap Solutions .......................... 69 3.2 Core Requirements .............................. 71 3.2.1 Reflection ................................ 71 3.2.2 Relaying ................................. 73 3.2.3 Rendezvous ............................... 74 3.3 Implementations ................................ 75 6 3.3.1 Using Brunet .............................. 76 3.3.2 Using XMPP .............................. 78 3.4 Evaluating Overlay Bootstrapping ....................... 80 3.4.1 Deployment Experiments ....................... 80 3.4.2 Deployment Experiences ....................... 82 4 FROM OVERLAYS TO SECURE VIRTUAL PRIVATE NETWORKS ....... 86 4.1 Experimental Environment ........................... 87 4.2 Towards Private Overlays ........................... 88 4.2.1 Time to Bootstrap a Private Overlay ................. 89 4.2.2 Overhead of Pathing .......................... 92 4.3 Security for the Overlay and the VPN ..................... 92 4.3.1 Implementing Overlay Security .................... 93 4.3.2 Overheads of Overlay Security .................... 96 4.3.2.1 Adding a Single Node .................... 97 4.3.2.2 Bootstrapping an Overlay .................. 97 4.3.3 Discussion ................................ 98 4.4 Handling User Revocation ........................... 99 4.4.1 DHT Revocation ............................ 100 4.4.2 Broadcast Revocation ......................... 100 4.4.3 Evaluation of Broadcast ........................ 100 4.4.4 Discussion ................................ 101 4.5 Managing and Configuring the VPN ..................... 102 4.6 Leveraging Trust from Online Social Networks ................ 104 4.6.1 Architecture ............................... 105 4.6.2 Leveraging Trust From Facebook ................... 106 4.6.3 Leveraging Trust from XMPP ..................... 107 4.6.4 Address Allocations and Discovery .................. 107 4.7 Related Work .................................. 108 4.7.1 VPNs .................................. 108 4.7.2 P2P Systems .............................. 109 5 EXTENSIONS TO P2P OVERLAYS AND VIRTUAL NETWORKS ........ 111 5.1 Built-in Self-Simulation ............................. 111 5.1.1 Time-Based Events ........................... 112 5.1.2 Network Communication ........................ 113 5.1.3 User Actions .............................. 115 5.1.4 The Rest of the System ........................ 116 5.1.5 Optimizations .............................. 116 5.2 Efficient Relays ................................. 118 5.2.1 Motivation for Relays in the Overlay .................. 119 5.2.2 Comparing Relay Selection ...................... 121 5.3 Policies for Establishing Direct Connections ................. 122 5.3.1 Limitations ................................ 122 7 5.3.2 On-Demand Connections ....................... 123 5.4 Broadcasting IP Broadcast and Multicast Packets Via the Overlay ..... 126 5.5 Full Tunnel VPN Operations .......................... 127 5.5.1 The Gateway .............................. 128 5.5.2 The Client ................................ 129 5.5.3 Full Tunnel Overhead .......................... 131 6 AD-HOC, DECENTRALIZED GRIDS ........................ 133 6.1 WOWs ...................................... 137 6.1.1 P2P Overlays .............................. 137 6.1.2 Virtual Private Networks ........................ 138 6.1.3 Virtual Machines in Grid Computing ................. 139 6.2 Architectural Overview ............................. 140 6.2.1 Web Interface and the Community .................. 142 6.2.2 The Organization of the Grid ..................... 144 6.2.2.1 Selecting a Middleware ................... 145 6.2.2.2 Self-Organizing Condor ................... 146 6.2.2.3 Putting It All Together .................... 146 6.2.3 Sandboxing Resources ........................ 147 6.2.3.1 Securing the Resources ................... 147 6.2.3.2 Respecting the Host ..................... 148 6.2.3.3 Decentralized Submission of Jobs ............. 148 6.3 Deploying a Campus Grid ........................... 149 6.3.1 Background ............................... 150 6.3.2 Traditional Configuration of a Campus Grid ............. 151 6.3.3 Grid Appliance in a Campus Grid ................... 152 6.3.4 Comparing the User Experience ................... 154 6.3.5 Quantifying the Experience ...................... 154 6.4 Lessons