[p2pi] For those who think "User Fairness/Cost Fairness" is unacceptable...
Nicholas Weaver <nweaver@ICSI.Berkeley.EDU> Sun, 08 June 2008 08:00 UTC
Return-Path: <p2pi-bounces@ietf.org>
X-Original-To: p2pi-archive@ietf.org
Delivered-To: ietfarch-p2pi-archive@core3.amsl.com
Received: from [127.0.0.1] (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 273A93A6AE3; Sun, 8 Jun 2008 01:00:22 -0700 (PDT)
X-Original-To: p2pi@core3.amsl.com
Delivered-To: p2pi@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 58ABB3A6AE3 for <p2pi@core3.amsl.com>; Sun, 8 Jun 2008 01:00:20 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.095
X-Spam-Level:
X-Spam-Status: No, score=-5.095 tagged_above=-999 required=5 tests=[AWL=-1.096, BAYES_50=0.001, RCVD_IN_DNSWL_MED=-4]
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 fWR+c8o7kZ4a for <p2pi@core3.amsl.com>; Sun, 8 Jun 2008 01:00:19 -0700 (PDT)
Received: from fruitcake.ICSI.Berkeley.EDU (fruitcake.ICSI.Berkeley.EDU [192.150.186.11]) by core3.amsl.com (Postfix) with ESMTP id EB05D3A6AB6 for <p2pi@ietf.org>; Sun, 8 Jun 2008 01:00:18 -0700 (PDT)
Received: from [IPv6:::1] (fruitcake [192.150.186.11]) by fruitcake.ICSI.Berkeley.EDU (8.12.11.20060614/8.12.11) with ESMTP id m5880EHR019879; Sun, 8 Jun 2008 01:00:29 -0700 (PDT)
Message-Id: <BBCA80CA-34E9-40B1-9B37-628F014F9108@ICSI.Berkeley.EDU>
From: Nicholas Weaver <nweaver@ICSI.Berkeley.EDU>
To: p2pi@ietf.org
Mime-Version: 1.0 (Apple Message framework v924)
Date: Sun, 08 Jun 2008 01:00:13 -0700
X-Mailer: Apple Mail (2.924)
Cc: Nicholas Weaver <nweaver@ICSI.Berkeley.EDU>
Subject: [p2pi] For those who think "User Fairness/Cost Fairness" is unacceptable...
X-BeenThere: p2pi@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: P2P Infrastructure Discussion <p2pi.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/p2pi>, <mailto:p2pi-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/pipermail/p2pi>
List-Post: <mailto:p2pi@ietf.org>
List-Help: <mailto:p2pi-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/p2pi>, <mailto:p2pi-request@ietf.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: p2pi-bounces@ietf.org
Errors-To: p2pi-bounces@ietf.org
The following is a bunch of semi-random thoughts, mostly addressed at the notion that user fairness enforced in the network is an unacceptable solution, and that traffic management should not discriminate based on protocol. For those who think "User Fairness"/"Cost Fairness" is unacceptable: Which would you rather have a) Usage based pricing/usage caps b) App manipulation/prioritization/blocking [1] c) User-based fairness It has got to be one of the three as long as 5% of the users use >50% of the bandwidth, and as long as you have effectively misbehaving users and applications centered around flow-fairness, because there is no economic model which justifies adding more bandwidth when the 5%-10% users benefit but the 90% don't see a benefit when the pricing is flat rate. Its only if you no longer have the heavy tail that adding more bandwidth makes sense in flat pricing. [2] And if instead of statistical multiplexing, you want committed or at least semi-committed bandwidth (the "They sold me a 16 Mbps link, so where is my 16 Mbps?" argument), there is a reason it is vastly more expensive. Talk to a commercial ISP about a 1.5 Mbps T1 with a service level agreement, and compare that to the cost of your "16 Mbps" cable-modem. Additionally, there is a reason why I believe the example given by Mr Topolski of fairness disrupting a VoIP 911 call "ridiculous". This argument seems to rests on the assumption that limiting a heavy user to some non-zero fair fraction of a total pipe would disrupt a VoIP 911 that is concurrent with a user's other activity [3], but at the same time, insist that the ISP should not take action to limit other users who disrupt the pipe (which is the current situation where some users are opening up 1/2 a dozen torrents simultaneously) which has been shown in practice to disrupt VoIP calls? I will also argue there is a compelling case for protocol discrimination by the ISPs. For example, users would benefit if the ISP shaped their flows just enough to keep the send buffers on the cable/DSL modems reasonably empty using delay-based heuristics, even when there is NOT congestion in the overall network, just the upload limit for the access device. Instead, the current model means you can't make a VoIP call if someone in your household is doing too much BitTorrent (see, http://www.formortals.com/Home/tabid/36/EntryID/57/Default.aspx ), which is obviously an unacceptable situation. Such "remote queue management" shaping would improve everybody's quality of service. And when the ISP determines that a user is using too much bandwidth for any reason, be it user fairness, congestion, queue occupancy, or the capricious whims, should the ISP be completely blind about dropping packets? Or should the ISP, when it can reasonably infer user intent but in the absence of explicit guidance, prioritize traffic based on inferred usage? [4] Finally, I think there is a misunderstanding in the implications of how Comcast is proposing to implement fairness: All they need to do is ensure that the usage of the "default priority" users is significantly less than the total channel capacity, and that whenever "default priority" traffic grows above that fraction, the heaviest default priority users are shifted into the low priority category. As a result, the default priority (the low-bandwidth users) see no congestion and are happily statistically multiplexed, see low latency, and all the good they would expect. As these are the bulk of the users, the ISP is therefore mostly happy. And the "low priority" users will still have bandwidth, and they will still enjoy the current best-effort free-for-all: so if they could make their VoIP 911 call before, they probably still can (assuming the competing traffic is at least SOMEWHAT congestion responsive). And if they couldn't before, its not like the situation was made worse. [5] Its just their best effort free-for-all can no longer step on the low volume users. Yes, it would be a much better world if cable and DSL devices weren't overbuffered, if end-hosts would correctly mark prioritization of packets, if bulk-data P2P used congestion control that was friendly to standard TCP, if ISPs actually provisioned more bandwidth per user, if there were no worms, viruses, spam, spit, etc... But we are living in a grossly impure and imperfect world, and we may have to accept grossly impure and imperfect solutions. [1] And I suspect there is a LOT more of the app-based/usage based manipulation going on than anyone is willing to admit. EG, even relatively benign policies (eg, limit seeding to 2 peers when there is no other activity, blocking leeches in normal mode on BitTorrent. This is a policy which actually helps most/all of the ISP's users at the expense of the rest of the swarm) can get really hostile responses. Such manipulation would be REALLY hard to detect when done using inline shapers rather than out-of-path devices, or even with out-of- path devices which use ACL blocking instead of RST injection. [2] The other way to get much more bandwidth is to either have large government subsidies (which again, would only really help the 5%-10% heavy users, eg the Japanese experience) or to have a situation like Verizon's FiOS, where they are pulling fiber to develop a CableTV competitor. That it gives good Internet performance is in many ways a happy side effect of pulling modern physical media. [3] The further example of it being an image upload is also not well chosen. A single TCP flow will easily adapt and not really interfere with the (no congestion control) VoIP call, even on a relatively narrowly throttled pipe. It is the problem when you have dozens of TCP flows (BitTorrent as used by some individuals), or large non- responsive UDP flows (Joost), or device send buffers which are overly large (which could get filled to frightening-jitter capacities on upload-limited flows). [4] Traffic analysis, rather than DPI, is sufficient. Bulk data P2P is just that: bulk data and P2P. Streaming downloads from Youtube don't look like VoIP calls. Very simple heuristics can distinguish these classes of traffic, and because of their inherent properties, you can't make bulk data P2P look like VoIP. Although some DPI could help: EG, YouTube and other flash-based streaming sources tends to operate in two modes: underbuffered (where the play rate is less then the bandwidth, and the user has to wait) or overbuffered (where the flash app downloads the video much faster than it is able to be watched, and the user may often download most of the video while watching only a little.). Since YouTube does have the ability to seek, it would be of benefit to the user, if shaping needs to occur, if the shaping on a YouTube video was just enough to minimize the amount of overbuffering, as that would match the user's data rate with the consumption rate. The only user penalty would be a greater delay when skipping forward, but the savings would be substantial if streaming video flash apps are unwilling to calibrate their buffering better. [5] This may be a weakness of Comcast's proposal: its not fair ENOUGH. Because it really only allocates into two categories rather than per user ceilings, you might have a case where, eg, a user is doing a single heavy TCP flow, enough to get bumped into the "Low priority" category where it gets stomped on by people doing many-flow transfers. Thus it can preserve behavior for the lighter users, it doesn't necessarily help the heavy users who are using a few connections vs the many connection heavy users. Thus its only a partial fairness rather than per-user fairness. In fact, depending on parameters, you might have thrashing situations where a user with one heavy TCP flow is swapped back and forth between categories as the bandwidth usage goes way down when that one TCP flow has to compete among many flow usage. _______________________________________________ p2pi mailing list p2pi@ietf.org https://www.ietf.org/mailman/listinfo/p2pi
- [p2pi] For those who think "User Fairness/Cost Fa… Nicholas Weaver
- Re: [p2pi] For those who think "User Fairness/Cos… Robb Topolski
- [p2pi] Fwd: For those who think "User Fairness/Co… Robb Topolski
- Re: [p2pi] For those who think "User Fairness/Cos… Henning Schulzrinne
- Re: [p2pi] Fwd: For those who think "User Fairnes… Nicholas Weaver
- Re: [p2pi] For those who think "User Fairness/Cos… Robb Topolski
- Re: [p2pi] Fwd: For those who think "User Fairnes… Robb Topolski
- Re: [p2pi] For those who think "User Fairness/Cos… Henning Schulzrinne
- Re: [p2pi] For those who think "User Fairness/Cos… Stanislav Shalunov
- Re: [p2pi] For those who think "User Fairness/Cos… Henning Schulzrinne
- Re: [p2pi] For those who think "User Fairness/Cos… Stanislav Shalunov
- Re: [p2pi] Fwd: For those who think "User Fairnes… Livingood, Jason
- Re: [p2pi] Fwd: For those who think "User Fairnes… Livingood, Jason
- Re: [p2pi] Fwd: For those who think "User Fairnes… Robb Topolski
- Re: [p2pi] Fwd: For those who think "User Fairnes… Robb Topolski
- Re: [p2pi] Fwd: For those who think "User Fairnes… Robb Topolski
- Re: [p2pi] Fwd: For those who think "User Fairnes… Richard Bennett
- Re: [p2pi] Fwd: For those who think "User Fairnes… Peterson, Jon