To Download the PDF File
Total Page:16
File Type:pdf, Size:1020Kb
INFORMATION TO USERS This manuscript has been reproduced from the microfilm master. UMI films the text directly from the original or copy submitted. Thus, some thesis and dissertation copies are in typewriter face, while others may be from any type of computer printer. The quality of this reproduction is dependent upon the quality of the copy submitted. Broken or indistinct print, colored or poor quality illustrations and photographs, print bleedthrough, substandard margins, and improper alignment can adversely affect reproduction. In the unlikely event that the author did not send UMI a complete manuscript and there are missing pages, these will be noted. Also, if unauthorized copyright material had to be removed, a note will indicate the deletion. Oversize materials (e.g., maps, drawings, charts) are reproduced by sectioning the original, beginning at the upper left-hand comer and continuing from left to right in equal sections with small overlaps. ProQuest Information and Learning 300 North Zeeb Road, Ann Arbor, Ml 48106-1346 USA 800-521-0600 Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. A Scalable & Extensible Peer-to-Peer Network Simulator By Jonathan B. Harris B.C.S. A thesis submitted to the Faculty of Graduate Studies and Research in partial fulfillment of the requirements for the degree of Master of Computer Science At Ottawa-Carleton Institute for Computer Science Carleton University Ottawa, Ontario April 2005 © Copyright by Jonathan B. Harris, 2005 Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. ■ .* . ■ Library and Bibliotheque et |p | Archives Canada Archives Canada 0-494-06829-9 Published Heritage Direction du Branch Patrimoine de I'edition 395 Wellington Street 395, rue Wellington Ottawa ON K1A0N4 Ottawa ON K1A 0N4 C anada C anada NOTICE: AVIS: The author has granted a non L’auteur a accorde une licence non exclusive exclusive license allowing Library permettant a la Bibliotheque et Archives and Archives Canada to reproduce, Canada de reproduire, publier, archiver, publish, archive, preserve, conserve, sauvegarder, conserver, transmettre au public communicate to the public by par telecommunication ou par I’lnternet, preter, telecommunication or on the Internet, distribuer et vendre des theses partout dans loan, distribute and sell theses le monde, a des fins commerciales ou autres, worldwide, for commercial or non sur support microforme, papier, electronique commercial purposes, in microform, et/ou autres formats. paper, electronic and/or any other formats. The author retains copyright L’auteur conserve la propriete du droit d’auteur ownership and moral rights in et des droits moraux qui protege cette these. this thesis. Neither the thesis Ni la these ni des extraits substantiels de nor substantial extracts from it celle-ci ne doivent etre imprimes ou autrement may be printed or otherwise reproduits sans son autorisation. reproduced without the author’s permission. In compliance with the Canadian Conformement a la loi canadienne Privacy Act some supporting sur la protection de la vie privee, forms may have been removed quelques formulaires secondaires from this thesis. ont ete enleves de cette these. While these forms may be included Bien que ces formulaires in the document page count, aient inclus dans la pagination, their removal does not represent il n'y aura aucun contenu manquant. any loss of content from the thesis. i +i Canada Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. Abstract Peer-to-peer networks are of great value for tapping the unused resources of computers residing at the edges of the internet. However, the recent rise in popularity of peer-to-peer applications has caused the sizes of their underlying networks to grow significantly. Because of their large size and decentralized nature, it is all but impossible to measure the efficiency of the protocols driving these networks in the real world. To facilitate the evaluation of peer-to-peer protocols prior to deployment in real networks, this thesis presents a scalable simulation architecture which can be extended to support arbitrary peer-to-peer protocols. In particular, the simulator models the competition of messages for bandwidth as traffic increases. For validation purposes, an implementation of multiple versions of the Gnutella protocol is presented. It demonstrates the ability of the simulator to model arbitrary peer behaviour and handle heterogeneous protocols. Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. Table of Contents Abstract................................................................................................................................ ii Table of Contents ............................................................................................................... iii List of Tables .....................................................................................................................viii List of Figures ......................................................................................................................x 1 Introduction ........................................................................................................................1 1.1 Peer-to-Peer ................................................................................................................ 1 1.2 Problem ...................................................................................................................... 2 1.3 Contributions ..............................................................................................................5 1.4 Outline ........................................................................................................................ 7 2 Background ....................................................................................................................... 8 2.1 Peer-to-peer Protocols ...............................................................................................9 2.1.1 Classifications .................................................................................................. 10 2.1.1.1 Centralized versus Decentralized ............................................................ 10 2.1.1.2 Structured versus Unstructured ............................................................... 13 2.1.2 Existing Protocols ............................................................................................ 16 2.1.2.1 Napster.......................................................................................................16 2.1.2.2 Gnutella ......................................................................................................18 2.1.2.3 FastTrack................................................................................................... 19 2.1.2.4 Freenet ....................................................................................................... 20 2.1.2.5 Pastry..........................................................................................................22 2.1.2.6 Others.........................................................................................................24 2.2 Network Topology ..................................................................................................24 2.2.1 Representation ................................................................................................ 25 2.2.1.1 Edge-List Data Structure ..........................................................................26 2.2.1.2 Adjacency Matrix Data Structure ............................................................26 2.2.1.3 Comparison ...............................................................................................26 Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. 2.2.2 Structural Models .............................................................................................27 2.2.2.1 Small World Networks .............................................................................27 2.2.2.2 Power Law Networks ............................................................................... 29 2.2.3 Initial population of peers ................................................................................31 2.2.3.1 Topology Generators .................................................................................31 2.2.3.1.1 Random Graph Generators ................................................................32 2.2.3.1.2 Structure-Based Generators ..............................................................32 2.2.3.1.3 Degree-Based Generators ..................................................................34 2.2.3.1.4 Small World Generators ....................................................................36 2.2.3.1.5 Comparison ........................................................................................ 38 2.2.3.1.6 Existing Topology Generator Tools .................................................39 2.2.4 Evolution ........................................................................................................... 39 2.2.4.1 Peer Arrivals and Departures ................................................................. 40 2.2.4.2 Peer Discovery