59
Evolution of P2P file sharing Dmitri Moltchanov Department of Communications Engineering Tampere University of Technology [email protected] September 10, 2014 Based on slides provided by R. Dunaytsev http://utopia.duth.gr/rdunayts/

Evolution of P2P file sharing · Evolution of P2P le sharing Dmitri Moltchanov Department of Communications Engineering Tampere University of Technology [email protected] September

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Evolution of P2P file sharing

Dmitri Moltchanov

Department of Communications EngineeringTampere University of Technology

[email protected]

September 10, 2014

Based on slides provided by R. Dunaytsev http://utopia.duth.gr/rdunayts/

Outline

1 ARPANET

2 Usenet

3 World Wide Web

4 Napster

5 GnutellaGnutella version 0.4Gnutella version 0.6Gnutella2

6 FastTrack

7 eDonkey2000

8 BitTorrent

9 Learning outcomes

Dmitri Moltchanov (TUT) ELT-53206, Lecture 3 September 10, 2014 2 / 59

Outline

1 ARPANET

2 Usenet

3 World Wide Web

4 Napster

5 GnutellaGnutella version 0.4Gnutella version 0.6Gnutella2

6 FastTrack

7 eDonkey2000

8 BitTorrent

9 Learning outcomes

Dmitri Moltchanov (TUT) ELT-53206, Lecture 3 September 10, 2014 3 / 59

ARPANET

The goal of the original ARPANET :share computing resources around the USA

Initially, the ARPANET: 4 independent hosts with equal status:Stanford Research Institute (SRI)University of UtahUniversity of California, Los Angeles (UCLA)University of California, Santa Barbara (UCSB)

Dmitri Moltchanov (TUT) ELT-53206, Lecture 3 September 10, 2014 4 / 59

ARPANET: some observations

Observations from the early years:

The early Internet client/server applications

telnet: log-in and use resources of a remote compute serverFTP: send and receive files from a file server

However, notice the following

the whole usage pattern is symmetricevery host could connect to any other hostservers acted as clients as well

What’s important to remember:

the Internet started as a P2P system

later on, it has become more restricted to client/server

Dmitri Moltchanov (TUT) ELT-53206, Lecture 3 September 10, 2014 5 / 59

Outline

1 ARPANET

2 Usenet

3 World Wide Web

4 Napster

5 GnutellaGnutella version 0.4Gnutella version 0.6Gnutella2

6 FastTrack

7 eDonkey2000

8 BitTorrent

9 Learning outcomes

Dmitri Moltchanov (TUT) ELT-53206, Lecture 3 September 10, 2014 6 / 59

Usenet: basic info

What is that?

Usenet (USEr + NETwork): a system for distributing messagesmessages are posted to newsgroupsany user can access the messages, read, and respond to them

Developing and goals:

T. Truscott and J. Ellis, U. of North Carolina, Duke University, 1979goal: use Unix to write and read networked messages

Notice the key differences:

vs. Web forums: no central server, nor central system ownervs. e-mail: Usenet is for public distribution

Dmitri Moltchanov (TUT) ELT-53206, Lecture 3 September 10, 2014 7 / 59

Usenet: basic operations

Usenet communication consists of 4 basic steps :

1 Article composition: a user creates a Usenet article2 Posting: the user submits the article to a local Usenet server3 Propagation: transferring to remote Usenet servers4 Article access: reading the article

Local server

Local server

Usenet backbone peers

Poster Reader

Client Client

P2Pclient / server

interactionclient / server

interactionclient / server

interactionclient / server

interaction

Dmitri Moltchanov (TUT) ELT-53206, Lecture 3 September 10, 2014 8 / 59

Usenet: networking

Originally: messages over P2P network known as UUCPnet

Later on: some nodes are better connected – the Usenet backbone

How it works nowadays:

backbone servers collect articles from local onestransfer to other backbone servers in P2P fashiondistribute among other local servers

However, Usenet itself:

typical client/server APPsimple clientsmore powerful servers

Usenet: client/server and P2P are not mutually exclusive

