[tahoe-dev] uTP (low extra delay transport)

ghazel at gmail.com ghazel at gmail.com
Sat May 22 22:37:43 PDT 2010


Hi,

BitTorrent, Inc. has recently released uTP (uTorrent Transport
Protocol) under the MIT license. uTP is a TCP-like implementation on
UDP, made to use the LEDBAT (Low Extra Delay Background Transport)
congestion controller. The library is C/C++, but I have wrapped it up
with ctypes for use in Python.

You can read more about the congestion controller and its rational here:
http://datatracker.ietf.org/wg/ledbat/charter/

Setting aside the ease of hole-punching with UDP, BitTorrent
applications obviously benefit quite a bit from this improvement,
since they often cause congestion problems for networks. Other
background, non-realtime applications might also benefit from this. In
particular, auto-update and online backup came to mind.

I can understand use-cases for Tahoe which might benefit from
aggressive, TCP-like behavior. Primarily, trying to stream video
should probably compete with other TCP connections. However,
non-interactive replication to shares seems like an opportunity to use
uTP, if congestion caused by uploading might be a burden on the
network.

So my question is; would the Tahoe project be interested in integrating uTP?

-Greg


More information about the tahoe-dev mailing list