Presentation is loading. Please wait.

Presentation is loading. Please wait.

A P2P file distribution system ——BitTorrent Pegasus Team CMPE 208.

Similar presentations


Presentation on theme: "A P2P file distribution system ——BitTorrent Pegasus Team CMPE 208."— Presentation transcript:

1 A P2P file distribution system ——BitTorrent Pegasus Team CMPE 208

2 Outline 1 What is it 2 Why do we need BitTorrent 3 Architecture And Operation 4 Why does it work so well 5 Strengths & Shortcomings 6 Conclusion

3 Overview Peer 2 Peer File transfer Protocol Works over public Internet. Critical components – Web Server (MetaInfo Server) – MetaData file (.torrent) –Central Tracker – End User Peers

4 Critical Elements 1 A web server –To provide the ‘metainfo’ file by HTTP –For example: http://my.torrentInfo.net http://smashhitsongs.com/ Web Server Snakes on the Plane torrent US open final torrent

5 Critical Elements 2 The.torrent file –Static ‘metainfo’ file to contain necessary information : Name Size Checksum IP address of the Tracker Matrix.torrent

6 Critical Elements 3 A BitTorrent tracker –Non-content-sharing node –Track peers –For example: http://my.moviestracker.com:8080/announce http://games.records.org:6969/announce

7 Critical Elements 4 An end user (peer) –Guys who want to use BitTorrent must install corresponding software or plug-in for web browsers. –Downloader (leecher) : Peer has only a part ( or none ) of the file. –Seeder: Peer has the complete file, and chooses to stay in the system to allow other peers to download

8 Outline 1 What is it 2 Problem And BitTorrent Solution 3 Architecture And Operation 4 Why does it work so well 5 Strengths & Shortcomings 6 Conclusion

9 Problems Traditional Client/Server Sharing –Performance deteriorates rapidly as the number of clients increases Free-riding in P2P network –Free riders only download without contributing to the network.

10 BitTorrent Scalability of BitTorrent is very good. Even more peers means better performance. Strong incentives to prevent free-riding. –Priority downloading –High availability of downloads

11 Outline 1 What is it 2 Why do we need BitTorrent 3 Architecture And Operation 4 Why does it work so well 5 Strengths & Shortcomings 6 Conclusion

12 Connectivity Web ServerJohn Doe Tracker Matrix.torrent Downloader: Joe Seeder: Mike Downloader: Michelle

13 Piece A file is cut into pieces of fixed size, typically 256Kb Each downloader reports to all of its peers what pieces it has. To verify data, Hash codes are used for all the pieces, included in.torrent files.

14 A trivial example Seeder: John Downloader Mike {1,2,3,4,5,6,7,8,9,10} {} {1,2,3} Downloader Joe {} {1,2,3} {1,2,3,4} {1,2,3,5} {1,2,3,4,5}

15 Messages Peer – Peer messages –TCP Sockets Peer – Tracker messages –HTTP Request/Response B-encoding –The "B" encoding is identical to the "BASE64" encoding defined by RFC 1521.

16 Tracker Function Peer cache –IP, port, peer id State information –Completed –Downloading Returns random list

17 Peer Functions File space allocated Connect to peers Bitfield –have(1) and not have(0) Have –Advertise pieces Interest /Not_interested –Expressing interest in the pieces published by the peer Requesting for a chunk –Request

18 Outline 1 What is it 2 Why do we need BitTorrent 3 Architecture And Operation 4 Why does it work so well 5 Strengths & Shortcomings 6 Conclusion

19 Peer Selection Built-in incentive mechanism (where all the magic happens): –Choking Algorithm –Optimistic Unchoking –Anti-snubbing

20 Choking Algorithm Choking is a temporal refusal to upload Choking evaluation is performed every 10 seconds. Each peer unchokes a fixed number of peers (default = 4) The decision on which peers to un/choke is based solely on download rate, which is evaluated on a rolling, 20-second average

21 Reasons for Choking TCP congestion control. To ensure the peers to get a consistent download rate. Joe mike Choked

22 Optimistic Unchoking a BitTorrent peer has a single ‘optimistic unchoke’ which is uploaded regardless of the current download rate from it. This peer rotates avery 30s Reason: –To discover currently unused connections are better than the ones being used

23 Anti-snubbing When a peer received no data in 60s, we assume it is choked by all other peers, and refuse to upload to it except for the optimistic unchoking. Reason – It may cause several concurrent optimistic unchokes.

24 Example mike Downloader: Albert Downloader: Rob Downloader: Ron Downloader: Kelly 40kb/s 30kb/s 10kb/s 100kb/s 20kb/s 70kb/s 15kb/s 10kb/s 70kb/s 110kb/s 70kb/s 5kb/s Downloader Joe

25 Strengths Better bandwidth utilization –Never before speeds. Up to 7 MB/s from the Internet. Limit free riding – tit-for-tat Limit leech attack – coupling upload & download Spurious files not propagated Ability to resume a download

26 Shortcomings Small files – latency, overhead Random list of peers - naive Scalability –Millions of peers – Tracker behavior (uses 1/1000 of bandwidth) –Single point of failure Robustness –System progress dependent on altruistic nature of seeds (and peers) –Malicious attacks and leeches.

27 Conclusion BitTorrent is a well thought-out protocol that embraces aspects of cooperation and self-optimizing mechanisms. BitTorrent propose solutions for current optimization and scalability problems

28 References [1] Bram Cohen, Incentives build robustness in Bittorrent, May 2003 [2] Stefan Saroiu, P. Krishna Gummadi, Steven D. Gribble, A Measurement Study of Peer-to-Peer File sharing Systems, Jan 2002 [3] Bram Cohen, Bitconjurer.org, BitTorrent Protocol Specification [4] J R. Douceur, The Sybil Attack [5] A W Tucker, Prisoner’s Dilemma, Serendip.com [6] V Vishnumurthy, S Chandrakumar, EG Sirer, KARMA : A Secure Echonomic Framework for Peer-to-Peer Resource Sharing. [7] E. Adar and B.A. Huberman, Free Riding on Gnutella. [8] www.kazaa.com


Download ppt "A P2P file distribution system ——BitTorrent Pegasus Team CMPE 208."

Similar presentations


Ads by Google