Dmitri Moltchanov (TUT) ELT-53206, Lecture 3 September 10, 2014 9 / 59

Outline

1 ARPANET

2 Usenet

3 World Wide Web

4 Napster

5 GnutellaGnutella version 0.4Gnutella version 0.6Gnutella2

6 FastTrack

7 eDonkey2000

8 BitTorrent

9 Learning outcomes

Dmitri Moltchanov (TUT) ELT-53206, Lecture 3 September 10, 2014 10 / 59

WWW: basic facts

Historic notes:

06.08.91, summary of the WWW project was posted on Usenetconsidered as the debut of the WWWgroups.google.com/group/alt.hypertext/msg/395f282a67a1916c

How it happened?

The driving force: disseminate information easily for everyoneResult: a wave of ordinary people began to use the Internet

Note: WWW is based on the client/server model using HTTP

Important consequences of WWW:

Internet became a mass media!!!up to WWW: equal sharing of information over the Internetafter WWW: the downstream paradigm, like TV and newspapers

Dmitri Moltchanov (TUT) ELT-53206, Lecture 3 September 10, 2014 11 / 59

WWW: implications

WWW drastically affected the Internet

the way we think about itmore importantly, technologies

WWW technological implications

asymmetric accessfirewallsnetwork address translators (partially)dynamic IP (partially).

Result: the network is well-suited for WWW or similar service.

Dmitri Moltchanov (TUT) ELT-53206, Lecture 3 September 10, 2014 12 / 59

WWW: bandwidth asymmetry

Bandwidth asymmetry

more downlink (server to client) than uplink (client to server)affected access technologies...

Example: ADSL2+ (ITU G.992.5, 2003):

downstream rate = 24 Mbit/supstream rate = 1 Mbit/s

Asymmetric access: places severe limitations

symmetric service became almost ”prohibited”bidirectional traffic: TCP performance degradationfor more information, see RFC 3449

Client

Downlink

UplinkServer

Dmitri Moltchanov (TUT) ELT-53206, Lecture 3 September 10, 2014 13 / 59

WWW: the need for firewalls

The early days of the Internet:any host can access any other hostno harm done: pro were using them

WWW made the Internet a public place:the need to secure the network protecting hosts from unlimited accessfirewalls is a tool to control access to subnetworks networks and hosts

What Firewalls do:stand in-between the internal network and the Internet outsidechoose which traffic to let through and which to deny

Early Internet These days

Dmitri Moltchanov (TUT) ELT-53206, Lecture 3 September 10, 2014 14 / 59

WWW: features of firewalls

A typical firewall do the following:

allows outgoing connections to any external hostprevents incoming connections from some/all external hosts

A host protected in this way cannot easily function as server

Outgoing connections may be restricted to certain applications

we block traffic to certain ports at the firewalle.g., only HTTP (ports 80 and 8080) and FTP (ports 20 and 21)

Dmitri Moltchanov (TUT) ELT-53206, Lecture 3 September 10, 2014 15 / 59

WWW: additional implications

IP address assignment:

the early days: static assignmentafter WWW ( DHCP ): dynamic due to too many usersresult: many hosts on the Internet are not easily reachable

Usage of Network Address Translation (NAT)

allows the use private IP addresses within a local networkresult: not only the host address is dynamic, it is not even visible!

Consequence: huge problems for something different than WWW

Dmitri Moltchanov (TUT) ELT-53206, Lecture 3 September 10, 2014 16 / 59

Outline

1 ARPANET

2 Usenet

3 World Wide Web

4 Napster

5 GnutellaGnutella version 0.4Gnutella version 0.6Gnutella2

6 FastTrack

7 eDonkey2000

8 BitTorrent

9 Learning outcomes

Dmitri Moltchanov (TUT) ELT-53206, Lecture 3 September 10, 2014 17 / 59

Napster: shifting back to P2P

Some important notes:the driving force: frustration...digital music files were not easy to find back thenno intentions to make historycreative way of thinking in WWW era

Developer: Shawn Fanning, 18-year-old student, 1999

Functionality: share mp3 files

