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

BitTorrent net meltdown delayed

But is UTP the best approach?

By Richard Bennett

Posted in Broadband, 5th December 2008 13:48 GMT

The internet's TCP/IP protocol doesn't work very well. As the internet's traffic cop, it's supposed to prevent applications from overloading the network, but it's at a loss when it comes to managing P2P applications. This deficiency, generally known to network engineers but denied by net neutrality advocates, has been a central issue in the net neutrality debate. BitTorrent Inc has now weighed in on the side of the TCP/IP critics.

The next official release of the uTorrent client – currently in alpha test – replaces TCP with a custom-built transport protocol called uTP, layered over the same UDP protocol used by VoIP and gaming. According to BitTorrent marketing manager Simon Morris, the motivation for this switch (which I incorrectly characterized in The Register earlier this week as merely another attempt to escape traffic shaping) is to better detect and avoid network congestion.

Morris also told the media this week that TCP only reduces its sending rate in response to packet loss, a common but erroneous belief. Like uTP, Microsoft’s Compound TCP begins to slow down when it detects latency increases. Even though TCP is capable of being just as polite as BitTorrent wants uTP to be, the fact that it hides its delay measurements from applications makes it troublesome for P2P clients with many paths to choose from. But it’s sensible to explore alternatives to TCP, as we’ve said on these pages many times, and we’re glad BitTorrent finally agrees.

It remains to be seen whether uTP is the best approach. The company has touted its close relationships with ISPs and the IETF’s LEDBAT task group, but has so far shared none of the specifics of uTP operation in public fora. The PowerPoints they’ve shared with the IETF are encouraging, but they’re a long way from the source code, simulations, and hard data from impartial sources that are prerequisite to any new protocol standard.

One thing that is certain is that uTP will not reduce the volume of traffic that P2P moves across the internet, something that would be commercial suicide for a company that depends heavily on aggressive file sharers, and pirates, for its popularity. But it does try to find the nooks and crannies of the internet where its content, legal and otherwise, can be gathered with the least impact on other users. If successful, this will make the internet more stable.

The stakes in the competition to replace TCP are considerable for a struggling company that recently had to lay off half its staff. BitTorrent lives at the intersection of three groups with sharply opposing interests: P2P users, most of them pirates; internet service providers with traffic and legacy equipment issues; and major television and movie studios who want wide distribution but no piracy. These interests have clashed in the past, particularly when a licensing deal with the MPAA raised the shackles of private P2P trackers, causing them to temporarily ban uTorrent clients until they could be satisfied that the privacy of those trafficking in stolen content wouldn't be compromised.

One way of dealing with these clashing interests is the standard marketing practice of controlling messages heard by different groups. While BitTorrent protested to the mainstream media and tech blogs this week that uTP was not intended to escape network management, they were missing in action on P2P message boards such as DSL Reports (“New UDP uTorrent Takes Aim At Throttling”) and their own uTorrent Forum where users touted uTP’s evasive properties in messages like this one:

Wow this is awesome. Prevents my sandvine using isp from throttling.

We presume they’ll get around to this shortly.

The overall picture suggests that uTP has a serious flaw. If it simply relies on latency measurements to find preferred paths, it’s likely to favor paths where it’s successfully circumventing management. When a path is managed to give UDP priority over TCP (as is apparently the case in the Bell Canada network,) uTP will see that path as uncongested even as it's struggling to deliver TCP. In this case, uTP will in fact impair other applications, as we suggested in our previous piece.

This may not be a widespread scenario, but that’s uncertain. Several management tweaks can prevent perverse side-effects like this from happening, such as reconfiguring traffic shapers to key on stream volume rather than protocol type. This approach to traffic shaping is slower to respond than protocol-based systems, however, so uTP just trades responsiveness at the application for responsiveness at the traffic shaper. Another solution would be for traffic shapers to look inside the UDP payload in order to differentiate VoIP from uTP, but this approach is frustrated by the protocol obfuscation option that remains a live feature in BitTorrent over uTP. uTP will cause traffic shaping to become more expensive.

We can expect more experiments toward replacing TCP each with its own impact on traffic shapers, flow managers, accelerators, and other middleboxes. Protocol experimentation was, after all, the original intent of the internet's founding fathers, and we can civilize it by improving the flow of information between network operators and protocol inventors.

Toward this end, I'd like to see an information clearinghouse established that would allow these two groups to communicate with other quickly and easily. It's not practical for small companies like BitTorrent Inc with its 20 employees to notify each of the tens of thousands of network operators each time it rolls out a traffic-impacting feature (though they should give serious consideration to more press releases), but they can easily notify a central clearinghouse. If network operators choose to ignore fair warning, as Bell Canada has apparently done in this case (they were directly informed weeks ago of the impending change by BitTorrent CEO Eric Klinker), they'll be forced into their traditional reactive mode.

The internet is a cooperative system where each user and each network impacts every other whether they want to or not, and it's been proved that such systems can work effectively (if not particularly efficiently) when information about design and management is widely accessible. Moving this system forward will require us to improve the flow of information, but we have the perfect tool for doing that: the internet itself. ®

Richard Bennett is a network inventor who helped design the modern, manageable local area network.