HOME

TheInfoList



OR:

Micro Transport Protocol (μTP, sometimes uTP) is an
open Open or OPEN may refer to: Music * Open (band), Australian pop/rock band * The Open (band), English indie rock band * ''Open'' (Blues Image album), 1969 * ''Open'' (Gerd Dudek, Buschi Niebergall, and Edward Vesala album), 1979 * ''Open'' (Go ...
User Datagram Protocol In computer networking, the User Datagram Protocol (UDP) is one of the core communication protocols of the Internet protocol suite used to send messages (transported as datagrams in Network packet, packets) to other hosts on an Internet Protoco ...
-based (UDP-based) variant of the
BitTorrent BitTorrent is a Protocol (computing), communication protocol for peer-to-peer file sharing (P2P), which enables users to distribute data and electronic files over the Internet in a Decentralised system, decentralized manner. The protocol is d ...
peer-to-peer file-sharing protocol intended to mitigate poor latency and other
congestion control Network congestion in data networking and queueing theory is the reduced quality of service that occurs when a network node or link is carrying more data than it can handle. Typical effects include queueing delay, packet loss or the blocking of ...
problems found in conventional BitTorrent over
Transmission Control Protocol The Transmission Control Protocol (TCP) is one of the main communications protocol, protocols of the Internet protocol suite. It originated in the initial network implementation in which it complemented the Internet Protocol (IP). Therefore, th ...
(TCP), while providing reliable, ordered delivery. It was devised to automatically slow down the rate at which packets of data are transmitted between users of
peer-to-peer Peer-to-peer (P2P) computing or networking is a distributed application architecture that partitions tasks or workloads between peers. Peers are equally privileged, equipotent participants in the network, forming a peer-to-peer network of Node ...
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 Internet2 is a not-for-profit United States computer network A computer network is a collection of communicating computers and other devices, such as printers and smart phones. In order to communicate, the computers and devices must ...
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 and later acquired by BitTorrent, Inc. in 2006, and further developed within its new owner. It was first introduced in the μTorrent 1.8.x beta branches, and publicized in the alpha builds of
μTorrent μTorrent, or uTorrent (see pronunciation), is a proprietary adware BitTorrent client owned and developed by Rainberry, Inc. The " μ" (Greek letter " mu") in its name comes from the SI prefix "micro-", referring to the program's small memo ...
1.9. The implementation of μTP used in μTorrent was later separated into the "libutp" library and published under the
MIT license The MIT License is a permissive software license originating at the Massachusetts Institute of Technology (MIT) in the late 1980s. As a permissive license, it puts very few restrictions on reuse and therefore has high license compatibility. Unl ...
. The first
free software Free software, libre software, libreware sometimes known as freedom-respecting software is computer software distributed open-source license, under terms that allow users to run the software for any purpose as well as to study, change, distribut ...
client to implement μTP was
KTorrent KTorrent is a BitTorrent client that is part of the KDE Gear. Features KTorrent is often received as a client intended to be feature rich. Features include: *Upload and download speed capping / throttling & scheduling *Internet searching with ...
4.0.
libtorrent libtorrent is an open-source implementation of the BitTorrent protocol. It is written in and has its main library interface in C++. Its most notable features are support for Mainline DHT, IPv6, HTTP seeds and μTorrent's peer exchange. libtor ...
implements μTP since version 0.16.0 and it is used in
qBittorrent qBittorrent is a cross-platform free and open-source BitTorrent client written in native application, native C++. It relies on Boost (C++ libraries), Boost, OpenSSL, zlib, Qt (software), Qt 6 toolkit and the libtorrent-rasterbar library (for th ...
since 2.8.0.
Tixati Tixati is a proprietary Linux and Windows BitTorrent client written in C++. It has standalone and portable versions with each new client version. Features In addition to standard BitTorrent client-sharing functions, Tixati provides inte ...
implements μTP since version 1.72.
Vuze Vuze (previously Azureus) is a BitTorrent client used to transfer files via the BitTorrent protocol. Vuze is written in Java, and uses the Azureus Engine. In addition to downloading data linked to .torrent files, Azureus allows users to view, p ...
(formerly Azureus) implements μTP since version 4.6.0.0. Transmission implements μTP since version 2.30.


μ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. Additionally, information from the μTP congestion controller can be used to choose the transfer rate of TCP connections. LEDBAT is described in . As of 2009, the details of the μTP implementation were different from those of the then-current Internet Draft. μTP also adds support for
NAT traversal Network address translation traversal is a computer networking technique of establishing and maintaining Internet Protocol connections across Gateway (telecommunications), gateways that implement network address translation (NAT). NAT traversal te ...
using
UDP hole punching UDP hole punching is a commonly used technique employed in network address translation (NAT) applications for maintaining User Datagram Protocol (UDP) packet streams that traverse the NAT. NAT traversal techniques are typically required for clien ...
between two port-restricted peers where a third unrestricted peer acts as a STUN server.


See also

*
TCP congestion control Transmission Control Protocol (TCP) uses a congestion control algorithm that includes various aspects of an additive increase/multiplicative decrease (AIMD) scheme, along with other schemes including slow start and a congestion window (CWND) ...
* Multipurpose Transaction Protocol (MTP) *
QUIC QUIC () is a general-purpose transport layer network protocol initially designed by Jim Roskind at Google. It was first implemented and deployed in 2012 and was publicly announced in 2013 as experimentation broadened. It was also described at an ...
* Real-Time Media Flow Protocol (RTMFP) *
Stream Control Transmission Protocol The Stream Control Transmission Protocol (SCTP) is a computer networking communications protocol in the transport layer of the Internet protocol suite. Originally intended for Signaling System 7 (SS7) message transport in telecommunication, the ...
(SCTP UDP Encapsulation; ) * UDP-based Data Transfer Protocol (UDT)


References


External links


BitTorrent Enhancement Proposal 29
- μTorrent transport protocol
TCP Low Priority

swift - the multiparty transport protocol
{{File sharing protocols BitTorrent Internet protocols