BitTorrent was conceived as a way of distributing large files more quickly, efficiently, and reliably. Thanks to BitTorrent though, the download of large files has become more feasible, and people have become accustomed to acquiring video through the net. At this point it is virtually impossible for anyone to bring an end to illegal downloads. whether or not BitTorrent will continue to play a role in this is yet to be seen
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Bit torrent
1. Submitted To:-
Mr. Nayyar Khan
Miss Suhani Agarwal
Submitted By:-
Ankit Malvi CSE-16
Ankit Chauhan CSE-14
Himanil Gupta CSE-39
2. Contents…
Simple Solution: One BIG Server (but a problem too…)
How server Works…?
Solution Of the problem
Entering “BIT TORRENT”..
-Something about creator……
-Definition
-Basic Component
-Basic Idea
3. Simple Solution: One Big Server
Make the file available on a central server
Each client downloads file from this server
Problems
Solution does not scale very well
With a large number of clients, the server’s resources get
overwhelmed
6. Problem Being Solved Here?
Sharing a fairly large file
Involves making a replica
Problem is somewhat similar to, but not the same as,
replication in a distributed file system, a Content
Delivery Network or a Distributed Hash Table overlay
network
7. Entering Bit Torrent
Released in the summer of 2001
Uses basic ideas from game theory to largely eliminate
the free-rider problem
All previous systems could not deal with this problem
well
Makes no strong guarantees unlike DHTs
It is working extremely well in practice, unlike DHTs
9. What is BitTorrent?
Efficient content distribution system using
file swarming. Usually does not perform
all the functions of a typical p2p system,
like searching.
10. Basic Components
Seed
Peer that has the entire file
Leeches
Peer that has an incomplete copy of the file
A Torrent file
Passive component
Files are typically fragmented into 256KB pieces
The torrent file lists SHA1 hashes of all the pieces to allow peers to
verify integrity
Typically hosted on a web server
A Tracker
Active component
Allows peers to find each other
Returns a random list of peers
11. Basic Idea
Initial seeder chops file into many pieces.
Leecher first locates the .torrent file that directs it to a
tracker, which tells which other peers are downloading
that file. As a leecher downloads pieces of the file, replicas
of the pieces are created. More downloads mean more
replicas available
As soon as a leecher has a complete piece, it can potentially
share it with other downloaders. Eventually each leecher
becomes a seeder by obtaining all the pieces, and
assembles the file. Verifies the checksum.
12. BitTorrent Lingo
Seeder = a peer that provides the complete file.
Initial seeder = a peer that provides the initial copy.
Leecher
Initial seeder One who is downloading
(not a derogatory term)
Leecher
Seeder
13. Pieces & Sub-Pieces
A piece is broken into sub-pieces ... typically 16KB in
size
Policy: Until a piece is assembled, only download sub-
pieces for that piece
This policy lets complete pieces assemble quickly
14. File sharing
Large files are broken into pieces of size between
64 KB and 1 MB
1 2 3 4 5 6 7 8
15. Simple example
{1,2,3,4,5,6,7,8,9,10}
Seeder: A
{1,2,3}
{1,2,3,4,5}
Downloader C
Downloader B
16.
17. How delay is avoided between pieces..??
When transferring data over TCP, it is critical to
always have several requests pending at once, to
avoid a delay between pieces being sent
Bit Torrent breaks pieces into sub-pieces
At any point in time, some number, typically 5, are
requested simultaneously
Every time a sub-piece arrives, a new request is
sent
This scheme has been found to saturate most
connections in practice
18. BT: internal mechanism
Built-in incentive mechanism (where all the
magic happens):
Choking Algorithm
Optimistic Unchoking
19. Choking
Choking is a temporary refusal to upload. It is one
of BitTorrent’s most powerful idea to deal with free
riders (those who only download but never
upload).
Tit-for-tat strategy is based on game-theoretic
concepts.
20. Choking Algorithm
Goal is to have several bidirectional connections
running continuously
Upload to peers who have uploaded to you recently
Unutilized connections are uploaded to on a trial basis
to see if better transfer rates could be found using
them
21. Choking Specifics number of its peers
A peer always unchokes a fixed
(default of 4)
Decision to choke/unchoke done based on current
download rates, which is evaluated on a rolling 20-
second average
Evaluation on who to choke/unchoke is performed
every 10 seconds
This prevents wastage of resources by rapidly choking/unchoking
peers
Supposedly enough for TCP to ramp up transfers to their full
capacity
Which peer is the optimistic unchoke is rotated
every 30 seconds
22. Optimistic unchoking
A BitTorrent peer has a single “optimistic
unchoke” to which it uploads regardless of the
current download rate from it. This peer rotates
every 30s
Reasons:
To discover currently unused connections are
better than the ones being used
To provide minimal service to new peers
23. Endgame Mode
Policy: When all the sub-pieces that a peer doesn’t
have are actively being requested, these are
requested from EVERY peer
When the sub-piece arrives, the replicated
requests are cancelled
This ensures that a download doesn’t get prevented
from completion due to a single peer with a slow
transfer rate
Some bandwidth is wasted, but in practice, this is
not too much
24.
25. Bit Torrent p2p file-sharing
system
Aspects important for the
acceptance of a p2p
system :
1. High availability;
2. Users always receive a
good version of the
content they are
requesting;
3. Ability to deal with
flashcrowds;
4. High download speed.
26. Upload-Only mode
Once download is complete, a peer has no
download rates to use for comparison nor has any
need to use them
The question is, which nodes to upload to?
Policy: Upload to those with the best upload rate.
This ensures that pieces get replicated faster
Also, peers that have good upload rates are
probably not being served by others
37. Next What ???
Now you need to share it! You can upload it to a forum,
or a BitTorrent site, like www.MiniNova.com etc……
Make sure your client is ready to seed to those who
want the file before you upload, though, or else no one
will get it.
38. Conclusion
BitTorrent was conceived as a way of distributing
large files more quickly, efficiently, and reliably.
Thanks to BitTorrent though, the download of
large files has become more feasible, and people
have become accustomed to acquiring video
through the net. At this point it is virtually
impossible for anyone to bring an end to illegal
downloads. whether or not BitTorrent will
continue to play a role in this is yet to be seen.
39. References
Google Search…
www.en.wikipedia.com.com
www.howstuffsworks.com
www.what-is-torrent.com
Torrent s/w official websites