dns and software, was Re: Reliable Cloud host ?

Jimmy Hess mysidia at gmail.com
Thu Mar 1 06:15:54 UTC 2012


On Mon, Feb 27, 2012 at 10:57 PM, Matt Addison
<matt.addison at lists.evilgeni.us> wrote:
> gai/gni do not return TTL values on any platforms I'm aware of, the
> only way to get TTL currently is to use a non standard resolver (e.g.
> lwres). The issue is application developers not calling gai every time

GAI/GNI do not return TTL values, but this should not be a problem.
If they were to return anything, it should not be a TTL,  but a time()
value, after which
the result may no longer be used.

One way to achieve that would be for GAI to return an opaque structure
that contained the IP and such a value, in a manner consumable by the
sockets API,  and  adjust  connect()  to return an error if   passed a
structure containing a ' returned time + TTL'   in the past.


TTL values are a DNS resolver function;  the application consuming the
sockets API
should not be concerned about details of the DNS protocol.

All the application developer should need to know is that you invoke
GAI/GNI and wait for a response.
Once you have that response,  it is permissible to use the value immediately,
but you may not store or re-use that value  for more than a few seconds.

If you require that value again later, then you invoke GAI/GNI again;
any caching details
are the concern of the resolver library developer who has implemented GAI/GNI.

--
-JH




More information about the NANOG mailing list