On Mon, Jun 25, 2012 at 7:06 PM, Douglas Otis <dotis@mail-abuse.org> wrote:
On 6/25/12 12:20 PM, William Herrin wrote:
How does SCTP address the most immediate problem with multiaddressed TCP servers: the client doesn't rapidly find a currently working address from the set initially offered by A and AAAA DNS records. Is there anything in the SCTP protocol for this? Or does it handle it exactly the way TCP does (nothing at all in the API; app-controlled timeout and round robin)?
This is addressed by deprecating use of TCP, since SCTP offers a super-set of the socket API. It can also dramatically expand the number of virtual associations supported in a manner similar to that of UDP while still mitigating source spoofing.
Hi Douglas, Your answer was not responsive to my question. I'll rephrase. The most immediate problem with multiaddressed TCP servers is that clients have no way to pass the list of IPv4 and IPv6 addresses received from DNS to the layer 4 protocol as a whole. Instead, the application must try each in sequence. This results in connect delays (2 minutes by default) for each address which is not currently reachable as the application attempts a TCP connection to each in sequence, trying the next after a time out. This delay is often unacceptable. Does SCTP operate on a list of IPv4 and IPv6 addresses received from the application when it asks for a connect, parallelizing its attempt to reach a live address? Or a DNS name which it resolves to find those addresses? Or does it accept only one address at a time for the initial connect, just like TCP? Regards, Bill Herrin -- William D. Herrin ................ herrin@dirtside.com bill@herrin.us 3005 Crane Dr. ...................... Web: <http://bill.herrin.us/> Falls Church, VA 22042-3004