Micro Transport Protocol or µTP is a protocol used by the µTorrent implementation of the bittorrent protocol to communicate across the internet.
It was devised to automatically slow down[1] the rate at which packets of data are transmitted between users of peer-to-peer file sharing torrents when the file-sharing traffic interferes with other applications. For example, it should in principle automatically allow the sharing of an ADSL line between a BitTorrent application and a web browser.
As it is difficult for some people to type the Greek letter mu, µTP is often written uTP.
Development
µTP was developed within BitTorrent, Inc., with no input from the wider networking community[2]. It was first introduced in the µTorrent 1.8.x beta branches, and publicized in the alpha builds of µTorrent 1.9[3][4].
Operation
µTP consists of two parts: a framing scheme, and a congestion control algorithm that is less aggressive than that of TCP.
µTP framing
µTP stores data within UDP datagrams using its own framing scheme. The framing scheme has functionality roughly equivalent to that of TCP (with timestamps and SACK), but realized in a somewhat idiosyncratic manner.
The µTP framing scheme is believed by some to be far from optimal[5].
µTP congestion control
The congestion control algorithm used by µTP, known as Ledbat, aims to decrease the latency caused by applications using the protocol while maximizing bandwidth when latency is not excessive[6]. Information from the transport can be used to control the transfer rate of TCP connections to prevent disruption of the used Internet connection.[7]
See also
- µTorrent
- BitTorrent
- BitTorrent Enhancement Proposal 29 - µTorrent transport protocol
- TCP congestion avoidance algorithm
- TCP-LP
References
- ^ http://forum.bittorrent.org/viewtopic.php?pid=762#p762
- ^ http://forum.utorrent.com/viewtopic.php?id=59150
- ^ µTorrent's switch to UDP and why the sky isn't falling
- ^ uTorrent shifts towards UDP to make it work better
- ^ http://forum.bittorrent.org/viewtopic.php?id=131
- ^ "Post by developer "Greg Hazel" in thread "µTorrent 1.9 alpha"". 2008-11-26. Retrieved 2009-03-08.
- ^ Technical information about UDP