Skip to main content

DNS Embedded Answers
draft-wobbly-dispatch-embedded-answers-00

Document Type Active Internet-Draft (individual)
Authors Warren Kumari , Joe Abley
Last updated 2026-10-30
RFC stream (None)
Intended RFC status (None)
Formats
Stream Stream state (No stream defined)
Consensus boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-wobbly-dispatch-embedded-answers-00
WG Working Group                                               W. Kumari
Internet-Draft                                              Google, Inc.
Intended status: Informational                                  J. Abley
Expires: 3 May 2027                                           Cloudflare
                                                         30 October 2026

                          DNS Embedded Answers
               draft-wobbly-dispatch-embedded-answers-00

Abstract

   Many web interactions require a client to resolve a hostname before
   it can establish a connection to a service.  While DNS is generally
   efficient, each lookup incurs some delay and exposes information
   about the user's browsing activity to the recursive resolver and
   upstream infrastructure.  This document explores techniques by which
   a client may receive DNS-derived address data as part of an
   application-layer response, so that it can initiate a connection
   without performing a separate DNS lookup for the same target.

   The mechanisms discussed here are intended to reduce lookup latency
   and potentially improve privacy, but they also raise significant
   questions about trust, freshness, and security.  The document does
   not prescribe a single normative mechanism; instead, it describes
   several design options and the trade-offs associated with each.

About This Document

   This note is to be removed before publishing as an RFC.

   The latest revision of this draft can be found at
   https://wkumari.github.io/draft-wobbly-dispatch-embedded-address-
   answers/draft-wobbly-dispatch-embedded-address-answers.html.  Status
   information for this document may be found at
   https://datatracker.ietf.org/doc/draft-wobbly-dispatch-embedded-
   answers/.

   Source for this draft and an issue tracker can be found at
   https://github.com/wkumari/draft-wobbly-dispatch-embedded-address-
   answers.

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

Kumari & Abley             Expires 3 May 2027                   [Page 1]
Internet-Draft                     DAE                      October 2026

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at https://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on 3 May 2027.

Copyright Notice

   Copyright (c) 2026 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents (https://trustee.ietf.org/
   license-info) in effect on the date of publication of this document.
   Please review these documents carefully, as they describe your rights
   and restrictions with respect to this document.  Code Components
   extracted from this document must include Revised BSD License text as
   described in Section 4.e of the Trust Legal Provisions and are
   provided without warranty as described in the Revised BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   3
   2.  Conventions and Definitions . . . . . . . . . . . . . . . . .   4
   3.  Goals and Non-Goals . . . . . . . . . . . . . . . . . . . . .   4
   4.  Trust Models  . . . . . . . . . . . . . . . . . . . . . . . .   4
     4.1.  DNSSEC-validated answers  . . . . . . . . . . . . . . . .   5
     4.2.  Optimization-only hints . . . . . . . . . . . . . . . . .   5
     4.3.  Same-origin or same-operator assumptions  . . . . . . . .   5
   5.  Embedding Mechanisms  . . . . . . . . . . . . . . . . . . . .   6
     5.1.  HTML embedding  . . . . . . . . . . . . . . . . . . . . .   6
     5.2.  HTTP headers  . . . . . . . . . . . . . . . . . . . . . .   7
     5.3.  QUIC and HTTP/3 transport mechanisms  . . . . . . . . . .   7
   6.  Address Selection and Operational Considerations  . . . . . .   7
   7.  Discussion Items  . . . . . . . . . . . . . . . . . . . . . .   8
     7.1.  What is the appropriate trust boundary? . . . . . . . . .   8
     7.2.  What restrictions are necessary for cross-origin use? . .   9
     7.3.  How should freshness be managed?  . . . . . . . . . . . .   9
     7.4.  What is the right balance between privacy and
           performance?  . . . . . . . . . . . . . . . . . . . . . .   9
   8.  Security and Privacy Considerations . . . . . . . . . . . . .   9
   9.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  10

Kumari & Abley             Expires 3 May 2027                   [Page 2]
Internet-Draft                     DAE                      October 2026

   10. References  . . . . . . . . . . . . . . . . . . . . . . . . .  10
     10.1.  Normative References . . . . . . . . . . . . . . . . . .  10
     10.2.  Informative References . . . . . . . . . . . . . . . . .  10
   Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . .  11
   Appendix A - DNSSEC Example . . . . . . . . . . . . . . . . . . .  11
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  12

1.  Introduction

   The vast majority of web interactions begin with a hostname
   resolution step.  A browser that needs to fetch an image from
   images.example.com or follow a link to www.example.net typically
   performs one or more DNS lookups before opening a connection.  Even
   when a resolver cache produces a fast answer, the lookup can still
   impose measurable latency and can reveal information about the user's
   activities to the resolver and any intermediaries on the path.

   This document discusses a class of mechanisms in which the client
   receives address information as part of an existing application-layer
   exchange, rather than by performing a separate DNS lookup.  Such
   information could be embedded in HTML, carried in HTTP metadata, or
   delivered through a protocol mechanism such as HTTP/3 or QUIC.  The
   goal is to allow the client to establish a connection more quickly,
   and, in certain situations, can also avoid exposing the lookup itself
   to the DNS infrastructure.

   This document is intentionally exploratory.  It presents a number of
   possible ways to embed address information, along with several trust
   models that a client might apply when deciding whether to use such
   information.  The design space is broad, and the trade-offs are
   substantial.

   Consider a page at https://www.example.com/kittens.html that includes
   an image served from https://images.example.com/kittens.png and a
   link to https://www.example.net/bunnies.html.  To fetch the image,
   the browser must resolve images.example.com.  To follow the link, it
   must resolve www.example.net.  Both operations take time and reveal
   that the user is accessing those resources.  Prefetching and
   speculative connection setup can reduce the delay, but they do not
   eliminate it and they do not necessarily remove the privacy
   implications of host resolution.

   If the origin or a trusted intermediary were able to provide the
   relevant address information in the response itself, the client could
   potentially avoid a separate lookup or begin connection setup
   earlier.  This could improve the user experience while reducing
   exposure of the requested hostnames to third parties.

Kumari & Abley             Expires 3 May 2027                   [Page 3]
Internet-Draft                     DAE                      October 2026

2.  Conventions and Definitions

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
   "OPTIONAL" in this document are to be interpreted as described in
   BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
   capitals, as shown here.

   This document uses the term "embedded answer" to refer to an
   application-layer value that conveys one or more network addresses
   associated with a hostname.  The term is intentionally generic: it
   does not assume a specific format or a single authority model.

   The term "optimization hint" refers to a value that may improve
   connection setup latency, but is not necessarily authoritative.  The
   term "authenticated answer" refers to a value that the client has
   reason to treat as equivalent to an answer obtained through DNS
   validation or other cryptographic means.

3.  Goals and Non-Goals

   The goals of the techniques discussed here are to:

   *  reduce the latency incurred by hostname resolution;

   *  allow a client to begin connection setup earlier; and

   *  reduce the amount of hostname information exposed to the DNS path.

   These techniques are not limited to a single transport or a single
   application protocol.  However, the examples in this document focus
   on web content and connection establishment.

   The non-goals include:

   *  replacing DNS as the primary name resolution system;

   *  guaranteeing that embedded answers are universally trusted; or

   *  defining a single protocol mechanism without further discussion
      and deployment experience.

4.  Trust Models

   A central question is why a client would trust an embedded answer.
   This section outlines several possible trust models, each with
   different security and operational properties.

Kumari & Abley             Expires 3 May 2027                   [Page 4]
Internet-Draft                     DAE                      October 2026

4.1.  DNSSEC-validated answers

   The strongest model is one in which the embedded answer is
   cryptographically bound to the originating DNS zone.  For example, a
   response could include the relevant RRset, along with the necessary
   DNSSEC validation material, and the client could verify the answer
   using the DNSSEC chain.  If the validation succeeds, the answer is
   equivalent to an authenticated DNS answer.

   This model has the advantage that it aligns closely with the existing
   security properties of DNS.  It does, however, require that the
   relevant zone be DNSSEC signed and that the client and the embedding
   entity support the necessary validation steps.

4.2.  Optimization-only hints

   A second model is to treat the embedded answer as an optimization
   hint rather than as authoritative data.  In such a model, the client
   may use the address to begin connection setup or perform connection
   racing ([I-D.ietf-happy-happyeyeballs-v3])while waiting for DNS to
   confirm or refute the advertised address.

   In this design, the client does not necessarily consider the embedded
   answer to be trusted until it has been validated by a conventional
   DNS resolution or by another trusted mechanism.  The benefit is that
   the client can exploit the embedded data to reduce connection setup
   latency without accepting the risk of blindly trusting it.  This
   would allow the client to perform the transport connection, and TLS
   handshake, but it would not send any user data until the address has
   been validated.

   This model may be useful when the embedded answer is generated by a
   local infrastructure component that is in a position to estimate the
   best endpoint, but it still preserves a fallback path to DNS-driven
   verification.

4.3.  Same-origin or same-operator assumptions

   A third model is to treat addresses associated with a related
   hostname as safe to use within a constrained trust boundary, such as
   a site or an organization.  For example, a page at www.example.com
   might be allowed to carry an embedded answer for images.example.com
   if the hostnames are controlled by the same party and the client
   applies explicit restrictions.

   This model is attractive because it aligns with common web deployment
   patterns, but it is also more dangerous.  It depends on an
   operational assumption that is not necessarily true even when the

Kumari & Abley             Expires 3 May 2027                   [Page 5]
Internet-Draft                     DAE                      October 2026

   hostnames share a registrable domain.  The client must define
   restrictions such as whether the value may be used only for read
   operations, only for a limited set of protocols, or only for a
   specific origin relation.  It must also consider the possibility that
   a page can cause a client to connect to destinations that are not
   obviously related to the origin.

   The precise boundaries for "same-origin" and "same-operator" are not
   obvious, and this remains a topic for further discussion.

5.  Embedding Mechanisms

   This document discusses several possible ways to deliver embedded
   answers.  The purpose of this section is to illustrate the design
   space, not to mandate a single mechanism.

5.1.  HTML embedding

   {Ed note: This is primarily documented to illustrate the concept and
   is not necessarily intended for production use, other than perhaps as
   initial testing.}

   A straightforward design is to embed the address information directly
   in HTML.  For example, the page at https://www.example.com/kittens
   could include attributes on elements that indicate the network target
   for a given resource:

   <img src="https://images.example.com/kittens.png"
        address="192.0.2.1" />

   <a href="https://www.example.net/bunnies.html"
      address="192.0.2.1, 192.0.2.42, 2001:0DB8::42">Bunnies! Yay, bunnies!</a>

   This mechanism is simple to understand and easy to prototype.  It has
   the advantage that the page author or generation system controls the
   information that is embedded.  It also has obvious drawbacks: the
   information may become stale, the browser must interpret a
   potentially large number of address hints, and the page author could
   embed values that are not aligned with the current DNS or the
   client's network conditions.

   The approach is useful for experiments, but it is not likely to be
   the final preferred mechanism for general deployment unless the
   format is carefully specified and tightly constrained.

Kumari & Abley             Expires 3 May 2027                   [Page 6]
Internet-Draft                     DAE                      October 2026

5.2.  HTTP headers

   A more structured design is to carry address information in an HTTP
   header.  This would allow the server, edge cache, or CDN to provide a
   set of answer hints that are relevant to the response being served:

Embedded-Answers: images.example.com=192.0.2.1; www.example.net=192.0.2.1,192.0.2.2

   This mechanism is architecturally cleaner than embedding data
   directly in HTML.  The server is already in control of the response,
   and in many deployments it has valuable context about origin
   topology, load, and client affinity.  In some cases, the same server
   or CDN is responsible for both the referencing page and the target
   resource, which makes it easier to select an appropriate endpoint.

   The drawback is that the server becomes responsible for resolving and
   selecting addresses.  This introduces incentives and operational
   trade-offs.  For example, a CDN that fronts multiple origins might
   prefer a local address or a preferred peer network in order to retain
   traffic, potentially at the expense of the client's optimal path.
   This is not necessarily an error in the protocol design, but it is a
   substantial deployment consideration.

5.3.  QUIC and HTTP/3 transport mechanisms

   A protocol-native mechanism could allow the client to receive address
   hints as part of an HTTP/3 or QUIC exchange.  Such a mechanism might
   be integrated into the transport context, a response header, or an
   extension-specific metadata field.  This approach may be more
   efficient in environments where the transport and applications are
   tightly coupled, but it requires a specific protocol design and a
   clear trust model.

   This document does not attempt to define such a format in detail.  It
   only notes that transport-specific mechanisms are likely to offer
   efficiency advantages, particularly when the client can apply the
   embedded data in a way that is consistent with the underlying
   connection establishment logic.

6.  Address Selection and Operational Considerations

   Before an answer can be embedded in a response, the entity generating
   the response must determine what address information to provide.  In
   many cases, the correct answer depends on factors such as:

   *  the client's local network conditions;

   *  the target service's current load and endpoint set;

Kumari & Abley             Expires 3 May 2027                   [Page 7]
Internet-Draft                     DAE                      October 2026

   *  the transport and policy of the origin or CDN; and

   *  the service's DNS configuration and load-balancing behavior.

   For example, a CDN serving multiple customers may have different
   optimal endpoints for the same hostname depending on the client
   network, the edge location, and the active service topology.  A
   server that resolves a name in one geographic region may produce an
   answer that is excellent for Toronto clients but poor for clients in
   Sydney.

   This creates several operational tensions:

   1.  Resolution frequency: resolving names too often increases server-
       side load, while resolving too infrequently leads to stale
       answers and reduced effectiveness.

   2.  TTL semantics: the lifetime of the answer matters.  A stale or
       overly broad answer might be counterproductive.

   3.  Client heterogeneity: different clients may have distinct optimal
       destinations for the same hostname, which complicates any attempt
       to generate a single answer for all clients.

   The design implications are therefore not purely protocol-level.
   They depend on operator practices, client policies, and the
   operational realities of modern CDN and edge infrastructure.

7.  Discussion Items

   This document is intentionally exploratory, and the authors invite
   feedback on a number of design questions.  The purpose of this
   section is to highlight the areas where the concept is still under
   discussion and where further experience would be valuable.

7.1.  What is the appropriate trust boundary?

   A key question is whether a client should treat embedded answers as
   cryptographically authenticated, as a best-effort optimization hint,
   or as an origin-local mechanism with explicit restrictions.  The
   appropriate answer may depend on the embedding mechanism, the
   application context, and the client's security policy.

Kumari & Abley             Expires 3 May 2027                   [Page 8]
Internet-Draft                     DAE                      October 2026

7.2.  What restrictions are necessary for cross-origin use?

   A mechanism that carries address hints across origins introduces a
   question of scope: should such hints be usable only for a single
   origin, only for related hostnames, or only for restricted classes of
   requests?  This question is closely related to the broader web-
   security discussion of site, origin, and delegated authority.

7.3.  How should freshness be managed?

   Embedded addresses may become stale, either because the underlying
   endpoint set changes or because the client receives an answer that
   was generated under older conditions.  The document does not yet
   specify how a client should bound the lifetime of such an answer or
   how a server should determine when to refresh it.

