A P2P file distribution system - PowerPoint PPT Presentation

1 / 28
About This Presentation
Title:

A P2P file distribution system

Description:

1 What is it. 2 Why do we need BitTorrent. 3 Architecture And Operation ... [4] J R. Douceur, The Sybil Attack [5] A W Tucker, Prisoner's Dilemma, Serendip.com ... – PowerPoint PPT presentation

Number of Views:31
Avg rating:3.0/5.0
Slides: 29
Provided by: open77
Category:

less

Transcript and Presenter's Notes

Title: A P2P file distribution system


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

6
Critical Elements
  • 3 A BitTorrent tracker
  • Non-content-sharing node
  • Track peers
  • For example
  • http//my.moviestracker.com8080/announce
  • http//games.records.org6969/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 Server
John Doe
Tracker
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
1,2,3,4,5,6,7,8,9,10
Seeder John

1,2,3
1,2,3,5

1,2,3
1,2,3,4
1,2,3,4,5
Downloader Joe
Downloader Mike
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 ltpiecegt
  • Advertise pieces
  • Interest /Not_interested
  • Expressing interest in the pieces published by
    the peer
  • Requesting for a chunk
  • Request ltindex, offset, lengthgt

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
Choked
Choked
mike
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
40kb/s
70kb/s
70kb/s
10kb/s
110kb/s
Downloader Joe
10kb/s
30kb/s
5kb/s
Downloader Rob
Downloader Ron
Downloader Kelly
Downloader Albert
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, Prisoners 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
Write a Comment
User Comments (0)
About PowerShow.com