2. Pardeshi Dhananjay.
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Introduction
Types Of Data Sharing
Traditional Client-Server Downloading
Peer-Peer Downloading
What is BitTorrent?
Why BitTorrent?
Origin!
BitTorrent Terminology
How BitTorrent works?
Swarm, Tracker, Peers, Leeches, Seeds
Architecture of BitTorrent
Piece Selection
Conclusion
References
October 21, 2013
2
3. Pardeshi Dhananjay.
• Humans tend to share things.
• As electronic data plays a vital role these days, they acquire the
“sharing” attribute.
• Sharing electronic data(emails, eBooks, multimedia files) is the
need of the hour.
• Usually the data is of large size and takes too much time and
bandwidth to be downloaded.
• Data sharing must be fast enough as we are now moving to 3G
and 4G technologies, users expect data sharing at high speeds.
October 21, 2013
3
4. Pardeshi Dhananjay.
Manual Sharing Using Removable Media: Such as Memory Cards,
USB drives, External Hard disks etc.
Centralized Servers of Computer Networks: Network of computers
interconnected for sharing resources and information via a central
server (One server – many clients).
Distributed Peer-to-Peer networking: Is a Computer network where
each system in the network acts as client or server allowing shared
access of resources without the need of central server.
October 21, 2013
4
5. Pardeshi Dhananjay.
• The client – server model is a centralized
model.
• A server is a computer that selectively shares
its data on Web.
• A client is a computer that contacts the server
in order to request for the data.
Client
• The Web browser software on your computer
(the client) tells the server to transfer a copy
of the file to your computer.
• Single server provides service to several
clients simultaneously.
October 21, 2013
Server
Handling
multiple requests.
5
6. Pardeshi Dhananjay.
• Protocols used:- 1)FTP (File Transfer Protocol)
2)HTTP (Hypertext Transfer Protocol).
• The transfer speed is affected by a number of variables, including the
type of protocol, the amount of traffic on the server and the number of
other computers that are downloading the file.
• If the file is both large and popular, the demands on the server are
great, and the download will be slow.
• Client-server model fails if
1. Single server fails.
2. Cant afford to deploy enough servers.
October 21, 2013
6
7. Pardeshi Dhananjay.
• A peer-to-peer (P2P) network is a decentralized network.
• In peer-to-peer sharing, all individual nodes(„Peers‟) act as both supplier
and consumer of data or resources.
• In peer-to-peer sharing, a software program is used instead a Web
Browser to locate computers that have the file user want.
• You run peer-to-peer file-sharing software (for example, a Napster
program or Gnutella) on your computer and send out a request for the
file you want to download.
• To locate the file, the software queries other computers that are
connected to the Internet and running the file-sharing software.
October 21, 2013
7
8. Pardeshi Dhananjay.
• When the software finds a computer that
has the file you want on its hard drive ,
the download begins.
• Others using the file-sharing software can
obtain files they want from your
computer's hard drive.
• The file-transfer load is distributed
between the computers exchanging files,
but file searches and transfers from your
computer to others can cause bottlenecks.
October 21, 2013
8
9. Pardeshi Dhananjay.
• Bit-Torrent is a peer to peer (P2P) protocol used for sharing files
over the network.
• A P2P client is used on every participating nodes.
• No central resource allocation.
• A single data is accessed effectively by hundreds of peers.
• The data is chopped into pieces and further into sub pieces.
• Every peer acts as both, client and server.
• One of Bit Torrent's most powerful idea is the choking
mechanism.
October 21, 2013
9
10. Pardeshi Dhananjay.
• Unlike some other peer-to-peer downloading methods, BitTorrent
is a protocol that offloads some of the file tracking work to a
central server called a Tracker.
• Another difference is that it uses a principal called tit-for-tat.
• This means that in order to receive files, you have to give them.
This solves the problem of leeching -- one of developer Bram
Cohen's primary goal.
October 21, 2013
10
11. Pardeshi Dhananjay.
• The BitTorrent protocol was designed by Bram Cohen in April
2001, now maintained by BitTorrent, Inc.
• BitTorrent was written in Python prior to version 06 and was a
free software, now rebranded as µTorrent, no longer open source.
• In November of 2004, BitTorrent was responsible for 35% of all
Internet traffic.
• As of 2009, BitTorrent reportedly had about the same number of
active users online as viewers of YouTube and Facebook
combined.
October 21, 2013
11
12. Pardeshi Dhananjay.
• .torrent - A pointer file that directs your computer to the file you
want to download.
• Peer – Active node in the network that does not have the
complete file (upload & download).
• Leeches - People who download files but do not upload files on
their own computer with others.
• Seed - A computer with a complete copy of a BitTorrent file
(At least one seed computer is necessary for a BitTorrent
download to operate).
• Swarm - A group of computers simultaneously sending
(uploading) or receiving (downloading) the same file.
October 21, 2013
12
13. Pardeshi Dhananjay.
• Tracker - A server that keeps track of leechers and seeds in the
network. The tracker is centralized.
• Share Ratio – The ratio of amount of a file downloaded to that of
uploaded.
• Index sites -Also referred to as a torrent search engine.
Contains .torrent files for download.
October 21, 2013
13
14. Pardeshi Dhananjay.
•You open a Web page and click on a link for the file you want.
•BitTorrent client software communicates with a tracker to find
other computers running BitTorrent that have the complete file
(seed computers) and those with a portion of the file (peers that are
usually in the process of downloading the file).
•The tracker identifies the swarm, which are connected computers
that have all or a portion of the file and are in the process of sending
or receiving it.
•The tracker helps the client software to trade pieces of the file we
want with other computers in the swarm. Your computer receives
multiple pieces of the file simultaneously.
October 21, 2013
14
15. Pardeshi Dhananjay.
Swarm
Set of peers all downloading the same file.
Organized as a random mesh.
Each node knows list of pieces downloaded by neighbors.
Node requests pieces it does not own from neighbors.
Exact method explained later.
October 21, 2013
15
16. Pardeshi Dhananjay.
October 21, 2013
File Ubantu.iso .torrent
hosted at a (well-known)
webserver.
The .torrent has address of
tracker for file.
The tracker, which runs on a
webserver as well, keeps
track of all peers
downloading file.
16
17. Pardeshi Dhananjay.
www.bittorrent.com
1
Peer
October 21, 2013
File Ubantu.iso .torrent
hosted at a (well-known)
webserver.
The .torrent has address of
tracker for file.
The tracker, which runs on a
webserver as well, keeps
track of all peers
downloading file.
17
20. Pardeshi Dhananjay.
• Manages users participating in a torrent (known as peers).
• Stores statistics about the torrent.
• Allows peers to find each others and start communication.
• Keeps track of pieces of file and what peer have which piece.
• Peers communicate with tracker using HTTP protocol.
October 21, 2013
20
22. Pardeshi Dhananjay.
Peers: A peer is another computer on the internet that you connect to
and transfer data. Generally a peer does not have the complete
file.
Leeches: They are similar to peers in that they won‟t have the complete
file. But the main difference between the two is a leech will not
upload once the file is downloaded.
Seeds: A computer that has a complete copy of a certain torrent. It only
uploads the file.
October 21, 2013
22
30. Pardeshi Dhananjay.
Random First Piece
Special case, at the beginning.
Rarest First
General rule.
Endgame Mode
Special case.
October 21, 2013
30
31. Pardeshi Dhananjay.
Initially, a peer has nothing to trade.
Important to get a complete piece ASAP.
So as to assemble first complete piece quickly.
Then participate in uploads.
Select a random piece of the file and download it.
October 21, 2013
31
32. Pardeshi Dhananjay.
Look at all pieces at all peers, and request piece that‟s owned
by fewest peers.
Increases diversity in the pieces downloaded.
avoids case where a node and each of its peers have
exactly the same pieces; increases throughput.
Increases likelihood all pieces still available even if original
seed leaves before any one node has downloaded entire file.
October 21, 2013
32
33. Pardeshi Dhananjay.
Near the end, missing pieces are requested from every peer
containing them.
This ensures that a download is not 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.
October 21, 2013
33
35. Pardeshi Dhananjay.
News of increased adoption of this revolutionary protocol
continues to emerge, and this seems to be a rich area for
continued research in computer networking, with
significant potential benefits to society.
If BitTorrent and similar protocols do find a legal place in
the internet, it will certainly help to pave the way for
distributing rich media on the internet, and provide the
impetus for new innovations.
October 21, 2013
35