Presentation is loading. Please wait.

Presentation is loading. Please wait.

Ln -s /usr/timtimmah /usr/kevinstanonik. TORRENT BASICS  You want to get a file to other people.  BUT you don’t have the bandwidth to have everyone.

Similar presentations


Presentation on theme: "Ln -s /usr/timtimmah /usr/kevinstanonik. TORRENT BASICS  You want to get a file to other people.  BUT you don’t have the bandwidth to have everyone."— Presentation transcript:

1 ln -s /usr/timtimmah /usr/kevinstanonik

2 TORRENT BASICS  You want to get a file to other people.  BUT you don’t have the bandwidth to have everyone download the file from you.  What can you do?  Tell people to mirror the download  People are stupid, they don’t care and won’t listen.  Host it on another site  But where’s the fun in that?  Set up a torrent

3 Let’s use an idea you know

4  Take your file:

5 Let’s use an idea you know  Take your file:  Break it into smaller pieces

6 Let’s use an idea you know  Now share those that piece with your friends so they all have the same piece as you

7 BUT THAT’S NOT A WHOLE PIZZA  That’s because we’re not done yet!

8 BUT THAT’S NOT A WHOLE PIZZA  That’s because we’re not done yet!  We keep copying slices over until your friends have all the pieces you have. This is your tube of internets

9 Now we’re done.  Now they take those smaller pieces:  And they turn it back into your pizza to enjoy it’s delicious noms:

10 And that’s the baby-basics  But everyone knows that, right?

11 .torrent  Each piece of the file(block) has a SHA1 hash.  The.torrent file has the list of these hashes so when you want another piece of the file, you ask for a specific hash.  Basically: Block  Hash

12 .torrent  When you finish downloading the block, the client runs it through a SHA1 hash algorithm and makes sure it matches the hash in the.torrent. This is how the error checking and file distribution of it works.

13 Some Terms  Peer – Another seeder or leacher  Seed(er) – Someone who has the entire file  Uploads only.  Leech(er) – Someone who does not have the entire file but is downloading it.  Downloads and uploads.  Tracker – A central machine which tracks who is downloading what (in a good way)  Swarm – The group of seeders and leechers  Scrape – Checking for more leechers/seeders

14 The real world basics  When you seed, you tell the tracker that you have 100% of the data and you will share that with others.  When someone leeches, they tell the tracker that they have x% and will share what they have and download the rest.  When leeching, you don’t download the pieces in any order and that’s ok.  When a leecher has 100%, it becomes a seeder.

15 Scrapes  When you’re connecting to the tracker, you scrape the tracker for new users on that particular torrent.  I pulled the head of a.torrent file to show the trackers and its scrape conventions, can you guess what I’m downloading?

16  d8:announce42:http://tracker.archlinux.org:6 969/announce7:comment38:Arch Linux 2010.05 (www.archlinux.org)10:created by13:mktorrent 1.013:creation datei1274085436e4:infod6:lengthi356515840 e4:name33:archlinux-2010.05-core- x86_64.iso12:piece lengthi524288e6:pieces13600:Ÿ¾)

17 Example  Suzy seeds awesome_pictures.rar.exe  Billy downloads the torrent and starts it up.  The tracker now has 2 users and their ips which get shared.  Suzy starts sending Billy blocks and Billy checks their hash to see if the file transferred properly.  Billy finishes downloading all the blocks and reconstitutes it into awesome_pictures.rar.exe  Billy becomes a seeder and now has tons of viruses because he’s an idiot.

18 Now imagine this scaled  When you have 100’s of seeders you can download a separate block from each of them to increase throughput.  This will decrease total draw on your system after the initial seed and increase speeds for everyone.

19 Other (decentralized) ways to connect  Peer Exchange: Instead of using a central tracker to find out who’s available, you ask your peers who they’re connected to.  This cuts down on the need for a central tracker and if it goes down, you can still find new users to connect to.  Distributed Hash Table: You share the hash information for the torrent and THEN people can connect to you for the file’s information.

20 More information  http://wiki.theory.org/BitTorrentSpecification http://wiki.theory.org/BitTorrentSpecification  http://wiki.theory.org/Main_Page http://wiki.theory.org/Main_Page  Any questions?

21 Have a kitten pile


Download ppt "Ln -s /usr/timtimmah /usr/kevinstanonik. TORRENT BASICS  You want to get a file to other people.  BUT you don’t have the bandwidth to have everyone."

Similar presentations


Ads by Google