Micro Transport Protocol
Micro Transport Protocol或称µTP是一个由µTorrent完成的BitTorrent协定。
它原本被设计用于当BitTorrent下载与一般应用程式冲突时,自动降低BitTorrent的点对点下载速率[1]。例如,它应能自动调节BitTorrent下载与浏览网页所用频宽。
希腊字母mu可能不是那么好打出,µTP通常被写为uTP。
开发
[编辑]µTP是由BitTorrent公司开发,但没有投入更广泛的网路社群。[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]另一些人提出,尽管µTP协议有许多优点,但由于现有的TCP协议与操作系统内核紧密结合,在其中加入新的功能特性需要很长时间才能在应用程序中发挥作用。[来源请求]
运作
[编辑]µTP由两个部分所组成:一个框架机制,以及一种相比TCP协议较低侵略性的拥塞控制算法。
µTP的框架机制
[编辑]µTP在UDP分组中以自己的框架机制来储存数据。这种机制与TCP具有大致相同的功能(同样带有时间戳和使用选择性确认分组SACK),但以一种独特的方式实现。
有评论认为µTP的框架机制有诸多不完善之处。[15]
µTP的拥塞控制
[编辑]µTP的拥塞控制被称为LEDBAT,旨在减少当延迟不严重时,应用程序使用µTP来最大化可用带宽造成的延迟。[1][16]此外,µTP的拥塞控制器提供的信息可用于选择TCP连接的传输率。[17]
IETF在互联网草案中描述了LEDBAT算法,[18] 但µTP具体的实现方法有别于这些草案。[19]
相关条目
[编辑]参考文献
[编辑]- ^ 1.0 1.1 存档副本. [2010-02-14]. (原始内容存档于2010-03-01).
- ^ 存档副本. [2010-02-14]. (原始内容存档于2013-06-07).
- ^ µTorrent's switch to UDP and why the sky isn't falling. [2010-02-14]. (原始内容存档于2009-01-24).
- ^ uTorrent shifts towards UDP to make it work better. [2010-02-14]. (原始内容存档于2016-06-04).
- ^ libutp, an open source implementation of µTP, has now been released. [2011-04-13]. (原始内容存档于2011-01-23).
- ^ 存档副本. [2011-04-13]. (原始内容存档于2021-01-25).
- ^ 存档副本. [2011-04-16]. (原始内容存档于2020-11-22).
- ^ 存档副本. [2021-02-07]. (原始内容存档于2018-09-16).
- ^ 存档副本. [2011-04-16]. (原始内容存档于2012-03-03).
- ^ http://libtorrent.svn.sourceforge.net/viewvc/libtorrent/branches/libtorrent_utp/[永久失效链接]
- ^ 存档副本. [2011-04-16]. (原始内容存档于2016-03-19).
- ^ 存档副本. [2011-04-16]. (原始内容存档于2012-05-15).
- ^ 存档副本. [2011-04-16]. (原始内容存档于2017-08-05).
- ^ 存档副本. [2010-02-14]. (原始内容存档于2012-03-01).
- ^ 存档副本. [2010-02-14]. (原始内容存档于2013-08-04).
- ^ Technical information about UDP. [2008-12-23]. (原始内容存档于2009-05-12).
- ^ Post by developer "Greg Hazel" in thread "µTorrent 1.9 alpha". 2008-11-26 [2009-03-08]. (原始内容存档于2009-02-08).
- ^ Low Extra Delay Background Transport (LEDBAT). 2009-03-04 [2009-12-01]. (原始内容存档于2016-08-06).
- ^ 存档副本. [2010-02-14]. (原始内容存档于2011-07-25).
外部链接
[编辑]- BitTorrent Enhancement Proposal 29 (页面存档备份,存于互联网档案馆) - µTorrent transport protocol