Totally agree that TCP isn’t the
final word. 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.
-david
From:
[EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Bob Harris
Sent: Saturday, April 01, 2006
3:55 PM
To: Peer-to-peer
development.
Subject: Re: [p2p-hackers] Hard
question....
David, Matthew and Daniel,
While I agree that TCP flow control is good and all, I worry a bit about
the TCP
high-horse and the many newbies who misunderstand it.
Without
implicating anyone, it's worth pointing out that
TCP is not sacrosanct, it
does not provide immunity from congestion, and it does not guarantee
fair bandwidth sharing at the host level.
I can create hundreds of TCP (or TCP-like) flows in parallel, easily
consume more
than my fair share of bandwidth, and easily create congestion at the routers by
closing and creating TCP connections (slow start, anyone?). Many p2p apps
do
exactly that: open many connections to many other hosts.
In fact, I'm cranky at the moment because some
idiot's p2p download is consuming
all the bandwidth at my current wireless hotspot. Maybe what we need is to
extend the TCP
ideas from the flow level to the host-level (and either embed them deep into
the OS
or enforce them via traffic shaping).
That said,
it's better to use a protocol with built-in congestion control than without, and
it's better to adopt TCP's flow control than either nothing or something untested
at large.
Bob.
|
_______________________________________________
p2p-hackers mailing list
p2p-hackers@zgp.org
http://zgp.org/mailman/listinfo/p2p-hackers
_______________________________________________
Here is a web page listing P2P Conferences:
http://www.neurogrid.net/twiki/bin/view/Main/PeerToPeerConferences