<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:st1="urn:schemas-microsoft-com:office:smarttags" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 11 (filtered medium)">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]--><o:SmartTagType
 namespaceuri="urn:schemas-microsoft-com:office:smarttags" name="PersonName"/>
<!--[if !mso]>
<style>
st1\:*{behavior:url(#default#ieooui) }
</style>
<![endif]-->
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-reply;
        font-family:Arial;
        color:navy;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
        {page:Section1;}
-->
</style>

</head>

<body lang=EN-US link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Totally agree that TCP isn&#8217;t the
final word.&nbsp; Just suggesting that using or replicating it is the fastest way to
create an application that is generally friendly to other TCP streams, and is generally
good at doing congestion control over the real-world internet.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>-david<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<div style='border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt'>

<div>

<div class=MsoNormal align=center style='text-align:center'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'>

<hr size=2 width="100%" align=center tabindex=-1>

</span></font></div>

<p class=MsoNormal><b><font size=2 face=Tahoma><span style='font-size:10.0pt;
font-family:Tahoma;font-weight:bold'>From:</span></font></b><font size=2
face=Tahoma><span style='font-size:10.0pt;font-family:Tahoma'>
p2p-hackers-bounces@zgp.org [mailto:p2p-hackers-bounces@zgp.org] <b><span
style='font-weight:bold'>On Behalf Of </span></b>Bob Harris<br>
<b><span style='font-weight:bold'>Sent:</span></b> Saturday, April 01, 2006
3:55 PM<br>
<b><span style='font-weight:bold'>To:</span></b> <st1:PersonName w:st="on">Peer-to-peer
 development.</st1:PersonName><br>
<b><span style='font-weight:bold'>Subject:</span></b> Re: [p2p-hackers] Hard
question....</span></font><o:p></o:p></p>

</div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal style='margin-bottom:12.0pt'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'>David,&nbsp;Matthew&nbsp;and&nbsp;Daniel,&nbsp;<br>
<br>
While I agree that TCP flow control is good and all, I worry a bit about<br>
the TCP
high-horse&nbsp;and&nbsp;the&nbsp;many&nbsp;newbies&nbsp;who&nbsp;misunderstand&nbsp;it.
Without<br>
implicating anyone, it's worth pointing out that
TCP&nbsp;is&nbsp;not&nbsp;sacrosanct, it <br>
does not provide immunity from congestion, and it does not guarantee<br>
fair bandwidth sharing at the host level. <br>
<br>
I can create hundreds of TCP (or TCP-like) flows&nbsp;in parallel, easily
consume more<br>
than my fair share of bandwidth, and easily create congestion at the routers by
<br>
closing and creating TCP connections (slow start, anyone?).&nbsp;Many p2p apps
do<br>
exactly that: open many connections to many other hosts.<br>
<br>
In fact, I'm cranky at the moment because some
idiot's&nbsp;p2p&nbsp;download&nbsp;is&nbsp;consuming <br>
all the bandwidth at my current&nbsp;wireless hotspot. Maybe what we need is to
extend the TCP<br>
ideas from the flow level to the host-level (and either embed them deep into
the OS <br>
or enforce them via&nbsp;traffic&nbsp;shaping). <br>
<br>
That said,
it's&nbsp;better&nbsp;to&nbsp;use&nbsp;a&nbsp;protocol&nbsp;with&nbsp;built-in&nbsp;congestion&nbsp;control&nbsp;than&nbsp;without,&nbsp;and
<br>
it's better to adopt TCP's flow control than either nothing or something untested
at large.<br>
<br>
Bob.<o:p></o:p></span></font></p>

</div>

</div>

</body>

</html>