Better than µTP? TCP-LP in Transmission

Discussion of Transmission that doesn't fit in the other categories
Post Reply
jch
Posts: 175
Joined: Wed May 13, 2009 12:08 am

Better than µTP? TCP-LP in Transmission

Post by jch »

Hi,

Jordan has been kind enough to commit my experimental "alternate congestion control" patch to Transmission in r10508. Here's a little background.

(As usual — this message does not reflect an official opinion of the Transmission team, just the personal opinion of a lone developer (J. Ch.).)

There is a lot of interest in having BitTorrent traffic be "nice" to other network traffic -- to make sure that even your BitTorrent traffic will always stay "in the background", yielding to web and other traffic whenever needed. Since normal network traffic is called "best-effort traffic", this is called making BitTorrent traffic "less than best-effort".

One solution consists in dropping compatibility with normal BitTorrent, and defining an all new less than best-effort protocol. This is what the µTorrent developers have done with µTP. While switching to an incompatible protocol makes sense for a commercial entity such as the owners of µTorrent, it is not a game that self-respecting Free software projects should be doing.

A different solution consists in building in less than best-effort capabilities into the operating system itself, in a compatible manner, and so that all applications can use it. This is the case in Linux, which has implemented a "low priority" variant of TCP called TCP-LP.

My experimental patch is about making Transmission optionally use TCP-LP for peer connections.

Using low-priority TCP (TCP-LP) in Transmission

You will need Transmission r10508 or later (check in the About menu entry) running on Linux.

1. As root, run the following:

Code: Select all

modprobe tcp_lp
echo cubic reno lp > /proc/sys/net/ipv4/tcp_allowed_congestion_control
You will probably want to make this permanent by putting these two lines e.g. in /etc/rc.local.

2. Add the following line to your settings.json file:

Code: Select all

"peer-congestion-algorithm": "lp"
Now start transmission, and check the Message Log for any strange messages about congestion control — if everything works, there should be none.

Please note that this functionality is experimental — it should work fine, but it's basically untested. Please let us know how it goes for you.

--Juliusz
rosch
Posts: 2
Joined: Sat Nov 19, 2011 11:28 pm

Re: Better than µTP? TCP-LP in Transmission

Post by rosch »

I tried this on Ubuntu 11.10 and unfortunately I have to say that my browsing is very slow..it's very close to what I get when not using tcp-lp. Maybe it's not making any difference at all but that's not easy to tell.

I checked if I configured all of it correctly and also didn't find any warnings or errors in the daemon log (syslog).

I am only uploading and I did not limit the speed as this setup should take care of the balancing..
Although I like the idea a lot it's not yet working for me :)


ps: am I the only one who tried this out in more than one year?! :o
blacke4dawn
Posts: 552
Joined: Sun Dec 13, 2009 10:44 pm

Re: Better than µTP? TCP-LP in Transmission

Post by blacke4dawn »

rosch wrote:ps: am I the only one who tried this out in more than one year?! :o
Well, the only who has reported back in this thread in little over a year.

Since neither the dev team nor jch has reported anything more on this I don't think they have gone much further with it. And the move to UDP was not only for congestion but also to reduce overhead, there is no real point in ack'ing that you received it.
Post Reply