<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>A Little Off &#187; p2p</title>
	<atom:link href="http://www.bemasher.net/archives/tag/p2p/feed" rel="self" type="application/rss+xml" />
	<link>http://www.bemasher.net</link>
	<description>Code, Computers, Photography and Guns</description>
	<lastBuildDate>Mon, 21 Nov 2011 06:38:44 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Coping with a puny outbound bandwidth limit.</title>
		<link>http://www.bemasher.net/archives/779?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=coping-with-a-puny-outbound-bandwidth-limit</link>
		<comments>http://www.bemasher.net/archives/779#comments</comments>
		<pubDate>Thu, 24 Jun 2010 02:31:14 +0000</pubDate>
		<dc:creator>bemasher</dc:creator>
				<category><![CDATA[Networking]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[bittorrent]]></category>
		<category><![CDATA[p2p]]></category>
		<category><![CDATA[Reno]]></category>
		<category><![CDATA[TCP]]></category>
		<category><![CDATA[TCP Reno]]></category>
		<category><![CDATA[TCP Vegas]]></category>
		<category><![CDATA[tomato]]></category>
		<category><![CDATA[torrent]]></category>
		<category><![CDATA[Vegas]]></category>

		<guid isPermaLink="false">http://www.bemasher.net/?p=779</guid>
		<description><![CDATA[If you were unaware I recently moved to Laramie, WY. Which is a significantly smaller town//city//something-or-other than Tucson, AZ is by quite a lot. Anyway if you didn't know Wyoming existed there are a few basic facts about Wyoming I should explain so you'll know what I'm dealing with here. Wyoming is very very spacious [...]]]></description>
			<content:encoded><![CDATA[<p>If you were unaware I recently moved to Laramie, WY. Which is a significantly smaller town//city//something-or-other than Tucson, AZ is by quite a lot. Anyway if you didn't know Wyoming existed there are a few basic facts about Wyoming I should explain so you'll know what I'm dealing with here.</p>
<p>Wyoming is very very spacious and very sparse. Everything here is incredibly spread out. As such laying cable for connecting cities is generally expensive and still in the early stages of deployment. It is still possible to get broadband cable in the cities but if you don't live in the city and want broadband you're stuck with WiMax<sup>[<a href="http://www.bemasher.net/archives/779#footnote_0_779" id="identifier_0_779" class="footnote-link footnote-identifier-link" title="WiMax: Worldwide Interoperability for Microwave Access">1</a>]</sup> like wireless broadband which is pretty wide-spread here and effective since the terrain in most areas of the state permit line-of-sight wireless connections.</p>
<p>I went the broadband cable route since all of the experience I've had with Wifi stuff has been unreliable and I'm just a big fan of having a cable from one point to the next, there is a lot less downtime and possibility for interference.</p>
<p>Unfortunately having chosen broadband cable left me with two providers, Qwest and Bresnan. Qwest limits me to 3Mbps down and what i'm guessing is no more than 384Kbps up. Bresnan on the other hand provides 8Mbps/500Kbps which is better.</p>
<p>I'm consistently getting more and more frustrated with the emphasis broadband cable providers put on download speeds, upload speeds are getting to be just as important if not more important than inbound bandwidth. People are starting to learn that it's much much easier to share media and personal data online instead of the alternatives. By comparison I moved from Tucson where we had 20Mbps/3Mbps.</p>
<p>Now you can see where my problem is. 50KB/s up is pretty miserable compared to what I used to have. And you can imagine where my congestion comes in. If I saturate my outbound bandwidth Bresnan essentially ruins my inbound bandwidth. I recently discovered that Tomato the firmware I've installed on my router comes with TCP Vegas<sup>[<a href="http://www.bemasher.net/archives/779#footnote_1_779" id="identifier_1_779" class="footnote-link footnote-identifier-link" title="TCP Vegas: a TCP congestion control, or network congestion avoidance, algorithm that emphasizes packet delay, rather than packet loss, as a signal to help determine the rate at which to send packets. It was developed at the University of Arizona by Lawrence Brakmo and Larry L. Peterson.">2</a>]</sup> integrated.</p>
<p>Initially I couldn't find any proper documentation on what alpha, beta and gamma meant and how to tune them properly to help control my congestion problem. After several hours of searching and research I found only two configurations that seemed to provide people with some measure of congestion prevention: 3,3,2 and 2,6,2<sup>[<a href="http://www.bemasher.net/archives/779#footnote_2_779" id="identifier_2_779" class="footnote-link footnote-identifier-link" title="Alpha, Beta and Gamma respectively.">3</a>]</sup></p>
<p>So I switched TCP Vegas on while downloading the first Pioneer One episode<sup>[<a href="http://www.bemasher.net/archives/779#footnote_3_779" id="identifier_3_779" class="footnote-link footnote-identifier-link" title="A free TV Series designed specifically for P2P distribution.">4</a>]</sup> and reset all the connections since TCP Vegas only affects connections created since enabled. Immediately I noticed the saw-tooth that TCP Reno<sup>[<a href="http://www.bemasher.net/archives/779#footnote_4_779" id="identifier_4_779" class="footnote-link footnote-identifier-link" title="TCP Reno: a TCP Congestion Avoidance Algorithm">5</a>]</sup> causes disappeared, TCP Vegas immediately smoothed out the connection and allowed for a sustained outbound rate with an oscillating inbound rate around the maximum throughput achievable while maintaining sustained outbound traffic. I've read that tuning TCP Vegas properly can eliminate the oscillation of inbound traffic but I haven't had much luck with actually getting this done.</p>
<p>Once TCP Vegas began to smooth things out I figured out that in order to optimize inbound throughput I could simply limit the outbound rate to the magical 70% of outbound capacity recommended for P2P apps now that congestion was no longer an issue. This increased the inbound rate significantly and everything has been running smoothly since then. I wish I knew more about the algorithm used and how to tune it but there doesn't seem to be much in the way of documentation anywhere.</p>
<ol class="footnotes"><li id="footnote_0_779" class="footnote"><a href="http://en.wikipedia.org/wiki/Wimax">WiMax</a>: Worldwide Interoperability for Microwave Access</li><li id="footnote_1_779" class="footnote"><a href="http://en.wikipedia.org/wiki/TCP_Vegas">TCP Vegas</a>: a TCP congestion control, or network congestion avoidance, algorithm that emphasizes packet delay, rather than packet loss, as a signal to help determine the rate at which to send packets. It was developed at the University of Arizona by Lawrence Brakmo and Larry L. Peterson.</li><li id="footnote_2_779" class="footnote">Alpha, Beta and Gamma respectively.</li><li id="footnote_3_779" class="footnote">A free TV Series designed specifically for P2P distribution.</li><li id="footnote_4_779" class="footnote"><a href="http://en.wikipedia.org/wiki/TCP_Reno#TCP_Tahoe_and_Reno">TCP Reno</a>: a TCP Congestion Avoidance Algorithm</li></ol>]]></content:encoded>
			<wfw:commentRss>http://www.bemasher.net/archives/779/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Multi-tracker Problems</title>
		<link>http://www.bemasher.net/archives/683?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=multi-tracker-problems</link>
		<comments>http://www.bemasher.net/archives/683#comments</comments>
		<pubDate>Tue, 05 Jan 2010 10:48:57 +0000</pubDate>
		<dc:creator>bemasher</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[bittorrent]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[multi-tracker]]></category>
		<category><![CDATA[p2p]]></category>
		<category><![CDATA[torrent]]></category>
		<category><![CDATA[tracker]]></category>
		<category><![CDATA[udp]]></category>
		<category><![CDATA[utorrent]]></category>
		<category><![CDATA[μtorrent]]></category>

		<guid isPermaLink="false">http://www.bemasher.net/?p=683</guid>
		<description><![CDATA[I can't even begin to describe how annoying it is to download a torrent and to discover that the person that compiled it added a bunch of trackers to it but didn't bother to take into consideration that not all torrent clients (at least one) handle multi-trackers properly if you don't put blank lines in [...]]]></description>
			<content:encoded><![CDATA[<p>I can't even begin to describe how annoying it is to download a torrent and to discover that the person that compiled it added a bunch of trackers to it but didn't bother to take into consideration that not all torrent clients (at least one) handle multi-trackers properly if you don't put blank lines in between each tracker.</p>
<p>Like so:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">http://tracker.openbittorrent.com/announce<br />
udp://tracker.openbittorrent.com:80/announce<br />
<br />
http://tracker.publicbt.com:80/announce<br />
udp://tracker.publicbt.com:80/announce</div></td></tr></tbody></table></div>
<p>Now I know for a fact that μtorrent requires this but I'm not sure about any other torrent clients. But the above list of trackers won't work properly. In fact only the http based trackers will register because of the blank line. For all of the trackers to be used each tracker must have a blank line following it.</p>
<p>Like so:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">http://tracker.openbittorrent.com/announce<br />
<br />
udp://tracker.openbittorrent.com:80/announce<br />
<br />
http://tracker.publicbt.com:80/announce<br />
<br />
udp://tracker.publicbt.com:80/announce</div></td></tr></tbody></table></div>
<p>So please if you're going to post create a multi-tracker torrent at least list all of the trackers properly because it will only do any good if every peer in the swarm has all of the trackers listed in the torrent. Unfortunately most people treat bittorrent like a "set and forget" sort of file sharing protocol but if you setup one small part like that wrong everyone suffers and most people simply won't notice.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bemasher.net/archives/683/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

