Changing the game with μTP

μTP or “micro-Transport Protocol” is a new protocol from BitTorrent, Inc. that is at the heart of the new major release of our popular BitTorrent clients “μTorrent” and “BitTorrent Mainline”. It is going to be available as the default transport mechanism in both μTorrent v2.0 and BitTorrent v7.0. So what’s the big deal? And why do we want this to be the centerpiece of our future software?

The fact is that our BitTorrent clients have become incredibly popular with users downloading large files over the internet. So much so that some observers claim that BitTorrent traffic accounts for 30%, 50%, or even more of all Internet traffic. Regardless of the actual numbers (which we have no way of knowing), it is clear that the popularity of BitTorrent is putting such a burden on ISP networks that they sometimes react by slowing down or interfering with that traffic.

Now there is a whole “net neutrality” debate, partly about whether ISPs should be allowed to interfere with internet traffic from one particular app simply because it is “too popular” – some argue that perhaps ISPs could invest more so that supply meets demand – but this debate is not the focus here. At BitTorrent we like to be a bit more pragmatic, to assert that there is responsibility on the part of both the ISPs and authors of popular applications like BitTorrent to make sure that the internet scales smoothly to meet demand.

Which brings us back to μTP:

News of μTP started to leak to the public late last year with some wild and totally untrue reporting that we were trying to make BitTorrent more greedy and were somehow “declaring war” on users of other applications. In fact completely the opposite is true, as was subsequently acknowledged by the initial author’s follow-up article.

μTP is a completely new implementation of the BitTorrent protocol with a major new design objective – μTP is designed to be network friendly – to not swamp network connections when there are other apps trying to send and receive – and to resolve the key problem that ISPs use to justify interference with BitTorrent traffic.

If BitTorrent traffic volume is so great that it overwhelms end-users’ connections (leading to service calls from consumers whose internet doesn’t work), then μTP eliminates this problem by being better at only using bandwidth when there is no other traffic competing, and automatically slowing or stopping BitTorrent transfers before network connections seize up.

Legacy BitTorrent traffic uses the standard internet “TCP” protocol to govern when it tries to go faster or slow down. The problem with TCP is that it can only detect a problem by waiting to see if packets are dropped. Unfortunately, by the time packets are being lost, the problem is already acute and the consumers connection has already drastically slowed or stopped. TCP is a lot like trying to drive with your eyes closed. You only notice something’s wrong when you hit something.

μTP is like driving with your eyes *open* – μTP is able to see problems coming and make much more modest adjustments to ensure the problems don’t cause a car wreck. It does this by being able to detect congestion on a network based on how long a packet takes to be sent from one peer to the next. If things start to take longer, then μTP adjusts the rate of sending accordingly.

As it happens, this trick has required some very deep engineering work – the way the client talks to other clients has had to be completely re-built. As a side effect, because the new protocol so different, it is practically invisible to some of the nasty traffic shaping techniques that some ISPs have been using. We doubt whether this happy result will last for long, and nor is it the point of the technology. The point is to reduce the need for such gear rather than to evade it.

Overall, when we get μTP stable, we’re excited about the potential benefits that this could bring to ISPs by reducing the effective burdens on their networks. Although we stand to gain nothing financially from them for implementing it, we hope to maintain the lead enjoyed by μTorrent and BitTorrent Mainline software as the most popular BitTorrent clients, and hopefully demonstrate how innovation from responsible stakeholders on a neutral internet can lead to winning outcomes all-around.

— Simon–

