<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.29 (Ruby 2.6.10) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>


<rfc ipr="trust200902" docName="draft-mozleywilliams-dawn-dnsaid-00" category="std" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="DNS-AID">DNS for AI Discovery</title>

    <author initials="J." surname="Mozley" fullname="Jim Mozley">
      <organization>Infoblox, Inc.</organization>
      <address>
        <email>jmozley@infoblox.com</email>
      </address>
    </author>
    <author initials="N." surname="Williams" fullname="Nic Williams">
      <organization>Infoblox, Inc.</organization>
      <address>
        <email>nic@infoblox.com</email>
      </address>
    </author>
    <author initials="B." surname="Sarikaya" fullname="Behcet Sarikaya">
      <organization>Unaffiliated</organization>
      <address>
        <email>sarikaya@ieee.org</email>
      </address>
    </author>
    <author initials="R." surname="Schott" fullname="Roland Schott">
      <organization>Deutsche Telekom</organization>
      <address>
        <email>roland.schott@telekom.de</email>
      </address>
    </author>
    <author initials="J." surname="Damick" fullname="Jeff Damick">
      <organization>Amazon</organization>
      <address>
        <email>jdamick@amazon.com</email>
      </address>
    </author>
    <author initials="S." surname="Courtney" fullname="Scott Courtney">
      <organization>GoDaddy</organization>
      <address>
        <email>scourtney@godaddy.com</email>
      </address>
    </author>

    <date year="2026" month="November" day="02"/>

    <area>ops</area>
    <workgroup>dnsop</workgroup>
    <keyword>DNS</keyword> <keyword>AI</keyword> <keyword>Service Discovery</keyword> <keyword>agent-to-agent</keyword> <keyword>agent2agent</keyword> <keyword>DAWN</keyword>

    <abstract>


<?line 71?>

<t>This document specifies DNS for AI Discovery (DNS-AID), a method for publishing AI agents in the Domain Name System (DNS) so that other agents can discover them. It defines three discovery use cases, ordered by increasing latency and computational cost. In the known-agent case, the requestor knows both the agent and its domain, and a single DNS query returns connectivity information and key metadata. In the known-organization case, the requestor knows the domain but not which agent provides a required capability, and queries a well-known organizational index to get connectivity information to enable a capability search of a catalog, agent registry or database. In the known-capability case, the requestor knows only the required capability and must rely on an external directory or search service. This document addresses the known-agent and known-organization cases. The known-capability case is out of scope, but search and cataloging services can be built from the organizational index defined here. Once a client has learned an organization’s agents, later interactions can use the known-agent case, relying on a minimal, cacheable record set that each organization controls. DNS-AID uses Service Binding (SVCB) records, optionally with DNS-Based Service Discovery (DNS-SD) labels, DNSSEC, and DANE TLSA records. This gives agents direct connections that no third party mediates and works the same way on public and private networks. No new resource record types, opcodes, or response codes are introduced.</t>



    </abstract>

    <note title="About This Document" removeInRFC="true">
      <t>
        The latest revision of this draft can be found at <eref target="https://example.com/LATEST"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-mozleywilliams-dawn-dnsaid/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        WG Working Group mailing list (<eref target="mailto:WG@example.com"/>),
        which is archived at <eref target="https://example.com/WG"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/USER/REPO"/>.</t>
    </note>


  </front>

  <middle>


<?line 75?>

<section anchor="introduction"><name>Introduction</name>

<t>This document standardizes an approach for publishing AI agents in the DNS so that other agents can discover them. Discovery can be initiated based on one of three use cases, where they are ranked in ascending order of latency and computational power required to complete:</t>

<t><list style="numbers" type="1">
  <t>Known Agent - The requestor knows both the agent and its origin domain, and a single DNS query provides connectivity information and key metadata (see <xref target="use-case-known-agent"/>)</t>
  <t>Known Organisation - The requestor knows the domain but not which agent provides a required capability, and an organization-level index returns connectivity information to a catalog, agent registry or database from which one can be selected (see <xref target="use-case-known-organization"/>)</t>
  <t>Known Capability - The requestor knows the required capability, but not the agent or domain, or knows neither, in which case it must rely on an external directory or search service (see <xref target="use-case-known-capability"/>)</t>
</list></t>

<t>Of the above discovery use cases, (1) and (2) are addressed by this document. The third use case can be derived from (2) based on a well-known entry point to an organization's index of agents, such that any organization could build a search service based on this information. In the event the capability is unknown, external search is likely used anyway, which is treated like (3).</t>

<section anchor="design"><name>Design</name>

<t>DNS-AID is designed so that, once a client has learned an organization's agent capabilities, subsequent queries can use the first use case. The intention is to provide a minimum DNS record set, that is cacheable or even learnable as an agentic skill, with each organization able to control the advertisement of its own agents. This also provides consumers of agent services with a direct connection method for agentic workloads not mediated by a third party. Organizations can use the same approach within internal networks, providing consistency across public and private networks. The mechanism uses SVCB and DNS-SD to include connectivity and metadata within a single DNS record, and optionally utilizes DANE TLSA records to support efficiently establishing encrypted communication.</t>

<t>A deployment using the DNS-AID approach uses the following:</t>

<t><list style="symbols">
  <t>Service Binding (SVCB) records <xref target="RFC9460"/> for the agent endpoint and protocol</t>
  <t>TLSA records <xref target="RFC6698"/> <bcp14>MAY</bcp14> be used for the agent's TLS identity</t>
  <t>The records <bcp14>SHOULD</bcp14> be DNSSEC-signed <xref target="RFC9364"/> for data origin authentication and data integrity, if TLSA records are used they <bcp14>MUST</bcp14> be signed</t>
  <t>DNS-Based Service Discovery (DNS-SD) <xref target="RFC6763"/> <bcp14>MAY</bcp14> be used for compatibility with existing service-discovery tooling</t>
  <t>Several extensions - agent-to-zone control proofs, query-time policy signaling, and cross-domain search - are being explored in parallel and are summarized under <xref target="FutureWork"/>.</t>
</list></t>

<t>Section <xref target="TXT-fallback"/> defines TXT records as the fallback where SVCB, or the SvcParamKeys below, cannot be published or served.</t>

</section>
<section anchor="determinism"><name>Determinism</name>

<t>DNS discovery is deterministic and cacheable: a given query against a given zone returns the same SVCB and TLSA RRsets, signed and time-bounded, until the publisher rotates them. The downstream agent's decisions over the discovered metadata are not deterministic. Implementations and reviewers <bcp14>SHOULD</bcp14> treat DNS-AID as providing a verifiable transport for agent metadata, not as a guarantee that an agent will behave predictably given that metadata.</t>

</section>
</section>
<section anchor="conventions-and-definitions"><name>Conventions and Definitions</name>

<t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>

<?line -18?>

<dl>
  <dt>agent</dt>
  <dd>
    <t>A program that exchanges structured messages with other programs (other agents, services, or human-facing applications), typically over an HTTP transport.</t>
  </dd>
  <dt>agent record</dt>
  <dd>
    <t>The SVCB record set published at an agent's primary owner name, together with any AliasMode records that redirect to it.</t>
  </dd>
  <dt>agent protocol</dt>
  <dd>
    <t>The application-layer protocol an agent speaks once a TLS connection has been established (for example, the Model Context Protocol or Agent-to-Agent). Carried in the <spanx style="verb">proto</spanx> SvcParamKey.</t>
  </dd>
  <dt>capability descriptor</dt>
  <dd>
    <t>A machine-readable document describing the operations, inputs, and outputs an agent exposes. The descriptor itself is fetched out of band; DNS-AID carries its URI and a SHA-256 digest of its canonical form.</t>
  </dd>
  <dt>organization index</dt>
  <dd>
    <t>The list of agents an organization chooses to advertise as discoverable, published at <spanx style="verb">_index._agents.&lt;domain&gt;</spanx>.</t>
  </dd>
  <dt>primary owner</dt>
  <dd>
    <t>The fully-qualified domain name at which an agent's normative SVCB ServiceMode record is published.</t>
  </dd>
</dl>

</section>
<section anchor="discovery-use-cases"><name>Discovery Use Cases</name>

<t>This section of the document provides details of the three generic use cases, including DNS record usage.</t>

<section anchor="use-case-known-agent"><name>Known Agent</name>

<t>This section covers the use case where a requestor knows both the agent and its origin domain.</t>

<t>A single SVCB record type query for <spanx style="verb">agent-name.example.com</spanx> returns IP addresses, transport, agent protocol, and descriptor metadata. A TLSA record type query authenticates the TLS endpoint, although implementations may use other mechanisms. This is the form publishers <bcp14>SHOULD</bcp14> support and the form requestors <bcp14>MUST</bcp14> try first.</t>

<t>The SVCB record of an agent provides connectivity and service parameters <xref target="I-D.blwm-dawn-common-discovery-parameters"/> to a discovering agent. These are summarized below:</t>

<texttable title="Connectivity and Discovery Parameters" anchor="dns-aid-parameters">
      <ttcol align='left'>Parameter</ttcol>
      <ttcol align='left'>Meaning</ttcol>
      <ttcol align='left'>Reference</ttcol>
      <c><spanx style="verb">TargetName</spanx></c>
      <c>Target of the SVCB record, which can be the same as the agent domain name or a different FQDN</c>
      <c>Note 1</c>
      <c><spanx style="verb">ipv4hint</spanx></c>
      <c>TargetName IPv4 addressing</c>
      <c>Note 1</c>
      <c><spanx style="verb">ipv6hint</spanx></c>
      <c>TargetName IPv6 addressing</c>
      <c>Note 1</c>
      <c><spanx style="verb">alpn</spanx></c>
      <c>A transport protocol suite used by the target (e.g. <spanx style="verb">alpn=h2,h3</spanx>)</c>
      <c>Note 1</c>
      <c><spanx style="verb">proto</spanx></c>
      <c>The agent protocol (e.g. <spanx style="verb">mcp</spanx>, <spanx style="verb">a2a</spanx>)</c>
      <c>Note 2</c>
      <c><spanx style="verb">proto-ver</spanx></c>
      <c>The agent protocol version (e.g. <spanx style="verb">1.0</spanx>, <spanx style="verb">2025-11-25</spanx>)</c>
      <c>Note 2</c>
      <c><spanx style="verb">well-known</spanx></c>
      <c>The .well-known suffix(es)</c>
      <c>Note 3</c>
      <c><spanx style="verb">path</spanx></c>
      <c>Endpoint path</c>
      <c>Note 2</c>
      <c><spanx style="verb">desc-ref</spanx></c>
      <c>Descriptor reference</c>
      <c>Note 2</c>
      <c><spanx style="verb">desc-ref-digest</spanx></c>
      <c>Descriptor reference digest</c>
      <c>Note 2</c>
</texttable>

<t>Notes:</t>

<t><list style="numbers" type="1">
  <t>Service Binding and Parameter Specification via the DNS (SVCB and HTTPS Resource Records) <xref target="RFC9460"/></t>
  <t>Common Agent DNS Discovery Parameters <xref target="I-D.draft-blwm-dawn-common-discovery-parameters"/></t>
  <t>An SVCB Service Parameter for Well-Known URI Paths <xref target="I-D.draft-mk-dnsop-svcb-well-known"/></t>
</list></t>

<t>Operators <bcp14>MAY</bcp14> publish the same agent under an <spanx style="verb">_agents.example.com</spanx> inventory leaf (for organizations that prefer a single containing prefix for their agents) or under a canonical DNS-SD label (so off-the-shelf DNS-SD clients can enumerate). In these cases SVCB AliasMode <bcp14>MUST</bcp14> be used to point at the primary owner.</t>

<t>Not all parameters are needed in all cases, for instance a record for an agent protocol with a specification including a single fixed .well-known suffix as a description of version and capability (e.g. an agent card) may only need <spanx style="verb">alpn</spanx> and <spanx style="verb">proto</spanx>. Where an agent supports multiple protocols, or a single protocol has custom protocol bindings to support different transport mechanisms or communication patterns, then additional parameters will signal this to a discovering agent and prevent the need for probing for capability.</t>

<t>Examples of these records are shown below in <xref target="svcb-ex-1"/> and their usage in <xref target="discovery-ex1"/>:</t>

<figure title="SVCB Record Examples" anchor="svcb-ex-1"><artset><artwork  type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="416" width="616" viewBox="0 0 616 416" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
<g class="text">
<text x="8" y="36">#</text>
<text x="28" y="36">An</text>
<text x="64" y="36">agent</text>
<text x="132" y="36">supporting</text>
<text x="196" y="36">a2a,</text>
<text x="280" y="36">agent-card.json</text>
<text x="356" y="36">is</text>
<text x="384" y="36">the</text>
<text x="432" y="36">assumed</text>
<text x="508" y="36">well-known</text>
<text x="580" y="36">suffix</text>
<text x="96" y="52">agent-name.example.com.</text>
<text x="212" y="52">3600</text>
<text x="244" y="52">IN</text>
<text x="276" y="52">SVCB</text>
<text x="304" y="52">1</text>
<text x="320" y="52">.</text>
<text x="336" y="52">(</text>
<text x="84" y="68">alpn=&quot;h2,h3&quot;</text>
<text x="68" y="84">port=443</text>
<text x="108" y="100">ipv4hint=192.0.2.1</text>
<text x="116" y="116">ipv6hint=2001:db8::1</text>
<text x="72" y="132">proto=a2a</text>
<text x="96" y="148">desc-ref=&lt;agent</text>
<text x="204" y="148">descriptor</text>
<text x="288" y="148">reference</text>
<text x="348" y="148">e.g.</text>
<text x="384" y="148">ANS</text>
<text x="432" y="148">ANSName</text>
<text x="476" y="148">or</text>
<text x="504" y="148">ARD</text>
<text x="568" y="148">identifier&gt;</text>
<text x="8" y="164">)</text>
<text x="8" y="196">#</text>
<text x="28" y="196">An</text>
<text x="56" y="196">MCP</text>
<text x="104" y="196">server,</text>
<text x="156" y="196">path</text>
<text x="216" y="196">specified</text>
<text x="272" y="196">for</text>
<text x="304" y="196">the</text>
<text x="368" y="196">discovering</text>
<text x="440" y="196">agent</text>
<text x="108" y="212">ticket-server.example.com.</text>
<text x="236" y="212">3600</text>
<text x="268" y="212">IN</text>
<text x="300" y="212">SVCB</text>
<text x="328" y="212">1</text>
<text x="344" y="212">.</text>
<text x="360" y="212">(</text>
<text x="84" y="228">alpn=&quot;h2,h3&quot;</text>
<text x="68" y="244">port=443</text>
<text x="108" y="260">ipv4hint=192.0.2.1</text>
<text x="116" y="276">ipv6hint=2001:db8::1</text>
<text x="72" y="292">proto=mcp</text>
<text x="96" y="308">path=/api/agent</text>
<text x="8" y="324">)</text>
<text x="8" y="356">#</text>
<text x="40" y="356">Agent</text>
<text x="108" y="356">agent-name</text>
<text x="176" y="356">where</text>
<text x="216" y="356">the</text>
<text x="276" y="356">TargetName</text>
<text x="332" y="356">is</text>
<text x="352" y="356">a</text>
<text x="388" y="356">hosted</text>
<text x="448" y="356">service</text>
<text x="96" y="372">agent-name.example.com.</text>
<text x="212" y="372">3600</text>
<text x="244" y="372">IN</text>
<text x="276" y="372">SVCB</text>
<text x="304" y="372">1</text>
<text x="448" y="372">resource.service-provider.example</text>
<text x="592" y="372">(</text>
<text x="48" y="388">...</text>
<text x="8" y="404">)</text>
</g>
</svg>
</artwork><artwork  type="ascii-art"><![CDATA[
# An agent supporting a2a, agent-card.json is the assumed well-known suffix
agent-name.example.com. 3600 IN SVCB 1 . (
    alpn="h2,h3"
    port=443
    ipv4hint=192.0.2.1
    ipv6hint=2001:db8::1
    proto=a2a
    desc-ref=<agent descriptor reference e.g. ANS ANSName or ARD identifier>
)

# An MCP server, path specified for the discovering agent
ticket-server.example.com. 3600 IN SVCB 1 . (
    alpn="h2,h3"
    port=443
    ipv4hint=192.0.2.1
    ipv6hint=2001:db8::1
    proto=mcp
    path=/api/agent
)

# Agent agent-name where the TargetName is a hosted service
agent-name.example.com. 3600 IN SVCB 1 resource.service-provider.example (
    ...
)
]]></artwork></artset></figure>

<figure title="Discovery Example 1: Known Agent Discovery" anchor="discovery-ex1"><artset><artwork  type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="768" width="576" viewBox="0 0 576 768" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
<path d="M 24,112 L 24,752" fill="none" stroke="black"/>
<path d="M 224,112 L 224,728" fill="none" stroke="black"/>
<path d="M 416,112 L 416,728" fill="none" stroke="black"/>
<path d="M 544,112 L 544,752" fill="none" stroke="black"/>
<path d="M 32,176 L 216,176" fill="none" stroke="black"/>
<path d="M 232,240 L 408,240" fill="none" stroke="black"/>
<path d="M 32,416 L 216,416" fill="none" stroke="black"/>
<path d="M 32,480 L 216,480" fill="none" stroke="black"/>
<path d="M 232,544 L 408,544" fill="none" stroke="black"/>
<path d="M 32,608 L 216,608" fill="none" stroke="black"/>
<path d="M 32,736 L 536,736" fill="none" stroke="black"/>
<polygon class="arrowhead" points="544,736 532,730.4 532,741.6" fill="black" transform="rotate(0,536,736)"/>
<polygon class="arrowhead" points="416,544 404,538.4 404,549.6" fill="black" transform="rotate(0,408,544)"/>
<polygon class="arrowhead" points="416,240 404,234.4 404,245.6" fill="black" transform="rotate(0,408,240)"/>
<polygon class="arrowhead" points="240,544 228,538.4 228,549.6" fill="black" transform="rotate(180,232,544)"/>
<polygon class="arrowhead" points="240,240 228,234.4 228,245.6" fill="black" transform="rotate(180,232,240)"/>
<polygon class="arrowhead" points="224,480 212,474.4 212,485.6" fill="black" transform="rotate(0,216,480)"/>
<polygon class="arrowhead" points="224,176 212,170.4 212,181.6" fill="black" transform="rotate(0,216,176)"/>
<polygon class="arrowhead" points="40,608 28,602.4 28,613.6" fill="black" transform="rotate(180,32,608)"/>
<polygon class="arrowhead" points="40,416 28,410.4 28,421.6" fill="black" transform="rotate(180,32,416)"/>
<g class="text">
<text x="12" y="36">AI</text>
<text x="48" y="36">Agent</text>
<text x="104" y="36">Client:</text>
<text x="24" y="52">-</text>
<text x="56" y="52">wants</text>
<text x="92" y="52">to</text>
<text x="120" y="52">use</text>
<text x="228" y="52">agent-name.example.com</text>
<text x="24" y="84">Agent</text>
<text x="220" y="84">Resolver</text>
<text x="416" y="84">Authoritative</text>
<text x="528" y="84">Agent</text>
<text x="564" y="84">or</text>
<text x="224" y="100">Cache</text>
<text x="416" y="100">DNS</text>
<text x="544" y="100">Gateway</text>
<text x="44" y="148">1.</text>
<text x="76" y="148">SVCB</text>
<text x="120" y="148">Query</text>
<text x="80" y="164">(Recursive)</text>
<text x="244" y="212">2.</text>
<text x="296" y="212">Iterative</text>
<text x="368" y="212">Queries</text>
<text x="268" y="228">retrieve</text>
<text x="324" y="228">SVCB</text>
<text x="368" y="228">RRset</text>
<text x="44" y="276">3.</text>
<text x="92" y="276">Response</text>
<text x="140" y="276">to</text>
<text x="176" y="276">agent</text>
<text x="76" y="292">(validated</text>
<text x="128" y="292">+</text>
<text x="168" y="292">cached)</text>
<text x="68" y="308">Response</text>
<text x="144" y="308">includes:</text>
<text x="40" y="324">-</text>
<text x="92" y="324">TargetName</text>
<text x="40" y="340">-</text>
<text x="68" y="340">ALPN</text>
<text x="124" y="340">protocol</text>
<text x="184" y="340">suite</text>
<text x="40" y="356">-</text>
<text x="68" y="356">Port</text>
<text x="116" y="356">number</text>
<text x="40" y="372">-</text>
<text x="88" y="372">IPv4/IPv6</text>
<text x="152" y="372">hints</text>
<text x="40" y="388">-</text>
<text x="76" y="388">DNSSEC</text>
<text x="148" y="388">signatures</text>
<text x="40" y="404">-</text>
<text x="100" y="404">Capabilities</text>
<text x="44" y="452">4.</text>
<text x="76" y="452">TLSA</text>
<text x="120" y="452">Query</text>
<text x="80" y="468">(Recursive)</text>
<text x="244" y="516">5.</text>
<text x="296" y="516">Iterative</text>
<text x="368" y="516">Queries</text>
<text x="268" y="532">retrieve</text>
<text x="324" y="532">TLSA</text>
<text x="368" y="532">RRset</text>
<text x="44" y="580">6.</text>
<text x="76" y="580">TLSA</text>
<text x="132" y="580">Response</text>
<text x="108" y="596">(validated+cached)</text>
<text x="44" y="644">7.</text>
<text x="80" y="644">Agent</text>
<text x="144" y="644">validates</text>
<text x="80" y="660">certificate</text>
<text x="44" y="692">8.</text>
<text x="80" y="692">Agent</text>
<text x="160" y="692">communication</text>
<text x="60" y="708">begins</text>
<text x="112" y="708">using</text>
<text x="168" y="708">service</text>
<text x="64" y="724">binding</text>
<text x="140" y="724">parameters</text>
<text x="224" y="756">|</text>
<text x="416" y="756">|</text>
</g>
</svg>
</artwork><artwork  type="ascii-art"><![CDATA[
AI Agent Client:
  - wants to use agent-name.example.com

Agent                  Resolver              Authoritative     Agent or
                         Cache                    DNS           Gateway
  |                        |                       |               |
  |                        |                       |               |
  | 1. SVCB Query          |                       |               |
  | (Recursive)            |                       |               |
  |----------------------->|                       |               |
  |                        |                       |               |
  |                        | 2. Iterative Queries  |               |
  |                        | retrieve SVCB RRset   |               |
  |                        |<--------------------->|               |
  |                        |                       |               |
  | 3. Response to agent   |                       |               |
  | (validated + cached)   |                       |               |
  | Response includes:     |                       |               |
  | - TargetName           |                       |               |
  | - ALPN protocol suite  |                       |               |
  | - Port number          |                       |               |
  | - IPv4/IPv6 hints      |                       |               |
  | - DNSSEC signatures    |                       |               |
  | - Capabilities         |                       |               |
  |<-----------------------|                       |               |
  |                        |                       |               |
  | 4. TLSA Query          |                       |               |
  | (Recursive)            |                       |               |
  |----------------------->|                       |               |
  |                        |                       |               |
  |                        | 5. Iterative Queries  |               |
  |                        | retrieve TLSA RRset   |               |
  |                        |<--------------------->|               |
  |                        |                       |               |
  | 6. TLSA Response       |                       |               |
  | (validated+cached)     |                       |               |
  |<-----------------------|                       |               |
  |                        |                       |               |
  | 7. Agent validates     |                       |               |
  | certificate            |                       |               |
  |                        |                       |               |
  | 8. Agent communication |                       |               |
  | begins using service   |                       |               |
  | binding parameters     |                       |               |
  |--------------------------------------------------------------->|
  |                        |                       |               |
]]></artwork></artset></figure>

