0% found this document useful (0 votes)
506 views4 pages

Bit Torrent

BitTorrent is a peer-to-peer file sharing system that distributes bandwidth costs across peers instead of using a central server. It works by splitting files into segments, which peers can download and share portions of with other peers. A tracker coordinates peers to distribute the load, and a tit-for-tat approach encourages fairness by prioritizing helping peers that provide help in return.

Uploaded by

1000taniya
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
506 views4 pages

Bit Torrent

BitTorrent is a peer-to-peer file sharing system that distributes bandwidth costs across peers instead of using a central server. It works by splitting files into segments, which peers can download and share portions of with other peers. A tracker coordinates peers to distribute the load, and a tit-for-tat approach encourages fairness by prioritizing helping peers that provide help in return.

Uploaded by

1000taniya
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

Computer Science

cs670
The University Of Alabama in Huntsville

BitTorrent

G. W. Cox – Spring 2005

What it is
Computer Science

cs670

• A p-t-p file sharing system with some novel


features:
The University Of Alabama in Huntsville

– Load sharing through file splitting


– Uses bandwidth of peers instead of a server
(distributes bandwidth costs)
– A concept of “fairness” among peers
• Successfully used:
– Used to distribute RedHat 9 ISOs (about 80TB)
– Lindows: 50% price break for downloading OS via
BitTorrent

G. W. Cox – Spring 2005

1
The idea (setup)
Computer Science
cs670

• A “seed” node has the file


The University Of Alabama in Huntsville

• File is split into fixed-size segments (256KB


typ)
• Hash calculated for each segment
• A “tracker” node is associated with the file
• A “.torrent” meta-file is built for the file –
identifies the address of the tracker node
• The .torrent file is passed around the web

G. W. Cox – Spring 2005

The idea (download)


Computer Science

cs670

• A client wants to download the file


• Contacts the tracker identified in the .torrent file (using HTTP)
The University Of Alabama in Huntsville

• Tracker sends client a (random) list of peers who have/are


downloading the file
• Client contacts peers on list to see which segments of the file
they have
• Client requests segments from peers (via TCP)
• Client uses hash from .torrent to confirm that segment is
legitimate
• Client reports to other peers on the list that it has the segment
• Other peers start to contact client to get the segment (while
client is getting other segments)

G. W. Cox – Spring 2005

2
The flow
Computer Science
cs670

Segments

Original 5
The University Of Alabama in Huntsville

4 Seed
File 3 Node
2
1

3 Tracker
1 Node
Client
Node
3
New
Client 1 Client
Node
G. W. Cox – Spring 2005

Load sharing
Computer Science

cs670

• As the file segments are downloaded by


The University Of Alabama in Huntsville

more and more peers, the peers


become the sources for further
downloads
• Because the tracker randomizes the list
of peers, the load gets spread randomly

G. W. Cox – Spring 2005

3
Fairness
Computer Science
cs670

• To spread the load, clients have to have an incentive


to allow peers to download from them – BitTorrent
The University Of Alabama in Huntsville

does this with an economic system


• Each peer A keeps a record of the peers it has gotten
segments from
• When a peer B asks to download from A:
– A checks its list
– If B has given A segments in the past, B’s request gets a
higher priority
– Else, B’s request gets a low priority
• The net result is a “tit-for-tat” arrangement – in order
to be a successful downloader, a peer must allow
frequent uploading

G. W. Cox – Spring 2005

Additional load spreading


Computer Science

cs670

• When a client needs to choose which segment to


request first, a common approach is “rarest-first”
The University Of Alabama in Huntsville

• In rarest-first approach, client identifies the segment


held by the fewest of its peers and tries to download
that segment
• This tends to keep the number of sources for each
segment as high as possible, speading load
• Rarest-first also gives the client an “attractive”
segment, making it a more popular source, and
giving it more “credits” to download more segments

G. W. Cox – Spring 2005

You might also like