17 Comments

  1. Posted October 6, 2009 at 1:23 pm | Permalink | Reply

    That is great news. I just updated uTorrent for mac to version 0.9.2 and it includes a few uTP fixes.

  2. Joshua Rodman
    Posted October 7, 2009 at 10:36 pm | Permalink | Reply

    Uh wait, is it an application protocol or is it a network protocol? The name µCP makes me think you’re trying to replace TCP or UDP, but I bet that isn’t true. Aren’t you just making an improved bittorrent protocol that runs on UDP?

    I mean, I’m sure it’s nontrivial and all, and the right way to do things, but the name seems like a reach.

    • Simon Morris
      Posted October 8, 2009 at 5:52 pm | Permalink | Reply

      As a matter of fact µTP is indeed a replacement for TCP, so we think the name is appropriate. You can check out standardization work which we’re chairing at the IETF called the LEDBAT working group

      • tissit
        Posted February 24, 2010 at 3:20 am | Permalink

        That’s never going to fly. The set protocol types are entrenched in all network equipment that deals above ip level (with connection tracking, for example). So tcp, udp, icmp, igmp it is for anything but a lan.

        Another comment makes it looks like uTP works over UDP which is really your only chance of avoiding tcp. Is that correct?

      • Posted February 27, 2010 at 12:14 pm | Permalink

        I agree that replacing TCP is at best a very long shot (my original comment here was sincere but somewhat aspirational). Developing standards like this is certainly the realm of IETF work. But even then, the challenge of a general replacement or upgrade of TCP is daunting to say the very least…

        And yes, uTP sits on top of UDP, meaning that we avoid TCP when client connect with uTP.

  3. John
    Posted October 10, 2009 at 1:47 pm | Permalink | Reply

    It’s not a TCP replacement, it’s a new application layer protocol that will indeed be used in conjunction with UDP.

  4. Simon Morris
    Posted October 11, 2009 at 10:44 am | Permalink | Reply

    Sure – I don’t mean to suggest that µTP is a general replacement for TCP. And yes, it is an app-layer protocol for use in conjunction with UDP. But for the isolated case of BitTorrent traffic, µTP replaces the function of congestion control that is normally performed by TCP.

  5. amber
    Posted November 1, 2009 at 6:17 pm | Permalink | Reply

    lol I never expected what I just got.

    I’m a Newsgroups fan but thought I’d test this out. I got download speed of 2 mbps and let it choose it’s own upload speed based on it’s own speed test.

    I’m liking this a lot. 🙂

  6. Fabian
    Posted March 6, 2010 at 8:32 am | Permalink | Reply

    At first it looks like the reinvention of the Datagram Congestion Control Protocol which is already in the Linux kernel for some time.

  7. Posted June 7, 2010 at 12:29 pm | Permalink | Reply

    Very fascinating information. I sent it to a couple of friends already! I even wish to advertise here… My site is about console sports games. Pls feel free to email me at: editor@ps3formoney.com

  8. bikerdoc
    Posted September 25, 2010 at 12:01 pm | Permalink | Reply

    Should this app not perform to my liking, can it easily be removed through the control panel,”remove programs”?

  9. Posted October 7, 2010 at 10:54 pm | Permalink | Reply

    i have been reading up on ways to get round the throttling of your BitTorrent traffic. Now will this still be relevant with this new protocol in place, or am i simply wasting my time ?

  10. Posted October 14, 2010 at 11:16 am | Permalink | Reply

    Nice information. I will try as well upgrading my uTorrent.

  11. Posted January 3, 2011 at 7:54 pm | Permalink | Reply

    Now a days users downloading large files on internet via bittorrent

  12. stagnarock
    Posted July 10, 2011 at 10:28 pm | Permalink | Reply

    grt software …………

  13. Posted September 5, 2011 at 6:14 am | Permalink | Reply

    register follow-up article backpeddling his slating links to original article. Should be:

    http://www.theregister.co.uk/2008/12/05/richard_bennett_bittorrent_udp/

    HTH =]

  14. jasamvalter
    Posted October 17, 2011 at 3:52 am | Permalink | Reply

    Verry nice and helpfull work, congratulations

    My blog about networking http://howdoesinternetwork.com it’s writing also about how exactly internet is working and about all the network fundamentials..

    Hope you will enjoy learning from it and help me with some comments and maybe suggestions.

    regards