<section anchor="agents-supporting-multiple-protos"><name>Agents Supporting Multiple Protocols</name>

<t>n agent that supports more than one agent-layer protocol publishes one SVCB record per protocol. Each record carries <spanx style="verb">proto</spanx> with a single protocol value and <spanx style="verb">alpn</spanx> with the HTTP transport versions. A client processes the RRset and selects the record matching the protocol it wants.</t>

<t>Each agent protocol <bcp14>MUST</bcp14> be a separate record in the RRset:</t>

<figure><artset><artwork  type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="64" width="664" viewBox="0 0 664 64" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
<g class="text">
<text x="92" y="36">agent-name.example.com</text>
<text x="196" y="36">IN</text>
<text x="228" y="36">SVCB</text>
<text x="256" y="36">1</text>
<text x="272" y="36">.</text>
<text x="324" y="36">alpn=h2,h3</text>
<text x="408" y="36">proto=a2a</text>
<text x="556" y="36">well-known=agent-card.json</text>
<text x="92" y="52">agent-name.example.com</text>
<text x="196" y="52">IN</text>
<text x="228" y="52">SVCB</text>
<text x="256" y="52">2</text>
<text x="272" y="52">.</text>
<text x="324" y="52">alpn=h2,h3</text>
<text x="408" y="52">proto=mcp</text>
<text x="488" y="52">path=/mcp</text>
</g>
</svg>
</artwork><artwork  type="ascii-art"><![CDATA[
agent-name.example.com IN SVCB 1 . alpn=h2,h3 proto=a2a well-known=agent-card.json
agent-name.example.com IN SVCB 2 . alpn=h2,h3 proto=mcp path=/mcp
]]></artwork></artset></figure>

<t>Multiple agent protocols <bcp14>MUST NOT</bcp14> be combined in a single <spanx style="verb">proto</spanx> value:</t>

<figure><artset><artwork  type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="48" width="632" viewBox="0 0 632 48" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
<g class="text">
<text x="92" y="36">agent-name.example.com</text>
<text x="196" y="36">IN</text>
<text x="228" y="36">SVCB</text>
<text x="256" y="36">1</text>
<text x="272" y="36">.</text>
<text x="324" y="36">alpn=h2,h3</text>
<text x="424" y="36">proto=a2a,mcp</text>
<text x="488" y="36">#</text>
<text x="516" y="36">MUST</text>
<text x="552" y="36">NOT</text>
<text x="580" y="36">be</text>
<text x="612" y="36">used</text>
</g>
</svg>
</artwork><artwork  type="ascii-art"><![CDATA[
agent-name.example.com IN SVCB 1 . alpn=h2,h3 proto=a2a,mcp # MUST NOT be used
]]></artwork></artset></figure>

<t>An agent hosted at a service provider uses a distinct TargetName for each protocol endpoint:</t>

<figure title="SVCB Records for Multi-Protocol Support" anchor="svcb-ex-multi-proto"><artset><artwork  type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="368" width="616" viewBox="0 0 616 368" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
<g class="text">
<text x="8" y="36">#</text>
<text x="60" y="36">TargetName</text>
<text x="120" y="36">can</text>
<text x="148" y="36">be</text>
<text x="200" y="36">different</text>
<text x="252" y="36">to</text>
<text x="296" y="36">support</text>
<text x="340" y="36">to</text>
<text x="384" y="36">support</text>
<text x="448" y="36">service</text>
<text x="520" y="36">providers</text>
<text x="8" y="52">#</text>
<text x="28" y="52">or</text>
<text x="80" y="52">different</text>
<text x="160" y="52">endpoints</text>
<text x="96" y="68">agent-name.example.com.</text>
<text x="212" y="68">3600</text>
<text x="244" y="68">IN</text>
<text x="276" y="68">SVCB</text>
<text x="304" y="68">1</text>
<text x="456" y="68">resource1.service-provider1.example</text>
<text x="608" y="68">(</text>
<text x="76" y="84">alpn=h3,h2</text>
<text x="72" y="100">proto=mcp</text>
<text x="72" y="116">path=/mcp</text>
<text x="8" y="132">)</text>
<text x="96" y="148">agent-name.example.com.</text>
<text x="212" y="148">3600</text>
<text x="244" y="148">IN</text>
<text x="276" y="148">SVCB</text>
<text x="304" y="148">1</text>
<text x="456" y="148">resource2.service-provider2.example</text>
<text x="608" y="148">(</text>
<text x="64" y="164">alpn=h2</text>
<text x="72" y="180">proto=a2a</text>
<text x="8" y="196">)</text>
<text x="8" y="228">#</text>
<text x="28" y="228">It</text>
<text x="64" y="228">would</text>
<text x="100" y="228">be</text>
<text x="148" y="228">possible</text>
<text x="196" y="228">to</text>
<text x="224" y="228">use</text>
<text x="268" y="228">DNS-SD</text>
<text x="328" y="228">labels,</text>
<text x="396" y="228">although</text>
<text x="452" y="228">this</text>
<text x="484" y="228">is</text>
<text x="536" y="228">redundant</text>
<text x="8" y="244">#</text>
<text x="28" y="244">as</text>
<text x="56" y="244">the</text>
<text x="108" y="244">protocol</text>
<text x="156" y="244">is</text>
<text x="180" y="244">in</text>
<text x="208" y="244">the</text>
<text x="252" y="244">proto,</text>
<text x="296" y="244">but</text>
<text x="368" y="244">organizations</text>
<text x="448" y="244">might</text>
<text x="488" y="244">use</text>
<text x="524" y="244">this</text>
<text x="560" y="244">for</text>
<text x="8" y="260">#</text>
<text x="72" y="260">compatibility</text>
<text x="148" y="260">with</text>
<text x="204" y="260">existing</text>
<text x="312" y="260">service-discovery</text>
<text x="420" y="260">tooling,</text>
<text x="468" y="260">or</text>
<text x="496" y="260">for</text>
<text x="8" y="276">#</text>
<text x="56" y="276">filtering</text>
<text x="112" y="276">and</text>
<text x="164" y="276">security</text>
<text x="236" y="276">purposes</text>
<text x="96" y="292">agent-name.example.com.</text>
<text x="212" y="292">3600</text>
<text x="244" y="292">IN</text>
<text x="276" y="292">SVCB</text>
<text x="304" y="292">1</text>
<text x="424" y="292">_a2a.agent-name.example.com</text>
<text x="544" y="292">(</text>
<text x="64" y="308">alpn=h2</text>
<text x="72" y="324">proto=a2a</text>
<text x="8" y="340">)</text>
</g>
</svg>
</artwork><artwork  type="ascii-art"><![CDATA[
# TargetName can be different to support to support service providers
# or different endpoints
agent-name.example.com. 3600 IN SVCB 1 resource1.service-provider1.example (
    alpn=h3,h2
    proto=mcp
    path=/mcp
)
agent-name.example.com. 3600 IN SVCB 1 resource2.service-provider2.example (
    alpn=h2
    proto=a2a
)

# It would be possible to use DNS-SD labels, although this is redundant
# as the protocol is in the proto, but organizations might use this for
# compatibility with existing service-discovery tooling, or for
# filtering and security purposes
agent-name.example.com. 3600 IN SVCB 1 _a2a.agent-name.example.com (
    alpn=h2
    proto=a2a
)

]]></artwork></artset></figure>

</section>
</section>
<section anchor="use-case-known-organization"><name>Known Organization</name>

<t>This section covers the use case where a requestor knows the organizational domain, but not which agent provides a required capability. This is likely to be an agent searching for a capability from an organizational database such as <xref target="ARD-SPECIFICATION"/>, <xref target="I-D.draft-jimenez-agent-directory"/> or other agent directory.</t>

<t>An SVCB record type query for <spanx style="verb">_index._agents.example.com</spanx> returns a pointer to an organization-specific registry of all agents, which is out of the scope of this draft. The requestor uses the data returned to select an agent and cache the selection so that the process in <xref target="use-case-known-agent"/> can be used for subsequent interaction. The data provided at <spanx style="verb">_index._agents.{domain}</spanx>, protocols and schemas are out of scope for DNS-AID.</t>

<t>The TargetName <bcp14>MUST</bcp14> be used and <bcp14>MUST</bcp14> not contain underscores as used in DNS-SD labels, as public x.509 certificates will be used in communications with the index. Following the <spanx style="verb">_index._agents.example.com</spanx> SVCB record query, agents will use the TargetName for any TLSA record query.</t>

<t>The labels <spanx style="verb">_index._agents</spanx> have been chosen as DNS-SD labels with the intent of registering them with IANA, as it is not possible to register a generic name such as <spanx style="verb">agent-index</spanx>.</t>

<t>An index record <bcp14>SHOULD</bcp14> carry the parameters a client needs to reach and cache the index such as <spanx style="verb">alpn</spanx> and <spanx style="verb">ipv4hint</spanx> for connectivity information. Then parameters as applicable to the catalog, agent registry or database implementation such as <spanx style="verb">well-known</spanx> or <spanx style="verb">path</spanx> for the HTTP endpoint, <spanx style="verb">desc-ref</spanx> for the descriptor of the service, and <spanx style="verb">proto</spanx> where the index is itself served over an agent protocol.</t>

<t>Examples of these records are shown below in <xref target="svcb-ex-2"/>:</t>

<figure title="Organizational Index Record Examples" anchor="svcb-ex-2"><artset><artwork  type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="272" width="608" viewBox="0 0 608 272" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
<g class="text">
<text x="8" y="36">#</text>
<text x="76" y="36">Organizational</text>
<text x="160" y="36">agent</text>
<text x="208" y="36">index</text>
<text x="244" y="36">at</text>
<text x="264" y="36">a</text>
<text x="316" y="36">well-known</text>
<text x="380" y="36">name</text>
<text x="440" y="36">providing</text>
<text x="532" y="36">connectivity</text>
<text x="596" y="36">to</text>
<text x="8" y="52">#</text>
<text x="28" y="52">an</text>
<text x="64" y="52">agent</text>
<text x="120" y="52">catalog</text>
<text x="112" y="68">_index._agents.example.com.</text>
<text x="244" y="68">3600</text>
<text x="276" y="68">IN</text>
<text x="308" y="68">SVCB</text>
<text x="336" y="68">1</text>
<text x="424" y="68">catalog.example.com</text>
<text x="512" y="68">(</text>
<text x="64" y="84">alpn=h2</text>
<text x="48" y="100">...</text>
<text x="112" y="116">well-known=ard.json</text>
<text x="8" y="132">)</text>
<text x="8" y="164">#</text>
<text x="76" y="164">Organizational</text>
<text x="160" y="164">agent</text>
<text x="208" y="164">index</text>
<text x="244" y="164">at</text>
<text x="264" y="164">a</text>
<text x="316" y="164">well-known</text>
<text x="380" y="164">name</text>
<text x="424" y="164">using</text>
<text x="456" y="164">a</text>
<text x="492" y="164">hosted</text>
<text x="552" y="164">service</text>
<text x="112" y="180">_index._agents.example.com.</text>
<text x="244" y="180">3600</text>
<text x="276" y="180">IN</text>
<text x="308" y="180">SVCB</text>
<text x="336" y="180">1</text>
<text x="448" y="180">resource.provider.example</text>
<text x="560" y="180">(</text>
<text x="64" y="196">alpn=h2</text>
<text x="48" y="212">...</text>
<text x="148" y="228">well-known=agents-index.json</text>
<text x="8" y="244">)</text>
</g>
</svg>
</artwork><artwork  type="ascii-art"><![CDATA[
# Organizational agent index at a well-known name providing connectivity to
# an agent catalog
_index._agents.example.com. 3600 IN SVCB 1 catalog.example.com (
    alpn=h2
    ...
    well-known=ard.json
)

# Organizational agent index at a well-known name using a hosted service
_index._agents.example.com. 3600 IN SVCB 1 resource.provider.example (
    alpn=h2
    ...
    well-known=agents-index.json
)

]]></artwork></artset></figure>

<figure title="Discovery Status 2: Index-Based Discovery with Service Selection" anchor="discovery-ex2"><artset><artwork  type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="1248" width="576" viewBox="0 0 576 1248" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
<path d="M 24,144 L 24,1232" fill="none" stroke="black"/>
<path d="M 224,144 L 224,776" fill="none" stroke="black"/>
<path d="M 224,792 L 224,1208" fill="none" stroke="black"/>
<path d="M 416,144 L 416,776" fill="none" stroke="black"/>
<path d="M 416,792 L 416,1208" fill="none" stroke="black"/>
<path d="M 544,144 L 544,1232" fill="none" stroke="black"/>
<path d="M 32,192 L 216,192" fill="none" stroke="black"/>
<path d="M 232,256 L 408,256" fill="none" stroke="black"/>
<path d="M 32,432 L 216,432" fill="none" stroke="black"/>
<path d="M 32,496 L 216,496" fill="none" stroke="black"/>
<path d="M 232,560 L 408,560" fill="none" stroke="black"/>
<path d="M 32,624 L 216,624" fill="none" stroke="black"/>
<path d="M 32,784 L 536,784" fill="none" stroke="black"/>
<path d="M 32,960 L 216,960" fill="none" stroke="black"/>
<path d="M 232,1024 L 408,1024" fill="none" stroke="black"/>
<path d="M 32,1088 L 216,1088" fill="none" stroke="black"/>
<path d="M 32,1216 L 536,1216" fill="none" stroke="black"/>
<polygon class="arrowhead" points="544,1216 532,1210.4 532,1221.6" fill="black" transform="rotate(0,536,1216)"/>
<polygon class="arrowhead" points="544,784 532,778.4 532,789.6" fill="black" transform="rotate(0,536,784)"/>
<polygon class="arrowhead" points="416,1024 404,1018.4 404,1029.6" fill="black" transform="rotate(0,408,1024)"/>
<polygon class="arrowhead" points="416,560 404,554.4 404,565.6" fill="black" transform="rotate(0,408,560)"/>
<polygon class="arrowhead" points="416,256 404,250.4 404,261.6" fill="black" transform="rotate(0,408,256)"/>
<polygon class="arrowhead" points="240,1024 228,1018.4 228,1029.6" fill="black" transform="rotate(180,232,1024)"/>
<polygon class="arrowhead" points="240,560 228,554.4 228,565.6" fill="black" transform="rotate(180,232,560)"/>
<polygon class="arrowhead" points="240,256 228,250.4 228,261.6" fill="black" transform="rotate(180,232,256)"/>
<polygon class="arrowhead" points="224,960 212,954.4 212,965.6" fill="black" transform="rotate(0,216,960)"/>
<polygon class="arrowhead" points="224,496 212,490.4 212,501.6" fill="black" transform="rotate(0,216,496)"/>
<polygon class="arrowhead" points="224,192 212,186.4 212,197.6" fill="black" transform="rotate(0,216,192)"/>
<polygon class="arrowhead" points="40,1088 28,1082.4 28,1093.6" fill="black" transform="rotate(180,32,1088)"/>
<polygon class="arrowhead" points="40,624 28,618.4 28,629.6" fill="black" transform="rotate(180,32,624)"/>
<polygon class="arrowhead" points="40,432 28,426.4 28,437.6" fill="black" transform="rotate(180,32,432)"/>
<g class="text">
<text x="12" y="36">AI</text>
<text x="48" y="36">Agent</text>
<text x="104" y="36">Client:</text>
<text x="24" y="52">-</text>
<text x="60" y="52">trusts</text>
<text x="104" y="52">the</text>
<text x="168" y="52">example.com</text>
<text x="268" y="52">organization</text>
<text x="24" y="68">-</text>
<text x="56" y="68">wants</text>
<text x="92" y="68">to</text>
<text x="140" y="68">discover</text>
<text x="216" y="68">available</text>
<text x="284" y="68">agents</text>
<text x="328" y="68">and</text>
<text x="380" y="68">services</text>
<text x="432" y="68">for</text>
<text x="456" y="68">a</text>
<text x="508" y="68">capability</text>
<text x="24" y="84">-</text>
<text x="64" y="84">queries</text>
<text x="204" y="84">_index._agents.example.com</text>
<text x="360" y="84">(well-known</text>
<text x="432" y="84">entry</text>
<text x="484" y="84">point)</text>
<text x="24" y="116">Agent</text>
<text x="220" y="116">Resolver</text>
<text x="416" y="116">Authoritative</text>
<text x="528" y="116">Agent</text>
<text x="564" y="116">or</text>
<text x="224" y="132">Cache</text>
<text x="416" y="132">DNS</text>
<text x="544" y="132">Gateway</text>
<text x="44" y="164">1.</text>
<text x="76" y="164">SVCB</text>
<text x="120" y="164">Query</text>
<text x="92" y="180">_index._agents</text>
<text x="244" y="228">2.</text>
<text x="296" y="228">Iterative</text>
<text x="368" y="228">Queries</text>
<text x="268" y="244">retrieve</text>
<text x="324" y="244">SVCB</text>
<text x="368" y="244">RRset</text>
<text x="44" y="292">3.</text>
<text x="92" y="292">Response</text>
<text x="140" y="292">to</text>
<text x="176" y="292">agent</text>
<text x="108" y="308">(cached+validated)</text>
<text x="68" y="324">Response</text>
<text x="144" y="324">includes:</text>
<text x="40" y="340">-</text>
<text x="92" y="340">TargetName</text>
<text x="40" y="356">-</text>
<text x="68" y="356">ALPN</text>
<text x="124" y="356">protocol</text>
<text x="40" y="372">-</text>
<text x="68" y="372">Port</text>
<text x="116" y="372">number</text>
<text x="40" y="388">-</text>
<text x="88" y="388">IPv4/IPv6</text>
<text x="152" y="388">hints</text>
<text x="40" y="404">-</text>
<text x="76" y="404">DNSSEC</text>
<text x="148" y="404">signatures</text>
<text x="40" y="420">-</text>
<text x="92" y="420">Descriptor</text>
<text x="176" y="420">reference</text>
<text x="44" y="468">4.</text>
<text x="76" y="468">TLSA</text>
<text x="120" y="468">Query</text>
<text x="160" y="468">for</text>
<text x="80" y="484">TargetName.</text>
<text x="244" y="532">5.</text>
<text x="296" y="532">Iterative</text>
<text x="368" y="532">Queries</text>
<text x="268" y="548">retrieve</text>
<text x="324" y="548">TLSA</text>
<text x="368" y="548">RRset</text>
<text x="44" y="596">6.</text>
<text x="76" y="596">TLSA</text>
<text x="132" y="596">Response</text>
<text x="108" y="612">(validated+cached)</text>
<text x="44" y="660">7.</text>
<text x="80" y="660">Agent</text>
<text x="144" y="660">validates</text>
<text x="80" y="676">certificate</text>
<text x="44" y="708">8.</text>
<text x="116" y="708">Agent-to-agent</text>
<text x="88" y="724">communication</text>
<text x="56" y="740">Agent</text>
<text x="120" y="740">retrieves</text>
<text x="56" y="756">index</text>
<text x="96" y="756">via</text>
<text x="132" y="756">e.g.</text>
<text x="168" y="756">via</text>
<text x="60" y="772">https,</text>
<text x="108" y="772">a2a,</text>
<text x="148" y="772">etc.</text>
<text x="44" y="820">9.</text>
<text x="80" y="820">Agent</text>
<text x="128" y="820">makes</text>
<text x="68" y="836">semantic</text>
<text x="132" y="836">search</text>
<text x="72" y="852">selection</text>
<text x="136" y="852">based</text>
<text x="172" y="852">on</text>
<text x="56" y="868">index</text>
<text x="104" y="868">data,</text>
<text x="160" y="868">caching</text>
<text x="56" y="884">agent</text>
<text x="112" y="884">details</text>
<text x="164" y="884">e.g.</text>
<text x="56" y="900">name,</text>
<text x="128" y="900">descriptor,</text>
<text x="196" y="900">etc.</text>
<text x="48" y="932">10.</text>
<text x="88" y="932">Query</text>
<text x="128" y="932">for</text>
<text x="172" y="932">target</text>
<text x="56" y="948">agent</text>
<text x="100" y="948">SVCB</text>
<text x="144" y="948">RRset</text>
<text x="248" y="996">10.</text>
<text x="304" y="996">Iterative</text>
<text x="376" y="996">queries</text>
<text x="268" y="1012">retrieve</text>
<text x="324" y="1012">SVCB</text>
<text x="368" y="1012">RRset</text>
<text x="48" y="1060">11.</text>
<text x="100" y="1060">Response</text>
<text x="148" y="1060">to</text>
<text x="184" y="1060">agent</text>
<text x="44" y="1076">as</text>
<text x="68" y="1076">in</text>
<text x="100" y="1076">step</text>
<text x="132" y="1076">3.</text>
<text x="48" y="1124">12.</text>
<text x="88" y="1124">Cert.</text>
<text x="156" y="1124">validation</text>
<text x="44" y="1140">as</text>
<text x="68" y="1140">in</text>
<text x="104" y="1140">steps</text>
<text x="140" y="1140">3.</text>
<text x="164" y="1140">to</text>
<text x="188" y="1140">7.</text>
<text x="48" y="1172">13.</text>
<text x="88" y="1172">Agent</text>
<text x="168" y="1172">communication</text>
<text x="60" y="1188">begins</text>
<text x="112" y="1188">using</text>
<text x="168" y="1188">service</text>
<text x="64" y="1204">binding</text>
<text x="140" y="1204">parameters</text>
<text x="224" y="1236">|</text>
<text x="416" y="1236">|</text>
</g>
</svg>
</artwork><artwork  type="ascii-art"><![CDATA[
AI Agent Client:
  - trusts the example.com organization
  - wants to discover available agents and services for a capability
  - queries _index._agents.example.com (well-known entry point)

Agent                  Resolver              Authoritative     Agent or
                         Cache                    DNS           Gateway
  |                        |                       |               |
  | 1. SVCB Query          |                       |               |
  | _index._agents         |                       |               |
  |----------------------->|                       |               |
  |                        |                       |               |
  |                        | 2. Iterative Queries  |               |
  |                        | retrieve SVCB RRset   |               |
  |                        |<--------------------->|               |
  |                        |                       |               |
  | 3. Response to agent   |                       |               |
  | (cached+validated)     |                       |               |
  | Response includes:     |                       |               |
  | - TargetName           |                       |               |
  | - ALPN protocol        |                       |               |
  | - Port number          |                       |               |
  | - IPv4/IPv6 hints      |                       |               |
  | - DNSSEC signatures    |                       |               |
  | - Descriptor reference |                       |               |
  |<-----------------------|                       |               |
  |                        |                       |               |
  | 4. TLSA Query for      |                       |               |
  | TargetName.            |                       |               |
  |----------------------->|                       |               |
  |                        |                       |               |
  |                        | 5. Iterative Queries  |               |
  |                        | retrieve TLSA RRset   |               |
  |                        |<--------------------->|               |
  |                        |                       |               |
  | 6. TLSA Response       |                       |               |
  | (validated+cached)     |                       |               |
  |<-----------------------|                       |               |
  |                        |                       |               |
  | 7. Agent validates     |                       |               |
  | certificate            |                       |               |
  |                        |                       |               |
  | 8. Agent-to-agent      |                       |               |
  | communication          |                       |               |
  | Agent retrieves        |                       |               |
  | index via e.g. via     |                       |               |
  | https, a2a, etc.       |                       |               |
  |--------------------------------------------------------------->|
  |                        |                       |               |
  | 9. Agent makes         |                       |               |
  | semantic search        |                       |               |
  | selection based on     |                       |               |
  | index data, caching    |                       |               |
  | agent details e.g.     |                       |               |
  | name, descriptor, etc. |                       |               |
  |                        |                       |               |
  | 10. Query for target   |                       |               |
  | agent SVCB RRset       |                       |               |
  |----------------------->|                       |               |
  |                        |                       |               |
  |                        | 10. Iterative queries |               |
  |                        | retrieve SVCB RRset   |               |
  |                        |<--------------------->|               |
  |                        |                       |               |
  | 11. Response to agent  |                       |               |
  | as in step 3.          |                       |               |
  |<-----------------------|                       |               |
  |                        |                       |               |
  | 12. Cert. validation   |                       |               |
  | as in steps 3. to 7.   |                       |               |
  |                        |                       |               |
  | 13. Agent communication|                       |               |
  | begins using service   |                       |               |
  | binding parameters     |                       |               |
  |--------------------------------------------------------------->|
  |                        |                       |               |
]]></artwork></artset></figure>

</section>
<section anchor="use-case-known-capability"><name>Known Capability</name>

<t>This section covers the use case where the requestor knows the required capability, but not the organization or agent.</t>

<t>This is a <em>search</em> based process and is out of the scope for DNS-AID. Directory services that aggregate records across organizations could be derived from <xref target="use-case-known-organization"/> by querying <spanx style="verb">_index._agents.{domain}</spanx> and using that data for a search service.</t>

</section>
</section>
<section anchor="TXT-fallback"><name>Use of TXT Records as a Fallback From SVCB Records</name>

<t>SVCB is the primary record type for DNS-AID, as it is designed for service discovery <xref target="RFC9460"/>. TXT records are the fallback where a DNS management portal, service, or server cannot publish SVCB records or serve the SvcParamKeys defined here; DNS server software supports TXT almost universally. Until IANA assigns code points, private-use SvcParamKey numbers may also differ between implementations, so TXT at the same owner name is the interoperability fallback for the parameters themselves.</t>

<t>A TXT fallback record sits at the same owner name as the SVCB record it stands in for and uses the same key names, as <spanx style="verb">key=value</spanx> strings, so a client needs one vocabulary for both, for example <spanx style="verb">"proto=a2a"</spanx>, <spanx style="verb">"well-known=agent-card.json"</spanx>. A TXT record has no TargetName or SvcPriority, so it cannot point at an endpoint in a different domain, such as a service provider, nor order alternatives; where those are needed, SVCB is required.</t>

<t>One option that can be considered as this draft is developed is to used an SVCB record in conjunction with a TXT record, with the same owner, to provide support for the additional parameters that will be registered with IANA, until these are incorporated into DNS server implementations. This would have the advantage of bringing SVCB into use as the standard for AI agents and organizational catalogs, so there is no upgrade or migration from TXT records needed, rather there would be a gradual reduction in TXT records for additional parameters and then deprecation.</t>

</section>
<section anchor="FutureWork"><name>Future Work and Experimental Mechanisms</name>

<t>This section collects mechanisms that have been prototyped against the DNS-AID record set but that are not yet ready for normative specification in this document. Implementations <bcp14>MAY</bcp14> experiment with them; future revisions or separate documents are expected to standardize the ones that prove out. The headings below replace the briefer "Future Work &amp; Unaddressed Portions" section in earlier revisions and consolidate the open questions raised there.</t>

<section anchor="experimental-use-of-proto"><name>Agent Protocol and Version</name>

<t>The <spanx style="verb">proto</spanx> parameter signals the agent-layer protocol for this SVCB record (e.g. <spanx style="verb">proto=a2a</spanx>, <spanx style="verb">proto=mcp</spanx>). The companion <spanx style="verb">proto-ver</spanx> parameter carries the version of that protocol in the protocol's own syntax (e.g. <spanx style="verb">proto-ver=1.0</spanx> with <spanx style="verb">proto=a2a</spanx>, <spanx style="verb">proto-ver=2025-11-25</spanx> with <spanx style="verb">proto=mcp</spanx>). <spanx style="verb">proto-ver</spanx> is a selection hint only; the protocol's own negotiation settles compatibility. Whether version signalling in DNS provides useful signal or adds only RDATA bloat remains under evaluation pending interoperability testing.</t>

</section>
<section anchor="DCV"><name>Domain Control Validation</name>

<t>DNS-AID anticipates that agents and directories will sometimes need to prove that the publisher of an agent record controls the DNS zone in which it is published. The procedure in <xref target="I-D.draft-ietf-dnsop-domain-verification-techniques"/> is one candidate mechanism: the challenger issues a short-lived token that the claimant publishes at <spanx style="verb">_agents-challenge.{domain}</spanx> as TXT, and the challenger reads it back over a DNSSEC-validated path. A binding parameter such as <spanx style="verb">bnd-req=svc:&lt;agent&gt;@&lt;issuer&gt;</spanx> can scope a token to a specific agent leaf and issuer to prevent cross-challenger reuse.</t>

<t>A representative TXT record body and ABNF:</t>

<figure><sourcecode type="abnf"><![CDATA[
challenge   = token-attr 1*(SP attr)
token-attr  = "token=" 1*VCHAR
attr        = domain-attr / bnd-attr / expiry-attr
domain-attr = "domain=" 1*VCHAR
bnd-attr    = "bnd-req=svc:" 1*VCHAR "@" 1*VCHAR
expiry-attr = "expiry=" date-time   ; RFC 3339
]]></sourcecode></figure>

<figure><artwork><![CDATA[
_agents-challenge.acme.example. 60 IN TXT (
    "token=gjdqocfk4vhiq2bn" "domain=acme.example"
    "bnd-req=svc:api@acme.example" "expiry=2026-05-13T23:00:00Z" )
]]></artwork></figure>

<t>Open questions that should be answered before this is made normative: how a verifier scopes the number of records consulted for one verification, how <spanx style="verb">expiry</spanx> semantics interact with DNSSEC validity windows, and whether DCV results should be cached past their <spanx style="verb">expiry</spanx>. Consideration will also need to be given to the risk of this being used as an attack vector.</t>

</section>
<section anchor="svcb-indicating-tlsa-support"><name>SVCB Indicating TLSA Support</name>

<t>An SvcParamKey in the agent SVCB record could be used to indicate TLSA support for the agent. As the SVCB query is the first one queried this might improve efficiency. Although the discovering agent may simply send both an SVCB and TLSA query simultaneously and infer support from the query responses, indicating the presence of a TLSA record would be more deterministic.</t>

</section>
<section anchor="edns0-discovery-hints"><name>EDNS(0) Discovery Hints</name>

<t>A separate experimental mechanism allows a requestor to attach selector and metering hints to a DNS-AID query as an EDNS(0) option <xref target="RFC6891"/>. Substrate selectors (realm, transport, jurisdiction, minimum trust level) can influence the returned RRset and participate in cache keys; metering hints (intent class, freshness budget, parallelism) are advisory and do not fragment caches. A reference implementation and wire format are tracked in <spanx style="verb">dns-aid-core</spanx> (see <spanx style="verb">docs/experimental/edns-signaling.md</spanx> and the accompanying ABNF). No IANA option-code reservation is requested in this revision; the option uses the private-use code range.</t>

</section>
<section anchor="consolidated-registry-and-cross-domain-search"><name>Consolidated Registry and Cross-Domain Search</name>

<t>DNSAID-01 left open how a consolidated registry would operate -- whether it would scrape DNS-AID records published by individual organizations, or require attestation and verification from each publisher. The same question covers cross-domain <em>search</em>, i.e. locating agents whose origin domain the requestor does not know. This document treats both as upper-layer work; see <xref target="I-D.draft-narajala-courtney-ansv2"/> for one complementary proposal.</t>

</section>
<section anchor="operator-and-service-metadata-svcparamkeys"><name>Operator and Service Metadata SvcParamKeys</name>

<t>Additional <spanx style="verb">policy</spanx> and <spanx style="verb">realm</spanx> SvcParamKeys are reserved for operator-controlled and service-controlled metadata that does not affect basic discovery: multi-tenant scoping, jurisdictional and compliance hints, and commercial signaling such as cost-per-unit-of-input, unit-of-input definitions, billing tiers, or rate-limit hints. The exact syntax of these payloads, the registry policy for any sub-keys that emerge, and the interaction between these parameters and the trust profile described in the Security Considerations section are open questions. Implementations are encouraged to experiment with concrete payloads in the private-use space and to report back so that a future revision can specify a common subset.</t>

</section>
<section anchor="connection-extensions-as-svcparamkeys"><name>Connection Extensions as SvcParamKeys</name>

<t>Using <spanx style="verb">connect-class</spanx> and <spanx style="verb">connect-meta</spanx> provides a mechanism to signal which transport models to use, and with which pieces of metadata. Class may indicate fields like <em>direct</em> <xref target="RFC9460"/> for hostname+port semantics and <em>lattice</em> for integration with a vendor tools and services. Test implementations can use the Private Use parameter range and be moved to registered SvcParamKeys if they have wide spread applicability.</t>

</section>
<section anchor="zero-trust-extension-svcparamkeys"><name>Zero Trust Extension SvcParamKeys</name>

<t>Adding a capability like <spanx style="verb">enroll-uri</spanx> may be relevant for mediated zero-trust overlay connections where a caller/service must first complete enrollment/authentication prior to invocation of any skills. This can be added via an SvcParamKey.</t>

</section>
<section anchor="json-encoded-organization-index"><name>JSON-Encoded Organization Index</name>

<t>The TXT record-based form of <spanx style="verb">_index._agents.{domain}</spanx> may be suitable for small organizations and could be machine-parseable. A JSON-bodied variant, among others, has been discussed for larger inventories where TXT record chunking and multi-record assembly becomes complex and more subject to error. The encoding, signing, and validity-window rules for such a variant are open questions deferred to a future revision. It is anticipated that other standards will address organizational agent registries and the protocols to access them..</t>

</section>
</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<t>This section discusses the security properties of DNS-AID itself; the security of the agent protocols in agent-to-agent communication is out of scope. The threat models in <xref target="RFC4033"/> (DNSSEC), <xref target="RFC9460"/>, Section 10 (SVCB), and <xref target="RFC6698"/> (DANE) apply unchanged.</t>

<section anchor="authenticity-integrity-and-trust"><name>Authenticity, Integrity, and Trust</name>

<t>DNS-AID inherits authenticity from DNSSEC: a consumer that follows a validated chain of trust to a signed SVCB and TLSA record set has cryptographic evidence that those records were placed by an entity controlling the zone in which they were signed. DNS-AID does not, and cannot, assert that the agent reached through those records behaves benevolently. Authentic records may point at a malicious or compromised agent, and the descriptor referenced by the <spanx style="verb">well-known</spanx> or <spanx style="verb">desc-ref</spanx> parameters may itself contain instructions hostile to a consumer that interprets it (e.g. prompt-injection attacks against language-model agents). Consumers <bcp14>MUST</bcp14> treat the records published in DNS-AID as a verifiable transport for metadata, not as a trust signal in their own right; trust judgments <bcp14>MUST</bcp14> be made out of band by combining DNS-AID records with reputation, attestation, or organizational policy systems.</t>

</section>
<section anchor="tls-endpoint-authentication"><name>TLS Endpoint Authentication</name>

<t>DNS-AID consumers <bcp14>SHOULD</bcp14> authenticate the TLS endpoint advertised by an SVCB record using DANE TLSA records <xref target="RFC6698"/> <xref target="RFC7671"/> at the conventional <spanx style="verb">_443._tcp.&lt;owner&gt;</spanx> name. Three operational postures are common:</t>

<dl>
  <dt>permissive (default for general-internet consumers)</dt>
  <dd>
    <t>TLSA is queried; if a matching record is present and matches the presented certificate, the connection is pinned to it. If no TLSA record is present, the consumer falls back to WebPKI validation.</t>
  </dd>
  <dt>preferred</dt>
  <dd>
    <t>As permissive, but the absence of a TLSA record is noted in the consumer's audit log.</t>
  </dd>
  <dt>strict</dt>
  <dd>
    <t>A connection is refused unless a TLSA record is present and matches.</t>
  </dd>
</dl>

<t>This document does not mandate any one posture. Strict-by-default is not appropriate for the general Internet today given current DANE adoption; permissive-with-fallback matches the implementation experience of <xref target="DNS-AID-CORE"/>.</t>

</section>
<section anchor="downgrade-resistance"><name>Downgrade Resistance</name>

<t>A publisher that requires a consumer to honor a particular SvcParamKey <bcp14>SHOULD</bcp14> list that key in the SVCB <spanx style="verb">mandatory=</spanx> parameter per <xref target="RFC9460"/>, Section 8. A consumer that does not implement a key listed in <spanx style="verb">mandatory=</spanx> <bcp14>MUST</bcp14> skip the record. This prevents an attacker on the path from substituting an older subset of parameters without breaking discovery for old consumers. Until IANA assigns code points for the keys in this document, implementations may use different private-use numbers for the same key, so listing those keys in <spanx style="verb">mandatory=</spanx> (for example <spanx style="verb">mandatory=proto</spanx>) will not work reliably across implementations; TXT at the same owner name (<xref target="TXT-fallback"/>) is the interoperability fallback in the meantime.</t>

</section>
<section anchor="dnssec-dependency-and-operational-pitfalls"><name>DNSSEC Dependency and Operational Pitfalls</name>

<t>DNS-AID is deployable without DNSSEC, but the authenticity guarantees it offers depend on a validated path from the root to the zone of interest. Consumers <bcp14>SHOULD</bcp14> validate DNSSEC and <bcp14>SHOULD</bcp14> refuse to act on bogus or unverifiable records. Zone operators <bcp14>SHOULD</bcp14> follow the operational guidance in <xref target="RFC6781"/> and <bcp14>SHOULD</bcp14> avoid signing algorithms or key sizes that resolvers in the target ecosystem are likely to ignore.</t>

<t>The <spanx style="verb">mandatory=</spanx> mechanism and DNSSEC validation interact: an unsigned record substituted in transit may cause a consumer to fall back to a less safe code path. Consumers <bcp14>MUST NOT</bcp14> relax DNSSEC validation requirements based on the apparent absence of <spanx style="verb">mandatory=</spanx> keys.</t>

</section>
<section anchor="threat-model-cross-references"><name>Threat-Model Cross-References</name>

<t>The threat catalogs maintained by the OWASP Multi-Agentic System Threat Modeling work <xref target="OWASP-MAESTRO"/> cover many agent-layer concerns that DNS-AID does not address directly. The substrate-level threats that DNS-AID does address (transport-identity spoofing, capability poisoning, downgrade) map roughly onto MAESTRO threats T47 / T7.1 / T9 (rogue server, agent impersonation), BV-2 (tool-description poisoning), and T7.6 (transport fallback downgrade). DNS-AID does not address workload-level MAESTRO threats; consumers <bcp14>SHOULD</bcp14> treat DNS-AID as one layer in defense in depth.</t>

</section>
<section anchor="privacy-considerations"><name>Privacy Considerations</name>

<t>The names queried during DNS-AID discovery are visible to recursive resolvers and to any on-path observer of unencrypted DNS traffic. Consumers <bcp14>SHOULD</bcp14> use DNS over TLS <xref target="RFC7858"/> or DNS over HTTPS <xref target="RFC8484"/> where available. EDNS Client Subnet <xref target="RFC7871"/> <bcp14>SHOULD NOT</bcp14> be sent on DNS-AID queries that would disclose user-identifying agent names; operators <bcp14>SHOULD</bcp14> set ECS scope to zero where DNS-AID is the only consumer of a zone.</t>

</section>
</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<section anchor="dns-service-parameter-keys"><name>DNS Service Parameter Keys</name>

<t>SVCB record parameters detailed in this document will be registered via <xref target="I-D.draft-blwm-dawn-common-discovery-parameters"/> and <xref target="I-D.draft-mk-dnsop-svcb-well-known"/></t>

</section>
<section anchor="underscored-dns-node-names"><name>Underscored DNS Node Names</name>

<t>IANA is requested to register the following entries in the "Underscored and Globally Scoped DNS Node Names" registry established by <xref target="RFC8552"/>, Section 4.</t>

<texttable title="Underscored and Globally Scoped DNS Node Names" anchor="underscore-node-names">
      <ttcol align='left'>RR Type</ttcol>
      <ttcol align='left'>_NODE NAME</ttcol>
      <ttcol align='left'>Reference</ttcol>
      <c>SVCB</c>
      <c><spanx style="verb">_agents</spanx></c>
      <c>this document</c>
      <c>SVCB</c>
      <c><spanx style="verb">_index</spanx></c>
      <c>this document</c>
      <c>TXT</c>
      <c><spanx style="verb">_agents-challenge</spanx></c>
      <c>this document (experimental; see <xref target="DCV"/>)</c>
</texttable>

<t>The <spanx style="verb">_agents-challenge</spanx> registration is requested but tied to an experimental mechanism (see <xref target="DCV"/>); a future revision is expected to confirm or relinquish it.</t>

</section>
</section>


  </middle>

  <back>


<references title='References' anchor="sec-combined-references">

    <references title='Normative References' anchor="sec-normative-references">



<reference anchor="RFC9460">
  <front>
    <title>Service Binding and Parameter Specification via the DNS (SVCB and HTTPS Resource Records)</title>
    <author fullname="B. Schwartz" initials="B." surname="Schwartz"/>
    <author fullname="M. Bishop" initials="M." surname="Bishop"/>
    <author fullname="E. Nygren" initials="E." surname="Nygren"/>
    <date month="November" year="2023"/>
    <abstract>
      <t>This document specifies the "SVCB" ("Service Binding") and "HTTPS" DNS resource record (RR) types to facilitate the lookup of information needed to make connections to network services, such as for HTTP origins. SVCB records allow a service to be provided from multiple alternative endpoints, each with associated parameters (such as transport protocol configuration), and are extensible to support future uses (such as keys for encrypting the TLS ClientHello). They also enable aliasing of apex domains, which is not possible with CNAME. The HTTPS RR is a variation of SVCB for use with HTTP (see RFC 9110, "HTTP Semantics"). By providing more information to the client before it attempts to establish a connection, these records offer potential benefits to both performance and privacy.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9460"/>
  <seriesInfo name="DOI" value="10.17487/RFC9460"/>
</reference>
<reference anchor="RFC6698">
  <front>
    <title>The DNS-Based Authentication of Named Entities (DANE) Transport Layer Security (TLS) Protocol: TLSA</title>
    <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
    <author fullname="J. Schlyter" initials="J." surname="Schlyter"/>
    <date month="August" year="2012"/>
    <abstract>
      <t>Encrypted communication on the Internet often uses Transport Layer Security (TLS), which depends on third parties to certify the keys used. This document improves on that situation by enabling the administrators of domain names to specify the keys used in that domain's TLS servers. This requires matching improvements in TLS client software, but no change in TLS server software. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="6698"/>
  <seriesInfo name="DOI" value="10.17487/RFC6698"/>
</reference>
<reference anchor="RFC9364">
  <front>
    <title>DNS Security Extensions (DNSSEC)</title>
    <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
    <date month="February" year="2023"/>
    <abstract>
      <t>This document describes the DNS Security Extensions (commonly called "DNSSEC") that are specified in RFCs 4033, 4034, and 4035, as well as a handful of others. One purpose is to introduce all of the RFCs in one place so that the reader can understand the many aspects of DNSSEC. This document does not update any of those RFCs. A second purpose is to state that using DNSSEC for origin authentication of DNS data is the best current practice. A third purpose is to provide a single reference for other documents that want to refer to DNSSEC.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="237"/>
  <seriesInfo name="RFC" value="9364"/>
  <seriesInfo name="DOI" value="10.17487/RFC9364"/>
</reference>
<reference anchor="RFC2119">
  <front>
    <title>Key words for use in RFCs to Indicate Requirement Levels</title>
    <author fullname="S. Bradner" initials="S." surname="Bradner"/>
    <date month="March" year="1997"/>
    <abstract>
      <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="2119"/>
  <seriesInfo name="DOI" value="10.17487/RFC2119"/>
</reference>
<reference anchor="RFC8174">
  <front>
    <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
    <author fullname="B. Leiba" initials="B." surname="Leiba"/>
    <date month="May" year="2017"/>
    <abstract>
      <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="8174"/>
  <seriesInfo name="DOI" value="10.17487/RFC8174"/>
</reference>

<reference anchor="I-D.blwm-dawn-common-discovery-parameters">
   <front>
      <title>Common Agent DNS Discovery Parameters</title>
      <author fullname="Frank Brockners" initials="F." surname="Brockners">
         <organization>Cisco</organization>
      </author>
      <author fullname="Loránd Jakab" initials="L." surname="Jakab">
         <organization>Cisco</organization>
      </author>
      <author fullname="Nic Williams" initials="N." surname="Williams">
         <organization>Infoblox, Inc.</organization>
      </author>
      <author fullname="Jim Mozley" initials="J." surname="Mozley">
         <organization>Infoblox</organization>
      </author>
      <date day="27" month="October" year="2026"/>
      <abstract>
	 <t>   This document defines parameters for AI agents that would be used in
   DNS and mDNS discovery processes.  It provides a set of common
   parameters for different DNS records to facilitate agents
   communicating over application layer protocols such as A2A or MCP.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-blwm-dawn-common-discovery-parameters-00"/>
   
</reference>
<reference anchor="RFC4033">
  <front>
    <title>DNS Security Introduction and Requirements</title>
    <author fullname="R. Arends" initials="R." surname="Arends"/>
    <author fullname="R. Austein" initials="R." surname="Austein"/>
    <author fullname="M. Larson" initials="M." surname="Larson"/>
    <author fullname="D. Massey" initials="D." surname="Massey"/>
    <author fullname="S. Rose" initials="S." surname="Rose"/>
    <date month="March" year="2005"/>
    <abstract>
      <t>The Domain Name System Security Extensions (DNSSEC) add data origin authentication and data integrity to the Domain Name System. This document introduces these extensions and describes their capabilities and limitations. This document also discusses the services that the DNS security extensions do and do not provide. Last, this document describes the interrelationships between the documents that collectively describe DNSSEC. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="4033"/>
  <seriesInfo name="DOI" value="10.17487/RFC4033"/>
</reference>
<reference anchor="RFC7671">
  <front>
    <title>The DNS-Based Authentication of Named Entities (DANE) Protocol: Updates and Operational Guidance</title>
    <author fullname="V. Dukhovni" initials="V." surname="Dukhovni"/>
    <author fullname="W. Hardaker" initials="W." surname="Hardaker"/>
    <date month="October" year="2015"/>
    <abstract>
      <t>This document clarifies and updates the DNS-Based Authentication of Named Entities (DANE) TLSA specification (RFC 6698), based on subsequent implementation experience. It also contains guidance for implementers, operators, and protocol developers who want to use DANE records.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="7671"/>
  <seriesInfo name="DOI" value="10.17487/RFC7671"/>
</reference>
<reference anchor="RFC8552">
  <front>
    <title>Scoped Interpretation of DNS Resource Records through "Underscored" Naming of Attribute Leaves</title>
    <author fullname="D. Crocker" initials="D." surname="Crocker"/>
    <date month="March" year="2019"/>
    <abstract>
      <t>Formally, any DNS Resource Record (RR) may occur under any domain name. However, some services use an operational convention for defining specific interpretations of an RRset by locating the records in a DNS branch under the parent domain to which the RRset actually applies. The top of this subordinate branch is defined by a naming convention that uses a reserved node name, which begins with the underscore character (e.g., "_name"). The underscored naming construct defines a semantic scope for DNS record types that are associated with the parent domain above the underscored branch. This specification explores the nature of this DNS usage and defines the "Underscored and Globally Scoped DNS Node Names" registry with IANA. The purpose of this registry is to avoid collisions resulting from the use of the same underscored name for different services.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="222"/>
  <seriesInfo name="RFC" value="8552"/>
  <seriesInfo name="DOI" value="10.17487/RFC8552"/>
</reference>



    </references>

    <references title='Informative References' anchor="sec-informative-references">

<reference anchor="ARD-SPECIFICATION" target="https://agenticresourcediscovery.org">
  <front>
    <title>Agentic Resource Discovery Specification</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="DNS-AID-CORE" target="https://github.com/infobloxopen/dns-aid-core">
  <front>
    <title>dns-aid-core: Reference implementation of DNS-AID</title>
    <author >
      <organization>Infoblox, Inc. (contribution to Linux Foundation pending)</organization>
    </author>
    <date year="2026"/>
  </front>
</reference>
<reference anchor="OWASP-MAESTRO" target="https://genai.owasp.org/resource/multi-agentic-system-threat-modeling-guide-v1-0/">
  <front>
    <title>Multi-Agentic System Threat Modeling Guide v1.0</title>
    <author >
      <organization>OWASP GenAI Security Project</organization>
    </author>
    <date year="2025" month="April"/>
  </front>
</reference>


<reference anchor="RFC6763">
  <front>
    <title>DNS-Based Service Discovery</title>
    <author fullname="S. Cheshire" initials="S." surname="Cheshire"/>
    <author fullname="M. Krochmal" initials="M." surname="Krochmal"/>
    <date month="February" year="2013"/>
    <abstract>
      <t>This document specifies how DNS resource records are named and structured to facilitate service discovery. Given a type of service that a client is looking for, and a domain in which the client is looking for that service, this mechanism allows clients to discover a list of named instances of that desired service, using standard DNS queries. This mechanism is referred to as DNS-based Service Discovery, or DNS-SD.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="6763"/>
  <seriesInfo name="DOI" value="10.17487/RFC6763"/>
</reference>

<reference anchor="I-D.draft-jimenez-agent-directory">
   <front>
      <title>Agent Directory</title>
      <author fullname="Jaime Jimenez" initials="J." surname="Jimenez">
         <organization>Ericsson</organization>
      </author>
      <date day="8" month="May" year="2026"/>
      <abstract>
	 <t>   This document defines the Agent Directory (AD), a service where
   agents register their identity, capabilities, and reachable endpoints
   and where clients discover them by capability.  The AD adapts the
   Constrained RESTful Environments (CoRE) Resource Directory (RFC 9176)
   from constrained IoT devices to software agents, reusing its
   registration, lookup, and soft-state lifecycle model.  The AD uses
   HTTP and JSON.  MCP and A2A define how agents interact; this document
   defines how they are found.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-jimenez-agent-directory-01"/>
   
</reference>

<reference anchor="I-D.draft-ietf-dnsop-domain-verification-techniques">
   <front>
      <title>Domain Control Validation using DNS</title>
      <author fullname="Shivan Kaul Sahib" initials="S. K." surname="Sahib">
         <organization>Brave Software</organization>
      </author>
      <author fullname="Shumon Huque" initials="S." surname="Huque">
         <organization>Salesforce</organization>
      </author>
      <author fullname="Paul Wouters" initials="P." surname="Wouters">
         <organization>Aiven</organization>
      </author>
      <author fullname="Erik Nygren" initials="E." surname="Nygren">
         <organization>Akamai Technologies</organization>
      </author>
      <author fullname="Tim Wicinski" initials="T." surname="Wicinski">
         <organization>Cox Communications</organization>
      </author>
      <date day="21" month="June" year="2026"/>
      <abstract>
	 <t>   Many application services on the Internet need to verify ownership or
   control of a domain in the Domain Name System (DNS).  The general
   term for this process is &quot;Domain Control Validation&quot;, and it can be
   done using a variety of methods such as email, HTTP/HTTPS, or the DNS
   itself.  This document focuses only on DNS-based methods, which
   typically involve the Application Service Provider requesting a DNS
   record with a specific format and content to be visible in the domain
   to be verified.  There is wide variation in the details of these
   methods today.  This document provides some best practices to avoid
   known problems.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-dnsop-domain-verification-techniques-13"/>
   
