I am looking for a tutorial/blog post on how to implement bittorrent protocol step by step. How it works? How do you make requests to peers? and talk to trackers.
I do not mind the programming language (java,ruby,perl,c#)
the complete description of bittorrent protocol: