Micro Transport Protocol Explained

Micro Transport Protocol (μTP, sometimes uTP) is an open User Datagram Protocol-based (UDP-based) variant of the BitTorrent peer-to-peer file sharing protocol intended to mitigate poor latency and other congestion control problems found in conventional BitTorrent over Transmission Control Protocol (TCP), while providing reliable, ordered delivery.

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 it interferes with other applications. For example, the protocol should automatically allow the sharing of a DSL line between a BitTorrent application and a web browser.

Development

μTP emerged from research at Internet2 on QoS and high-performance bulk transport, was adapted for use as a background transport protocol by Plicto, founded by Stanislav Shalunov and Ben Teitelbaum[2] and later acquired by BitTorrent, Inc. in 2006, and further developed within its new owner.[3] It was first introduced in the μTorrent 1.8.x beta branches, and publicized in the alpha builds of μTorrent 1.9.[4] [5]

The implementation of μTP used in μTorrent was later separated into the "libutp" library and published under the MIT license.[6]

The first free software client to implement μTP was KTorrent 4.0.[7] [8] libtorrent implements μTP since version 0.16.0[9] and it is used in qBittorrent since 2.8.0.[10] Tixati implements μTP since version 1.72.[11] Vuze (formerly Azureus) implements μTP since version 4.6.0.0.[12] Transmission implements μTP since version 2.30.[13]

μTP congestion control

The congestion control algorithm used by μTP, known as Low Extra Delay Background Transport (LEDBAT), aims to decrease the latency caused by applications using the protocol while maximizing bandwidth when latency is not excessive.[14] [15] Additionally, information from the μTP congestion controller can be used to choose the transfer rate of TCP connections.[16]

LEDBAT is described in . As of 2009, the details of the μTP implementation were different from those of the then-current Internet Draft.[17]

μTP also adds support for NAT traversal using UDP hole punching between two port-restricted peers where a third unrestricted peer acts as a STUN server.[18] [19]

See also

External links

Notes and References

  1. Web site: Forum.bittorrent.org / A few comments about µTP (BEP-29) . November 15, 2009 . dead. https://web.archive.org/web/20100301125306/http://forum.bittorrent.org/viewtopic.php?pid=762 . March 1, 2010 .
  2. http://www.fastcolabs.com/3014951/why-your-bittorrent-downloads-move-so-fast This Is How Your BitTorrent Downloads Move So Fast
  3. http://www.slideshare.net/eCommConf/eric-klinker-presentation-at-emerging-communication-conference-awards-2010-america/11 uTP timeline, slide 11, "This Green Revolution-improving the yield of your network investment", eComm America Conference, San Francisco, CA, April 2010.
  4. Web site: Beijnum. Iljitsch van. 2008-12-02. ?Torrent's switch to UDP and why the sky isn't falling. 2021-05-11. Ars Technica. en-us.
  5. Web site: uTorrent shifts towards UDP to make it work better. 2021-05-11. www.thinkbroadband.com.
  6. Web site: Libutp, an open source implementation of µTP, has now been released (Page 1) / Announcements / µTorrent Community Forums . 2011-01-15 . dead. https://web.archive.org/web/20110123183649/http://forum.utorrent.com/viewtopic.php?id=76640 . 2011-01-23 .
  7. Web site: KTorrent First BitTorrent Client To Adopt Open Source uTP * TorrentFreak. 2021-05-11. en.
  8. Web site: 24 May 2010. KTorrent 4.0 is out. live. https://web.archive.org/web/20150402090740/http://ktorrent.pwsp.net/?q=node%2F42. 2015-04-02.
  9. Web site: Google Code Archive - Long-term storage for Google Code Project Hosting.. 2021-05-11. code.google.com.
  10. Web site: qBittorrent Official Website. 2021-05-11. www.qbittorrent.org.
  11. Web site: Tixati.com - News. 2021-05-11. www.tixati.com.
  12. Web site: Version 4400 4702 Changelog - VuzeWiki. 2021-05-11. wiki.vuze.com.
  13. Web site: Changes – Transmission . 2012-07-12 . https://web.archive.org/web/20150524013026/https://trac.transmissionbt.com/wiki/Changes#version-2.30 . 2015-05-24 . dead .
  14. Web site: Technical information about UDP . 2008-12-23 . https://web.archive.org/web/20090512123108/http://searchnetworking.techtarget.com.au/articles/27957-Torrents-of-Disruption-on-the-Way- . 2009-05-12 . dead .
  15. Web site: Forum.bittorrent.org / A few comments about µTP (BEP-29) . November 15, 2009 . dead. https://web.archive.org/web/20100301125306/http://forum.bittorrent.org/viewtopic.php?pid=762 . March 1, 2010 .
  16. Web site: Post by developer "Greg Hazel" in thread "μTorrent 1.9 alpha" . 2008-11-26 . 2009-03-08 . dead. https://web.archive.org/web/20090208093326/http://forum.utorrent.com/viewtopic.php?pid=377209 . February 8, 2009 .
  17. Web site: Forum.bittorrent.org / A few comments about µTP (BEP-29) . November 15, 2009 . dead. https://web.archive.org/web/20110725080523/http://forum.bittorrent.org/viewtopic.php?pid=753 . July 25, 2011 .
  18. Web site: ΜTorrent 1.9 alpha 15380 (Page 1) / Announcements / µTorrent Community Forums . December 23, 2012 . dead. https://web.archive.org/web/20130325195455/http://forum.utorrent.com/viewtopic.php?id=49813 . March 25, 2013 .
  19. Web site: Distributed UDP hole punching for the BitTorrent protocol (Page 1) / Protocol Design Discussion / µTorrent Community Forums . December 23, 2012 . dead. https://web.archive.org/web/20130619125216/http://forum.utorrent.com/viewtopic.php?pid=407732 . June 19, 2013 .