Mark Andrews wrote:

On 4 Nov 2018, at 7:01 pm, Paul Vixie<>  wrote:
that would be a mistake. we are hitting for average here not power
-- the behaviour to optimize for is whatever's most common. if the
SRV is used, the AAAA or A RRsets will be fetched, and thus cached.
if the SRV is only used once, that caching effort will be wasted.
if the SRV is used many times, then the dominant use case will be
that the additional data is found in cache because the client
caused this to be so.

The main objection to SRV was the double RTT to the recursive server.
Fetching the address records before returning will speed up the sites
that are not talked to regularly and will not slow down the sites
that are talked to regularly as the values will already be in cache.

i'll try again differently. such a fetch would add logic branches and state and network information, to no purpose whatsoever.

if the stub who asked the SRV question does not receive the addresses it needs in additional data, it will query for them. that will put those addresses in cache, so that on subsequent same-SRV questions, it will be present.

if the SRV is never fetched again, then there's no win to be had.

popular SRV answers will be overwhelmingly dominated by the second and subsequent responses, which will all include the additional data.

a recursive should only fetch what it needs for its own operations, so for example if it knows an NS RR but not the corresponding AAAA or A RR, it can fetch those. and for qname minimization it can make the requisite diagnostic queries. but it should NOT fetch just because it lacks additional data. the stubs should cause those fetches.

P Vixie

DNSOP mailing list

Reply via email to