7.4.  What is the right balance between privacy and performance?

   The concept is intended to reduce DNS exposure and improve latency,
   but we need to ensure that it does not introduce new privacy or
   tracking risks.  An initial concern is whether embedded addresses,
   especially IPv6 addresses, could be used to correlate client activity
   across different contexts or origins.

   As far as the authors have been able to work out, an entity that is
   in a position to create unique embedded addresses for different
   clients, and then correlate those across those servers is already in
   a postion to track clients, even without the use of embedded
   addresses.  This suggests that the privacy risk introduced by
   embedded addresses may be limited in practice, but it still requires
   careful consideration in the design and deployment of the mechanism,
   especially because we didn't discussed this over coffee and didn't
   actually document our reasoning :-)

8.  Security and Privacy Considerations

   This proposal creates a tension between optimization and trust.  The
   same mechanism that reduces DNS lookup latency may also allow a party
   that controls a response to steer the client toward a chosen address
   without the client having independently validated that address.

   The security considerations include:

   *  stale or incorrect answers;

   *  traffic steering to a malicious or unintended endpoint;

   *  downgrade or bypass of DNSSEC validation;

Kumari & Abley             Expires 3 May 2027                   [Page 9]
Internet-Draft                     DAE                      October 2026

   *  cross-origin trust assumptions;

   *  abuse by compromised origins or intermediaries; and

   *  privacy exposure from embedded data itself.

   A client must therefore be conservative about how it uses embedded
   answers.  The safest model is to treat them as equivalent to DNS
   answers only when they are cryptographically authenticated or
   otherwise validated according to a defined trust policy.  In the
   absence of such validation, the embedded value should be handled as a
   hint and used only under constrained conditions.

   Any design that permits embedded answers to alter a client's network
   connection must specify the security boundary of that decision.  In
   particular, the draft must clearly explain whether the answer may be
   used for all requests, only for certain origins, only for read-only
   traffic, or only in conjunction with a separate DNS validation step.

9.  IANA Considerations

   This document has no IANA actions.

10.  References

10.1.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/rfc/rfc2119>.

   [RFC4034]  Arends, R., Austein, R., Larson, M., Massey, D., and S.
              Rose, "Resource Records for the DNS Security Extensions",
              RFC 4034, DOI 10.17487/RFC4034, March 2005,
              <https://www.rfc-editor.org/rfc/rfc4034>.

   [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
              2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
              May 2017, <https://www.rfc-editor.org/rfc/rfc8174>.

   [RFC9102]  Dukhovni, V., Huque, S., Toorop, W., Wouters, P., and M.
              Shore, "TLS DNSSEC Chain Extension", RFC 9102,
              DOI 10.17487/RFC9102, August 2021,
              <https://www.rfc-editor.org/rfc/rfc9102>.

10.2.  Informative References

Kumari & Abley             Expires 3 May 2027                  [Page 10]
Internet-Draft                     DAE                      October 2026

   [I-D.ietf-happy-happyeyeballs-v3]
              Pauly, T., Schinazi, D., Jaju, N., and K. Ishibashi,
              "Happy Eyeballs Version 3: Better Connectivity Using
              Concurrency", Work in Progress, Internet-Draft, draft-
              ietf-happy-happyeyeballs-v3-04, 1 July 2026,
              <https://datatracker.ietf.org/doc/html/draft-ietf-happy-
              happyeyeballs-v3-04>.

Acknowledgments

   The authors would like to thank the following individuals for their
   feedback and suggestions: Mike Bishop, Lorenzo Colitti, Roman
   Danyliw, Geoff Huston, Suresh Krishnan, Mark Nottingham, Erik Nygren,
   Adam Roach, David Schinazi, Ian Swett.  This work was informed by
   discussion on the "Resolverless DNS" mailing list and other places,
   and we would like to acknowledge the contributions of many
   individuals who have participated in these discussions over the
   years.

   Unfortunately, at least one of the authors has a terrible memory, and
   has lost track of all those who have contributed to this topic over
   the years, and will be more than happy to acknowledge their input if
   reminded of this :-)

Appendix A - DNSSEC Example

   The following example illustrates how DNSSEC can be used to validate
   embedded answers.  Note that this is simple for illustrative
   purposes, and the actual format will change after discussions on the
   general approach.

   This is presented in "human-readable layout", but would obviously be
   transmitted in "single-line wire format".  In addition, the format is
   compressed to minimize the size of the transmitted data to avoid
   exceeding typical HTTP header size limits.

Embedded-Answer: www.example.com=192.0.2.1;
  www.example.com. 3600 IN RRSIG ( A 13 5 3600 20201202000000 20181128000000 1870 example.com. rqY69NnTf4CN3GBGQjKEJCLAMsRkUrXe0JW8IqDb5rQHHzxNqqPeEoi+2vI6Sz2BhaswpGLVVuoijuVdzxYjmw== );
  example.com. 3600 IN DNSKEY ( 257 3 13 JnA1XgyJTZz+psWvbrfUWLV6ULqIJyUS2CQdhUH9VK35bslWeJpRzrlxCUs7s/TsSfZMaGWVvlsuieh5nHcXzA== );
  example.com. 3600 IN RRSIG ( DNSKEY 13 2 3600 20201202000000 20181128000000 1870 example.com. nYisnu/26Sw1qmGuREa9o/fLgYuA4oNPt4+6PMBZoN0MS8Gjtli9NVRYeSIztQHPGSpvRxTUC4tZi62z1UgGDw== );
  example.com. 172800 IN DS ( 1870 13 2 e9b533a049798e900b5c29c90cd25a986e8a44f319ac3cd302bafc08f5b81e16);
  com. 172800 IN DNSKEY ( 257 3 13 RbkcO+96XZmnp8jYIuM4lryAp3egQjSmBaSoiA7H76Tm0RLHPNPUxlVk+nQ0fIc3I8xfZDNw8Wa0Pe3/g2QA/w== );
  com. 172800 IN RRSIG ( DNSKEY 13 1 172800 20201202000000 20181128000000 18931 com. LJ4p5ORS2ViILwTotSlWixElqRXHY5tOdIuHlPWTdBGPMq3y40QNr1V+ZOyA57LFdPKpcvb8BvhM+GqKWGBEsg== );
  com. 86400 IN DS ( 18931 13 2 20f7a9db42d0e2042fbbb9f9ea015941202f9eabb94487e658c188e7bcb52115 );
  com. 86400 IN RRSIG ( DS 13 1 86400 20201202000000 20181128000000 31918 . nDiDlBjXEE/6AudhC++Hui1ckPcuAnGbjEASNoxA3ZHjlXRzL050UzePko5PbvBKTf6pk8JRCqnfzlo2QY+WXA== );
 . 86400 IN DNSKEY ( 256 3 13 zKz+DCWkNA/vuheiVPcGqsH40U84KZAlrMRIyozj9WHzf8PsFp/oR8j8vmjjWP98cbte4d8NvlGLxzbUzo3+FA== ) ; Key ID = 31918;
 . 86400 IN DNSKEY ( 257 3 13 yvX+VNTUjxZiGvtr060hVbrPV9H6rVusQtF9lIxCFzbZOJxMQBFmbqlc8XclvQ+gDOXnFOTsgs/frMmxyGOtRg== );
 . 86400 IN RRSIG ( DNSKEY 13 0 86400 20201202000000 20181128000000 47005 . 0EPW1ca+N ZhZPKla77STG734cTeIOjUwq7eW0HsnOfudWmnCEVeco2wLLq9mnBT1dtNjIczvLG9pQTnOKUsHQ==)

Kumari & Abley             Expires 3 May 2027                  [Page 11]
Internet-Draft                     DAE                      October 2026

   This example is stolen from [RFC9102], Section 4.1, and lightly
   edited for brevity.

Authors' Addresses

   Warren Kumari
   Google, Inc.
   Email: warren@kumari.net

   Joe Abley
   Cloudflare
   Email: jabley@cloudflare.com

Kumari & Abley             Expires 3 May 2027                  [Page 12]