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

Reply via email to