A year later, in 2000, Napster had 20 million users

Dmitri Moltchanov (TUT) ELT-53206, Lecture 3 September 10, 2014 18 / 59

Napster: basic functionality

Napster is a hybrid P2P system:

peers (Napster clients) and a central serversearching via central index containing location of all shared filesthe actual file transfer occurs between peers

quer

y / r

eply

Server

mp3 downloadPeer

P2P

client / server interaction

Peer

query / reply

Dmitri Moltchanov (TUT) ELT-53206, Lecture 3 September 10, 2014 19 / 59

Napster: logic

Napster worked as follows:1 after log-in: list of shared files sent to Napster server2 server maintains an index of files of users who are currently on-line3 index is automatically updated when users log-on and log-off4 searching for content

a client sends the query to the serverquery: pattern for search in filenamesreply: names of files, IP addresses and port numbers

5 a user decides from which peer to download the files6 file download is performed directly between the peers

Napster ran on top of TCP for client/server and P2P communications

Dmitri Moltchanov (TUT) ELT-53206, Lecture 3 September 10, 2014 20 / 59

Napster: parsed server response

Dmitri Moltchanov (TUT) ELT-53206, Lecture 3 September 10, 2014 21 / 59

Napster: solving firewalls

Normal operation:

downloader: sends a DOWNLOAD REQUEST to the serverserver: answers with a DOWNLOAD ACK: IP address+port:downloader establish TCP connection with uploadermay fail due to uploader behind firewall

If the uploader is behind firewall:

can be explicitly indicated by a usercan be understood by a serverport 0 is indicated in DOWNLOAD ACK

When the uploader is behind firewall

downloader: sends a DOWNLOAD REQUEST to the serverserver: answers with a DOWNLOAD ACK: IP address+port 0:downloader: ALTERNATE DOWNLOAD REQUEST to the serverserver: ALTERNATE DOWNLOAD ACK to the uploaderuploader establish TCP connection to the downloader.

Dmitri Moltchanov (TUT) ELT-53206, Lecture 3 September 10, 2014 22 / 59

Napster: some facts

Napster focused exclusively on mp3-encoded music files

Only one client implementation, called Napster in 1999

Windows only for one yearin 2000 Black Hole Media: Macintosh client called MacsterMacster was later used by Napster as the Napster client for Mac

The Napster protocol is a closed-source protocol

i.e., no one knows for sure how searching and transfer is done

How do we know details?

Reverse engineeringProject OpenNap: opennap.sourceforge.net

Dmitri Moltchanov (TUT) ELT-53206, Lecture 3 September 10, 2014 23 / 59

Napster: shutting it down

The reason for Napster’s failure was not technical, but legal:

20 millions of user in 2000Recording Industry Association of America (RIAA)

ban the exchange of copyrighted material and/orshut down the network

Napster deployed various filters in 2000Napster was forced to shut down in 2001

A bit more2002: Napster’s brand and logos were purchased by Roxio

online music service as Napster 2.0

2008: Napster, Inc. was purchased by Best Buy

music.napster.com/napsterhomemain.htm

Dmitri Moltchanov (TUT) ELT-53206, Lecture 3 September 10, 2014 24 / 59

Napster: shortcomings

The most important are:Scalability: reason - central index

one server was still sufficient for 20Mwhat’s about 960M ‘(like Facebook now)?

Reliability: reason - central index

vulnerable to DoS attacksvulnerable to legal prosecution

Security: encryption/description

authenticity of mp3 files was based on file names onlynot fully encrypted (like Skype now)

all these are easy to solve though...

Dmitri Moltchanov (TUT) ELT-53206, Lecture 3 September 10, 2014 25 / 59

Napster: summary

Developer(s) – Shawn Fanning

Launched – 1999

Protocol – proprietary

Clients – proprietary (Napster)

Architecture – hybrid P2P

Search facility – central server/central index

Shared content – mp3 only

Dmitri Moltchanov (TUT) ELT-53206, Lecture 3 September 10, 2014 26 / 59

Outline

1 ARPANET

2 Usenet

