PHD THESIS Protocol Measurements and Improvements in Peer-To
Total Page:16
File Type:pdf, Size:1020Kb
University POLITEHNICA of Bucharest Automatic Control and Computers Faculty, Computer Science and Engineering Department PHD THESIS Protocol Measurements and Improvements in Peer-to-Peer Systems Scientific Adviser: Author: Prof. dr. ing. Nicolae T, apus˘ , drd. Razvan˘ Deaconescu Bucharest, 2011 Universitatea POLITEHNICA din Bucures, ti Facultatea de Automatica˘ s, i Calculatoare, Catedra de Calculatoare TEZA˘ DE DOCTORAT Evaluarea s, i îmbunat˘ at˘ ,irea protocoalelor în sisteme Peer-to-Peer Conducator˘ S, tiint, ific: Autor: Prof. dr. ing. Nicolae T, apus˘ , drd. Razvan˘ Deaconescu Bucures, ti, 2011 To those who dream of making the impossible possible ii The work and contributions highlighted in this thesis are the result of fruitful collaboration with a diversity of people. People who provided me with advice, with motivation, with competition and enthusiasm. I have to thank everyone who stood by me for the past years and supported my research and my professional activity and, at the same time, tolerated my sometimes abrassive behavior and harsh attitude. Firstly, I am in great debt to the effort and careful pieces of advice provided by my supervisor, prof. Nicolae T, apus˘ , . His calm attitude and insightful remarks have been of exellent value; I owe him a lot of gratitude for the directions he pointed out and the support he offered. Our research collaboration was strenghten by working together in the P2P-Next project where most of my research work had taken place. Huge thanks go to my friend, colleague and collaborator, Razvan˘ Rughinis, .Razvan˘ has been on my side for the whole duration of my PhD and has provided me with constant motivation to push forward. Though we’ve had our share of differences, Razvan˘ has never failed to provide me his full support towards doing good quality research and putting it to good use. My “PhD brethren”, Mircea Bardac and George Milescu have been my major collaborators and fellow researchers in the Peer-to-Peer field. All three of us have worked closely and collaborated on many research tracks and published many scientific articles together. We have learned a lot from each other. I thank Mircea for providing us with new information regarding research tools and applications. I thank George for his neverending effort and perfectionism and his constant desire to do things the right way. Working within the P2P-Next project I’ve had the pleasure of working close to high quality re- searchers and engineers. People such as Johan Pouwelse, Keith Mitchell, Johnathan Ishmael have been instrumental in my learning of clever approaches to researching and skills required to be part of a large project. With a high level of expertise in distributed systems research, prof. Valentin Cristea provided me with valuable pieces of advice and directions for my PhD. Prof. Cristea managed to transfer me some of his passion for research activities and his insight on dealing with scientific challenges. Andrei Pitis, and Tavi Purdila˘ have ensured mentorship in team-based environments and technical matters. Their vast knowledge and skills and their neverending trust in me mean a lot and have acted as a continuous boost of enthusiasm. Within the P2P-Next project in particular and the Peer-tp-Peer research area, collaborators such as Calin˘ Burloiu, Adriana Draghici,˘ Marius Sandu-Popa, Costin Lupu, Aurelian Bogdan, Bogdan Drut, u, Oana Baron supported my research and allowed the birth of new ideas and expansion of old ones. Thanks go to my colleagues and fellow researchers Laura Gheorghe, Mugurel Andreica, Alex Costan, Eliana Tîrs, a, Vlad Posea, Traian Rebedea, Andreea Urzica.˘ We’ve interacted plenty of times in various projects and exchanged ideas, opinions and skills. As part of the Systems group, people such as Vlad Dogaru, Alex Juncu, Daniel Rosner, Laura Ghe- orghe, Mihai Bucicoiu, Bogdan Doinea have taken part in fruitful discussions regarding research tracks. The diversity and activism of the group are a constant source of motivation for my taking on as many challenges as possible. Working close to clever and dilligent students in engineering and research projects has been in- strumental to my constant yearn to try out new things. Many thanks go to people such as Andrei Buhaiu, Lucian Cojocar, Alex Eftimie, Vali Priescu, Cat˘ alin˘ Moraru, Sergiu Iordache. We’ve worked together on a variety of projects that are continuing today with more and more people and ideas. I thank all members of the ROSEdu community for the constant involvement in open-source and educational projects, for taking up challenges and for helping me whenever possible. I thank Mihai Maruseac, Andrada Georgescu, Laura Vasilescu, Victor Carbune,˘ Adrian Scoica,˘ Andrei Maruseac, iii Vlad Voicu, Dragos, Dena and others for supporting me in all good or bad ideas I’ve come up with and providing the best outcome to adjiacent activities. My family has and played a big part in my life and professional activity. Their constant support, unending trust and continuous possitive attitude form an infinite reservoir of energy for all activities I’m involved in. I thank my parents, Ion and Cornelia, my sister Alina and my brother-in-law and good friend Alex for always being there for me and their providing of help whenever required. For the past years, I’ve had the privilege to meet, interact and collaborate with a diversity of people. I’ve learned a lot, gathered experience and received constat support from the ever growing crowd of enthusiastic and passionate people around. Thank you all for your patience, your stamina and your trust in me. This work is embued with your effort and I will strive to give you back my whole appreciation. Abstract In the ever evolving Internet, Peer-to-Peer systems have grown from a fan-based file sharing so- lution to account for the highest percentage of Internet bandwidth. The development of hardware systems and network links ensured powerful resources for edge nodes in the Internet. Peer-to-Peer systems took advantage of these newly developed resources and provided the means to provide new services to users. While traditionally being used for file sharing, Peer-to-Peer solutions have been developed for streaming (both live and video-on-demand), social networking, collaborative work, anonymity. Peer-to-Peer protocols in general, and the BitTorrent protocol in particular form the subject of this work. We’ve undertaken a thorough analysis of current protocols and their particularities and pro- vided enhancements. We consider the current design to be a good one, gaining experience for about 10 years of continuous research and development. As we are focused on research, our aim is to take protocols that are doing things right and work to make that better. This generally means making them faster. Protocol design contributions are present in the design and implementation of the Tracker Swarm Unification Protocol (TSUP) and contributions to a multiparty protocol. The former provides an enhancement to an existing protocol – BitTorrent, while the other provides updates to a newly designed Peer-to-Peer protocol, challenging current status of data distribution. Peer-to-Peer streaming has been tackled in the local LivingLab. The LivingLab has witnessed multiple experiments using the P2P-Next framework. These experiments have provided information and measurement data for analysis and comparison between classical Peer-to-Peer distribution and streaming. As formal results, metrics for virtualization solutions and Peer-to-Peer measurements are proposed. The aim is to provide the context for analyzing and improving Peer-to-Peer protocols and node distribution. In order to run experiments and to provide insight to the inner protocol workings and network, mea- surement frameworks have been designed and implemented. Our approach means using logging information provided by Peer-to-Peer implementations and gather protocol performance data. This has been possible with the help of a designing, building and using a lightweight virtualized infras- tructure. The infrastructure is used to configure and deploy a complete Peer-to-Peer network and gather information afterwards. Considering the sheer size of research and development in Peer-to-Peer systems, this work couldn’t possibly present an exhaustive approach to improving Peer-to-Peer protocols. We have constructed a Peer-to-Peer infrastructure stack for experimentation and provided protocol improvements and updates. We hope that we’ve set up new bricks in the right direction and are anxious to see new challenges being taken. iv Contents Acknowledgements i Abstract iv 1 Introduction 1 1.1 Thesis Objective......................................2 1.2 Thesis Scope.......................................3 1.3 Related Work.......................................3 1.4 Context...........................................6 1.5 Contents..........................................7 2 Peer-to-Peer Systems and Protocols9 2.1 The Peer-to-Peer Paradigm................................ 10 2.1.1 Features and Models of Peer-to-Peer Systems................. 11 2.1.2 P2P Resource Management........................... 11 2.1.3 P2P Topologies for File Sharing......................... 13 2.2 Peer-to-Peer Systems Deployed in the Internet..................... 15 2.2.1 Napster...................................... 15 2.2.2 Gnutella...................................... 16 2.2.3 FastTrack...................................... 17 2.2.4 eDonkey Network................................. 18 2.2.5 DirectConnect..................................