<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: DOCSIS vs. BitTorrent</title>
	<atom:link href="http://bennett.com/blog/2007/11/docsis-vs-bittorrent/feed/" rel="self" type="application/rss+xml" />
	<link>http://bennett.com/blog/2007/11/docsis-vs-bittorrent/</link>
	<description>A personal blog</description>
	<lastBuildDate>Sun, 11 Sep 2011 14:57:16 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Richard</title>
		<link>http://bennett.com/blog/2007/11/docsis-vs-bittorrent/#comment-5374</link>
		<dc:creator>Richard</dc:creator>
		<pubDate>Tue, 04 Dec 2007 00:59:11 +0000</pubDate>
		<guid isPermaLink="false">http://bennett.com/blog/index.php/archives/2007/11/09/docsis-vs-bittorrent/#comment-5374</guid>
		<description>The tracker doesn&#039;t monitor performance, it monitors who has the file parts. Performance is a distributed problem. Is a leecher going to retry a seeder who sends him Resets, or is he going to try another one? The data indicates that it tries another.

The problem that we ultimately run into is this: the TCP sliding window mechanism solves Internet congestion at the expense of fairness. Sessions that don&#039;t get their packets randomly dropped have a larger chunk of bandwidth than those that don&#039;t, and the more data a connection carries, the larger its window.