</reference>
<reference anchor="RFC6891">
  <front>
    <title>Extension Mechanisms for DNS (EDNS(0))</title>
    <author fullname="J. Damas" initials="J." surname="Damas"/>
    <author fullname="M. Graff" initials="M." surname="Graff"/>
    <author fullname="P. Vixie" initials="P." surname="Vixie"/>
    <date month="April" year="2013"/>
    <abstract>
      <t>The Domain Name System's wire protocol includes a number of fixed fields whose range has been or soon will be exhausted and does not allow requestors to advertise their capabilities to responders. This document describes backward-compatible mechanisms for allowing the protocol to grow.</t>
      <t>This document updates the Extension Mechanisms for DNS (EDNS(0)) specification (and obsoletes RFC 2671) based on feedback from deployment experience in several implementations. It also obsoletes RFC 2673 ("Binary Labels in the Domain Name System") and adds considerations on the use of extended labels in the DNS.</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="75"/>
  <seriesInfo name="RFC" value="6891"/>
  <seriesInfo name="DOI" value="10.17487/RFC6891"/>
</reference>

<reference anchor="I-D.draft-narajala-courtney-ansv2">
   <front>
      <title>Agent Name Service v2 (ANS): A Domain-Anchored Identity Layer for Autonomous AI Agents</title>
      <author fullname="Scott Courtney" initials="S." surname="Courtney">
         <organization>GoDaddy</organization>
      </author>
      <author fullname="Vineeth Sai Narajala" initials="V. S." surname="Narajala">
         <organization>OWASP</organization>
      </author>
      <author fullname="Ken Huang" initials="K." surname="Huang">
         <organization>DistributedApps.ai</organization>
      </author>
      <author fullname="Idan Habler" initials="I." surname="Habler">
         <organization>OWASP</organization>
      </author>
      <author fullname="Akram Sheriff" initials="A." surname="Sheriff">
         <organization>Cisco Systems</organization>
      </author>
      <date day="26" month="October" year="2026"/>
      <abstract>
	 <t>   Autonomous AI agents now invoke one another across organizational
   boundaries over protocols such as the Model Context Protocol (MCP)
   and Agent2Agent (A2A).  A relying party has no interoperable way to
   bind a discoverable agent endpoint to the holder of its domain
   (optionally verified as a legal entity), a specific software release,
   and an auditable issuance history.  This document specifies the
   architecture of Agent Name Service version 2 (ANS v2), an identity
   layer, anchored in DNS domains, that binds an agent endpoint to its
   domain holder, its release, and its history.  ANS v2 composes systems
   the Internet already runs (the DNS with DNSSEC; the Web PKI, with
   DANE where operators publish it; and an append-only transparency log)
   and introduces no new root of trust.

   Every ANS v2 agent carries a versioned name rooted in a DNS domain
   that the registrant controls.  When a registrant registers an agent,
   the Registration Authority (RA) checks the registrant&#x27;s control of
   that domain, can issue an Identity Certificate that binds the
   versioned name to the agent&#x27;s key, and submits a signed registration
   record to a Merkle-tree transparency log.  Under the current
   specifications, a new version is a new registration and a new log
   entry, so a verifier can pin an agent to a specific release.  Any
   third party can detect a rewritten log by computing, from the log&#x27;s
   public tiles, a consistency proof between two of its signed
   checkpoints.

   For discovery, ANS v2 adopts the SVCB records and SvcParams of DNS
   for AI Discovery (DNS-AID) as its default format, and keeps an older
   TXT-based format only as an opt-in profile.  Beyond those discovery
   records, ANS v2 specifies one DNS record, an &quot;_ans-badge&quot; TXT record
   that points to the agent&#x27;s transparency-log entry; the log seals the
   fingerprint of the agent server&#x27;s certificate, and operators can add
   DANE records.  With these records, a verifier resolves an agent,
   authenticates its TLS endpoint, and confirms that the presented name,
   version, and key match a logged registration.

   This document also states a threat model covering agent
   impersonation, DNS spoofing, CA and Registration Authority
   compromise, version rollback, agent card tampering, and log
   rewriting, and names what each ANS check does and does not prevent.
   The reference registry, transparency log, verifier, JSON Schemas,
   SDKs, and CLI are open source.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-narajala-courtney-ansv2-02"/>
   
</reference>
<reference anchor="RFC6781">
  <front>
    <title>DNSSEC Operational Practices, Version 2</title>
    <author fullname="O. Kolkman" initials="O." surname="Kolkman"/>
    <author fullname="W. Mekking" initials="W." surname="Mekking"/>
    <author fullname="R. Gieben" initials="R." surname="Gieben"/>
    <date month="December" year="2012"/>
    <abstract>
      <t>This document describes a set of practices for operating the DNS with security extensions (DNSSEC). The target audience is zone administrators deploying DNSSEC.</t>
      <t>The document discusses operational aspects of using keys and signatures in the DNS. It discusses issues of key generation, key storage, signature generation, key rollover, and related policies.</t>
      <t>This document obsoletes RFC 4641, as it covers more operational ground and gives more up-to-date requirements with respect to key sizes and the DNSSEC operations.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="6781"/>
  <seriesInfo name="DOI" value="10.17487/RFC6781"/>
</reference>
<reference anchor="RFC7858">
  <front>
    <title>Specification for DNS over Transport Layer Security (TLS)</title>
    <author fullname="Z. Hu" initials="Z." surname="Hu"/>
    <author fullname="L. Zhu" initials="L." surname="Zhu"/>
    <author fullname="J. Heidemann" initials="J." surname="Heidemann"/>
    <author fullname="A. Mankin" initials="A." surname="Mankin"/>
    <author fullname="D. Wessels" initials="D." surname="Wessels"/>
    <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
    <date month="May" year="2016"/>
    <abstract>
      <t>This document describes the use of Transport Layer Security (TLS) to provide privacy for DNS. Encryption provided by TLS eliminates opportunities for eavesdropping and on-path tampering with DNS queries in the network, such as discussed in RFC 7626. In addition, this document specifies two usage profiles for DNS over TLS and provides advice on performance considerations to minimize overhead from using TCP and TLS with DNS.</t>
      <t>This document focuses on securing stub-to-recursive traffic, as per the charter of the DPRIVE Working Group. It does not prevent future applications of the protocol to recursive-to-authoritative traffic.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="7858"/>
  <seriesInfo name="DOI" value="10.17487/RFC7858"/>
</reference>
<reference anchor="RFC8484">
  <front>
    <title>DNS Queries over HTTPS (DoH)</title>
    <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
    <author fullname="P. McManus" initials="P." surname="McManus"/>
    <date month="October" year="2018"/>
    <abstract>
      <t>This document defines a protocol for sending DNS queries and getting DNS responses over HTTPS. Each DNS query-response pair is mapped into an HTTP exchange.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8484"/>
  <seriesInfo name="DOI" value="10.17487/RFC8484"/>
</reference>
<reference anchor="RFC7871">
  <front>
    <title>Client Subnet in DNS Queries</title>
    <author fullname="C. Contavalli" initials="C." surname="Contavalli"/>
    <author fullname="W. van der Gaast" initials="W." surname="van der Gaast"/>
    <author fullname="D. Lawrence" initials="D." surname="Lawrence"/>
    <author fullname="W. Kumari" initials="W." surname="Kumari"/>
    <date month="May" year="2016"/>
    <abstract>
      <t>This document describes an Extension Mechanisms for DNS (EDNS0) option that is in active use to carry information about the network that originated a DNS query and the network for which the subsequent response can be cached. Since it has some known operational and privacy shortcomings, a revision will be worked through the IETF for improvement.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="7871"/>
  <seriesInfo name="DOI" value="10.17487/RFC7871"/>
</reference>

<reference anchor="I-D.draft-blwm-dawn-common-discovery-parameters">
   <front>
      <title>Common Agent DNS Discovery Parameters</title>
      <author fullname="Frank Brockners" initials="F." surname="Brockners">
         <organization>Cisco</organization>
      </author>
      <author fullname="Loránd Jakab" initials="L." surname="Jakab">
         <organization>Cisco</organization>
      </author>
      <author fullname="Nic Williams" initials="N." surname="Williams">
         <organization>Infoblox, Inc.</organization>
      </author>
      <author fullname="Jim Mozley" initials="J." surname="Mozley">
         <organization>Infoblox</organization>
      </author>
      <date day="27" month="October" year="2026"/>
      <abstract>
	 <t>   This document defines parameters for AI agents that would be used in
   DNS and mDNS discovery processes.  It provides a set of common
   parameters for different DNS records to facilitate agents
   communicating over application layer protocols such as A2A or MCP.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-blwm-dawn-common-discovery-parameters-00"/>
   
</reference>

<reference anchor="I-D.draft-mk-dnsop-svcb-well-known">
   <front>
      <title>An SVCB Service Parameter for Well-Known URI Paths</title>
      <author fullname="Jim Mozley" initials="J." surname="Mozley">
         <organization>Infoblox, Inc.</organization>
      </author>
      <author fullname="Daniel King" initials="D." surname="King">
         <organization>Old Dog Consulting</organization>
      </author>
      <date day="19" month="October" year="2026"/>
      <abstract>
	 <t>   This document defines the &quot;well-known&quot; Service Parameter Key
   (SvcParamKey) for SVCB and HTTPS resource records.  It carries one or
   more well-known URI suffixes, identifying resources under &quot;/.well-
   known/&quot; that are available at the service endpoint.  It specifies the
   presentation and wire formats and requests registration of the key
   with IANA.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-mk-dnsop-svcb-well-known-01"/>
   
</reference>



    </references>

</references>


<?line 557?>

<section numbered="false" anchor="contributors"><name>Contributors</name>

<t>The authors thank the following people for their substantial input to this document: Ralf Weber (Akamai), and John Zinky (Akamai).</t>

<!-- Pending confirmation before inclusion: Donovan O'Hara (Cisco), Vinny Parla (Cisco), Junjie Bu (Google). -->

</section>
<section numbered="false" anchor="acknowledgments"><name>Acknowledgments</name>

<t>The authors also would like to thank Connor Snitker (GoDaddy), Chungwei Yen (GoDaddy), Patrick Mevzek (GoDaddy), Jim Gilbert (Akamai), Hema Seshadri (Akamai), Aaron Parecki (Okta), Ihab Shraim (CSC), Vincent DAngelo (CSC), and Nick Sullivan for their feedback and discussion.</t>

<!-- Pending confirmation before inclusion: Eric Osterweil (Verisign), Burt Kaliski (Verisign), Ramakant Pandrangi (Verisign). -->

</section>


  </back>

<!-- ##markdown-source:
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
AA==

-->

</rfc>