3 World Wide Web

4 Napster

5 GnutellaGnutella version 0.4Gnutella version 0.6Gnutella2

6 FastTrack

7 eDonkey2000

8 BitTorrent

9 Learning outcomes

Dmitri Moltchanov (TUT) ELT-53206, Lecture 3 September 10, 2014 27 / 59

Gnutella v0.4

Aims of Gnutellasharing all types of filesP2P system without any central point of controldecentralized and autonomous, robust and hard to shut downthe latter one was extremely important

Important facts:

developed by J. Frankel and T. Pepper, employees of Nullsoft, in 2000source code and protocol specification are both openmore than 20 clients from different vendors

Decentralized systems: search strategy is a critical part!

Dmitri Moltchanov (TUT) ELT-53206, Lecture 3 September 10, 2014 28 / 59

Gnutella v0.4: search strategy

Simple and similar to the strategy used by humansif you want a particular thing, you ask one of your friends nearbyif he/she does not have it, he can ask his friendsthis request is conveyed furthera person having this thing is foundthe information about that person is routed to you

In this query flooding we have to ensure that:

everyone is eager to helpthe thing you’re looking for actually existssource routing is possible

Dmitri Moltchanov (TUT) ELT-53206, Lecture 3 September 10, 2014 29 / 59

Gnutella v0.4: Query propagation

TTL = 7

TTL = 6

TTL = 5

TTL = 4

TTL = 3

TTL = 2

TTL = 1

Query?

QueryHit!

Dmitri Moltchanov (TUT) ELT-53206, Lecture 3 September 10, 2014 30 / 59

Gnutella v0.4: controlled flooding

What we need to ensure

flooding zone is somehow limited (TTL)nodes do not sent the same Query multiple times (???)

Rules to avoid redundant replications:

facility: 128-bit ID associated with each Query, Ping, QueryHit messageall relaying nodes must remember itif exactly this is received again, it is not forwarded

Additional rules/needs

forwarding messages to all neighbors except for the sendersource routing: Pong, QueryHit, Push take reverse pathsdecrementing TTL to avoid overflooding

Dmitri Moltchanov (TUT) ELT-53206, Lecture 3 September 10, 2014 31 / 59

Gnutella v0.4: messages

Gnutella v0.4 uses the following messages:

Ping: used to discover peers on the network

a peer receiving Ping is expected to respond with a Pongincludes: IP address and port number

Pong: the response to a Ping message

includes: IP address and port numberincludes: number of files and Kb of data that it shares

Query: used to search files on the network

contains the search queryresponded with QueryHit if a match is found locally

QueryHit: the response to a Query descriptor

contains data to establish a connectionrouted back to the searching node.

Dmitri Moltchanov (TUT) ELT-53206, Lecture 3 September 10, 2014 32 / 59

Gnutella v0.4: solving the firewalls

Recall: a node behind a firewall

may not be able to receive incoming connectionsmay still be able to establish outgoing ones

Push message: the response to a QueryHit

response to QueryHit messagewhen the originator of QueryHit does not support connections

Peers proceed as follows:

Query (P1) - QueryHit (P2) exchangenormal operation: TCP Syn (P1) to P2avoiding firewall at P2: Push (P1) to P2TCP Syn (P2) to P1TCP Data (P2) to P1

Dmitri Moltchanov (TUT) ELT-53206, Lecture 3 September 10, 2014 33 / 59

Gnutella v0.4: download via HTTP

The Gnutella protocol just facilitates the search and find capabilities

The file download protocol is based on HTTP (on top of TCP)

PingPing

Pin

gP

ing

Pong

Ping / Pong routing Query / QueryHit routing Push routing

Query

Qu

ery

Qu

ery

Hit

Hit

Hit

Push

Download (HTTP)

Download (HTTP)

Pu

sh

Pu

sh

Dmitri Moltchanov (TUT) ELT-53206, Lecture 3 September 10, 2014 34 / 59

Gnutella v0.4: performance issues

Performance and scalability concerns of Gnutella v0.4:

Peers with low-speed connections

these peers are usually scattered all over the networkget overloaded with queries until they become unavailableresult: the network is highly fragmented

Signaling traffic

ping/pong takes too muchprevents delivery of the other important messages

Dmitri Moltchanov (TUT) ELT-53206, Lecture 3 September 10, 2014 35 / 59

Gnutella v0.4: performance issues

TR-2001-26: ”Peer-to-peer architecture case study: Gnutellanetwork”

Gnutella traffic (in bytes) by message types, November 2000:

Query messages (i.e., user-generated traffic) ≈ 35%Ping/Pong messages (i.e., overhead traffic) ≈ 55%

Dmitri Moltchanov (TUT) ELT-53206, Lecture 3 September 10, 2014 36 / 59

Gnutella v0.4: summary

Developer(s) – Justin Frankel and Tom Pepper

Launched – 2000

Protocol – open source

Clients – freeware and proprietary (Gnotella, Mactella, XoloX, . . . )

Architecture – pure P2P

Search facility – query flooding

Shared content – any

Dmitri Moltchanov (TUT) ELT-53206, Lecture 3 September 10, 2014 37 / 59

Gnutella v0.6

The biggest concern in v0.4 is the overhead

Gnutella v0.6 in 2001 addressed some of them

What was the idea?

ultrapeers and normal peersin fact, a hierarchial topologyultrapeers store info about connected leafsinfo: files they share + IP addresses + ports

TR-2001-26 ”Peer-to-peer architecture case study: Gnutella network”

Gnutella traffic (in bytes) by descriptor types, June 2001:

query messages (i.e., user-generated traffic) ≈ 92%ping/pong messages (i.e., overhead traffic) ≈ 8%compare with the previous slide

Dmitri Moltchanov (TUT) ELT-53206, Lecture 3 September 10, 2014 38 / 59

Gnutella v0.6: leafs and ultrapeer functionalities

2 modes of Gnutella v0.6 peers :

LeafUltrapeer

Functionalities:

a peer can switch to/from ultrapeer modea peer cannot be in both modes at the same timeleafs maintain only a single connection to a ultrapeeran ultrapeer maintain 10-100 connections with leafsan ultrapeer maintain ∼10 connections with leafs

How leafs info is used at ultrapeers

recall: file names + IP + portforwarding Query messagesi.e., if a leaf shares nothing no Query is sent

Dmitri Moltchanov (TUT) ELT-53206, Lecture 3 September 10, 2014 39 / 59

Gnutella v0.6: ultrapeer network

an ultrapeer network

Dmitri Moltchanov (TUT) ELT-53206, Lecture 3 September 10, 2014 40 / 59

Gnutella v0.6: summary

Developer(s) – Justin Frankel and Tom Pepper

Launched – 2001

Protocol – open source

Clients – freeware and proprietary (LimeWire, gtk-gnutella, . . . )

Architecture – hybrid P2P

Search facility – ultrapeers / query flooding

Shared content – any

Notice performance gains of v0.6 vs v0.4

Dmitri Moltchanov (TUT) ELT-53206, Lecture 3 September 10, 2014 41 / 59

Gnutella 2: overview

Gnutella2 :

AKA G2 or Mike’s Protocol, MPP2P protocol developed by Michael Stokesoffshoot of the Gnutella protocolreleased in 2002

G2 divides nodes into 2 groups: leafs and hubsleafs maintain 1 or 2 connections to hubshubs accept 100s of leaves and many connections to other hubshubs index what files a leaf has using a Query Routing Table

Gnutella v0.6 and G2 are fairly similar

Compatibility notice:

G2 is not supported by many Gnutella clientsmany G2 clients can connect to the Gnutella network

Dmitri Moltchanov (TUT) ELT-53206, Lecture 3 September 10, 2014 42 / 59

Gnutella 2: summary

Developer(s) – Michael Stokes

Launched – 2002

Protocol – open source

Clients – freeware and proprietary (Shareaza, Morpheus, . . . )

Architecture – hybrid P2P

Search facility – hubs / query flooding

Shared content – music and video

Dmitri Moltchanov (TUT) ELT-53206, Lecture 3 September 10, 2014 43 / 59

Outline

1 ARPANET

2 Usenet

3 World Wide Web

4 Napster

5 GnutellaGnutella version 0.4Gnutella version 0.6Gnutella2

6 FastTrack

7 eDonkey2000

8 BitTorrent

9 Learning outcomes

Dmitri Moltchanov (TUT) ELT-53206, Lecture 3 September 10, 2014 44 / 59

FastTrack: basic info

Very quickly it turned out that hierarchical P2P topologies scaleremarkably well and have been, therefore, adopted by a number ofpopular P2P file sharing systems

FastTrack is a P2P protocol developed by Niklas Zennstrom andJanus Friis in 2001

In 2003, FastTrack became very popular, having at one point moreusers than that Napster on its peakSimilar to Gnutella v0.6, highly connected peers with sufficientresources, called supernodes, perform the search on behalf of moreresource constraint regular peersBut in contrast to Gnutella, FastTrack is proprietary software

In 2003, an open-source alternative, called OpenFT, was developedby the giFT project through reverse engineering

The giFT project: gift.sourceforge.net

Dmitri Moltchanov (TUT) ELT-53206, Lecture 3 September 10, 2014 45 / 59

FastTrack: supernode network

Supernode network

Dmitri Moltchanov (TUT) ELT-53206, Lecture 3 September 10, 2014 46 / 59

FastTrack: bootstrapping

In order to ensure the constant availability of the network, there existsa need for dedicated peers that will monitor and keep track of thenetwork

Such peers are called bootstrapping nodes

When a peer joins the network, it will first contact the bootstrappingnode

The bootstrapping node will then determine if that particular peerqualifies to be a supernode

If it does, then it will be provided with some IP addresses of othersupernodesOtherwise, the bootstrapping node will respond by providing the IPaddress of one of the supernodes

Dmitri Moltchanov (TUT) ELT-53206, Lecture 3 September 10, 2014 47 / 59

FastTrack: cooperation mechanism

The P2P model heavily depends on the concept of cooperation

See ”Free Riding on Gnutella” by E. Adar and B. Huberman:

∼ 50% of all files for sharing are stored on only 1% of peers∼ 70% of Gnutella users share no files (they are referred to asfreeloaders or free riders)

Some FastTrack clients, such as Kazaa, used a method known asthe reputation system , where the reputation of a certain user is

reflected by their participation level

E.g., in Kazaa if you have a high participation level, you will getpriority over people with a lower participation level when youdownload files

You can increase your participation level by uploading filesWhen you download files, your participation level will go downWhen your participation level is low, downloading will be slower

Dmitri Moltchanov (TUT) ELT-53206, Lecture 3 September 10, 2014 48 / 59

FastTrack: shutting down

Sharing copyrighted content using the original FastTrack protocol:

KazaaOwned: Consumer Empowerment BV, Sharman Networks, Ltd.Lifetime: 2001 - 2005 (reason - lawsuits from copyright owners)Today: legal music download service, www.kazaa.com

GroksterOwned: Grokster, Ltd.Lifetime: 2001 - 2005 (reason - lawsuits from copyright owners)Today: closed, www.grokster.com

iMeshOwned: iMesh, Inc.Lifetime: 2001 - 2005 (reason - lawsuits from copyright owners)Today: legal music download service, www.imesh.com

MorpheusOwned: StreamCast Networks, Inc.Lifetime: 2001 - 2002 (reason - failed to pay FastTrack license fees)Today: closed, www.morpheus.com

Dmitri Moltchanov (TUT) ELT-53206, Lecture 3 September 10, 2014 49 / 59

FastTrack: summary

Developer(s) – Niklas Zennstrom and Janus Friis

Launched – 2001

Protocol – proprietary (FastTrack)

Clients – proprietary (Kazaa, Grokster, iMesh, Morpheus)

Architecture – hybrid P2P

Search facility – supernodes / query flooding

Shared content – any

Dmitri Moltchanov (TUT) ELT-53206, Lecture 3 September 10, 2014 50 / 59

