[Tsvwg] A coment on "draft-briscoe-tsvwg-relax-fairness-00" re file-sharing

"Robb Topolski" <robb@funchords.com> Sat, 12 April 2008 09:39 UTC

Return-Path: <tsvwg-bounces@ietf.org>
X-Original-To: tsvwg-archive@optimus.ietf.org
Delivered-To: ietfarch-tsvwg-archive@core3.amsl.com
Received: from core3.amsl.com (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 70EDC3A69C7; Sat, 12 Apr 2008 02:39:23 -0700 (PDT)
X-Original-To: tsvwg@core3.amsl.com
Delivered-To: tsvwg@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id EBBAB3A68A6 for <tsvwg@core3.amsl.com>; Fri, 11 Apr 2008 21:30:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.74
X-Spam-Level:
X-Spam-Status: No, score=-0.74 tagged_above=-999 required=5 tests=[BAYES_20=-0.74]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id I0EOHEVS4IUs for <tsvwg@core3.amsl.com>; Fri, 11 Apr 2008 21:30:26 -0700 (PDT)
Received: from wf-out-1314.google.com (wf-out-1314.google.com [209.85.200.172]) by core3.amsl.com (Postfix) with ESMTP id 2375728C179 for <tsvwg@ietf.org>; Fri, 11 Apr 2008 21:30:07 -0700 (PDT)
Received: by wf-out-1314.google.com with SMTP id 25so793899wfa.31 for <tsvwg@ietf.org>; Fri, 11 Apr 2008 21:30:32 -0700 (PDT)
Received: by 10.142.203.13 with SMTP id a13mr1036258wfg.66.1207974632212; Fri, 11 Apr 2008 21:30:32 -0700 (PDT)
Received: from TOPOL009 ( [76.115.95.63]) by mx.google.com with ESMTPS id 22sm6220675wfd.4.2008.04.11.21.30.31 (version=SSLv3 cipher=RC4-MD5); Fri, 11 Apr 2008 21:30:31 -0700 (PDT)
From: Robb Topolski <robb@funchords.com>
To: 'IETF Transport Area working group mailing list' <tsvwg@ietf.org>
Date: Fri, 11 Apr 2008 21:30:30 -0700
Message-ID: <000001c89c55$f14540e0$d1b1a8c0@mshome.net>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Mailer: Microsoft Office Outlook 11
thread-index: AcicVfAzNbeUMx2oR+WEE7w1H3mzVg==
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3198
X-Mailman-Approved-At: Sat, 12 Apr 2008 02:39:21 -0700
Subject: [Tsvwg] A coment on "draft-briscoe-tsvwg-relax-fairness-00" re file-sharing
X-BeenThere: tsvwg@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Transport Area Working Group <tsvwg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=unsubscribe>
List-Post: <mailto:tsvwg@ietf.org>
List-Help: <mailto:tsvwg-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=subscribe>
Sender: tsvwg-bounces@ietf.org
Errors-To: tsvwg-bounces@ietf.org

Comment on 

Problem Statement: We Don't Have To Do Fairness Ourselves
draft-briscoe-tsvwg-relax-fairness-00


Dear Working Group members,

Thank you for your time working on this committee and issues such as these.

The above quoted paragraph requires a number of corrections.  This paragraph
is a basis for the problem statement that follows it -- so getting the basis
down right is key to analysing the issue and sizing up the problem.  The
corrections that I hope to effectively communicate seem to me to reduce the
stated size of the problem.  

--Quote--
Even though file-sharing generally uses TCP, it uses the
well-known trick of opening multiple connections--currently around
100 actively transferring over different paths is not uncommon. A
competing Web application might open a couple of flows at a time, but
perhaps only actively transfer data 1-10% of the time (its activity
factor). Combining 50x less flows and 10-100x lower activity factor
means the traffic intensity from the Web app can be 500-5,000x less.
However, despite being so much lighter on the network, it gets 50x
less bit rate through the bottleneck.
--EndQuote--

I am relatively certain that the draft is talking about BitTorrent above,
and it unforunately misinterprets what it does.  BitTorrent is the #1 P2P
File Sharing protocol in use today.  Furthermore, neither #2 P2P file
sharing protocol ED2K (aka eDonkey, eDonkey2000, eMule, or MFTP) nor #3
Gnutella (aka G1, G2, or Gnutella2) work like BitTorrent, nor as Briscoe's
draft described above.

In the case of BitTorrent, between 35-70 TCP connections are generated.
However, only three or four of these connections are actively transferring
data.  Therefore, any benefit to the "trick" is erased.  The reason the
remainder sit idle is described in the specification
(http://wiki.theory.org/BitTorrentSpecification#Choking_and_Optimistic_Uncho
king), chief of which is the desire that BitTorrent NOT interfere with TCP
congestion control.  

It is important to remember that P2P users are largely residential users,
most using connections that are configured with asymmetric connections where
the maximum download bandwidth allowance is several times that of their
upload allowance.  In all of the discussions about "fairness" that I've been
involved in, it has to do with sharing the tiny upload pipe.  Filling the
generously-configured download pipe is seldom a user fairness concern (it is
also very difficult to control at the receiving end).  A trend is barely
beginning toward more symmetrical residential accounts, but it is probably
too small to accurately determine changes in usage patterns created by it.

That BitTorrent uses "hundreds of connections" that are simultaneously
active is a common misperception.  While the draft likely did not mean to
inject emotionalism, the label of "trick" is both inaccurate and
inflammatory.  The reason that BitTorrent makes these idle connections is to
allow for one connection to "hunt" for the best reciprocating peer, which
allows two efficiently located peers to detect and reciprocate with each
other.  If not interfered with by network operators, this pretty much
ensures that the lowest-latency peers will eventually find one another and
engage in a long-term exchange of data.  This is not only fast for the user,
choosing the most efficient (lowest latency) pairings is friendliest to the
local ISP network and the Internet as a whole.

All three of the top P2P protocols do open multiple upload connections.
ED2K seems happiest with 3-4 KB/s upload flows, Gnutella with 10 KB/s upload
flows, and BitTorrent with anywhere from 3 KB/s to 7 KB/s flows.  Therefore,
the number of upload flows that a single peer might generate (think
different archives being sent by the same client simultaneously) is a
function of dividing the configured upload bandwidth by the amounts
decribed.  

An example: 

BitTorrent:  Upload limit set to 20 KB/s, 3-6 upload TCP connections
(remainder are idle or downloading only)
ED2K:  Upload limit set to 20 KB/s, 5-6 uploading TCP connections (remainder
of connections are downloading only or performing light-bandwidth
housekeeping, such as queue placement requests or updates)
Gnutella:  Upload limit set to 20 KB/s, 1-2 uploading TCP connections
(remainder, same as for ED2K).  

All three of the above have a UDP component, which is used for searching or
other light network housekeeping.  There is an emerging use of UDP for "NAT
hole punching" but these "connections" are still quite rare.  

I am happy to answer any questions or further clarify anything that I can.

Sincerely,

Robert M. "Robb" Topolski
robb@funchords.com