Subject: [P2Prg] Re: [p2p-hackers] TCP over UDP "magic number" questions

From: Michael Rogers <[email-masked]>
Date: Wed, 25 Oct 2006 10:57:00 +0100

Hi David,

Implementing some subset of TCP's features over UDP seems to be a fairly 
common problem - do you think it might be a useful area for 
standardisation? DCCP and SCTP address similar problems but they can't 
easily be bundled with an application - would a congestion-controlled, 
optionally reliable, optionally ordered, NAT-aware, userland transport 
layer be a useful building block for the P2P community?

Cheers,
Michael

_______________________________________________
P2prg mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/p2prg

---

From: Michael Rogers <[email-masked]>
Date: Wed, 25 Oct 2006 10:57:00 +0100

Hi David,

Cheers,
Michael
_______________________________________________
p2p-hackers mailing list
[email-masked]
http://lists.zooko.com/mailman/listinfo/p2p-hackers

---

From: "David Barrett" <[email-masked]>
Date: Wed, 25 Oct 2006 11:17:15 -0700

I guess the question is "why standardize?"  Generally standardization is
useful if you're having multiple applications from different vendors
interoperate.  But the choice of whether or not to interoperate is generally
made by end-user functionality, rather than low-level technology.

	- For example, yes, it's useful for VoIP to standardize on SIP with
STUN/TURN/ICE such that SIP clients can talk to each other.

	- And likewise, it's useful for all Kazaa clients to standardize on
a protocol so they can share from each other. 

But it's not particularly useful for VoIP and Kazaa clients to standardize
on a protocol, even though they use similar P2P technologies.

So the question is:

	- Do you truly want to standardize a P2P protocol to ensure open,
seamless interoperation between multiple implementations by different
vendors?

	- Or do you merely want an off-the-shelf (though possibly
non-standard) package to accelerate the creation of a closed system?

As for the latter, Amicima might be a good choice for you, as it does all
that you're asking for and more.  As for the former, probably the nearest to
a real "standard" is Teredo (an IPv6 TCP abstraction layer atop UDP), but
having tried to use it a bunch I'd advise against it.

Anyway, to answer your question as to whether it'd be useful, when taken in
a vacuum (ie, without evaluating the tradeoffs), standardization always
seems like a good thing.  Unfortunately, most truly general solutions are
often general in ways you don't want, and not general in the ways you do.

If you can find a niche of highly similar applications whose end users could
benefit by seeing their services combined, and whose technologies are
basically synonymous, then I'd say yes -- standardization could be a good
thing.  But trying to force standardization between unrelated products
merely because it'd technically be possible sounds like a bad idea.  

For example, Microsoft Word and Microsoft Visual Studio *could* standardize
on a file format -- I mean, they both store words, have undo, those words
appear on the screen in a variety of colors, etc.  But unless you feel users
really want to change around fonts and embed graphics in source code
(something that might be cool), or unless you feel people really want to
have Intellisense in Word (also potentially cool), then the price paid to
achieve that standardization would be very high for the amount of end-user
benefit achieved.

-david

> -----Original Message-----
> From: [email-masked] [mailto:p2p-hackers-
> [email-masked]] On Behalf Of Michael Rogers
> Sent: Wednesday, October 25, 2006 2:57 AM
> To: [email-masked]; [email-masked]
> Subject: Re: [p2p-hackers] TCP over UDP "magic number" questions
> 
> Hi David,
>