Re: reliable streams over UDP
"Russell" == Russell Coker <russell@coker.com.au> writes:
Russell> I want to be able to deal with asymetric links and
Russell> end-points that change IP address so TCP won't work.
TCP works well with asymmetric data flows. I think you should consider
this carefully before dropping TCP for this reason.
For IP address changes I presume your application will require some
signaling to determine what the new IP addresses are? If so, be sure
to consider how much more expensive this is than setting up a new TCP
connection each time (three packets + slow start to get to max flow
capacity).
In most applications I have found TCP is good enough. The only thing
TCP is very poor at dealing with is "head of line blocking." However
this is not a problem that is easily solved with UDP hacks either if
you actually do worry about congestion control and fairness.
I *am* second guessing you, but do think about it.
Russell> Surely someone must have written something similar to TCP
Russell> but implemented on top of UDP.
Too many people have tried this ;-) Try SCTP, a recent attempt to deal
with the "reliable UDP" solution:
ftp://ftp.rfc-editor.org/in-notes/rfc2960.txt
ftp://ftp.rfc-editor.org/in-notes/rfc3309.txt
and for some implementations look around at
http://www.sctp.org/
Good luck!
Shyamal
Reply to: