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英語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. ^ 1.0 1.1 存档副本. [2010-02-14]. (原始內容存檔於2010-03-01). 
  2. ^ 存档副本. [2010-02-14]. (原始內容存檔於2013-06-07). 
  3. ^ µTorrent's switch to UDP and why the sky isn't falling. [2010-02-14]. (原始內容存檔於2009-01-24). 
  4. ^ uTorrent shifts towards UDP to make it work better. [2010-02-14]. (原始內容存檔於2016-06-04). 
  5. ^ libutp, an open source implementation of µTP, has now been released. [2011-04-13]. (原始內容存檔於2011-01-23). 
  6. ^ 存档副本. [2011-04-13]. (原始內容存檔於2021-01-25). 
  7. ^ 存档副本. [2011-04-16]. (原始內容存檔於2020-11-22). 
  8. ^ 存档副本. [2021-02-07]. (原始內容存檔於2018-09-16). 
  9. ^ 存档副本. [2011-04-16]. (原始內容存檔於2012-03-03). 
  10. ^ http://libtorrent.svn.sourceforge.net/viewvc/libtorrent/branches/libtorrent_utp/[永久失效連結]
  11. ^ 存档副本. [2011-04-16]. (原始內容存檔於2016-03-19). 
  12. ^ 存档副本. [2011-04-16]. (原始內容存檔於2012-05-15). 
  13. ^ 存档副本. [2011-04-16]. (原始內容存檔於2017-08-05). 
  14. ^ 存档副本. [2010-02-14]. (原始內容存檔於2012-03-01). 
  15. ^ 存档副本. [2010-02-14]. (原始內容存檔於2013-08-04). 
  16. ^ Technical information about UDP. [2008-12-23]. (原始內容存檔於2009-05-12). 
  17. ^ Post by developer "Greg Hazel" in thread "µTorrent 1.9 alpha". 2008-11-26 [2009-03-08]. (原始內容存檔於2009-02-08). 
  18. ^ Low Extra Delay Background Transport (LEDBAT). 2009-03-04 [2009-12-01]. (原始內容存檔於2016-08-06). 
  19. ^ 存档副本. [2010-02-14]. (原始內容存檔於2011-07-25). 

外部連結

編輯