Lesson 9 Applications of DHT: Bittorrent Mainline DHT, the KAD network

Size: px
Start display at page:

Download "Lesson 9 Applications of DHT: Bittorrent Mainline DHT, the KAD network"

Transcription

1 Lesson 9 Applications of DHT: Bittorrent Mainline DHT, the KAD network 20/03/2017 1

2 IMPLEMENTATION OF KADEMLIA Kademlia is the protocol used by the largest public DHTs. Vuze ( before known as Azureus), version introduced the DHT for trackerless clients Bittorrent Inc. introduces its own DHT; incompatible with that of Vuze. mainline DHT a recent measurement: by 2013 users of Mainline DHT are from 10 million to 25 million, with a daily churn of at least 10 million emule KAD network 2

3 THE BITTORRENT PROTOCOL (1) the first BitTorrent client was published in July 2001 by Bram Cohen. today, a wide spectrum of compatible clients is available, typically free of charge a user exploiting the BitTorrent protocol, not only download a shared file, but becomes also the distributor of the file each file is divided into parts which are exchanged between the users: each user tries to download the parts it does not own and shares the parts it already downloaded swarm: set of peers that participate in sharing and distributing a specific file at a specific time. 3

4 HOW CAN I FIND A TACKER? file are not indexed within the Bittorrent network (instead they are indexed within emule). cannot find the file descriptor by the file index retrieve the file descriptor (.torrent) by searching in the Internet, often through specialized search sites and engines: Pirate Bay ( Mininova ( contains several information, most important are the file s InfoHash: an identifier which is the SHA of some information regarding the file and uniquely identifies the file the IP addresses of one or more trackers other information (to be seen in next lessons...) 4

5 THE BITTORRENT PROTOCOL (2) a tracker: server that manages a file s swarm replies to HTTP GET request any peer that wants to join a swarm must retrieve the address of at least a tracker managing the swarm downloads the file descriptor (.torrent) and opens it through the BitTorrent client opens a connection to the tracker and informs it of its own existence obtain a list of other swarm peers from the tracker and start to download the file from them. peers exchange information about the parts of the file that they own and each peer asks for the parts of the file it is interested to. if a peer remains online when it has finished the file download, it goes on distributing the file 5

6 THE BITTORRENT PROTOCOL (6) Tracker: a centralized service for the registration and coordination of the peers knows the address of each peer of the swarm and enables the mutual discovery of the peers sends to a requesting peer P a random subset of the peers (IP+port) of the swarm. P builds an initial set of known peers then, other peers contact P because they have obtained its address from the tracker and are added to the initial set. the peers periodically contact the tracker to send statistical information: sent and received data if the number of known peers is under of a given threshold, the tracker is contacted again to find out new peers of the swarm 6

7 THE BITTORRENT PROTOCOL file popeye.mp4.torrent hosted at a (well-known) webserver the.torrent has address of tracker for file the tracker, which runs on a webserver as well, keeps track of all peers downloading file 7

8 THE BITTORRENT PROTOCOL file popeye.mp4.torrent hosted at a (well-known) webserver the.torrent has address of tracker for file the tracker, which runs on a webserver as well, keeps track of all peers downloading file 8

9 THE BITTORRENT PROTOCOL file popeye.mp4.torrent hosted at a (well-known) webserver the.torrent has address of tracker for file the tracker, which runs on a webserver as well, keeps track of all peers downloading file 9

10 EXCHANGE PROTOCOL The green blocks represent fully downloaded chunks (or initially shared), available for upload. The red blocks are the blocks currently being downloaded. Each peer can upload only two blocks at a time. 10

11 EXCHANGE PROTOCOL The green blocks represent fully downloaded chunks (or initially shared), available for upload. The red blocks are the blocks currently being downloaded. Each peer can upload only two blocks at a time. 11

12 EXCHANGE PROTOCOL The green blocks represent fully downloaded chunks (or initially shared), available for upload. The red blocks are the blocks currently being downloaded. Each peer can upload only two blocks at a time. 12

13 EXCHANGE PROTOCOL The green blocks represent fully downloaded chunks (or initially shared), available for upload. The red blocks are the blocks currently being downloaded. Each peer can upload only two blocks at a time. 13

14 EXCHANGE PROTOCOL The green blocks represent fully downloaded chunks (or initially shared), available for upload. The red blocks are the blocks currently being downloaded. Each peer can upload only two blocks at a time. 14

15 EXCHANGE PROTOCOL Several interesting characteristics choice of peers choice of pieces detection of free riders Will be shown in one of the next lessons 15

16 THE MAINLINE DHT First application of a DHT in Bittorrent was introduced by Vuze (previously Azureus) After a little, the standard Bittorrent client introduces its own DHT, the Mainline DHT, not compatible with Vuze both DHTs strongly based on Kademlia Many other clients support the Mainline DHT Torrent, BitComet, BitSpirit Mainline DHT is a BEP (BitTorrent Enhancement Proposal) subject to continous revisions Kademlia improvements routing table management look-up 16

17 THE MAINLINE DHT Now each node in the Bittorrent network implements two functionalities A "peer" is a client/server listening on a TCP port that implements the BitTorrent protocol. A "node" is a client/server listening on a UDP port implementing the distributed hash table protocol. The DHT is composed of nodes, and node store the location of peers belonging to a swarm 17

18 THE MAINLINE DHT DHT introduced to offer a trackerless peer discovery mechanism goal: to avoid the bottleneck of a single tracker for trackerless peer discovery, a DHT plays the role of the tracker and stores the file's infohash (key) the list of the peers in the swarm (value) 18

19 MAINLINE DHT: HIGH LEVEL INTERACTION get the peers currently in the swarm GETPEERS(InfoHash) register itself as a new member of the swarm, PUT(InfoHash, <IP address, port>) 19

20 THE MAINLINE DHT Node 8 wants to share a file with infohash=42 And needs to know if a swarm is active for that file 20

21 THE MAINLINE DHT Node 8 owns in its routing table a reference to node 12 and sends it the request getpeer(42), to find out peers of the swarm 21

22 THE MAINLINE DHT Node 12 does not know any peer in the swarm of the torrent with InfoHash 42, but it knows some nodes whose identifier is closer to the 42 22

23 THE MAINLINE DHT Node 8 retransmit the request GET_PEERS to nodes 48 and 40 23

24 THE MAINLINE DHT Nodes 40 e 48 have no peer in the swarm of the torrent 42, 48 resends the identifier 40 to node 8. Node 8 does not receive information on new peers and stops the search of swarm peers 24

25 THE MAINLINE DHT Node 40 stores the correspondence 42, 8, recording that peer 8 belongs to the swarm of the torrent with InfoHash 42 25

26 THE MAINLINE DHT Now peer wants to download the file identified by InfoHash 42 and has, in its routing table, a reference to 48 26

27 THE MAINLINE DHT Node 48 has no information about the swarm of the torrent 42, but it knows node 40, which ha san identifier which is closer to the InfoHash 42 27

28 THE MAINLINE DHT Node 50 propagates the GETPEER request to 40 28

29 THE MAINLINE DHT Node 40 returns peer , i.e. a peer belonging to the swarm di of the torrent 42 29

30 THE MAINLINE DHT 50 announces it partecipates to the swarm of the torrent with InfoHash 42 30

31 ROUTING TABLE MANAGEMENT buckets in rotuing tables are structured differently from those in Kademlia: instead of a list of 160 buckets, BitTorrent starts with only one bucket when a bucket becomes full, one of two things can happen: the bucket is split old nodes are pinged (like in Kademlia) replace the split bucket by two new buckets each with half the range of the old bucket nodes from the old bucket are distributed among the two new ones. Two benefits to this bucket implementation: less memory is used if there are less than 160 buckets when searching buckets, it is not necessary to retrieve additional nodes from adjacent buckets because it is guaranteed that there are enough in the current bucket 31

32 ROUTING TABLE MANAGEMENT (1) buckets are dynamically splitted (8 contacts for each bucket) initially, two buckets , , ID intervals [ ; ) and [ ; ] red dot= identifier corresponding to the owner of the routing table when the bucket B corresponding to the owner is full and another node has to be inserted, B is split 32

33 ROUTING TABLE MANAGEMENT (2) Each node N in the routing tables is characterized by a state, depending on the activity detected by owner O of the routing table in the last interval of times Three states: GOOD, if O has had a contact with N in the last 15 minutes; QUESTIONABLE, if O if no contact has happened in the last 15 minutes BAD, if the node fail to reply Periodic refresh of the state 33

34 ROUTING TABLE MANAGEMENT ALGORITHM addnode(node nnew) def Bucket bold = bucket where the new node nnew falls if ( bold is not full ) then add nnew to bold ; else if (bold contains myid ) then divide bold, creating two new buckets binf and bsup; distribute nodes in bold and the new node nnew to binf e bsup ; else if ( all nodes in bold are GOOD) then discard nnew; if ( bold includes a node n BAD ) then substitute nnew to n If ( bold includes nodes QUESTIONABLE) then managequestionablenodes(nnew,bold); 34

35 ROUTING TABLE MANAGEMENT ALGORITHM ManageQuestionableNodes (Node ngood, Bucket b) def qlist = node marked QUESTIONABLE in b. for ( Node nquestionable in qlist ) PING(nquestionable ); if (nquestionable reply) then change state of nquestionable to GOOD; remove nquestionable from qlist and examine next node; else PING(nquestionable ); if (nquestionable replies) then set the state of nquestionable to GOOD; remove nquestionable from qlist and examine next node; else remove nquestionable from b and add to ngood; 35

36 EMULE KAD KAD: a DHT based on Kademlia a real production DHT very popular, since part of emule network supported by the emule client (starting from the version 0.40) more than 1.5 millions peers connected introduced to limit the disadvantages of the emule server-based network avoid bottlenecks (30 servers manage the 90% of the network) increase the anonymity of the publishers general characteristics of the KAD protocol a Kademlia-based implementation with several updates with respect to the original proposal to deploy it on a real network 36

37 KAD PUBBLISHING MECHANISM the publication of an entire file or of some parts of a file on the DHT implies a large traffic overhead on the network. for this reason, when a peer shares some content C stores C on the local storage support does not exploit the DHT to publish C or parts of C exploits the DHT for indexing keywords- source files source files- responsible peers this mechanism is called 2-level publishing model in this way, each peer stores a part of the index and this part includes references to some files shared by other users 37

38 2-LEVEL PUBLISHING MODEL an identifier, the KadID is assigned to each peer file keyword for each content (file): First Level Information: FileID: hash of the file Source: logical identifier of the peers (in the identifier space of the DHT) which has published the file FileID and stores it Second Level Information includes meta data Keyword: hash of a keyword identifying the content FileID: content hash of files identified by that keyword 38

39 KAD KEYWORD REQUEST search a file by some keywords look-up only with first keyword in list key is hash function on this keyword query is routed to peer with Kad ID closest to this hash value. 39

40 KAD KEYWORD REQUEST peer responsible for this keyword returns different sources (files identified by that keywords), together with keywords only those files with entries that include remaining keywords of request are returned 40

41 KAD SOURCE REQUEST Peer can use this hash to find peer responsible for the file possibly many peers share the same content (same hahs) 41

42 KAD SOURCE REQUEST Peer provides requester with a list of peers storing a copy of the file 42

43 KAD DOWNLOAD Eventually, the requester can download the data from these peers. 43

44 DIFFERENCES/ADDS ON TO KADEMLIA 2-level publishing method Kademlia k-buckets are modified the binary-tree structure defining the routing table is modified to allow different buckets to have different maximum limits introduces mechanisms to avoid peer overloading management of peers behind a firewall or a NAT firewall check buddy peers high replication of references: each reference R to F is stored on a set of peers of the DHT. This set of nodes defines the tolerance zone of R. 44

45 KAD: THE EMULE INTERFACE 45

46 KAD: THE EMULE INTERFACE On the left: list of contacts contained in the routing table. For each contact: an icon (different colors identify younger/older contacts) contact identifier contact up time (a numerical code corresponds to different up-times) client type (Emule version) distance 46

47 KAD: THE EMULE INTERFACE On the right bootstrap information a chart showing the distribution of the contacts in the routing table x-axis: identifier space y-axis: number of contacts in a specific range of identifiers grey bar: area including the maximum number of contacts the identifier of the node is close to the grey bar 47

48 KAD: THE EMULE INTERFACE For each active look-up, from the first column: search type (the icons have been shown in the preceding slides) target ID file/keyword name which are looked-up search state (active/stopped) stopped: a sufficient number of replies have been received so that the search can be stopped for the moment being 48

49 KAD: THE ACTIVE LOOKS -UP Load: popularity of a published keyword: Look at the sixth column: (only for keywords): in the first field average popularity returned by the searches, if larger than 20, the keyword is popular and is no more published. in the second field (two numbers in parenthesis) number of nodes which have sent a reply sum of the loads of these nodes sent/received packets: useful as statistical values 49

50 KAD: THE INTERFACE Another interface allows to visualize in real-time the active look-ups each circle is a node the downword nodes are close to the target ID an arrow from node A to node B means that A has given information to B the colours of the nodes correspond to the type of reply 50

51 KAD: THE ACTIVE LOOKS -UP 51

52 DHT: OTHER APPLICATIONS File sharing Torrent Mainline DHT KAD network NoSQL databases Amazon Dynamo Cassandra Distributed file systems GlusterFS Content Distribution Coral CDN 52

BitTorrent. Masood Khosroshahy. July Tech. Report. Copyright 2009 Masood Khosroshahy, All rights reserved.

BitTorrent. Masood Khosroshahy. July Tech. Report. Copyright 2009 Masood Khosroshahy, All rights reserved. BitTorrent Masood Khosroshahy July 2009 Tech. Report Copyright 2009 Masood Khosroshahy, All rights reserved. www.masoodkh.com Contents Contents 1 Basic Concepts 1 2 Mechanics 3 2.1 Protocols: Tracker and

More information

Department of Computer Science Institute for System Architecture, Chair for Computer Networks. File Sharing

Department of Computer Science Institute for System Architecture, Chair for Computer Networks. File Sharing Department of Computer Science Institute for System Architecture, Chair for Computer Networks File Sharing What is file sharing? File sharing is the practice of making files available for other users to

More information

Extreme Computing. BitTorrent and incentive-based overlay networks.

Extreme Computing. BitTorrent and incentive-based overlay networks. Extreme Computing BitTorrent and incentive-based overlay networks BitTorrent Today we will focus on BitTorrent The technology really has three aspects A standard that BitTorrent client systems follow Some

More information

DISTRIBUTED SYSTEMS CSCI 4963/ /4/2015

DISTRIBUTED SYSTEMS CSCI 4963/ /4/2015 1 DISTRIBUTED SYSTEMS CSCI 4963/6963 12/4/2015 2 Info Quiz 7 on Tuesday. Project 2 submission URL is posted on the web site Submit your source code and project report (PDF!!!) in a single zip file. If

More information

P2P content distribution

P2P content distribution P2P content distribution T-110.7100 Applications and Services in Internet, Fall 2010 Jukka K. Nurminen 1 V1-Filename.ppt / yyyy-mm-dd / Initials Steps of content sharing Share content Find content Transfer

More information

internet technologies and standards

internet technologies and standards Institute of Telecommunications Warsaw University of Technology 25 internet technologies and standards Piotr Gajowniczek Andrzej Bąk Michał Jarociński Internet application layer peer-to-peer systems overview

More information

Lecture 8: Application Layer P2P Applications and DHTs

Lecture 8: Application Layer P2P Applications and DHTs Lecture 8: Application Layer P2P Applications and DHTs COMP 332, Spring 2018 Victoria Manfredi Acknowledgements: materials adapted from Computer Networking: A Top Down Approach 7 th edition: 1996-2016,

More information

BitTorrent and CoolStreaming

BitTorrent and CoolStreaming BitTorrent and CoolStreaming Jukka K. Nurminen Data Communications Software (DCS) Lab, Department of Computer Science and Engineering, Aalto University Jukka K. Nurminen Aalto University P2P Networks BitTorrent

More information

Content Distribution and BitTorrent [Based on slides by Cosmin Arad]

Content Distribution and BitTorrent [Based on slides by Cosmin Arad] ID2210 - Distributed Computing, Peer-to-Peer and GRIDS Content Distribution and BitTorrent [Based on slides by Cosmin Arad] Today The problem of content distribution A popular solution: BitTorrent Underlying

More information

GNUnet Distributed Data Storage

GNUnet Distributed Data Storage GNUnet Distributed Data Storage DHT and Distance Vector Transport Nathan S. Evans 1 1 Technische Universität München Department of Computer Science Network Architectures and Services July, 24 2010 Overview

More information

Last Lecture SMTP. SUNY at Buffalo; CSE 489/589 Modern Networking Concepts; Fall 2010; Instructor: Hung Q. Ngo 1

Last Lecture SMTP. SUNY at Buffalo; CSE 489/589 Modern Networking Concepts; Fall 2010; Instructor: Hung Q. Ngo 1 Last Lecture SMTP SUNY at Buffalo; CSE 489/589 Modern Networking Concepts; Fall 2010; Instructor: Hung Q. Ngo 1 This Lecture Peer-to-Peer (P2P) Applications SUNY at Buffalo; CSE 489/589 Modern Networking

More information

Peer to Peer Networks

Peer to Peer Networks Sungkyunkwan University Peer to Peer Networks Prepared by T. Le-Duc and H. Choo Copyright 2000-2018 Networking Laboratory P2P Applications Traditional P2P applications: for file sharing BitTorrent, Emule

More information

P2P Applications. Reti di Elaboratori Corso di Laurea in Informatica Università degli Studi di Roma La Sapienza

P2P Applications. Reti di Elaboratori Corso di Laurea in Informatica Università degli Studi di Roma La Sapienza P2P Applications Reti di Elaboratori Corso di Laurea in Informatica Università degli Studi di Roma La Sapienza Versione originale delle slides fornita da Dora Spenza e Marco Barbera P2P Paradigm Late 80

More information

Peer to Peer Networks

Peer to Peer Networks Sungkyunkwan University Peer to Peer Networks Prepared by T. Le-Duc and H. Choo Copyright 2000-2017 Networking Laboratory Presentation Outline 2.1 Introduction 2.2 Client-Server Paradigm 2.3 Peer-To-Peer

More information

Taming the Flood: How I Learned to Stop Worrying and Love the Swarm Yogesh Vedpathak Cleversafe

Taming the Flood: How I Learned to Stop Worrying and Love the Swarm Yogesh Vedpathak Cleversafe Taming the Flood: How I Learned to Stop Worrying and Love the Swarm Yogesh Vedpathak Cleversafe Topics Popular data Creating broadcasting storage system Bittorrent protocol Creating swarms and destroying

More information

Cooperation in Open Distributed Systems. Stefan Schmid

Cooperation in Open Distributed Systems. Stefan Schmid Cooperation in Open Distributed Systems Stefan Schmid T-Labs, Berlin, July 2, 2009 Distributed Systems 2008/9 Wireless: Many mobile phones today have WLAN (and even Skype) P2P: Olympic games 2008 live-broadcast

More information

P2P content distribution Jukka K. Nurminen

P2P content distribution Jukka K. Nurminen P2P content distribution Jukka K. Nurminen 1 V1-Filename.ppt / yyyy-mm-dd / Initials BitTorrent content downloading Efficient content distribution Bram Cohen, 2001 File divided into pieces Each recipient

More information

12/5/16. Peer to Peer Systems. Peer-to-peer - definitions. Client-Server vs. Peer-to-peer. P2P use case file sharing. Topics

12/5/16. Peer to Peer Systems. Peer-to-peer - definitions. Client-Server vs. Peer-to-peer. P2P use case file sharing. Topics // Topics Peer to Peer Systems Introduction Client-server vs peer to peer Peer-to-peer networks Routing Overlays Structured vs unstructured Example PP Systems Skype login server Peer-to-peer - definitions

More information

CS 43: Computer Networks BitTorrent & Content Distribution. Kevin Webb Swarthmore College September 28, 2017

CS 43: Computer Networks BitTorrent & Content Distribution. Kevin Webb Swarthmore College September 28, 2017 CS 43: Computer Networks BitTorrent & Content Distribution Kevin Webb Swarthmore College September 28, 2017 Agenda BitTorrent Cooperative file transfers Briefly: Distributed Hash Tables Finding things

More information

Reti P2P per file distribution: BitTorrent

Reti P2P per file distribution: BitTorrent Reti P2P per file distribution: BitTorrent Corso di Applicazioni Telematiche A.A. 2008-09 Lezione n.22 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria P2p file-sharing

More information

Lecture 21 P2P. Napster. Centralized Index. Napster. Gnutella. Peer-to-Peer Model March 16, Overview:

Lecture 21 P2P. Napster. Centralized Index. Napster. Gnutella. Peer-to-Peer Model March 16, Overview: PP Lecture 1 Peer-to-Peer Model March 16, 005 Overview: centralized database: Napster query flooding: Gnutella intelligent query flooding: KaZaA swarming: BitTorrent unstructured overlay routing: Freenet

More information

Peer to Peer Systems and Probabilistic Protocols

Peer to Peer Systems and Probabilistic Protocols Distributed Systems 600.437 Peer to Peer Systems & Probabilistic Protocols Department of Computer Science The Johns Hopkins University 1 Peer to Peer Systems and Probabilistic Protocols Lecture 11 Good

More information

Overview Computer Networking Lecture 16: Delivering Content: Peer to Peer and CDNs Peter Steenkiste

Overview Computer Networking Lecture 16: Delivering Content: Peer to Peer and CDNs Peter Steenkiste Overview 5-44 5-44 Computer Networking 5-64 Lecture 6: Delivering Content: Peer to Peer and CDNs Peter Steenkiste Web Consistent hashing Peer-to-peer Motivation Architectures Discussion CDN Video Fall

More information

Introduction to P P Networks

Introduction to P P Networks Introduction to P P Networks B Sc Florian Adamsky florianadamsky@iemthmde http://florianadamskyit/ cbd Internet Protocols and Applications SS B Sc Florian Adamsky IPA / Outline Introduction What is P P?

More information

CS5412: TORRENTS AND TIT-FOR-TAT

CS5412: TORRENTS AND TIT-FOR-TAT 1 CS5412: TORRENTS AND TIT-FOR-TAT Lecture VII Ken Birman BitTorrent 2 Widely used download technology Implementations specialized for setting Some focus on P2P downloads, e.g. patches Others focus on

More information

Peer-to-Peer Systems and Distributed Hash Tables

Peer-to-Peer Systems and Distributed Hash Tables Peer-to-Peer Systems and Distributed Hash Tables CS 240: Computing Systems and Concurrency Lecture 8 Marco Canini Credits: Michael Freedman and Kyle Jamieson developed much of the original material. Selected

More information

CS 43: Computer Networks. 14: DHTs and CDNs October 3, 2018

CS 43: Computer Networks. 14: DHTs and CDNs October 3, 2018 CS 43: Computer Networks 14: DHTs and CDNs October 3, 2018 If Alice wants to stream Mad Men over a highspeed Internet connection her browser may choose a video rate A. in the range of Mbps. B. in the range

More information

Peer-to-Peer Applications Reading: 9.4

Peer-to-Peer Applications Reading: 9.4 Peer-to-Peer Applications Reading: 9.4 Acknowledgments: Lecture slides are from Computer networks course thought by Jennifer Rexford at Princeton University. When slides are obtained from other sources,

More information

CompSci 356: Computer Network Architectures Lecture 21: Overlay Networks Chap 9.4. Xiaowei Yang

CompSci 356: Computer Network Architectures Lecture 21: Overlay Networks Chap 9.4. Xiaowei Yang CompSci 356: Computer Network Architectures Lecture 21: Overlay Networks Chap 9.4 Xiaowei Yang xwy@cs.duke.edu Overview Problem Evolving solutions IP multicast Proxy caching Content distribution networks

More information

Lecture 17: Peer-to-Peer System and BitTorrent

Lecture 17: Peer-to-Peer System and BitTorrent CSCI-351 Data communication and Networks Lecture 17: Peer-to-Peer System and BitTorrent (I swear I only use it for Linux ISOs) The slide is built with the help of Prof. Alan Mislove, Christo Wilson, and

More information

P2P Applications. Reti di Elaboratori Corso di Laurea in Informatica Università degli Studi di Roma La Sapienza Canale A-L Prof.ssa Chiara Petrioli

P2P Applications. Reti di Elaboratori Corso di Laurea in Informatica Università degli Studi di Roma La Sapienza Canale A-L Prof.ssa Chiara Petrioli P2P Applications Reti di Elaboratori Corso di Laurea in Informatica Università degli Studi di Roma La Sapienza Canale A-L Prof.ssa Chiara Petrioli Server-based Network Peer-to-peer networks A type of network

More information

Kademlia: A P2P Informa2on System Based on the XOR Metric

Kademlia: A P2P Informa2on System Based on the XOR Metric Kademlia: A P2P Informa2on System Based on the XOR Metric Today! By Petar Mayamounkov and David Mazières, presented at IPTPS 22 Next! Paper presentation and discussion Image from http://www.vs.inf.ethz.ch/about/zeit.jpg

More information

BitTorrent. Internet Technologies and Applications

BitTorrent. Internet Technologies and Applications BitTorrent Internet Technologies and Applications Aims and Contents Aims Show benefits of P2P for file downloads Explain concepts of BitTorrent as a P2P file sharing application Show how BitTorrent protocol

More information

CSE 486/586 Distributed Systems Peer-to-Peer Architectures

CSE 486/586 Distributed Systems Peer-to-Peer Architectures CSE 486/586 Distributed Systems eer-to-eer Architectures Steve Ko Computer Sciences and Engineering University at Buffalo CSE 486/586 Last Time Gossiping Multicast Failure detection Today s Question How

More information

Peer-to-peer systems and overlay networks

Peer-to-peer systems and overlay networks Complex Adaptive Systems C.d.L. Informatica Università di Bologna Peer-to-peer systems and overlay networks Fabio Picconi Dipartimento di Scienze dell Informazione 1 Outline Introduction to P2P systems

More information

Distributed Systems. 17. Distributed Lookup. Paul Krzyzanowski. Rutgers University. Fall 2016

Distributed Systems. 17. Distributed Lookup. Paul Krzyzanowski. Rutgers University. Fall 2016 Distributed Systems 17. Distributed Lookup Paul Krzyzanowski Rutgers University Fall 2016 1 Distributed Lookup Look up (key, value) Cooperating set of nodes Ideally: No central coordinator Some nodes can

More information

Localhost: A browsable peer-to-peer file sharing system

Localhost: A browsable peer-to-peer file sharing system Localhost: A browsable peer-to-peer file sharing system Aaron Harwood and Thomas Jacobs December 17, 2005 Abstract Peer-to-peer (P2P) file sharing is increasing in use on the Internet. This thesis proposes

More information

Slides for Chapter 10: Peer-to-Peer Systems

Slides for Chapter 10: Peer-to-Peer Systems Slides for Chapter 10: Peer-to-Peer Systems From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, Addison-Wesley 2012 Overview of Chapter Introduction Napster

More information

Azureus Plugin for Facebook Integration

Azureus Plugin for Facebook Integration Azureus Plugin for Facebook Integration Mike House-Vording, 100300955 mhvordin@connect.carleton.ca 1. Introduction This project seeks to integrate two major trends currently taking place on the internet:

More information

Overlay networks. T o do. Overlay networks. P2P evolution DHTs in general, Chord and Kademlia. q q q. Turtles all the way down

Overlay networks. T o do. Overlay networks. P2P evolution DHTs in general, Chord and Kademlia. q q q. Turtles all the way down Overlay networks T o do q q q Overlay networks P2P evolution DHTs in general, Chord and Kademlia Turtles all the way down Overlay networks virtual networks Different applications with a wide range of needs

More information

Peer-to-Peer (P2P) Systems

Peer-to-Peer (P2P) Systems Peer-to-Peer (P2P) Systems What Does Peer-to-Peer Mean? A generic name for systems in which peers communicate directly and not through a server Characteristics: decentralized self-organizing distributed

More information

I Know Where You are and What You are Sharing

I Know Where You are and What You are Sharing I Know Where You are and What You are Sharing Exploiting P2P Communications to Invade Users Privacy Stevens Le Blond, Chao Zhang, Arnaud Legout, Keith Ross, Walid Babbous CS558 Presentation Natasa Ntagianta

More information

Distributed Hash Tables

Distributed Hash Tables KTH ROYAL INSTITUTE OF TECHNOLOGY Distributed Hash Tables Distributed Hash Tables Vladimir Vlassov Large scale data bases hundreds of servers High churn rate servers will come and go Benefits fault tolerant

More information

CSCI-1680 P2P Rodrigo Fonseca

CSCI-1680 P2P Rodrigo Fonseca CSCI-1680 P2P Rodrigo Fonseca Based partly on lecture notes by Ion Stoica, Sco5 Shenker, Joe Hellerstein Today Overlay networks and Peer-to-Peer Motivation Suppose you want to write a routing protocol

More information

Overview Computer Networking Lecture 17: Delivering Content Peer to Peer Examples Peter Steenkiste

Overview Computer Networking Lecture 17: Delivering Content Peer to Peer Examples Peter Steenkiste Overview 15-441 15-441 Computer Networking 15-641 Lecture 17: Delivering Content Peer to Peer Examples Peter Steenkiste Fall 2014 www.cs.cmu.edu/~prs/15-441-f14 Web Consistent hashing Peer-to-peer Motivation

More information

CS 3516: Advanced Computer Networks

CS 3516: Advanced Computer Networks Welcome to CS 3516: Advanced Computer Networks Prof. Yanhua Li Time: 9:00am 9:50am M, T, R, and F Location: Fuller 320 Fall 2017 A-term 1 Some slides are originally from the course materials of the textbook

More information

Middleware and Distributed Systems. Peer-to-Peer Systems. Peter Tröger

Middleware and Distributed Systems. Peer-to-Peer Systems. Peter Tröger Middleware and Distributed Systems Peer-to-Peer Systems Peter Tröger Peer-to-Peer Systems (P2P) Concept of a decentralized large-scale distributed system Large number of networked computers (peers) Each

More information

Today. Why might P2P be a win? What is a Peer-to-Peer (P2P) system? Peer-to-Peer Systems and Distributed Hash Tables

Today. Why might P2P be a win? What is a Peer-to-Peer (P2P) system? Peer-to-Peer Systems and Distributed Hash Tables Peer-to-Peer Systems and Distributed Hash Tables COS 418: Distributed Systems Lecture 7 Today 1. Peer-to-Peer Systems Napster, Gnutella, BitTorrent, challenges 2. Distributed Hash Tables 3. The Chord Lookup

More information

Improving P2P keyword search by combining.torrent metadata and user preference in a semantic overlay. Niels Zeilemaker

Improving P2P keyword search by combining.torrent metadata and user preference in a semantic overlay. Niels Zeilemaker Improving P2P keyword search by combining.torrent metadata and user preference in a semantic overlay Niels Zeilemaker Improving P2P keyword search by combining.torrent metadata and user preference in

More information

Tampering with Distributed Hash Tables

Tampering with Distributed Hash Tables Distributed Computing Tampering with Distributed Hash Tables Master s Thesis Michael Voser vosermi@student.ethz.ch Distributed Computing Group Computer Engineering and Networks Laboratory ETH Zürich Supervisors:

More information

Secure and Robust Overlay Content Distribution

Secure and Robust Overlay Content Distribution Secure and Robust Overlay Content Distribution A THESIS SUBMITTED TO THE FACULTY OF THE GRADUATE SCHOOL OF THE UNIVERSITY OF MINNESOTA BY Hun Jeong Kang IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE

More information

Overlay networks. To do. Overlay networks. P2P evolution DHTs in general, Chord and Kademlia. Turtles all the way down. q q q

Overlay networks. To do. Overlay networks. P2P evolution DHTs in general, Chord and Kademlia. Turtles all the way down. q q q Overlay networks To do q q q Overlay networks P2P evolution DHTs in general, Chord and Kademlia Turtles all the way down Overlay networks virtual networks Different applications with a wide range of needs

More information

Real-World Sybil Attacks in BitTorrent Mainline DHT

Real-World Sybil Attacks in BitTorrent Mainline DHT Real-World Attacks in BitTorrent Mainline DHT Liang Wang Dept. of Computer Science University of Helsinki Helsinki, Finland Jussi Kangasharju Helsinki Institute for Information Technology University of

More information

CS 640 Introduction to Computer Networks. Today s lecture. What is P2P? Lecture30. Peer to peer applications

CS 640 Introduction to Computer Networks. Today s lecture. What is P2P? Lecture30. Peer to peer applications Introduction to Computer Networks Lecture30 Today s lecture Peer to peer applications Napster Gnutella KaZaA Chord What is P2P? Significant autonomy from central servers Exploits resources at the edges

More information

PEER-TO-PEER NETWORKS, DHTS, AND CHORD

PEER-TO-PEER NETWORKS, DHTS, AND CHORD PEER-TO-PEER NETWORKS, DHTS, AND CHORD George Porter May 25, 2018 ATTRIBUTION These slides are released under an Attribution-NonCommercial-ShareAlike 3.0 Unported (CC BY-NC-SA 3.0) Creative Commons license

More information

DISTRIBUTED COMPUTER SYSTEMS ARCHITECTURES

DISTRIBUTED COMPUTER SYSTEMS ARCHITECTURES DISTRIBUTED COMPUTER SYSTEMS ARCHITECTURES Dr. Jack Lange Computer Science Department University of Pittsburgh Fall 2015 Outline System Architectural Design Issues Centralized Architectures Application

More information

08 Distributed Hash Tables

08 Distributed Hash Tables 08 Distributed Hash Tables 2/59 Chord Lookup Algorithm Properties Interface: lookup(key) IP address Efficient: O(log N) messages per lookup N is the total number of servers Scalable: O(log N) state per

More information

R/Kademlia: Recursive and Topology-aware Overlay Routing

R/Kademlia: Recursive and Topology-aware Overlay Routing R/Kademlia: Recursive and Topology-aware Overlay Routing Bernhard Heep ATNAC 2010, Auckland, New Zealand, 11/02/2010, KIT University of the State of Baden-Wuerttemberg and National Research Center of the

More information

CTracker: a Distributed BitTorrent Tracker Based on Chimera

CTracker: a Distributed BitTorrent Tracker Based on Chimera CTracker: a Distributed BitTorrent Tracker Based on Chimera Raúl JIMÉNEZ, Björn KNUTSSON Kungliga Tekniska högskolan, Isafjordsgatan 39, Stockholm, 164 40, Sweden Tel: +46 8 790 42 85, Fax: +46 8 751 17

More information

Introduction to P2P Computing

Introduction to P2P Computing Introduction to P2P Computing Nicola Dragoni Embedded Systems Engineering DTU Compute 1. Introduction A. Peer-to-Peer vs. Client/Server B. Overlay Networks 2. Common Topologies 3. Data Location 4. Gnutella

More information

LECT-01, S-1 IAD99S, Javed I.

LECT-01, S-1 IAD99S, Javed I. A Course on Foundations of Peer-to-Peer Systems & Applications LECT-01, S-1 CS 6/75995 Foundation of Peer-to-Peer Applications & Systems Kent State University Dept. of Computer Science www.cs.kent.edu/~javed/class-p2p08/

More information

Overlay and P2P Networks. Applications. Prof. Sasu Tarkoma and

Overlay and P2P Networks. Applications. Prof. Sasu Tarkoma and Overlay and P2P Networks Applications Prof. Sasu Tarkoma 10.2.2015 and 12.2.2015 Contents Monday 9.2. Applications I BitTorrent Mainline DHT Scribe and PAST Thursday 12.2. Applications II P2PSIP Internet

More information

P2P. 1 Introduction. 2 Napster. Alex S. 2.1 Client/Server. 2.2 Problems

P2P. 1 Introduction. 2 Napster. Alex S. 2.1 Client/Server. 2.2 Problems P2P Alex S. 1 Introduction The systems we will examine are known as Peer-To-Peer, or P2P systems, meaning that in the network, the primary mode of communication is between equally capable peers. Basically

More information

Latest Peer-to-Peer Technologies II Artjom Lind 1

Latest Peer-to-Peer Technologies II Artjom Lind 1 Latest Peer-to-Peer Technologies II 25.11.2009 Artjom Lind 1 Outline Last presentation Intro Peer-to-Peer SIP TCP Traversal Conclusions 25.11.2009 Artjom Lind 2 Last Presentation P2P Systems Structured

More information

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY A PATH FOR HORIZING YOUR INNOVATIVE WORK PEER-TO-PEER FILE SHARING WITH THE BITTORRENT PROTOCOL APURWA D. PALIWAL 1, PROF.

More information

15-744: Computer Networking P2P/DHT

15-744: Computer Networking P2P/DHT 15-744: Computer Networking P2P/DHT Overview P2P Lookup Overview Centralized/Flooded Lookups Routed Lookups Chord Comparison of DHTs 2 Peer-to-Peer Networks Typically each member stores/provides access

More information

Introduction to Peer-to-Peer Systems

Introduction to Peer-to-Peer Systems Introduction Introduction to Peer-to-Peer Systems Peer-to-peer (PP) systems have become extremely popular and contribute to vast amounts of Internet traffic PP basic definition: A PP system is a distributed

More information

Game Theory. Presented by Hakim Weatherspoon

Game Theory. Presented by Hakim Weatherspoon Game Theory Presented by Hakim Weatherspoon Game Theory Main Question: Can we cheat (and get away with it)? BitTorrent P2P file distribution tool designed with incentives for contribution Users contribute

More information

Peer-to-Peer Internet Applications: A Review

Peer-to-Peer Internet Applications: A Review Peer-to-Peer Internet Applications: A Review Davide Quaglia 01/14/10 Introduction Key points Lookup task Outline Centralized (Napster) Query flooding (Gnutella) Distributed Hash Table (Chord) Simulation

More information

TinyTorrent: Implementing a Kademlia Based DHT for File Sharing

TinyTorrent: Implementing a Kademlia Based DHT for File Sharing 1 TinyTorrent: Implementing a Kademlia Based DHT for File Sharing A CS244B Project Report By Sierra Kaplan-Nelson, Jestin Ma, Jake Rachleff {sierrakn, jestinm, jakerach}@cs.stanford.edu Abstract We implemented

More information

Distributed Systems. peer-to-peer Johan Montelius ID2201. Distributed Systems ID2201

Distributed Systems. peer-to-peer Johan Montelius ID2201. Distributed Systems ID2201 Distributed Systems ID2201 peer-to-peer Johan Montelius 1 Idéa use resources in edge of network computing storage communication 2 Computing 3 seti@home central server millions of clients hundred of thousands

More information

Traffic Localization for DHT-based BitTorrent networks

Traffic Localization for DHT-based BitTorrent networks Traffic Localization for DHT-based BitTorrent networks Matteo Varvello and Moritz Steiner Bell Labs, Alcatel-Lucent, USA {matteo.varvello,moritz.steiner}@alcatel-lucent.com Abstract. BitTorrent is currently

More information

Unit 8 Peer-to-Peer Networking

Unit 8 Peer-to-Peer Networking Unit 8 Peer-to-Peer Networking P2P Systems Use the vast resources of machines at the edge of the Internet to build a network that allows resource sharing without any central authority. Client/Server System

More information

BitTorrent s Mainline DHT Security Assessment

BitTorrent s Mainline DHT Security Assessment BitTorrent s Mainline DHT Security Assessment Juan Pablo Timpanaro, Thibault Cholez, Isabelle Chrisment, Olivier Festor To cite this version: Juan Pablo Timpanaro, Thibault Cholez, Isabelle Chrisment,

More information

Scalable overlay Networks

Scalable overlay Networks overlay Networks Dr. Samu Varjonen 1 Contents Course overview Lectures Assignments/Exercises 2 Course Overview Overlay networks and peer-to-peer technologies have become key components for building large

More information

CSCI 466 Midterm Networks Fall 2013

CSCI 466 Midterm Networks Fall 2013 CSCI 466 Midterm Networks Fall 2013 Name: This exam consists of 6 problems on the following 7 pages. You may use your single-sided hand-written 8 ½ x 11 note sheet and a calculator during the exam. No

More information

Motivation for peer-to-peer

Motivation for peer-to-peer Peer-to-peer systems INF 5040 autumn 2015 lecturer: Roman Vitenberg INF5040, Frank Eliassen & Roman Vitenberg 1 Motivation for peer-to-peer Ø Inherent restrictions of the standard client/ server model

More information

CS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University CS 555: DISTRIBUTED SYSTEMS [P2P SYSTEMS] Shrideep Pallickara Computer Science Colorado State University Frequently asked questions from the previous class survey Byzantine failures vs malicious nodes

More information

Peer-to-Peer Architectures and Signaling. Agenda

Peer-to-Peer Architectures and Signaling. Agenda Peer-to-Peer Architectures and Signaling Juuso Lehtinen Juuso@netlab.hut.fi Slides based on presentation by Marcin Matuszewski in 2005 Introduction P2P architectures Skype Mobile P2P Summary Agenda 1 Introduction

More information

3.2 COMMUNICATION AND INTERNET TECHNOLOGIES

3.2 COMMUNICATION AND INTERNET TECHNOLOGIES 3.2 COMMUNICATION AND INTERNET TECHNOLOGIES 3.2.1 PROTOCOLS PROTOCOL Protocol a set of rules governing the way that devices communicate with each other. With networks and the Internet, we need to allow

More information

Peer-to-Peer Systems. Network Science: Introduction. P2P History: P2P History: 1999 today

Peer-to-Peer Systems. Network Science: Introduction. P2P History: P2P History: 1999 today Network Science: Peer-to-Peer Systems Ozalp Babaoglu Dipartimento di Informatica Scienza e Ingegneria Università di Bologna www.cs.unibo.it/babaoglu/ Introduction Peer-to-peer (PP) systems have become

More information

Distributed Data Management. Christoph Lofi Institut für Informationssysteme Technische Universität Braunschweig

Distributed Data Management. Christoph Lofi Institut für Informationssysteme Technische Universität Braunschweig Distributed Data Management Christoph Lofi Institut für Informationssysteme Technische Universität Braunschweig http://www.ifis.cs.tu-bs.de 8.0 Content Provisioning 8.0 Content Distribution 8.1 Swarming

More information

Distributed Systems. 16. Distributed Lookup. Paul Krzyzanowski. Rutgers University. Fall 2017

Distributed Systems. 16. Distributed Lookup. Paul Krzyzanowski. Rutgers University. Fall 2017 Distributed Systems 16. Distributed Lookup Paul Krzyzanowski Rutgers University Fall 2017 1 Distributed Lookup Look up (key, value) Cooperating set of nodes Ideally: No central coordinator Some nodes can

More information

Peer-to-Peer and Overlay Networks

Peer-to-Peer and Overlay Networks The emule 1 ricardo.pereira@inesc-id.pt IST 17-9-2014 1 Images from The emule Specification, Yoram Kulbak and Danny Bickson 1 High level Granularity 2 3 Queue management Part selection emule High level

More information

Computer Networks - Midterm

Computer Networks - Midterm Computer Networks - Midterm October 30, 2015 Duration: 2h15m This is a closed-book exam Please write your answers on these sheets in a readable way, in English or in French You can use extra sheets if

More information

Lecture 6: Overlay Networks. CS 598: Advanced Internetworking Matthew Caesar February 15, 2011

Lecture 6: Overlay Networks. CS 598: Advanced Internetworking Matthew Caesar February 15, 2011 Lecture 6: Overlay Networks CS 598: Advanced Internetworking Matthew Caesar February 15, 2011 1 Overlay networks: Motivations Protocol changes in the network happen very slowly Why? Internet is shared

More information

Peer-to-Peer Networks

Peer-to-Peer Networks Peer-to-Peer Networks 14-740: Fundamentals of Computer Networks Bill Nace Material from Computer Networking: A Top Down Approach, 6 th edition. J.F. Kurose and K.W. Ross Administrivia Quiz #1 is next week

More information

Network Coordinates in the Wild

Network Coordinates in the Wild Network Coordinates in the Wild Jonathan Ledlie Margo Seltzer Paul Gardner Harvard University Aelitis / Azureus Hourglass Project http://www.eecs.harvard.edu/~syrah/hourglass Jonathan Ledlie - Harvard

More information

On Unstructured Distributed Search over BitTorrent

On Unstructured Distributed Search over BitTorrent On Unstructured Distributed Search over BitTorrent William Mayor University College London Gower Street, London, UK w.mayor@ucl.ac.uk Ingemar Cox University College London Gower Street, London, UK i.cox@ucl.ac.uk

More information

LIBSWIFT P2P PROTOCOL: AN ANALYSIS AND EXTENSION

LIBSWIFT P2P PROTOCOL: AN ANALYSIS AND EXTENSION Master Thesis - TRITA-ICT-EX-2012-262 LIBSWIFT P2P PROTOCOL: AN ANALYSIS AND EXTENSION Fu Tang Design and Implementation of ICT products and systems Royal Institute of Technology (KTH) fut@kth.se October

More information

Efficient DHT attack mitigation through peers ID distribution

Efficient DHT attack mitigation through peers ID distribution Efficient DHT attack mitigation through peers ID distribution Thibault Cholez, Isabelle Chrisment and Olivier Festor {thibault.cholez, isabelle.chrisment, olivier.festor}@loria.fr LORIA - Campus Scientifique

More information

A Survey of Peer-to-Peer Content Distribution Technologies

A Survey of Peer-to-Peer Content Distribution Technologies A Survey of Peer-to-Peer Content Distribution Technologies Stephanos Androutsellis-Theotokis and Diomidis Spinellis ACM Computing Surveys, December 2004 Presenter: Seung-hwan Baek Ja-eun Choi Outline Overview

More information

CMSC 332 Computer Networks P2P and Sockets

CMSC 332 Computer Networks P2P and Sockets CMSC 332 Computer Networks P2P and Sockets Professor Szajda Announcements Programming Assignment 1 is due Thursday Where are we? What sorts of problems are we having? 2 Recap SMTP is the language that

More information

Scalable overlay Networks

Scalable overlay Networks overlay Networks Dr. Samu Varjonen 1 Lectures MO 15.01. C122 Introduction. Exercises. Motivation. TH 18.01. DK117 Unstructured networks I MO 22.01. C122 Unstructured networks II TH 25.01. DK117 Bittorrent

More information

When KAD meets BitTorrent - Building a Stronger P2P Network

When KAD meets BitTorrent - Building a Stronger P2P Network Author manuscript, published in "HotP2P 2011 (2011)" When KAD meets BitTorrent - Building a Stronger P2P Network Juan Pablo Timpanaro, Thibault Cholez, Isabelle Chrisment*, Olivier Festor INRIA Nancy-Grand

More information

416 Distributed Systems. Mar 3, Peer-to-Peer Part 2

416 Distributed Systems. Mar 3, Peer-to-Peer Part 2 416 Distributed Systems Mar 3, Peer-to-Peer Part 2 Scaling Problem Millions of clients server and network meltdown 2 P2P System Leverage the resources of client machines (peers) Traditional: Computation,

More information

Distributed System Laboratory. Analysis and Efficient Classification of P2P File Sharing Traffic

Distributed System Laboratory. Analysis and Efficient Classification of P2P File Sharing Traffic Technical Report KN 2010 DiSy 02 Distributed System Laboratory Analysis and Efficient Classification of P2P File Sharing Traffic Thomas Zink Marcel Waldvogel Distributed Systems Laboratory Department of

More information

Distributed Hash Tables

Distributed Hash Tables Distributed Hash Tables CS6450: Distributed Systems Lecture 11 Ryan Stutsman Material taken/derived from Princeton COS-418 materials created by Michael Freedman and Kyle Jamieson at Princeton University.

More information

inria , version 1-6 Sep 2006

inria , version 1-6 Sep 2006 Rarest First and Choke Algorithms Are Enough Arnaud Legout I.N.R.I.A. Sophia Antipolis France arnaud.legout@sophia.inria.fr G. Urvoy-Keller and P. Michiardi Institut Eurecom Sophia Antipolis France {Guillaume.Urvoy,Pietro.Michiardi}@eurecom.fr

More information

Overlay and P2P Networks. Introduction. Prof. Sasu Tarkoma

Overlay and P2P Networks. Introduction. Prof. Sasu Tarkoma Overlay and P2P Networks Introduction Prof. Sasu Tarkoma 13.1.2014 Contents Course Overview Lectures Assignments/Exercises Course Overview Overlay networks and peer-to-peer technologies have become key

More information