This action might not be possible to undo. Are you sure you want to continue?
Guided by: Mr. Swadhin Kumar Barisal Assistant Professor Department of Computer Science & Engineering S.O.A UNIVERSITY
Submitted by:Sachin Agarwalla Regd. No. - 0911012065 CSE (A)
Flow of presentation
• Introduction • Origin! • Why to use? • Terminology • Creating and downloading torrent • Security issues • Facts
• • • •
Bit torrent is a peer-2-peer file sharing protocol One of the most common protocols for transferring large files and accounts Bit torrent maximizes transfer speeds by breaking down a large file into numerous small pieces and allows a recipient to download each tiny piece form a different clients. The only objective of bit torrent is to quickly give a copy of a single large file to a set of clients.
Origin! • Bit torrent is creation of an American programmer Brahm Cohen Cohen revealed his idea at the first CODECON conference Cohen wrote the bit torrent client implementation in python and several other programs have since implemented the protocol Bit torrent is designed in April 2001 by Brahm Cohen and then maintained by Cohen’s company BitTorrent Inc. • • • 4 .
Why Bit Torrent? 5 .
Softwares • You open a web-page and click a link to download a file to your computer The web-browser software on your computer tells the server to transfer copy of the file to your computer The transfer is handled by protocol such as FTP or HTTP • • 6 . Media 2.• Traditional clientserver downloading Millions want to download same popular huge files (for free) 1.
Host Router Source OVERLOAD 7 .
Single server fails 2.Disadvantages of clientserver method • Client-server model fails if 1. Can’t afford to deploy enough servers 8 .
The Bit torrent(P2P) method • • Bit torrent is a peer-2-peer file sharing protocol allowing users to distribute large amounts of data without putting the level of strain on their computers that would be needed for standard internet hosting Peer-2-peer file sharing is different from traditional file downloading. 9 . In peer-2-peer sharing you use a software program rather then your web browser to locate computers that have the file you want. Because there are ordinary computers like yours as opposed to servers that are called peers.
P2P Protocols 10 .
the internet & the web do not have a central point of failure. it is possible to add more peers to the system and scale to larger networks 11 . HTTP) so a specific service does have a central point of failure • Scalability ✓ Since every peer is alike. ✓ Most internet & web services use the client-server model (e.g.Advantages of P2P method • No central point of failure ✓ Eg.
Disadvantages of P2P Computing • Decentralized co-ordination • All nodes created are not equal 12 .
Terminology • Seeder 13 .
Terminology • Seeder • Someone who has finished downloading and is only uploading 14 .
Terminology • Seeder • Someone who has finished downloading and is only uploading • Leecher 15 .
Terminology • Seeder • Someone who has finished downloading and is only uploading • Leecher • Someone who is downloading 16 .
Terminology • Seeder • Someone who has finished downloading and is only uploading • Leecher • Someone who is downloading • Peer 17 .
Terminology • Seeder • Someone who has finished downloading and is only uploading • Leecher • Someone who is downloading • Peer • The collective term for seeders and leechers 18 .
• A Bencoded metadata file containing information about one or more files What is a torrent file? • Name/size/date of each file • # of “pieces” of each file • SHA1 hash of each piece • Trackers for the torrent 19 .
• Torrents are made up of many small pieces • You never download all the pieces from one place (unless there’s only one seed) What is a “piece”? • Pieces are usually less than a couple megabytes each 20 .
• Dictionaries • Prefixed with “d”. end with “e” • Integers • Prefixed with “i”. end with “e” • Strings • Prefixed with string length + “:” 21 Bencoding . end with “e” • Lists • Prefixed with “l”.
Bencoding d3:foo3:bar4:lulzi8el5:hello5:worldee 22 .
Bencoding d3:foo3:bar4:lulzi8el5:hello5:worldee • Dictionary 23 .
Bencoding d3:foo3:bar4:lulzi8el5:hello5:worldee • • Dictionary String 24 .
Bencoding d3:foo3:bar4:lulzi8el5:hello5:worldee • • • Dictionary String Integer 25 .
Bencoding d3:foo3:bar4:lulzi8el5:hello5:worldee • • • • Dictionary String Integer List 26 .
• HTTP service that responds to GET requests • Response is text/plain Bencoded dictionary • Usually listens on port 6969 Trackers 27 .
Tracker Announce Request • Important GET params: • • info_hash • • • • the SHA1 hash of the piece to download peer_id unique identifier of the person doing the downloading • • ip/port the IP address and port of the peer used for calculating “share ratio”.e. i. how much the tracker likes them uploaded/downloaded/left 28 .
if the client wants it compact. a binary string of each peer’s IP address and port the interval in seconds which the client is allowed to make a request number of seeders/leechers 29 • • interval/min interval complete/incomplete .Tracker Announce Response • • The relevant parts: • • • • peers Dictionary containing each peer’s IP address and port Or.
The peer distributing a data file treats the file as a number of identically sized pieces. and registered with at least one tracker. • Torrent files are typically published on websites or elsewhere. 30 .Creating & Publishing Torrent • • Peers that provide a complete file are called seeders. and typically between 32 kB and 16 MB each. usually with byte sizes of a power of 2. The tracker maintains lists of the clients currently participating in the torrent. and the peer providing the initial copy is called the initial seeder.
in a trackerless system (decentralized tracking) every peer acts as a tracker.Creating & Publishing Torrent • • • Alternatively. 31 . telling clients to restrict the use of decentralized tracking regardless of the user's desires. a "private" flag — analogous to the broadcast flag — was unofficially introduced. Azureus was the first BitTorrent client to implement such a system through the distributed hash table (DHT) method After the DHT was adopted. The purpose of the flag is to prevent torrents from being shared with clients that do not have access to the tracker.
for example they download pieces in a random order to increase the opportunity to exchange data.Downloading torrent files • Clients incorporate mechanisms to optimize their download and upload rates. Optimistic unchocking • • • “Seeder promotion problem” This occurs on a huge scale. A tit for tat scheme 2. It is possible to obtain the IP addresses of all current and possibly previous participants in a swarm from the tracker 32 . Clients will decide from certain schemes that to which node’s request is to be satisfied. which is only possible if two peers have different pieces of the file. measurements have shown that 38% of all new torrents become unavailable within the first month BitTorrent does not offer its users anonymity. The schemes may be anyone from the following: 1.
Technologies built on BitTorrent(Security Issues) 1) Distributed Trackers: 2) Web Seeding: 3) Throttling & Encryption 4) Multitracker Systems: 5) Legal Issues: 33 .
029 visits and 21.325 unique visitors making it 109th most popular website • Another popular torrent tracker isoHunt claims to have 9857 TB of data 34 .40.12.Some FACTS • • • Bit torrent is responsible for roughly 27-55% of all internet traffic and 45-78% of P2P traffic As of 2011 bit torrent has more than 100 million users and grater share of bandwidth than Netflix and Hulu combined THE PIRATE BAY: Who in september 2008 had 69.
com http://www.References • • • http://www.howstuffworks.com/bittorrent.ht m 35 .org/bittorrent http://computer.bittorrent.wikipedia.
Thank you 36 .