I created a virtual environment for torrent download which included 4 virtual machines. Of the four, three machines acts as peers and the other acts as a tracker. Using uTorrent I created a torrent file from one of the peers and announced it to the tracker. From another peer I tried downloading the file using the torrent file created and it worked. However when I captured the network packets during the download using wireshark, I was surprised to see that the Bittorrent protocol was not at all used for the piece transfer. Neither it had any request or have messages. UDP is used for the transfer.

Why is it so? How can I instruct the client to use Bittorrent protocol for transfer?

  • I think reading about the about the OSI model would help here - UDP is layer 4 , bitorrent is layer 7. The TCP/IP model is more in fashion now - I'd consider UDP a transport, and bitorrent a application protocol. Its also worth considering bitorrent and some other clients use a different protocol as well, called µTP
    – Journeyman Geek
    Dec 3, 2014 at 7:00
  • @JourneymanGeek : Ya.. I went through Micro transport protocol also. But I need to study the messages passed between the peer and client using bittorrent protocol.
    – Jackzz
    Dec 3, 2014 at 7:09
  • So do you mean udp or µTP ?
    – Journeyman Geek
    Dec 3, 2014 at 7:10
  • @JourneymanGeek: UDP
    – Jackzz
    Dec 3, 2014 at 7:52
  • hmm. Do you have protocol encryption turned on?
    – Journeyman Geek
    Dec 4, 2014 at 1:38

2 Answers 2


Turn off µTP (Its a different application layer, and useless for your needs) and completely disable protocol encryption.

  • Thnk u... while using this protocol is there some way by which I can identify which pieces are received??(as piece index is mentioned in the peer messages of bittorrent protocol)
    – Jackzz
    Dec 4, 2014 at 2:09
  • No idea. I use bittorrent for all my linux installer downloading needs, but I don't have that much of a clue about the underlying protocol
    – Journeyman Geek
    Dec 4, 2014 at 3:10

What you have is the bittorrent protocol, kindasorta.

What you're seeing there is called the utorrent transfer protocol (uTP) which was introduced in late 08 to bittorrent inc.'s clients (utorrent and BitTorrent[mainline]) as a way to reduce some traffic usage, and decongest networks a bit.

It's basically a UDP-based version of bittorrent. When it was annouced in 2008, some people lost their marbles, and claimed that the world would end and that the major shift to UDP would kill gaming, video conferencing and so on. As you can see, it didn't. The DRM-based trackers (aka 'private trackers') also threw a bit of a wobbly, as the different data quantities threw a wrench into their DRM enforcement systems, and also upset some of their paid-prioritization systems, so they banned any client using it. Then again, most of the people behind those sites have no clue what they're doing anyway (I speak from experience)

  • Which is funny since as of 2014, quite a few decent clients support it - one of the libtorrents does (rasterbar I think, but not rakshasa, and it does seem rather well behaved on lesser internet connections.
    – Journeyman Geek
    Dec 31, 2014 at 0:20
  • oh, it's extremely well behaved on most internet connections - that was actually the main reason for its development. Feb 9, 2015 at 4:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.