* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Evolution of P2P file sharing
Survey
Document related concepts
Wireless security wikipedia , lookup
Airborne Networking wikipedia , lookup
Internet protocol suite wikipedia , lookup
Server Message Block wikipedia , lookup
Dynamic Host Configuration Protocol wikipedia , lookup
Piggybacking (Internet access) wikipedia , lookup
Deep packet inspection wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
Cracking of wireless networks wikipedia , lookup
Remote Desktop Services wikipedia , lookup
Zero-configuration networking wikipedia , lookup
Transcript
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/ Outline 1 ARPANET 2 Usenet 3 World Wide Web 4 Napster 5 Gnutella Gnutella version 0.4 Gnutella version 0.6 Gnutella2 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 Gnutella Gnutella version 0.4 Gnutella version 0.6 Gnutella2 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 Utah University 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 server FTP: send and receive files from a file server However, notice the following the whole usage pattern is symmetric every host could connect to any other host servers 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 Gnutella Gnutella version 0.4 Gnutella version 0.6 Gnutella2 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 messages messages are posted to newsgroups any user can access the messages, read, and respond to them Developing and goals: T. Truscott and J. Ellis, U. of North Carolina, Duke University, 1979 goal: use Unix to write and read networked messages Notice the key differences: vs. Web forums: no central server, nor central system owner vs. 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 2 3 4 Article composition: a user creates a Usenet article Posting: the user submits the article to a local Usenet server Propagation: transferring to remote Usenet servers Article access: reading the article Poster Client Reader Local server Usenet backbone peers client / server client / server interaction interaction Dmitri Moltchanov (TUT) P2P Local server Client client / server client / server interaction interaction 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 ones transfer to other backbone servers in P2P fashion distribute among other local servers However, Usenet itself: typical client/server APP simple clients more 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 Gnutella Gnutella version 0.4 Gnutella version 0.6 Gnutella2 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 Usenet considered as the debut of the WWW groups.google.com/group/alt.hypertext/msg/395f282a67a1916c How it happened? The driving force: disseminate information easily for everyone Result: 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 Internet after 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 it more importantly, technologies WWW technological implications asymmetric access firewalls network 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/s upstream rate = 1 Mbit/s Asymmetric access: places severe limitations symmetric service became almost ”prohibited” bidirectional traffic: TCP performance degradation for more information, see RFC 3449 Downlink Client Dmitri Moltchanov (TUT) Uplink ELT-53206, Lecture 3 Server September 10, 2014 13 / 59 WWW: the need for firewalls The early days of the Internet: any host can access any other host no harm done: pro were using them WWW made the Internet a public place: the need to secure the network protecting hosts from unlimited access firewalls is a tool to control access to subnetworks networks and hosts What Firewalls do: stand in-between the internal network and the Internet outside choose which traffic to let through and which to deny Early Internet Dmitri Moltchanov (TUT) These days 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 host prevents 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 firewall e.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 assignment after WWW ( DHCP ): dynamic due to too many users result: many hosts on the Internet are not easily reachable Usage of Network Address Translation (NAT) allows the use private IP addresses within a local network result: 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 Gnutella Gnutella version 0.4 Gnutella version 0.6 Gnutella2 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 then no intentions to make history creative 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 server searching via central index containing location of all shared files the actual file transfer occurs between peers Server y /r er ep ly qu ly qu ep er y /r client / server interaction mp3 download Peer Peer P2P Dmitri Moltchanov (TUT) ELT-53206, Lecture 3 September 10, 2014 19 / 59 Napster: logic Napster worked as follows: 1 2 3 4 after log-in: list of shared files sent to Napster server server maintains an index of files of users who are currently on-line index is automatically updated when users log-on and log-off searching for content a client sends the query to the server query: pattern for search in filenames reply: names of files, IP addresses and port numbers 5 6 a user decides from which peer to download the files 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 server server: answers with a DOWNLOAD ACK: IP address+port: downloader establish TCP connection with uploader may fail due to uploader behind firewall If the uploader is behind firewall: can be explicitly indicated by a user can be understood by a server port 0 is indicated in DOWNLOAD ACK When the uploader is behind firewall downloader: sends a DOWNLOAD REQUEST to the server server: answers with a DOWNLOAD ACK: IP address+port 0: downloader: ALTERNATE DOWNLOAD REQUEST to the server server: ALTERNATE DOWNLOAD ACK to the uploader uploader 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 year in 2000 Black Hole Media: Macintosh client called Macster Macster 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 engineering Project 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 2000 Recording Industry Association of America (RIAA) ban the exchange of copyrighted material and/or shut down the network Napster deployed various filters in 2000 Napster was forced to shut down in 2001 A bit more 2002: 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 20M what’s about 960M ‘(like Facebook now)? Reliability: reason - central index vulnerable to DoS attacks vulnerable to legal prosecution Security: encryption/description authenticity of mp3 files was based on file names only not 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 Gnutella Gnutella version 0.4 Gnutella version 0.6 Gnutella2 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 Gnutella sharing all types of files P2P system without any central point of control decentralized and autonomous, robust and hard to shut down the latter one was extremely important Important facts: developed by J. Frankel and T. Pepper, employees of Nullsoft, in 2000 source code and protocol specification are both open more 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 humans if you want a particular thing, you ask one of your friends nearby if he/she does not have it, he can ask his friends this request is conveyed further a person having this thing is found the information about that person is routed to you In this query flooding we have to ensure that: everyone is eager to help the thing you’re looking for actually exists source routing is possible Dmitri Moltchanov (TUT) ELT-53206, Lecture 3 September 10, 2014 29 / 59 Gnutella v0.4: Query propagation Query? TTL = 7 TTL = 6 TTL = 5 TTL = 4 TTL = 3 TTL = 2 TTL = 1 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 message all relaying nodes must remember it if exactly this is received again, it is not forwarded Additional rules/needs forwarding messages to all neighbors except for the sender source routing: Pong, QueryHit, Push take reverse paths decrementing 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 Pong includes: IP address and port number Pong: the response to a Ping message includes: IP address and port number includes: number of files and Kb of data that it shares Query: used to search files on the network contains the search query responded with QueryHit if a match is found locally QueryHit: the response to a Query descriptor contains data to establish a connection routed 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 connections may still be able to establish outgoing ones Push message: the response to a QueryHit response to QueryHit message when the originator of QueryHit does not support connections Peers proceed as follows: Query (P1) - QueryHit (P2) exchange normal operation: TCP Syn (P1) to P2 avoiding firewall at P2: Push (P1) to P2 TCP Syn (P2) to P1 TCP 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) Ping Query Push Push Query Hit Hit Hit Ping Query Ping Push Ping Pong Ping / Pong routing Dmitri Moltchanov (TUT) Download (HTTP) Query / QueryHit routing ELT-53206, Lecture 3 Download (HTTP) Push routing 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 network get overloaded with queries until they become unavailable result: the network is highly fragmented Signaling traffic ping/pong takes too much prevents 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: Gnutella network” 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 peers in fact, a hierarchial topology ultrapeers store info about connected leafs info: 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 : Leaf Ultrapeer Functionalities: a peer can switch to/from ultrapeer mode a peer cannot be in both modes at the same time leafs maintain only a single connection to a ultrapeer an ultrapeer maintain 10-100 connections with leafs an ultrapeer maintain ∼10 connections with leafs How leafs info is used at ultrapeers recall: file names + IP + port forwarding Query messages i.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, MP P2P protocol developed by Michael Stokes offshoot of the Gnutella protocol released in 2002 G2 divides nodes into 2 groups: leafs and hubs leafs maintain 1 or 2 connections to hubs hubs accept 100s of leaves and many connections to other hubs hubs 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 clients many 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 Gnutella Gnutella version 0.4 Gnutella version 0.6 Gnutella2 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 scale remarkably well and have been, therefore, adopted by a number of popular P2P file sharing systems FastTrack is a P2P protocol developed by Niklas Zennström and Janus Friis in 2001 In 2003, FastTrack became very popular, having at one point more users than that Napster on its peak Similar to Gnutella v0.6, highly connected peers with sufficient resources, called supernodes, perform the search on behalf of more resource constraint regular peers But in contrast to Gnutella, FastTrack is proprietary software In 2003, an open-source alternative, called OpenFT, was developed by 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 exists a need for dedicated peers that will monitor and keep track of the network Such peers are called bootstrapping nodes When a peer joins the network, it will first contact the bootstrapping node The bootstrapping node will then determine if that particular peer qualifies to be a supernode If it does, then it will be provided with some IP addresses of other supernodes Otherwise, the bootstrapping node will respond by providing the IP address 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 as freeloaders or free riders) Some FastTrack clients, such as Kazaa, used a method known as the 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 get priority over people with a lower participation level when you download files You can increase your participation level by uploading files When you download files, your participation level will go down When 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: Kazaa Owned: Consumer Empowerment BV, Sharman Networks, Ltd. Lifetime: 2001 - 2005 (reason - lawsuits from copyright owners) Today: legal music download service, www.kazaa.com Grokster Owned: Grokster, Ltd. Lifetime: 2001 - 2005 (reason - lawsuits from copyright owners) Today: closed, www.grokster.com iMesh Owned: iMesh, Inc. Lifetime: 2001 - 2005 (reason - lawsuits from copyright owners) Today: legal music download service, www.imesh.com Morpheus Owned: 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 Zennström 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 Gnutella Gnutella version 0.4 Gnutella version 0.6 Gnutella2 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 P2P networks With the size of the files being transferred, it might take a long time before 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 then immediately be shared by new peers, this bidirectional transfer reduces the load on peers that have the complete file, thereby distributing not only 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, without swarming the upload bandwidth goes wasted until that peer has 100% of the file With swarming, all peers work bidirectionally with each other But if the originator leaves the swarm too early, no one will be able to use 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 by MetaMachine 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 Gnutella Gnutella version 0.4 Gnutella version 0.6 Gnutella2 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 Gnutella Gnutella version 0.4 Gnutella version 0.6 Gnutella2 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 USENET Restrictions WWW imposed How Napster works How Gnutella works New 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