15

I am looking for some books, tutorial sites .

I want to understand how Bittorrent protocol works and later to implement my own tracker .

I don't have a big knowledge in network protocols so I am looking for a newbie stuff .

Have seen following posts but they didn't helped me with my issue :

A BitTorrent client completely written in C#?

Implementing Bittorrent Protocol

Looking for some good books/resources on understanding Bittorrent?

Thanks for help .

Community
  • 1
  • 1
Night Walker
  • 20,638
  • 52
  • 151
  • 228

4 Answers4

17

The BitTorrent specification is quite easy reading (relatively speaking):

http://www.bittorrent.org/beps/bep_0003.html

The wikipedia page is also surprisingly comprehensive:

http://en.wikipedia.org/wiki/BitTorrent_%28protocol%29

skaffman
  • 398,947
  • 96
  • 818
  • 769
  • 2
    It's a complicated protocol. If the basics are giving you trouble, you may want to start with something a bit simpler. I don't know of anything simpler than what I;ve posted, without over-simplifying to the point of uselessness. – skaffman Dec 24 '09 at 15:35
3

BitTornado has a tracker implementation and it's written in Python, which is easy to read. It's nice to start from something working and then you can try to understand the code based on the protocol. BitTornado is based on original version that Bram Cohen implemented. Tracker is implemented in BitTornado.BT1.track.py

goododd
  • 71
  • 3
2

There's a bunch of videos on utube, including: Stanford Seminar - Bram Cohen

franck
  • 2,995
  • 3
  • 17
  • 28
0

For anyone, looking to understand the BitTorrent protocol and comes across this question:

I wrote a Node.js script that does exactly this.

https://github.com/liveduo/bittorrent-scripts/blob/main/3-connect-node.js

You can run it locally and it has no external dependencies. You only need a torrent (ie. magnet id) and a node that has the torrent (ie. node ip address and port).

In the repository there's are more scripts to get nodes that own a torrent.

If you need some guidance to get everything working I wrote a post here that has explanations and interactive scripts you can run right on the website.

Andreas Tzionis
  • 1,019
  • 9
  • 17