North American Network Operators Group

Date Prev | Date Next | Date Index | Thread Index | Author Index | Historical

Re: Going dual-stack, how do apps behave and what to do as an operator (Was: Apple Airport Extreme IPv6 problems?)

  • From: Iljitsch van Beijnum
  • Date: Fri Sep 21 14:50:28 2007

On 21-sep-2007, at 7:54, Martin Hannigan wrote:

All applications are supposed to use getaddrinfo() which sorts
these addresses per the above specification, the app should then
connect() to them in order, fail/timeout and try the next one

Since when is a timeout on the Internet ok? Haven't we moved beyond
that? This is a controllable timeout. We don't have to do it, which is
the point. What's the right way to do this?

I agree that it's not acceptable to engineer things such that timeouts occur by design. However, things tend to break, and in those situations it's important to recover as well as can be expected. So the correct way to operate here is for the network designer to make reasonably sure ("unreliable datagram" etc) that everything works, for the stack designer to make sure that there is a good algorithm for selecting the "best" combination of destination and source addresses and for the application to cycle through all addresses if the two former efforts weren't completely successful.