Hi Hongying,

  1.  I don't think that synchronization between the A/AAAA and 
ipv4hint/ipv6hint is very important.  As long as all the listed addresses are 
valid and reasonably appropriate, everything will work fine; there's no need 
for them to be the same.  However, the draft does imagine that there is a risk 
of the IP hints being less carefully selected or out of date.
  2.  Using the hints is beneficial when (1) TargetName was not predicted (i.e. 
"." for HTTPS normally) and (2) its A/AAAA records are not already known to the 
client (and (3) the resolver does not provide the followup query optimization). 
 In the absence of hints, the client would have to perform its own followup 
query and wait for an answer before initiating the connection attempt, 
resulting in delayed connection establishment.
  3.  Correct, "locally available" normally means "already in the local DNS 
cache".
  4.  Correct, the intention is that authoritative servers should stop 
including IP hints once most recursive resolvers become Section 4-compliant.
  5.  I have heard that Akamai CacheServe implements the optimization today.  I 
don't know if there are other implementations.
  6.  I don't know much about the state of client implementations.

--Ben Schwartz
________________________________
From: DNSOP <dnsop-boun...@ietf.org> on behalf of Hongying Dong 
<hd7gr=40virginia....@dmarc.ietf.org>
Sent: Monday, July 24, 2023 1:13 PM
To: dnsop@ietf.org <dnsop@ietf.org>
Subject: [DNSOP] Questions on DNS HTTPS/SVCB spec and deployment

Hello,We are researchers at the University of Virginia studying some aspects of 
the DNS HTTPS/SVCB specification and how it is deployed in practice. We had a 
few questions we are hoping you can provide the answers to. Primarily we are 
examining

Hello,We are researchers at the University of Virginia studying some aspects of 
the DNS HTTPS/SVCB specification and how it is deployed in practice. We had a 
few questions we are hoping you can provide the answers to. Primarily we are 
examining HTTPS right now, but if the answers can be generally provided for 
SVCB too, that would be great.* IPv4 and IPv6 hints.
The "ipv4hint" and "ipv6hint" keys convey IP addresses that clients MAY use to 
reach the service.  If A and AAAA records for TargetName are locally available, 
the client SHOULD ignore these hints. Otherwise, clients SHOULD perform A 
and/or AAAA queries for TargetName as in Section 3, and clients SHOULD use the 
IP address in those responses for future connections.  Clients MAY opt to 
terminate any connections using the addresses in hints and instead switch to 
the addresses in response to the TargetName query.  Failure to use A and/or 
AAAA response addresses could negatively impact load balancing or other 
geo-aware features and thereby degrade client performance.
It seems to us that unless the IPv4 and IPv6 hints are kept diligently in sync 
with the actual addresses in the A and AAAA records, this could easily pose 
operational problems in the field. The draft appears to concur and says clients 
should see if they are "locally available", and otherwise "SHOULD" perform 
A/AAAA address lookups. If so, under what circumstances is it beneficial for an 
implementation to follow the "MAY" instruction of the first line in the above 
quoted paragraph and use the hints?Also what does "If the A and AAAA records 
for Targetname are _locally available_" mean? Is the expectation that HTTPS 
client applications run a local DNS cache from which this information could be 
extracted?The  answer to the "MAY use hints" is suggested later on in this 
paragraph:
These parameters are intended to minimize additional connection latency when a 
recursive resolver is not compliant with the requirements in Section 4, and 
SHOULD NOT be included if most clients are using compliant recursive resolvers.
First, how would a client application generally know that a recursive server is 
compliant with Section 4 (i.e. proactively fetching the A and AAAA records for 
the HTTPS Targetname and providing them in the response)? Is there a proposed 
DNS API function that provides this information, or are clients expected to 
write custom code to parse the full response from a recursive server to figure 
this out? Second, how would a service operator publishing HTTPS records know if 
most of their clients are using compliant recursive servers to help them make a 
decision about including IP hints? Or does this statement imply that everyone 
should deploy IP hints until the ecosystem has gained a critical mass of 
recursive servers that are compliant?What recursive servers today support this 
optimization? We've examined several of the public DNS resolvers (Google, 
Cloudflare, Quad9, and OpenDNS) and none of them appear to. We haven't looked 
at the open source implementations yet, but if anyone can answer that would be 
appreciated too.Client implementation behavior in the field: What do existing 
web browsers/clients (e.g. Firefox, Chrome, Safari, etc) that support DNS HTTPS 
records do today? Under what conditions do they use the hints vs. query 
explicitly for address records?

Thank you so much!
Hongying

--
Hongying Dong
Ph.D. Candidate in Computer Engineering
University of Virginia
_______________________________________________
DNSOP mailing list
DNSOP@ietf.org
https://www.ietf.org/mailman/listinfo/dnsop

Reply via email to