Outline

1 ARPANET

2 Usenet

3 World Wide Web

4 Napster

5 GnutellaGnutella version 0.4Gnutella version 0.6Gnutella2

6 FastTrack

7 eDonkey2000

8 BitTorrent

9 Learning outcomes

Dmitri Moltchanov (TUT) ELT-53206, Lecture 3 September 10, 2014 51 / 59

eDonkey2000: performance improvement

The next problem to solve is how to increase the throughput of P2Pnetworks

With the size of the files being transferred, it might take a long timebefore a new peer would be able to share a new file it is acquiring

A new approach, called swarming , cleverly sidestepped this issue:

If a file can be downloaded in small pieces (aka chunks) and thenimmediately be shared by new peers, this bidirectional transfer reducesthe load on peers that have the complete file, thereby distributing notonly the file but its access as well

iMesh was the first company to introduce swarming

Nowadays, swarming is a must for P2P file sharing

E.g., eDonkey2000, BitTorrent

Dmitri Moltchanov (TUT) ELT-53206, Lecture 3 September 10, 2014 52 / 59

eDonkey2000: swarming

While every peer has both upload and download capabilities, withoutswarming the upload bandwidth goes wasted until that peer has 100%of the file

With swarming, all peers work bidirectionally with each otherBut if the originator leaves the swarm too early, no one will be able touse the file

Dmitri Moltchanov (TUT) ELT-53206, Lecture 3 September 10, 2014 53 / 59

eDonkey2000: summary

Developer(s) – Jed McCaleb

Launched – 2000

Protocol – server part is proprietary (the original eD2k byMetaMachine and the alternative Lugdunum eserver)

Clients – freeware (eMule, Shareaza, . . . )

Architecture – hybrid P2P

Search facility – servers / index

Shared content – any

Dmitri Moltchanov (TUT) ELT-53206, Lecture 3 September 10, 2014 54 / 59

Outline

1 ARPANET

2 Usenet

3 World Wide Web

4 Napster

5 GnutellaGnutella version 0.4Gnutella version 0.6Gnutella2

6 FastTrack

7 eDonkey2000

8 BitTorrent

9 Learning outcomes

Dmitri Moltchanov (TUT) ELT-53206, Lecture 3 September 10, 2014 55 / 59

BitTorrent: basic info

BitTorrent was developed by Bram Cohen in 2001

Nowadays, it is maintained by Cohen’s company – BitTorrent, Inc.

The BitTorrent network is huge

E.g., according to isohunt.com (September 15, 2010):

Peers: 23.53M (+3.1M over the last 5 months)Shared files: 134.05M (+15.68M)The total amount of shared content: 11,322.96 TB (+715.70 TB)

Search is up to users

Efficient cooperation mechanisms

Swarming functionality

Extensions for trackerless operations

Dmitri Moltchanov (TUT) ELT-53206, Lecture 3 September 10, 2014 56 / 59

BitTorrent: summary

Developer(s) – Bram Cohen

Launched – 2001

Protocol – open source (BitTorrent)

Clients – freeware (µTorrent, BitComet, . . . )

Architecture – hybrid P2P

Search facility – trackers / torrents

Shared content – any

Dmitri Moltchanov (TUT) ELT-53206, Lecture 3 September 10, 2014 57 / 59

Outline

1 ARPANET

2 Usenet

3 World Wide Web

4 Napster

5 GnutellaGnutella version 0.4Gnutella version 0.6Gnutella2

6 FastTrack

7 eDonkey2000

8 BitTorrent

9 Learning outcomes

Dmitri Moltchanov (TUT) ELT-53206, Lecture 3 September 10, 2014 58 / 59

Learning Outcomes

Things to know:

Basics about USENETRestrictions WWW imposedHow Napster worksHow Gnutella worksNew features introduced in FadtTrack/eDonkey/BitTorrent

Be ready to outline the evolution of P2P file sharing

Dmitri Moltchanov (TUT) ELT-53206, Lecture 3 September 10, 2014 59 / 59