Micro Transport Protocol

Micro Transport Protocol或稱µTP是一個由 µTorrent完成的BitTorrent協定。
它原本被設計用於當BitTorrent下載與一般應用程式衝突時,自動降低BitTorrent的點對點下載速率[1]。例如,它應能自動調節BitTorrent下載與瀏覽網頁所用頻寬。
希臘字母mu可能不是那麼好打出,µTP通常被寫為uTP。
開發
µTP是由BitTorrent, Inc.所開發的,沒有投入更廣泛的網路社群。[2] 它首先於µTorrent 1.8.x beta加入,並於µTorrent 1.9 Alpha中正式對外公開。[3][4]
在 µTorrent 中加入的 µTP 功能被分割到 libutp 函式庫中,並以 MIT許可證發布。[5][6]
第一個支援 µTP 的自由軟體客戶端是 KTorrent 4.0。[7][8] libtorrent(一个实现BitTorrent协议的API)目前在一个开发分支中实现了不完全的µTP协议。[9][10][11] Azureus(現在叫做 Vuze) Bittorrent 客戶端也支援 µTP(在微軟 Windows 和 MAC OS X 10.5 或更新版本上的 Azureus 4.5.0.5 以後)。[12] Transmission 從 2.30 版之後開始支援 µTP。[13]
自由软件社区中有人认为,如果将µTP的拥塞控制加入现有的TCP协议中,将比为某个应用程序专门设计一种机制能更好的达成uTP的开发目标。[14] 另一些人提出,尽管TCP协议有许多优点,但由于协议与操作系统内核紧密结合,在其中加入新的功能特性需要很长时间才能在应用程序中发挥作用。[來源請求]
運作
µTP由兩個部分所組成: 一个框架机制, 以及一种相比TCP协议较低侵略性的拥塞控制算法。
µTP的框架机制
µTP 在UDP分组中以自己的框架机制来储存数据。这种机制与TCP具有大致相同的功能(同样带有时间戳和使用选择性确认分组SACK),但以一种独特的方式实现。
有评论认为µTP的框架机制有诸多不完善之处。[15]
µTP的拥塞控制
µTP的拥塞控制,称为 Ledbat,旨在减少当延迟不严重时,应用程序使用µTP来最大化可用带宽造成的延迟。[1][16] 此外,µTP的拥塞控制器提供的信息可用于选择TCP连接的传输率。[17]
IETF在互联网草案中描述了Ledbat算法,[18] 但µTP具体的实现方法有别于这些草案。[19]
相關條目
- µTorrent
- BitTorrent
- BitTorrent Enhancement Proposal 29 - µTorrent transport protocol
- TCP congestion avoidance algorithm
- TCP-LP
參考文獻
- ^ 1.0 1.1 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
- ^ libutp, an open source implementation of µTP, has now been released
- ^ https://github.com/bittorrent/libutp
- ^ http://torrentfreak.com/ktorrent-first-bittorrent-client-to-adopt-open-source-utp-100528/
- ^ http://ktorrent.org/?q=node/42
- ^ https://libtorrent.svn.sourceforge.net/svnroot/libtorrent/branches/libtorrent_utp/
- ^ http://libtorrent.svn.sourceforge.net/viewvc/libtorrent/branches/libtorrent_utp/
- ^ http://code.google.com/p/libtorrent/issues/detail?id=6
- ^ http://azureus.sourceforge.net/plugin_details.php?plugin=azutp
- ^ https://trac.transmissionbt.com/ticket/2338
- ^ http://forum.bittorrent.org/viewtopic.php?pid=764#p764
- ^ http://forum.bittorrent.org/viewtopic.php?id=131
- ^ Technical information about UDP
- ^ Post by developer "Greg Hazel" in thread "µTorrent 1.9 alpha". 2008-11-26 [2009-03-08].
- ^ Low Extra Delay Background Transport (LEDBAT). 2009-03-04 [2009-12-01].
- ^ http://forum.bittorrent.org/viewtopic.php?pid=753#p753