Good fairness control works in exactly the opposite way: the more data a stream offers, the lower its priority should go. And that&#039;s the root of the problem that carriers have to solve.</description>
		<content:encoded><![CDATA[<p>The tracker doesn&#8217;t monitor performance, it monitors who has the file parts. Performance is a distributed problem. Is a leecher going to retry a seeder who sends him Resets, or is he going to try another one? The data indicates that it tries another.</p>
<p>The problem that we ultimately run into is this: the TCP sliding window mechanism solves Internet congestion at the expense of fairness. Sessions that don&#8217;t get their packets randomly dropped have a larger chunk of bandwidth than those that don&#8217;t, and the more data a connection carries, the larger its window.</p>
<p>Good fairness control works in exactly the opposite way: the more data a stream offers, the lower its priority should go. And that&#8217;s the root of the problem that carriers have to solve.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David Scherba</title>
		<link>http://bennett.com/blog/2007/11/docsis-vs-bittorrent/#comment-5373</link>
		<dc:creator>David Scherba</dc:creator>
		<pubDate>Mon, 03 Dec 2007 02:07:15 +0000</pubDate>
		<guid isPermaLink="false">http://bennett.com/blog/index.php/archives/2007/11/09/docsis-vs-bittorrent/#comment-5373</guid>
		<description>I don&#039;t disagree that the TCP RST works.

Do note that the BitTorrent tracker doesn&#039;t monitor which peers are connected to each other, nor does it measure peer popularity.  As long as the seeder-tracker connection is established (Sandvine, for example, does not terminate this connection), new leechers that don&#039;t know any better will still attempt to contact the seeder.

With respect to CMTS upstream bandwidth clamping making the problem worse, I&#039;m not sure it does long term.  Yes, you will have additional &quot;bandwidth request contention&quot; when the CMTS starts ignoring requests, but TCP (even multiple TCP streams) will adjust to this by reducing the transmit rate [eventually].

I also wanted to clarify that I am suggesting an upstream bandwidth throttle on a per-user, not on a system level.  The 80% who don&#039;t consume won&#039;t be affected.  The 20% who do consume will be affected, but this, to me, is fine--they are the ones sucking up the bandwidth and/or violating the TOS/AUP.

It probably goes without saying that I think operators need to be very clear about their expectations and what sort of actions they take (e.g., violate the AUP and you are cut-off/throttled).</description>
		<content:encoded><![CDATA[<p>I don&#8217;t disagree that the TCP RST works.</p>
<p>Do note that the BitTorrent tracker doesn&#8217;t monitor which peers are connected to each other, nor does it measure peer popularity.  As long as the seeder-tracker connection is established (Sandvine, for example, does not terminate this connection), new leechers that don&#8217;t know any better will still attempt to contact the seeder.</p>
<p>With respect to CMTS upstream bandwidth clamping making the problem worse, I&#8217;m not sure it does long term.  Yes, you will have additional &#8220;bandwidth request contention&#8221; when the CMTS starts ignoring requests, but TCP (even multiple TCP streams) will adjust to this by reducing the transmit rate [eventually].</p>
<p>I also wanted to clarify that I am suggesting an upstream bandwidth throttle on a per-user, not on a system level.  The 80% who don&#8217;t consume won&#8217;t be affected.  The 20% who do consume will be affected, but this, to me, is fine&#8211;they are the ones sucking up the bandwidth and/or violating the TOS/AUP.</p>
<p>It probably goes without saying that I think operators need to be very clear about their expectations and what sort of actions they take (e.g., violate the AUP and you are cut-off/throttled).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Richard</title>
		<link>http://bennett.com/blog/2007/11/docsis-vs-bittorrent/#comment-5372</link>
		<dc:creator>Richard</dc:creator>
		<pubDate>Sun, 02 Dec 2007 20:13:07 +0000</pubDate>
		<guid isPermaLink="false">http://bennett.com/blog/index.php/archives/2007/11/09/docsis-vs-bittorrent/#comment-5372</guid>
		<description>The TCP RST will prevent the leecher from retrying the connection, at some point, so it is effective; a number of measurements confirm this, in fact. The leecher decides the seeder is down and moves on. When the Tracker is next updated, nobody has connections with the throttled seeder to report, so his popularity declines.

Your alternative suggestion actually aggravates the contention problem. If the subscriber&#039;s modem doesn&#039;t get a reservation when it asks for it, it will simply retry (following some backoff interval.) The requests themselves are subject to collision, and that&#039;s one thing Comcast wants to minimize.

The cable modem operator doesn&#039;t want to put down application-independent throttles on all upstream bandwidth requests from subscribers because most of them are legitimate. The 20% who consume 80% of the bandwidth are the target.</description>
		<content:encoded><![CDATA[<p>The TCP RST will prevent the leecher from retrying the connection, at some point, so it is effective; a number of measurements confirm this, in fact. The leecher decides the seeder is down and moves on. When the Tracker is next updated, nobody has connections with the throttled seeder to report, so his popularity declines.</p>
<p>Your alternative suggestion actually aggravates the contention problem. If the subscriber&#8217;s modem doesn&#8217;t get a reservation when it asks for it, it will simply retry (following some backoff interval.) The requests themselves are subject to collision, and that&#8217;s one thing Comcast wants to minimize.</p>
<p>The cable modem operator doesn&#8217;t want to put down application-independent throttles on all upstream bandwidth requests from subscribers because most of them are legitimate. The 20% who consume 80% of the bandwidth are the target.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David Scherba</title>
		<link>http://bennett.com/blog/2007/11/docsis-vs-bittorrent/#comment-5371</link>
		<dc:creator>David Scherba</dc:creator>
		<pubDate>Sun, 02 Dec 2007 18:16:03 +0000</pubDate>
		<guid isPermaLink="false">http://bennett.com/blog/index.php/archives/2007/11/09/docsis-vs-bittorrent/#comment-5371</guid>
		<description>BitTorrent clients do not know what data rate they will achieve with a given peer before trying.  The BitTorrent tracker does not store/communicate this information; communication is facilitated simply by maintaining and providing a list of peers.  This protocol behavior is why reseting TCP connections won&#039;t stop/slow connection attempts and associated &quot;request contention&quot; of the cable modem link.

Correcting some ambiguity in my previous comment, I meant to suggest having the cable headend (CMTS) clamp the user&#039;s upstream bandwidth through its &quot;bandwidth request response&quot; algorithm.  If fewer upstream bandwidth requests are approved, the cable modem will limit the traffic that gets to the cable headend causing less impact on other users--this addresses the &quot;upstream bandwidth contention&quot; issue in an application-independent way.</description>
		<content:encoded><![CDATA[<p>BitTorrent clients do not know what data rate they will achieve with a given peer before trying.  The BitTorrent tracker does not store/communicate this information; communication is facilitated simply by maintaining and providing a list of peers.  This protocol behavior is why reseting TCP connections won&#8217;t stop/slow connection attempts and associated &#8220;request contention&#8221; of the cable modem link.</p>
<p>Correcting some ambiguity in my previous comment, I meant to suggest having the cable headend (CMTS) clamp the user&#8217;s upstream bandwidth through its &#8220;bandwidth request response&#8221; algorithm.  If fewer upstream bandwidth requests are approved, the cable modem will limit the traffic that gets to the cable headend causing less impact on other users&#8211;this addresses the &#8220;upstream bandwidth contention&#8221; issue in an application-independent way.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Richard</title>
		<link>http://bennett.com/blog/2007/11/docsis-vs-bittorrent/#comment-5370</link>
		<dc:creator>Richard</dc:creator>
		<pubDate>Thu, 29 Nov 2007 11:24:43 +0000</pubDate>
		<guid isPermaLink="false">http://bennett.com/blog/index.php/archives/2007/11/09/docsis-vs-bittorrent/#comment-5370</guid>
		<description>BitTorrent clients choose the servers with the best reported data rates, don&#039;t they? The tracker simply facilitates this. Again, Comcast&#039;s goal is to limit the traffic that gets to the cable headend, not drop it after it&#039;s already got there.</description>
		<content:encoded><![CDATA[<p>BitTorrent clients choose the servers with the best reported data rates, don&#8217;t they? The tracker simply facilitates this. Again, Comcast&#8217;s goal is to limit the traffic that gets to the cable headend, not drop it after it&#8217;s already got there.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David Scherba</title>
		<link>http://bennett.com/blog/2007/11/docsis-vs-bittorrent/#comment-5369</link>
		<dc:creator>David Scherba</dc:creator>
		<pubDate>Tue, 27 Nov 2007 08:01:49 +0000</pubDate>
		<guid isPermaLink="false">http://bennett.com/blog/index.php/archives/2007/11/09/docsis-vs-bittorrent/#comment-5369</guid>
		<description>Looking at the &lt;a href=&quot;http://bittorrent.org/protocol.html&quot; rel=&quot;nofollow&quot;&gt;BitTorrent specification&lt;/a&gt; (&lt;a href=&quot;http://wiki.theory.org/BitTorrentSpecification&quot; rel=&quot;nofollow&quot;&gt;unofficial, yet detailed, wiki&lt;/a&gt;) and at a couple of &lt;a href=&quot;http://xbtt.svn.sourceforge.net&quot; rel=&quot;nofollow&quot;&gt;tracker&lt;/a&gt; &lt;a href=&quot;http://download.bittorrent.com/dl/BitTorrent-5.2.0.tar.gz&quot; rel=&quot;nofollow&quot;&gt;implementations&lt;/a&gt;, it doesn&#039;t appear that BitTorrent trackers &quot;demote&quot; anything in practice.  Yes, TCP resets will [inexpensively] kill &quot;file server&quot; behavior (asymmetric upstream bandwidth), but this does not necessarily reduce the number of contentious network requests[1].  Do you know otherwise?

If we&#039;re back to just a bandwidth usage argument[2], wouldn&#039;t the more &quot;neutral&quot; method/solution be a network appliance that identifies bad behavior and clamps the user&#039;s upstream bandwidth at the cable headend[3]?  This method is also asynchronous and is as general as the &quot;bad behavior&quot; detection algorithm.  The big con is that it requires tighter integration with the cable infrastructure (likely a greater expense depending on infrastructure &quot;openness&quot; [3],[4]).  In your initial post, you claim that such a method/solution (bandwidth cap) won&#039;t work; I still don&#039;t buy this argument as connection requests and DOCSIS bandwidth allocation contention shouldn&#039;t drastically change with a TCP reset-based solution.

---
[1]: Sandvine apparently &lt;a href=&quot;http://www.sandvine.com/general/getfile.asp?FILEID=21&quot; rel=&quot;nofollow&quot;&gt;doesn&#039;t terminate tracker connections&lt;/a&gt; so a seeder will continue to show up in the tracker&#039;s peerlist

[2]: The argument that BitTorrent users hog the upstream pipe degrading the usability of the service for [other] paying customers

[3]: Comcast seems to have this capability (in reverse)--PowerBoost temporarily increases the allowed upstream bandwidth.

[4]: It could be argued that this is an opportunity for cable infrastructure vendors.  More solutions could conceivably drive prices down...</description>
		<content:encoded><![CDATA[<p>Looking at the <a href="http://bittorrent.org/protocol.html" rel="nofollow">BitTorrent specification</a> (<a href="http://wiki.theory.org/BitTorrentSpecification" rel="nofollow">unofficial, yet detailed, wiki</a>) and at a couple of <a href="http://xbtt.svn.sourceforge.net" rel="nofollow">tracker</a> <a href="http://download.bittorrent.com/dl/BitTorrent-5.2.0.tar.gz" rel="nofollow">implementations</a>, it doesn&#8217;t appear that BitTorrent trackers &#8220;demote&#8221; anything in practice.  Yes, TCP resets will [inexpensively] kill &#8220;file server&#8221; behavior (asymmetric upstream bandwidth), but this does not necessarily reduce the number of contentious network requests[1].  Do you know otherwise?</p>
<p>If we&#8217;re back to just a bandwidth usage argument[2], wouldn&#8217;t the more &#8220;neutral&#8221; method/solution be a network appliance that identifies bad behavior and clamps the user&#8217;s upstream bandwidth at the cable headend[3]?  This method is also asynchronous and is as general as the &#8220;bad behavior&#8221; detection algorithm.  The big con is that it requires tighter integration with the cable infrastructure (likely a greater expense depending on infrastructure &#8220;openness&#8221; [3],[4]).  In your initial post, you claim that such a method/solution (bandwidth cap) won&#8217;t work; I still don&#8217;t buy this argument as connection requests and DOCSIS bandwidth allocation contention shouldn&#8217;t drastically change with a TCP reset-based solution.</p>
<p>&#8212;<br />
[1]: Sandvine apparently <a href="http://www.sandvine.com/general/getfile.asp?FILEID=21" rel="nofollow">doesn&#8217;t terminate tracker connections</a> so a seeder will continue to show up in the tracker&#8217;s peerlist</p>
<p>[2]: The argument that BitTorrent users hog the upstream pipe degrading the usability of the service for [other] paying customers</p>
<p>[3]: Comcast seems to have this capability (in reverse)&#8211;PowerBoost temporarily increases the allowed upstream bandwidth.</p>
<p>[4]: It could be argued that this is an opportunity for cable infrastructure vendors.  More solutions could conceivably drive prices down&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Richard</title>
		<link>http://bennett.com/blog/2007/11/docsis-vs-bittorrent/#comment-5368</link>
		<dc:creator>Richard</dc:creator>
		<pubDate>Tue, 27 Nov 2007 01:21:00 +0000</pubDate>
		<guid isPermaLink="false">http://bennett.com/blog/index.php/archives/2007/11/09/docsis-vs-bittorrent/#comment-5368</guid>
		<description>The effect of injecting TCP Resets in the data stream is the demotion of the seeder in the BitTorrent tracker&#039;s list of eligible seeders, which reduces the number of connection requests it&#039;s going to see. This is the behavior that Comcast wants, a near-total reduction in file servers operating on residential accounts. There isn&#039;t another method that accomplishes this goal as efficiently, as IP lacks support for traffic shaping and bandwidth hog throttling in particular.

The fact that the Resets are asynchronous to the data stream allows the manufacturer (Sandvine, in this case) to use cheaper hardware than an in-line packet-dropping solution. Money matters.</description>
		<content:encoded><![CDATA[<p>The effect of injecting TCP Resets in the data stream is the demotion of the seeder in the BitTorrent tracker&#8217;s list of eligible seeders, which reduces the number of connection requests it&#8217;s going to see. This is the behavior that Comcast wants, a near-total reduction in file servers operating on residential accounts. There isn&#8217;t another method that accomplishes this goal as efficiently, as IP lacks support for traffic shaping and bandwidth hog throttling in particular.</p>
<p>The fact that the Resets are asynchronous to the data stream allows the manufacturer (Sandvine, in this case) to use cheaper hardware than an in-line packet-dropping solution. Money matters.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David Scherba</title>
		<link>http://bennett.com/blog/2007/11/docsis-vs-bittorrent/#comment-5367</link>
		<dc:creator>David Scherba</dc:creator>
		<pubDate>Mon, 19 Nov 2007 01:44:27 +0000</pubDate>
		<guid isPermaLink="false">http://bennett.com/blog/index.php/archives/2007/11/09/docsis-vs-bittorrent/#comment-5367</guid>
		<description>Thank you for bringing some more technical information into the discussion of BitTorrent on DOCSIS networksâ€”I&#039;ve enjoyed reading your thoughts and the referenced academic papers.  Your argument/explanation for/of network operator behavior seems to be:

It has been shown (in referenced papers) that DOCSIS networks are vulnerable to a DoS attack resulting in potentially severe service degradation to [other] clients of the shared uplink/downlink channels.
Seeding BitTorrent clients create network traffic analogous to the DoS attack.
Network operators (e.g., Comcast) can offer a better (more &#039;fair&#039;) experience to their customer base if they avoid the DoS by preventing excessive BitTorrent seeding behavior.  The cost-effective way for an operator to do this is to destroy BitTorrent connections (e.g., â€œforged RSTâ€ from a Sandvine network appliance).

While I see the similarity [in (b)] between network traffic resulting from BitTorrent seeders and the DoS attack, I&#039;m still not convinced that the â€œforged RSTâ€ solution solves anything more than the P2P bandwidth consumption issue[1].  Specifically, these â€œforged RSTâ€ packets are injected into the TCP flow &lt;i&gt;after&lt;/i&gt; the connection is established[2]--the RST packets do not eliminate uplink traffic or uplink contention.  If this is the case[3], I would prefer to see operators address this through application-independent traffic shaping techniques that don&#039;t attempt to classify traffic/applications... I believe it is this â€œdeep classificationâ€ behavior, not traffic shaping issues, that most irks network neutrality proponents.

---
[1]: I realize that bandwidth consumption by BitTorrent users is also be a big problem on DOCSIS networks as described in the &lt;a href=&quot;http://people.clemson.edu/~jmarty/papers/bittorrentBroadnets.pdf&quot; rel=&quot;nofollow&quot;&gt;Martin/Westall paper&lt;/a&gt;.  While BitTorrent is efficient at utilizing uplink bandwidth, this is not a BitTorrent-specific issue and does not, to me, justify destroying TCP connections as a traffic shaping technique.

[2]: &lt;a href=&quot;http://torrentfreak.com/images/comcast-rst1.txt&quot; rel=&quot;nofollow&quot;&gt;Example TCP dump&lt;/a&gt;.

[3]: Any pointers to data and/or research examining this effect would be very welcome.</description>
		<content:encoded><![CDATA[<p>Thank you for bringing some more technical information into the discussion of BitTorrent on DOCSIS networksâ€”I&#8217;ve enjoyed reading your thoughts and the referenced academic papers.  Your argument/explanation for/of network operator behavior seems to be:</p>
<p>It has been shown (in referenced papers) that DOCSIS networks are vulnerable to a DoS attack resulting in potentially severe service degradation to [other] clients of the shared uplink/downlink channels.<br />
Seeding BitTorrent clients create network traffic analogous to the DoS attack.<br />
Network operators (e.g., Comcast) can offer a better (more &#8216;fair&#8217;) experience to their customer base if they avoid the DoS by preventing excessive BitTorrent seeding behavior.  The cost-effective way for an operator to do this is to destroy BitTorrent connections (e.g., â€œforged RSTâ€ from a Sandvine network appliance).</p>
<p>While I see the similarity [in (b)] between network traffic resulting from BitTorrent seeders and the DoS attack, I&#8217;m still not convinced that the â€œforged RSTâ€ solution solves anything more than the P2P bandwidth consumption issue[1].  Specifically, these â€œforged RSTâ€ packets are injected into the TCP flow <i>after</i> the connection is established[2]&#8211;the RST packets do not eliminate uplink traffic or uplink contention.  If this is the case[3], I would prefer to see operators address this through application-independent traffic shaping techniques that don&#8217;t attempt to classify traffic/applications&#8230; I believe it is this â€œdeep classificationâ€ behavior, not traffic shaping issues, that most irks network neutrality proponents.</p>
<p>&#8212;<br />
[1]: I realize that bandwidth consumption by BitTorrent users is also be a big problem on DOCSIS networks as described in the <a href="http://people.clemson.edu/~jmarty/papers/bittorrentBroadnets.pdf" rel="nofollow">Martin/Westall paper</a>.  While BitTorrent is efficient at utilizing uplink bandwidth, this is not a BitTorrent-specific issue and does not, to me, justify destroying TCP connections as a traffic shaping technique.</p>
<p>[2]: <a href="http://torrentfreak.com/images/comcast-rst1.txt" rel="nofollow">Example TCP dump</a>.</p>
<p>[3]: Any pointers to data and/or research examining this effect would be very welcome.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

