Micro Transport Protocol
Vorlage:Fsb Micro Transport Protocol or µTP (sometimes also uTP) is an open 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 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 an ADSL 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, that was founded by Stanislav Shalunov[2] and later it was 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][7]
The first free software client to implement µTP was KTorrent 4.0.[8][9] libtorrent implements µTP since version 0.16.0[10] and it is used in qBittorrent since 2.8.0.[11] Tixati implements µTP since version 1.72.[12] Vuze (formerly Azureus) implements µTP since version 4.6.0.0.[13] Transmission implements µTP since version 2.30.[14]
µ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.[15][16] Additionally, information from the µTP congestion controller can be used to choose the transfer rate of TCP connections.[17]
Vorlage:Internet LEDBAT is described in RFC 6817. As of 2009, the details of the µTP implementation were different from those of the then-current Internet Draft.[18]
µ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.[19][20]
See also
- TCP congestion control
- Multipurpose Transaction Protocol (MTP)
- QUIC (Quick UDP Internet Connections)
- Real-Time Media Flow Protocol (RTMFP)
- Stream Control Transmission Protocol (SCTP UDP Encapsulation; RFC 6951)
- UDP-based Data Transfer Protocol (UDT)
References
External links
- BitTorrent Enhancement Proposal 29 - µTorrent transport protocol
- TCP-LP
- swift - the multiparty transport protocol
Vorlage:BitTorrent Vorlage:File sharing protocols
- ↑ Archived copy. Archiviert vom am 1. März 2010; abgerufen am 15. November 2009.
- ↑ This Is How Your BitTorrent Downloads Move So Fast, Fastcolabs, 2013-07-29, Retrieved November 6, 2013
- ↑ 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.
- ↑ µTorrent's switch to UDP and why the sky isn't falling
- ↑ uTorrent shifts towards UDP to make it work better
- ↑ Archived copy. Archiviert vom am 23. Januar 2011; abgerufen am 15. Januar 2011.
- ↑ https://github.com/bittorrent/libutp
- ↑ http://torrentfreak.com/ktorrent-first-bittorrent-client-to-adopt-open-source-utp-100528/
- ↑ http://ktorrent.pwsp.net/?q=node/42 web.archive.org Fehler bei Vorlage * Parametername unbekannt (Vorlage:Webarchiv): "date" Fehler bei Vorlage:Webarchiv: Genau einer der Parameter 'wayback', 'webciteID', 'archive-today', 'archive-is' oder 'archiv-url' muss angegeben werden. Fehler bei Vorlage:Webarchiv: enWP-Wert im Parameter 'url'.
- ↑ https://code.google.com/p/libtorrent/downloads/detail?name=libtorrent-rasterbar-0.16.0.tar.gz
- ↑ http://www.qbittorrent.org/news.php
- ↑ http://www.tixati.com/news/
- ↑ https://wiki.vuze.com/w/Version_4400_4702_Changelog
- ↑ https://trac.transmissionbt.com/wiki/Changes#version-2.30
- ↑ Technical information about UDP
- ↑ Archived copy. Archiviert vom am 1. März 2010; abgerufen am 15. November 2009.
- ↑ Post by developer "Greg Hazel" in thread "µTorrent 1.9 alpha". 26. November 2008, archiviert vom am 8. Februar 2009; abgerufen am 8. März 2009.
- ↑ Archived copy. Archiviert vom am 25. Juli 2011; abgerufen am 15. November 2009.Vorlage:Citation broken
- ↑ Archived copy. Archiviert vom am 25. März 2013; abgerufen am 23. Dezember 2012.
- ↑ Archived copy. Archiviert vom am 19. Juni 2013; abgerufen am 23. Dezember 2012.