[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: