The BitTorrent protocol

Download Report

Transcript The BitTorrent protocol

The BitTorrent protocol
A peer-to-peer file sharing
protocol.
Problem Addressed
• How do we transfer a piece of data quickly
to a group of people interested in it.
– Web server
– Distributors
– Redhat patches
• Soln: BitTorrent based file swarming
Philosophy
•
•
•
•
Author: Bram Cohen
Based on Tit-for-tat
Incentive - Uploading while downloading
Pieces of files
Overall Architecture
Tracker
Web Server
C
A
Peer
Peer
[Leech]
B
Downloader
Peer
“US”
[Leech]
[Seed]
Overall Architecture
Tracker
Web Server
C
A
Peer
Peer
[Leech]
B
Downloader
Peer
“US”
[Leech]
[Seed]
Overall Architecture
Tracker
Web Server
C
A
Peer
Peer
[Leech]
B
Downloader
Peer
“US”
[Leech]
[Seed]
Overall Architecture
Tracker
Web Server
C
A
Peer
Peer
[Leech]
B
Downloader
Peer
“US”
[Leech]
[Seed]
Overall Architecture
Tracker
Web Server
C
A
Peer
Peer
[Leech]
B
Downloader
Peer
“US”
[Leech]
[Seed]
Overall Architecture
Tracker
Web Server
C
A
Peer
Peer
[Leech]
B
Downloader
Peer
“US”
[Leech]
[Seed]
Overall Architecture
Tracker
Web Server
C
A
Peer
Peer
[Leech]
B
Downloader
Peer
“US”
[Leech]
[Seed]
Messages
• Peer – Peer messages
– TCP Sockets
• Peer – Tracker messages
– HTTP Request/Response
• B-encoding
.torrent
•
•
•
•
•
•
url of the tracker
Pieces <hash1,hash2,….hashn>
Piece length
Name
Length
Files
– Path
– length
Tracker
• Peer cache
– IP, port, peer id
• State information
– Completed
– Downloading
• Returns random list
Peer Operation
• Choking algorithm
– Choke/Unchoke
– Preferred peers
– Optimistic unchoke
– Snubbing behavior
• Prevented by Anti-snubbing.
• Upload to interested peers who are not
choking.
Peer Operation
• Verify on receiving complete piece
• Endgame Behavior
– Cancel
Experimental Client
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
Drawbacks
• 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.
MNL’s Interest
• Robustness
– Devise possible attacks and find loopholes
– Secure against attacks
• Scalability
– Sharing across files
– Millions of users
• Possible extensions
– Peer optimization
• Upload just enough to maximize your download.
– Intelligent tracker
• Peer selection policy
– Dead sites
• Share html content
Optimism - hack
• Connect to as many peers as possible
• Benefit
– Optimistic unchoking
– Probability of free download increases
Peer upload optimization
• Upload enough to
stay within the
preferred list of as
many peers as
possible
• Get the best
download deal with
minimum required
upload
download
upload
Smarter tracker
• Classify peers
• Pick at random from
each of these subsets
• No compromise on
random choice
• Will lead to a more
progressive peer
network.
Peers
Fast
Slow
Completed
Interesting links
• Official site: http://bitconjurer.org/BitTorrent
• BitTorrent FAQ: http://btfaq.com
• Torrent sites
– http://f.scarywater.net
– http://www.suprnova.org
– http://tvtorrents.com
Remember
– leave your download windows open
– Big brother is watching!