14 Trackbacks

  1. […] http://blog.bittorrent.com/2009/10/05/changing-the-game-with-μtp/#comments Posted by MS_CS Filed in CS Articles Leave a Comment » […]

  2. […] Via | Blog.Torrent.com […]

  3. […] [Via: BitTorrent Blog] […]

  4. By Its Cold Up North « BitTorrent Blog on October 29, 2009 at 4:32 pm

    […] We’ve talked at length about µTP and its design which specifically avoids causing congestion.  So on a fundamental level, this decision is good news for µTP.    There should be no need to throttle µTP in an effort to address congestion or mitigate a security threat.   And the framework will not permit it otherwise, given its discriminatory nature. […]

  5. […] Says the post: […]

  6. […] by oDx on Nov.02, 2009, under General The torrent sharing is about to to change the face of files haring. They are about to launch a new protocol μTP or “micro-Transport Protocol” which is a new protocol from BitTorrent, Inc. It is going to be available as the default transport mechanism in both μTorrent v2.0 and BitTorrent v7.0. Says the post: […]

  7. […] our point of view, streaming is not the most ambitious initiative we’ve been involved with (both µTP and Bram’s Live Streaming project are far bigger […]

  8. […] With the release of µTorrent 2.0 Beta, there has been a lot of great coverage and discussion of µTP and what it means to be “network friendly”.  This is an important change to the […]

  9. […] convertir el P2P en un protocolo menos pesado para la red. µTorrent 2.0 vendrá además con µTP (micro-Transport Protocol) activado por defecto, que utiliza UDP en vez de TCP como capa de transporte y sólo utiliza el […]

  10. By µTorrent 2.0 verwendet jetzt µTP « Lothars Blog on February 11, 2010 at 7:11 pm

    […] µTorrent 2.0 verwendet jetzt µTP By lotharf Von dem beliebten Bittorrent-Client µTorrent ist jetzt die Version 2.0 erschienen. Gleichzeitig mit diesem Versions-Sprung wurde auch das neue Protokoll µTP eingeführt. Dieses soll TCP ersetzen und viel flexibler als jenes auf die Auslastung von Netzwerken reagieren. Denn die Frage: “Lädst du gerade was runter?” dürfte wohl die am häufigsten gestellte sein, wenn sich zwei Leute über ihr Netzwerk unterhalten. Denn nicht zu Unrecht steht Bittorrent in dem Ruf, andere Dienste in einem Netzwerk zu blockieren (wie übrigens FTP auch). Das ist auch der Grund, weshalb sich Bittorrent den Unwillen mancher Internet-Provider zugezogen hat, die es teilweise ausbremsen oder gar blockieren. Ach Firmen-Netzwerke stehen mit Bittorrent auf Kriegsfuss. Das soll sich jetzt mit dem Protokoll µTP ändern. Es soll Wartezeiten und Staus verhindern, weil es schneller auf Überlastung reagiert; Bittorrent soll andere Dienste dadurch nicht mehr blockieren können. Gleichzeitig soll es auch selbst leichter durch Firewalls durch kommen und sich von den Providern nicht mehr so leicht bremsen lassen. Weitere Infos dazu hier. […]

  11. […] With the release of µTorrent 2.0 Beta, there has been a lot of great coverage and discussion of µTP and what it means to be “network friendly”.  This is an important change to the […]

  12. […] our point of view, streaming is not the most ambitious initiative we’ve been involved with (both µTP and Bram’s Live Streaming project are far bigger […]

  13. By It’s Cold Up North | tipst3r on February 22, 2010 at 7:19 pm

    […] We’ve talked at length about µTP and its design which specifically avoids causing congestion.  So on a fundamental level, this decision is good news for µTP.    There should be no need to throttle µTP in an effort to address congestion or mitigate a security threat.   And the framework will not permit it otherwise, given its discriminatory nature. […]

  14. […] agnostic management techniques and certain applications, like ours, have modified the underlying technology.  And still the Internet grows and mostly still does not labor under the yoke of North Korean or […]

Post a Comment

Required fields are marked *

*
*

%d bloggers like this: