> Could the user program specify in its query to the resolver, that it wants to specifically use TCP?

Depends. getaddrinfo doesn't, but the DnsQuery_* APIs on Windows [1] and res_info() on Linux [2] and Apple platforms [3] do. It doesn't look like Android does [4] in its own resolver.

Thanks,
Tommy


[1] https://learn.microsoft.com/en-us/windows/win32/dns/dns-constants#dns-query-options

[2] https://linux.die.net/man/3/res_query

[3] https://developer.apple.com/library/archive/documentation/System/Conceptual/ManPages_iPhoneOS/man3/res_query.3.html

[2] https://developer.android.com/reference/android/net/DnsResolver


On 7/6/25 14:11, Michael De Roover wrote:
Hi,

When I looked at this I-D, the first thing that came to my mind is performance differences between UDP and TCP (I’d imagine UDP to be faster, but admittedly moot if it needs to be redone over TCP anyway).

The second thing was that at least every server I’ve ever dealt with can already talk over both TCP and UDP. Given that, wouldn’t it make more sense to put the onus on the DNS client (the resolver in 1035’s diagrams I think) to start with TCP if it needs to?

Could the user program specify in its query to the resolver, that it wants to specifically use TCP?

Met vriendelijke groet,
Michael De Roover

Mail: [email protected]
Web: michael.de.roover.eu.org

On 6 Jul 2025, at 20:37, Paul Wouters <[email protected]> wrote:



“ These complications can be avoided by assuming Classic DNS over TCP is the only form of Classic DNS that new protocols need to accommodate.”

This is not how protocols using DNS work. You can’t say “new” protocols must use only a specific flavour of DNS transport as it’s mostly not up to the new protocol or application how DNS is resolved.

This is at least 10 years too soon.

Paul

_______________________________________________
DNSOP mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to