<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.29 (Ruby 3.4.4) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-intarea-proxy-config-05" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.29.0 -->
  <front>
    <title abbrev="Proxy Configuration PvDs">Communicating Proxy Configurations in Provisioning Domains</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-intarea-proxy-config-05"/>
    <author initials="T." surname="Pauly" fullname="Tommy Pauly">
      <organization>Apple, Inc.</organization>
      <address>
        <email>tpauly@apple.com</email>
      </address>
    </author>
    <author initials="D." surname="Damjanovic" fullname="Dragana Damjanovic">
      <organization>Microsoft</organization>
      <address>
        <email>ddamjanovic@microsoft.com</email>
      </address>
    </author>
    <author initials="Y." surname="Rosomakho" fullname="Yaroslav Rosomakho">
      <organization>Zscaler</organization>
      <address>
        <email>yrosomakho@zscaler.com</email>
      </address>
    </author>
    <date year="2025" month="June" day="26"/>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 31?>

<t>This document defines a mechanism for accessing provisioning domain information
associated with a proxy, such as other proxy URIs that support different protocols
and information about which destinations are accessible using a proxy.</t>
    </abstract>
    <note removeInRFC="true">
      <name>Discussion Venues</name>
      <t>Source for this draft and an issue tracker can be found at
  <eref target="https://github.com/tfpauly/privacy-proxy"/>.</t>
    </note>
  </front>
  <middle>
    <?line 37?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>HTTP proxies that use the CONNECT method defined in <xref section="9.3.6" sectionFormat="of" target="HTTP"/>
(often referred to as "forward" proxies) allow clients to open connections to
hosts via a proxy. These typically allow for TCP stream proxying, but can also support
UDP proxying <xref target="CONNECT-UDP"/> and IP packet proxying
<xref target="CONNECT-IP"/>. The locations of these proxies are not just defined as
hostnames and ports, but can use URI templates <xref target="URITEMPLATE"/>.</t>
      <t>In order to make use of multiple related proxies, clients need a way to understand
which proxies are associated with one another, and which protocols can be used
to communicate with the proxies.</t>
      <t>Client can also benefit from learning about additional information associated with
the proxy to optimize their proxy usage, such knowing that a proxy is configured
to only allow access to a limited set of destinations.</t>
      <t>These improvements to client behavior can be achieved through the use of
Provisioning Domains. Provisioning Domains (PvDs) are defined in <xref target="PVD"/>
as consistent sets of network configuration information, which can include proxy
configuration details <xref section="2" sectionFormat="of" target="PVD"/>. <xref target="PVDDATA"/> defines a JSON
<xref target="JSON"/> format for describing Provisioning Domain Additional Information,
which is an extensible dictionary of properties of the Provisioning Domain.</t>
      <t>This document defines several mechanisms to use PvDs to help clients understand how
to use proxies:</t>
      <ol spacing="normal" type="1"><li>
          <t>A way to fetch PvD Additional Information associated with a known proxy URI (<xref target="proxy-pvd"/>)</t>
        </li>
        <li>
          <t>A way to list one or more proxy URIs in a PvD, allowing clients to
learn about other proxy options given a known proxy (<xref target="proxy-enumeration"/>).</t>
        </li>
        <li>
          <t>A way to define the set of destinations that are accessible through the
proxy (<xref target="destinations"/>).</t>
        </li>
      </ol>
      <t>Additionally, this document partly describes how these mechanisms might be used
to discover proxies associated with a network (<xref target="network-proxies"/>).</t>
      <t>Using this mechanism a client can learn that a legacy insecure HTTP proxy that
the client is configured with is also accessible using HTTPS. In this way,
clients can upgrade to a more secure connection to the proxy.</t>
      <section anchor="background">
        <name>Background</name>
        <t>Other non-standard mechanisms for proxy configuration and discovery have been
used historically, some of which are described in <xref target="RFC3040"/>.</t>
        <t>Proxy Auto Configuration (PAC) files <xref section="6.2" sectionFormat="of" target="RFC3040"/> are Javascript
scripts that take URLs as input and provide an output of a proxy configuration
to use.</t>
        <t>Web Proxy Auto-Discovery Protocol (WPAD) <xref section="6.4" sectionFormat="of" target="RFC3040"/> allows
networks to advertise proxies to use by advertising a PAC file. This solution
squats on DHCP option 252.</t>
        <t>These common (but non-standard) mechanisms only support defining proxies by
hostname and port, and do not support configuring a full URI template
<xref target="URITEMPLATE"/>.</t>
        <t>The mechanisms defined in this document are intended to offer a standard
alternative that works for URI-based proxies and avoids dependencies
on executing Javascript scripts, which are prone to implementation-specific
inconsistencies and can open up security vulnerabilities.</t>
      </section>
      <section anchor="requirements">
        <name>Requirements</name>
        <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED",
"MAY", and "OPTIONAL" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.
<?line -6?>
        </t>
      </section>
    </section>
    <section anchor="proxy-pvd">
      <name>Fetching PvD Additional Information for proxies</name>
      <t>This document defines a way to fetch PvD Additional Information associated with
a proxy. This PvD describes the properties of the network accessible through the proxy.</t>
      <t>In order to fetch PvD Additional Information associated with a proxy, a client
issues an HTTP GET request for the well-known PvD URI (".well-known/pvd") <xref target="PVDDATA"/>
and the host authority of the proxy. This is applicable for both proxies that are identified
by a host and port only (such as SOCKS proxies and HTTP CONNECT proxies) and proxies
that are identified by a URI or URI template. The fetch MUST use the "https" scheme
and the default port for HTTP over TLS, 443.</t>
      <t>For example, a client would issue the following request for the PvD associated
with "https://proxy.example.org/masque{?target_host,target_port}":</t>
      <artwork><![CDATA[
:method = GET
:scheme = https
:authority = proxy.example.org
:path = /.well-known/pvd
accept = application/pvd+json
]]></artwork>
      <t>A client would send the same request as above for the PvD
assocated with an HTTP CONNECT proxy on "proxy.example.org:8080".
Note that the client will not make a request to port 8080, but
to port 443.</t>
      <t>Note that all proxies that are co-located on the same host share the same PvD
Additional Information. Proxy deployments that need separate PvD configuration properties
SHOULD use different hosts.</t>
      <t>PvD Additional Information is required to contain the "identifier", "expires", and
"prefixes" keys. For proxy PvDs as defined in this document, the "identifier" MUST
match the hostname of the HTTP proxy. The "prefixes" array SHOULD be empty by default.</t>
      <section anchor="svcparamkey">
        <name>Discovery via HTTPS/SVCB Records</name>
        <t>To allow clients to determine whether PvD Additional Information is available for a given proxy,
this document defines a new SvcParamKey in HTTPS and SVCB DNS records defined in <xref target="SVCB-DNS"/>.</t>
        <t>Presence of this SvcParamKey, named <tt>pvd</tt> indicates that the proxy host supports PvD discovery via
the well-known PvD URI ".well-known/pvd" defined in <xref section="4.1" sectionFormat="of" target="PVDDATA"/>. The presence of this
key in an HTTPS or SVCB record signals that the proxy's PvD Additional Information can be fetched
using the "https" scheme from the proxy host on port 443 using the well-known path. The presentation and
wire-format values for <tt>pvd</tt> SvcParamKey MUST be empty.</t>
        <t>A client receiving a DNS record like the following:</t>
        <artwork><![CDATA[
proxy.example.org. 3600 IN HTTPS 1 . alpn="h3,h2" pvd
]]></artwork>
        <t>can interpret the presence of the pvd key as an indication that it MAY perform a PvD fetch from
"https://proxy.example.org/.well-known/pvd" using HTTP GET method.</t>
        <t>While this key is particularly useful for detecting proxy configurations when
looking up a DNS record for a known proxy name, this key generically provides
a hint that PvD Additional Information is available, and can be used for use
cases unrelated to proxies.
This marker is advisory; clients MAY still attempt to fetch PvD Additional Information even if
<tt>pvd</tt> SvcParamKey is not present.</t>
        <t>The <tt>pvd</tt> SvcParamKey is registered with IANA as described in <xref target="svcparamkey-iana"/>.</t>
      </section>
    </section>
    <section anchor="proxy-enumeration">
      <name>Enumerating proxies within a PvD</name>
      <t>This document defines a new PvD Additional Information key, <tt>proxies</tt>, that
is an array of dictionaries, where each dictionary in the array defines
a single proxy that is available as part of the PvD (see <xref target="proxies-key-iana"/>).
Each proxy is defined by a proxy protocol and a proxy location (i.e., a hostname and port or a URI template
<xref target="URITEMPLATE"/>), along with other optional keys.</t>
      <t>When a PvD that contains the <tt>proxies</tt> key is fetched from a known proxy
using the method described in <xref target="proxy-pvd"/>, the proxies list describes
equivalent proxies (potentially supporting other protocols) that can be used
in addition to the known proxy.</t>
      <t>Such cases are useful for informing clients of related proxies as a discovery
method, with the assumption that the client already is aware of one proxy.
Many historical methods of configuring a proxy only allow configuring
a single FQDN hostname for the proxy. A client can attempt to fetch the
PvD information from the well-known URI to learn the list of complete
URIs that support non-default protocols, such as <xref target="CONNECT-UDP"/> and
<xref target="CONNECT-IP"/>.</t>
      <section anchor="proxy-definition-keys">
        <name>Proxy definition keys</name>
        <t>This document defines two required keys for the sub-dictionaries in the
<tt>proxies</tt> array: <tt>protocol</tt> and <tt>proxy</tt>. There are also optional keys, including
<tt>mandatory</tt>, <tt>alpn</tt>, and <tt>identifier</tt>. Other optional keys can be added to the
dictionary to further define or restrict the use of a proxy. The keys
are registered with IANA as described in <xref target="proxy-info-iana"/>, with the initial
content provided below.</t>
        <table anchor="proxy-information-keys-table">
          <name>Initial Proxy Information PvD Keys Registry Contents</name>
          <thead>
            <tr>
              <th align="left">JSON Key</th>
              <th align="left">Optional</th>
              <th align="left">Description</th>
              <th align="left">Type</th>
              <th align="left">Example</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">protocol</td>
              <td align="left">No</td>
              <td align="left">The protocol used to communicate with the proxy</td>
              <td align="left">String</td>
              <td align="left">"connect-udp"</td>
            </tr>
            <tr>
              <td align="left">proxy</td>
              <td align="left">No</td>
              <td align="left">String containing the URI template or hostname and port of the proxy, depending on the format defined by the protocol</td>
              <td align="left">String</td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left">"https://proxy.example.org:4443/masque{?target_host,target_port}"</td>
              <td align="left"> </td>
              <td align="left"> </td>
              <td align="left"> </td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left">mandatory</td>
              <td align="left">Yes</td>
              <td align="left">An array of optional keys that client must understand and process to use this proxy</td>
              <td align="left">Array of Strings</td>
              <td align="left">["example_key"]</td>
            </tr>
            <tr>
              <td align="left">alpn</td>
              <td align="left">Yes</td>
              <td align="left">An array of Application-Layer Protocol Negotiation protocol identifiers</td>
              <td align="left">Array of Strings</td>
              <td align="left">["h3","h2"]</td>
            </tr>
            <tr>
              <td align="left">identifier</td>
              <td align="left">Yes</td>
              <td align="left">A string used to refer to the proxy, which can be referenced by other dictionaries, such as entries in <tt>proxy-match</tt></td>
              <td align="left">String</td>
              <td align="left">"udp-proxy"</td>
            </tr>
          </tbody>
        </table>
        <t>The values for the <tt>protocol</tt> key are defined in the proxy protocol
registry (<xref target="proxy-protocol-iana"/>), with the initial contents provided below.
For consistency, any new proxy types that use HTTP Upgrade Tokens (and use
the <tt>:protocol</tt> pseudo-header) SHOULD define the <tt>protocol</tt> value to match
the Upgrade Token / <tt>:protocol</tt> value.</t>
        <table anchor="proxy-protocol-value-table">
          <name>Initial PvD Proxy Protocol Registry Contents</name>
          <thead>
            <tr>
              <th align="left">Proxy Protocol</th>
              <th align="left">Proxy Location Format</th>
              <th align="left">Reference</th>
              <th align="left">Notes</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">socks5</td>
              <td align="left">hostname:port</td>
              <td align="left">
                <xref target="SOCKSv5"/></td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left">http-connect</td>
              <td align="left">hostname:port</td>
              <td align="left">
                <xref section="9.3.6" sectionFormat="of" target="HTTP"/></td>
              <td align="left">Standard CONNECT method, using unencrypted HTTP to the proxy</td>
            </tr>
            <tr>
              <td align="left">https-connect</td>
              <td align="left">hostname:port</td>
              <td align="left">
                <xref section="9.3.6" sectionFormat="of" target="HTTP"/></td>
              <td align="left">Standard CONNECT method, using TLS-protected HTTP to the proxy</td>
            </tr>
            <tr>
              <td align="left">connect-udp</td>
              <td align="left">URI template</td>
              <td align="left">
                <xref target="CONNECT-UDP"/></td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left">connect-ip</td>
              <td align="left">URI template</td>
              <td align="left">
                <xref target="CONNECT-IP"/></td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left">connect-tcp</td>
              <td align="left">URI template</td>
              <td align="left">
                <xref target="CONNECT-TCP"/></td>
              <td align="left"> </td>
            </tr>
          </tbody>
        </table>
        <t>The value of <tt>proxy</tt> depends on the Proxy Location Format defined by proxy protocol.
The types defined here either use a hostname and port, or a full URI template.</t>
        <t>The value of the <tt>mandatory</tt> key is a list of keys that the client must understand and process to be
able to use the proxy. A client that does not understand a key from the list or cannot fully process
the value of a key from the list MUST ignore the entire proxy definition.</t>
        <t>The <tt>mandatory</tt> list can contain keys that are either:</t>
        <ul spacing="normal">
          <li>
            <t>registered in an IANA registry, defined in <xref target="proxy-info-iana"/> and marked as optional;</t>
          </li>
          <li>
            <t>or proprietary, as defined in <xref target="proxy-proprietary-keys"/></t>
          </li>
        </ul>
        <t>The <tt>mandatory</tt> list MUST NOT include any entries that are not present in the sub-dictionary.</t>
        <t>If the <tt>alpn</tt> key is present, it provides a hint for the Application-Layer Protocol Negotiation
(ALPN) <xref target="ALPN"/> protocol identifiers associated with this server. For HTTP proxies,
this can indicate if the proxy supports HTTP/3, HTTP/2, etc.</t>
        <t>The value of <tt>identifier</tt> key is a string that can be used to refer to a particular
proxy from other dictionaries, specifically those defined in <xref target="destinations"/>. The
string value is an arbitrary JSON string. Identifier values MAY be duplicated
across different proxy dictionaries in the <tt>proxies</tt> array, which indicates
that all references from other dictionaries to a particular identifier value apply
to all matching proxies. Proxies without the <tt>identifier</tt> key are expected to accept any
traffic since their destinations cannot be contained in <tt>proxy-match</tt> array defined
in <xref target="destinations"/>.</t>
      </section>
      <section anchor="proxy-proprietary-keys">
        <name>Proprietary keys in proxy configurations</name>
        <t>Implementations MAY include proprietary or vendor-specific keys in the sub-dictionaries of the <tt>proxies</tt>
array to convey additional proxy configuration information not defined in this specification.</t>
        <t>A proprietary key MUST contain at least one underscore character ("_"). This character serves as a
separator between a vendor-specific namespace and the key name. For example, "acme_authmode" could
be a proprietary key indicating an authentication mode defined by a vendor named "acme".</t>
        <t>When combined with <tt>mandatory</tt> list, this mechanism allows implementations to extend proxy metadata while
maintaining interoperability and ensuring safe fallback behavior for clients that do not support a given
extension.</t>
      </section>
      <section anchor="example">
        <name>Example</name>
        <t>Given a known HTTP CONNECT proxy FQDN, "proxy.example.org", a client could
request PvD Additional Information with the following request:</t>
        <artwork><![CDATA[
:method = GET
:scheme = https
:authority = proxy.example.org
:path = /.well-known/pvd
accept = application/pvd+json
]]></artwork>
        <t>If the proxy has a PvD definition for this FQDN, it would return the following
response to indicate a PvD that has two related proxy URIs.</t>
        <artwork><![CDATA[
:status = 200
content-type = application/pvd+json
content-length = 322

{
  "identifier": "proxy.example.org.",
  "expires": "2023-06-23T06:00:00Z",
  "prefixes": [],
  "proxies": [
    {
      "protocol": "http-connect",
      "proxy": "proxy.example.org:80"
    },
    {
      "protocol": "connect-udp",
      "proxy": "https://proxy.example.org/masque{?target_host,target_port}"
    }
  ]
}
]]></artwork>
        <t>From this response, the client would learn the URI template of the proxy that supports UDP using <xref target="CONNECT-UDP"/>,
at "https://proxy.example.org/masque{?target_host,target_port}".</t>
      </section>
    </section>
    <section anchor="destinations">
      <name>Destination accessibility information for proxies</name>
      <t>Destination accessibility information is used when only a subset of destinations is reachable through
a proxy. Destination restrictions are often used in VPN tunnel configurations such as split
DNS in IKEv2 <xref target="IKEV2SPLIT"/>, and in other proxy configuration mechanisms like PAC files (see <xref target="background"/>).</t>
      <t>PvD Additional Information can be used to indicate that a set of proxies only allows access to
a limited set of destinations.</t>
      <t>To support determining which traffic is supported by different proxies, this document defines
a new PvD Additional Information key <tt>proxy-match</tt>. This key has a value that is an array of
dictionaries, where each subdictionary describes a rule for matching traffic to one or more
proxies, or excluding the traffic from all proxies described in the PvD. These subdictionaries are referred
to as "destination rules", since they define rules about which destinations can be accessed
for a particular proxy or set of proxies.</t>
      <section anchor="destination-rule-keys">
        <name>Destination Rule Keys</name>
        <t>This document defines four keys for destination rules. Any destination rule MUST contain
the <tt>proxies</tt> key. Values corresponding to the <tt>proxies</tt> key may be either an empty array,
which implies that no proxy defined in this PvD can process matching traffic, or an array of strings
with at least one proxy <tt>identifier</tt> string. All destination rules MUST also contain at least one
other key use to describe the destination properties. Each key MUST correspond to an array
with at least one entry.</t>
        <t>Extensions or proprietary deployments can define new keys to describe destination properties.
Any destination rules that include keys not known to the client, or values that cannot be
parsed, MUST be ignored in their entirety.</t>
        <t>Destination rule keys are registered with IANA as defined in <xref target="proxy-destination-iana"/>,
with the initial content provided below.</t>
        <table anchor="destination-rule-keys-table">
          <name>Initial PvD Proxy Destination Rule Registry Contents</name>
          <thead>
            <tr>
              <th align="left">JSON Key</th>
              <th align="left">Optional</th>
              <th align="left">Description</th>
              <th align="left">Type</th>
              <th align="left">Example</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">proxies</td>
              <td align="left">No</td>
              <td align="left">An array of strings that match <tt>identifier</tt> values from the top-level <tt>proxies</tt> array</td>
              <td align="left">Array of Strings</td>
              <td align="left">["tcp-proxy", "udp-proxy"]</td>
            </tr>
            <tr>
              <td align="left">domains</td>
              <td align="left">Yes</td>
              <td align="left">An array of FQDNs and wildcard DNS domains</td>
              <td align="left">Array of Strings</td>
              <td align="left">["www.example.com", "*.internal.example.com"]</td>
            </tr>
            <tr>
              <td align="left">subnets</td>
              <td align="left">Yes</td>
              <td align="left">An array of IPv4 and IPv6 addresses and subnets</td>
              <td align="left">Array of Strings</td>
              <td align="left">["2001:DB8::1", "192.0.2.0/24"]</td>
            </tr>
            <tr>
              <td align="left">ports</td>
              <td align="left">Yes</td>
              <td align="left">An array of TCP and UDP port ranges</td>
              <td align="left">Array of Strings</td>
              <td align="left">["80", "443", "1024-65535"]</td>
            </tr>
          </tbody>
        </table>
        <t>The <tt>domains</tt> array includes specific FQDNs and zones that are either accessible using specific proxy (for
rules with non-empty <tt>proxies</tt> array) or non-accessible through any proxies (for rules with empty <tt>proxies</tt> array).
A wildcard prefix (<tt>*.</tt>) is used to indicate matching entire domains or subdomains instead of
specific hostnames. Note that this can be used to match multiple levels of subdomains. For example "<em>.example.com"
matches "internal.example.com" as well as "www.public.example.com".
Entries that include the wildcard prefix also MUST be treated as if they match
an FQDN that only contains the string after the prefix, with no subdomain. So,
an entry "</em>.example.com" in the <tt>domains</tt> array of a <tt>proxy-match</tt> rule would match the FQDN "example.com".
This is done to prevent commonly needing to include both "*.example.com" and "example.com"
in the <tt>domains</tt> array of a <tt>proxy-match</tt> rule.</t>
        <t>The <tt>subnets</tt> array includes IPv4 and IPv6 address literals, as well as IPv4 and IPv6 address subnets
written using CIDR notation. Subnet-based destination information is only meant be used when applications
are communicating with destinations identified by only an IP address, and not a hostname.</t>
        <t>Destination rules SHOULD NOT contain both the <tt>domains</tt> key and the <tt>subnets</tt> key. Many
clients will not resolve a domain being accessed through the proxy to an IP address before using
a proxy, so the subnet information may not be available.</t>
        <t>The <tt>ports</tt> array includes specific ports (used for matching TCP and/or UDP ports), as well as
ranges of ports written with a low port value and a high port value, with a <tt>-</tt> in between.
For example, "1024-2048" matches all ports from 1024 to 2048, including the 1024 and 2048.
If <tt>ports</tt> key is not present, all ports are assumed to match. Comma-separated port list may
contain individual port numbers (such as "80") or inclusive ranges of ports. For example
"1024-2048" matches all ports from 1024 to 2048, including the 1024 and 2048.</t>
      </section>
      <section anchor="using-destination-rules">
        <name>Using Destination Rules</name>
        <t>The destination rules can be used to determine which traffic can be sent through proxies, and
which specific set of proxies to use for any particular connection. By evaluating the rules in
order, a consistent behavior for usage can be achieved.</t>
        <t>Rules in the <tt>proxy-match</tt> list SHOULD be provided in order of priority, such that a client
can evaluate the list of rules from the first in the array to the last in the array, and attempt
using the matching proxy or proxies from the earliest matching rule first. If earliest matching
rule has empty list of <tt>proxies</tt> client SHOULD NOT send matching traffic to any proxy defined
in this PvD. Multiple rules can match for the same destination, in which case all are considered
to be accessible through the matching proxies in case the sets of proxies are different.</t>
        <t>In order to match a destination rule in the <tt>proxy-match</tt> list, all properties MUST apply. For
example, if a destination rule includes a <tt>domains</tt> array and a <tt>ports</tt> array, traffic that matches
the rule needs to match at one of the entries in the <tt>domains</tt> array and one of the entries in the
<tt>ports</tt> array.</t>
        <t>A matched rule will then either point to one or more proxy <tt>identifier</tt> values, which correspond
to proxies defined in the list from <xref target="proxy-enumeration"/>, or instructs the client to not send the
matching traffic to any proxy.</t>
        <t>Entries listed in a <tt>proxy-match</tt> object MUST NOT expand the set of destinations that a client is
willing to send to a particular proxy. The list can only narrow the list of destinations
that the client is willing to send through the proxy. For example, if the client
has a local policy to only send requests for "*.example.com" to a proxy
"proxy.example.com", and <tt>domains</tt> array of a <tt>match</tt> object contains "internal.example.com" and
"other.company.com", the client would end up only proxying "internal.example.com"
through the proxy.</t>
      </section>
      <section anchor="proprietary-keys-in-destination-rules">
        <name>Proprietary Keys in Destination Rules</name>
        <t>Implementations MAY include proprietary or vendor-specific keys in destination rules to define custom matching logic
not specified in this document.</t>
        <t>Similar to proprietary keys in proxy definitions (<xref target="proxy-proprietary-keys"/>), a proprietary key in destination
rule MUST contain at least one underscore character ("_"), which separates a vendor-specific namespace from the key name.
For example, "acme_processid" could be a key used to apply rules only to traffic of a specific process identifier as
defined by a vendor named "acme".</t>
        <t>Clients that encounter a proprietary key they do not recognize MUST ignore the entire destination rule in which the
key appears. This ensures that unknown or unsupported matching logic does not inadvertently influence proxy selection
or bypass security controls. This handling applies uniformly across all match rules, including fallback rules.</t>
      </section>
      <section anchor="examples">
        <name>Examples</name>
        <t>In the following example, two proxies are defined with a common identifier ("default_proxy"), with
a single destination rule for "*.internal.example.org".</t>
        <artwork><![CDATA[
{
  "identifier": "proxy.example.org.",
  "expires": "2023-06-23T06:00:00Z",
  "prefixes": [],
  "proxies": [
    {
      "protocol": "http-connect",
      "proxy": "proxy.example.org:80",
      "identifier": "default_proxy"
    },
    {
      "protocol": "http-connect",
      "proxy": "proxy2.example.org:80",
      "identifier": "default_proxy"
    }
  ],
  "proxy-match": [
    {
      "domains": [ "*.internal.example.org" ],
      "proxies": [ "default_proxy" ]
    }
  ]
}
]]></artwork>
        <t>The client could then choose to use either proxy associated with the "default_proxy" identifier
for accessing TCP hosts that fall within the "*.internal.example.org" zone. This would include the
hostnames "internal.example.org", "foo.internal.example.org", "www.bar.internal.example.org" and
all other hosts within "internal.example.org".</t>
        <t>In the next example, two proxies are defined with a separate identifiers, and there are
three destination rules:</t>
        <artwork><![CDATA[
{
  "identifier": "proxy.example.org.",
  "expires": "2023-06-23T06:00:00Z",
  "prefixes": [],
  "proxies": [
    {
      "protocol": "http-connect",
      "proxy": "proxy.example.org:80",
      "identifier": "default_proxy"
    },
    {
      "protocol": "http-connect",
      "proxy": "special-proxy.example.org:80",
      "identifier": "special_proxy"
    }
  ],
  "proxy-match": [
    {
      "domains": [ "*.special.example.org" ],
      "ports": [ "80", "443", "49152-65535" ],
      "proxies": [ "special_proxy" ]
    },
    {
      "domains": [ "no-proxy.internal.example.org" ],
      "proxies": [ ]
    },
    {
      "domains": [ "*.internal.example.org" ],
      "proxies": [ "default_proxy" ]
    }
  ]
}
]]></artwork>
        <t>In this case, the client would use "special-proxy.example.org:80"
for any TCP traffic that matches "*.special.example.org" destined to ports 80, 443 or any port between
49152 and 65535. The client would not use any of the defined proxies for access to
"no-proxy.internal.example.org". And finally, the client would use
"proxy.example.org:80" to access any other TCP traffic that matches
"*.internal.example.org".</t>
        <t>In the following example, three proxies are sharing a common identifier ("default-proxy"), but use
separate protocols constraining the traffic that they can process.</t>
        <artwork><![CDATA[
{
  "identifier": "proxy.example.org.",
  "expires": "2023-06-23T06:00:00Z",
  "prefixes": [],
  "proxies": [
    {
      "protocol": "http-connect",
      "proxy": "proxy.example.org:80",
      "identifier": "default_proxy"
    },
    {
      "protocol": "connect-udp",
      "proxy": "https://proxy.example.org/masque/udp/{target_host},{target_port}",
      "identifier": "default_proxy"
    },
    {
      "protocol": "connect-ip",
      "proxy": "https://proxy.example.org/masque/ip{?target,ipproto}",
      "identifier": "default_proxy"
    }
  ],
  "proxy-match": [
    {
      "domains": [ "*.internal.example.org" ],
      "proxies": [ "default_proxy" ]
    }
  ]
}
]]></artwork>
        <t>The client would use proxies in the following way:</t>
        <ul spacing="normal">
          <li>
            <t>Traffic not destined to hosts within the "*.internal.example.org" zone is not sent
to any proxy defined in this configuration</t>
          </li>
          <li>
            <t>TCP traffic destined to hosts within the "*.internal.example.org" zone is sent
either to the proxy with "http-connect" protocol or to the proxy with "connect-ip" protocol</t>
          </li>
          <li>
            <t>UDP traffic destined to hosts within the "*.internal.example.org" zone is sent
either to the proxy with "connect-udp" protocol or to the proxy with "connect-ip" protocol</t>
          </li>
          <li>
            <t>Traffic other than TCP and UDP destined to hosts within the "*.internal.example.org" zone is sent
either to the proxy with "connect-ip" protocol</t>
          </li>
        </ul>
        <t>The following example provides a configuration of proxies to be used by default with a
set with exceptions to bypass:</t>
        <artwork><![CDATA[
{
  "identifier": "proxy.example.org.",
  "expires": "2023-06-23T06:00:00Z",
  "prefixes": [],
  "proxies": [
    {
      "protocol": "http-connect",
      "proxy": "proxy.example.org:80",
      "identifier": "default_proxy"
    },
    {
      "protocol": "http-connect",
      "proxy": "backup.example.org:80",
      "identifier": "secondary_proxy"
    }
  ],
  "proxy-match": [
    {
      "domains": [ "*.intranet.example.org" ],
      "proxies": [ ]
    },
    {
      "subnets": [ "192.168.0.0/16", "2001:DB8::/32" ],
      "proxies": [ ]
    },
    {
      "proxies": [ "default_proxy", "secondary_proxy" ]
    }
  ]
}
]]></artwork>
        <t>In this case, the client would not send to the proxies any TCP traffic
that is not destined to hosts matching "*.intranet.example.org", 192.168.0.0/16 or 2001:DB8::/32.
Due to the order in "proxies" list in the last rule of "proxy-match", the client would prefer
"proxy.example.org:80" over "backup.example.org:80"</t>
      </section>
    </section>
    <section anchor="network-proxies">
      <name>Discovering proxies from network PvDs</name>
      <t><xref target="PVDDATA"/> defines how PvD Additional Information is discovered based
on network advertisements using Router Advertisements <xref target="RFC4861"/>. A network
defining its configuration via PvD information can include the <tt>proxies</tt>
key (<xref target="proxy-enumeration"/>) to inform clients of a list of proxies available
on the network.</t>
      <t>This association of proxies with the network's PvD can be used as a mechanism
to discover proxies, as an alternative to PAC files. However, client systems MUST
NOT automatically send traffic over proxies advertised in this way without
explicit configuration, policy, or user permission. For example, a client
can use this mechanism to choose between known proxies, such as if the client was
already proxying traffic and has multiple options to choose between.</t>
      <t>Further security and experience considerations are needed for these cases.</t>
    </section>
    <section anchor="sec-considerations">
      <name>Security Considerations</name>
      <t>The mechanisms in this document allow clients using a proxy to "upgrade" a configuration
for a cleartext HTTP/1.1 or SOCKS proxy into a configuration that uses TLS to communication to the proxy.
This upgrade can add protection to the proxied traffic so it is less observable by
entities along the network path; however it does not prevent the proxy itself from
observing the traffic being proxied.</t>
      <t>Configuration advertised via PvD Additional Information, such DNS zones or associated
proxies, can only be safely used when fetched over a secure TLS-protected connection,
and the client has validated that that the hostname of the proxy, the identifier of
the PvD, and the validated hostname identity on the certificate all match.</t>
      <t>When using information in destination rules (<xref target="destinations"/>), clients MUST only allow
the PvD configuration to narrow the scope of traffic that they will send through a proxy.
Clients that are configured by policy to only send a particular set of traffic through
a particular proxy can learn about rules that will cause them to send more narrowly-scoped
traffic, but MUST NOT send traffic that would go beyond what is allowed by local policy.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="proxies-key-iana">
        <name>New PvD Additional Information key</name>
        <t>This document registers two new keys in the "Additional Information PvD Keys" registry.</t>
        <section anchor="proxies-key">
          <name><tt>proxies</tt> Key</name>
          <t>JSON Key: proxies</t>
          <t>Description: Array of proxy dictionaries associated with this PvD</t>
          <t>Type: Array of dictionaries</t>
          <t>Example: [ {
  "protocol": "connect-udp",
  "proxy": "https://proxy.example.org/masque{?target_host,target_port}"
} ]</t>
        </section>
        <section anchor="proxy-match-key">
          <name><tt>proxy-match</tt> Key</name>
          <t>JSON Key: proxy-match</t>
          <t>Description: Array of proxy match rules, as dictionaries, associated with
entries in the <tt>proxies</tt> list.</t>
          <t>Type: Array of dictionaries</t>
          <t>Example: [ {
  "domains": [ "*.internal.example.org" ],
  "proxies": [ "default_proxy" ]
} ]</t>
        </section>
      </section>
      <section anchor="proxy-info-iana">
        <name>New PvD Proxy Information Registry</name>
        <t>IANA is requested to create a new registry "Proxy Information PvD Keys", within the "Provisioning Domains (PvDs)" registry page.
This new registry reserves JSON keys for use in sub-dictionaries under the <tt>proxies</tt> key.
The initial contents of this registry are given in <xref target="proxy-information-keys-table"/>.</t>
        <t>New assignments in the "Proxy Information PvD Keys" registry will be administered by IANA through Expert Review <xref target="RFC8126"/>. Experts are
requested to ensure that defined keys do not overlap in names or semantics.</t>
      </section>
      <section anchor="proxy-protocol-iana">
        <name>New PvD Proxy Protocol Registry</name>
        <t>IANA is requested to create a new registry "Proxy Protocol PvD Values", within the "Provisioning Domains (PvDs)" registry page.
This new registry reserves JSON values for the <tt>protocol</tt> key in <tt>proxies</tt> sub-dictionaries.
The initial contents of this registry are given in <xref target="proxy-protocol-value-table"/>.</t>
        <t>New assignments in the "Proxy Protocol PvD Values" registry will be administered by IANA through Expert Review <xref target="RFC8126"/>.
Experts are requested to ensure that defined keys do not overlap in names or semantics, do not contain an underscore character ("_")
in the names (since underscores are reserved for vendor-specific keys), and have clear format definitions.
The reference and notes fields MAY be empty.</t>
      </section>
      <section anchor="proxy-destination-iana">
        <name>New PvD Proxy Destination Rule Registry</name>
        <t>IANA is requested to create a new registry "Proxy Destination Rule PvD Keys", within the "Provisioning Domains (PvDs)" registry page.
This new registry reserves JSON keys for use in sub-dictionaries under the <tt>proxy-match</tt> key.
The initial contents of this registry are given in <xref target="destination-rule-keys-table"/>.</t>
        <t>New assignments in the "Proxy Destination Rule PvD Keys" registry will be administered by IANA through Expert Review <xref target="RFC8126"/>.
Experts are requested to ensure that defined keys do not overlap in names or semantics, and do not contain an underscore character ("_")
in the names (since underscores are reserved for vendor-specific keys).</t>
      </section>
      <section anchor="svcparamkey-iana">
        <name>New DNS SVCB Service Parameter Key (SvcParamKey)</name>
        <t>IANA is requested to add a new entry to the "DNS SVCB Service Parameter Keys (SvcParamKeys)" registry:</t>
        <ul spacing="normal">
          <li>
            <t>Number: TBD</t>
          </li>
          <li>
            <t>Name: pvd</t>
          </li>
          <li>
            <t>Meaning: PvD configuration is available at the well-known path</t>
          </li>
          <li>
            <t>Change Controller: IETF</t>
          </li>
          <li>
            <t>Reference: this document, <xref target="svcparamkey"/></t>
          </li>
        </ul>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="HTTP">
          <front>
            <title>HTTP Semantics</title>
            <author fullname="R. Fielding" initials="R." role="editor" surname="Fielding"/>
            <author fullname="M. Nottingham" initials="M." role="editor" surname="Nottingham"/>
            <author fullname="J. Reschke" initials="J." role="editor" surname="Reschke"/>
            <date month="June" year="2022"/>
            <abstract>
              <t>The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems. This document describes the overall architecture of HTTP, establishes common terminology, and defines aspects of the protocol that are shared by all versions. In this definition are core protocol elements, extensibility mechanisms, and the "http" and "https" Uniform Resource Identifier (URI) schemes.</t>
              <t>This document updates RFC 3864 and obsoletes RFCs 2818, 7231, 7232, 7233, 7235, 7538, 7615, 7694, and portions of 7230.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="97"/>
          <seriesInfo name="RFC" value="9110"/>
          <seriesInfo name="DOI" value="10.17487/RFC9110"/>
        </reference>
        <reference anchor="CONNECT-UDP">
          <front>
            <title>Proxying UDP in HTTP</title>
            <author fullname="D. Schinazi" initials="D." surname="Schinazi"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>This document describes how to proxy UDP in HTTP, similar to how the HTTP CONNECT method allows proxying TCP in HTTP. More specifically, this document defines a protocol that allows an HTTP client to create a tunnel for UDP communications through an HTTP server that acts as a proxy.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9298"/>
          <seriesInfo name="DOI" value="10.17487/RFC9298"/>
        </reference>
        <reference anchor="CONNECT-IP">
          <front>
            <title>Proxying IP in HTTP</title>
            <author fullname="T. Pauly" initials="T." role="editor" surname="Pauly"/>
            <author fullname="D. Schinazi" initials="D." surname="Schinazi"/>
            <author fullname="A. Chernyakhovsky" initials="A." surname="Chernyakhovsky"/>
            <author fullname="M. Kühlewind" initials="M." surname="Kühlewind"/>
            <author fullname="M. Westerlund" initials="M." surname="Westerlund"/>
            <date month="October" year="2023"/>
            <abstract>
              <t>This document describes how to proxy IP packets in HTTP. This protocol is similar to UDP proxying in HTTP but allows transmitting arbitrary IP packets. More specifically, this document defines a protocol that allows an HTTP client to create an IP tunnel through an HTTP server that acts as an IP proxy. This document updates RFC 9298.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9484"/>
          <seriesInfo name="DOI" value="10.17487/RFC9484"/>
        </reference>
        <reference anchor="URITEMPLATE">
          <front>
            <title>URI Template</title>
            <author fullname="J. Gregorio" initials="J." surname="Gregorio"/>
            <author fullname="R. Fielding" initials="R." surname="Fielding"/>
            <author fullname="M. Hadley" initials="M." surname="Hadley"/>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
            <author fullname="D. Orchard" initials="D." surname="Orchard"/>
            <date month="March" year="2012"/>
            <abstract>
              <t>A URI Template is a compact sequence of characters for describing a range of Uniform Resource Identifiers through variable expansion. This specification defines the URI Template syntax and the process for expanding a URI Template into a URI reference, along with guidelines for the use of URI Templates on the Internet. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6570"/>
          <seriesInfo name="DOI" value="10.17487/RFC6570"/>
        </reference>
        <reference anchor="PVDDATA">
          <front>
            <title>Discovering Provisioning Domain Names and Data</title>
            <author fullname="P. Pfister" initials="P." surname="Pfister"/>
            <author fullname="É. Vyncke" surname="É. Vyncke"/>
            <author fullname="T. Pauly" initials="T." surname="Pauly"/>
            <author fullname="D. Schinazi" initials="D." surname="Schinazi"/>
            <author fullname="W. Shao" initials="W." surname="Shao"/>
            <date month="July" year="2020"/>
            <abstract>
              <t>Provisioning Domains (PvDs) are defined as consistent sets of network configuration information. PvDs allows hosts to manage connections to multiple networks and interfaces simultaneously, such as when a home router provides connectivity through both a broadband and cellular network provider.</t>
              <t>This document defines a mechanism for explicitly identifying PvDs through a Router Advertisement (RA) option. This RA option announces a PvD identifier, which hosts can compare to differentiate between PvDs. The option can directly carry some information about a PvD and can optionally point to PvD Additional Information that can be retrieved using HTTP over TLS.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8801"/>
          <seriesInfo name="DOI" value="10.17487/RFC8801"/>
        </reference>
        <reference anchor="JSON">
          <front>
            <title>The JavaScript Object Notation (JSON) Data Interchange Format</title>
            <author fullname="T. Bray" initials="T." role="editor" surname="Bray"/>
            <date month="December" year="2017"/>
            <abstract>
              <t>JavaScript Object Notation (JSON) is a lightweight, text-based, language-independent data interchange format. It was derived from the ECMAScript Programming Language Standard. JSON defines a small set of formatting rules for the portable representation of structured data.</t>
              <t>This document removes inconsistencies with other specifications of JSON, repairs specification errors, and offers experience-based interoperability guidance.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="90"/>
          <seriesInfo name="RFC" value="8259"/>
          <seriesInfo name="DOI" value="10.17487/RFC8259"/>
        </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="SVCB-DNS">
          <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="SOCKSv5">
          <front>
            <title>SOCKS Protocol Version 5</title>
            <author fullname="M. Leech" initials="M." surname="Leech"/>
            <author fullname="M. Ganis" initials="M." surname="Ganis"/>
            <author fullname="Y. Lee" initials="Y." surname="Lee"/>
            <author fullname="R. Kuris" initials="R." surname="Kuris"/>
            <author fullname="D. Koblas" initials="D." surname="Koblas"/>
            <author fullname="L. Jones" initials="L." surname="Jones"/>
            <date month="March" year="1996"/>
            <abstract>
              <t>This memo describes a protocol that is an evolution of the previous version of the protocol, version 4 [1]. This new protocol stems from active discussions and prototype implementations. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="1928"/>
          <seriesInfo name="DOI" value="10.17487/RFC1928"/>
        </reference>
        <reference anchor="CONNECT-TCP">
          <front>
            <title>Template-Driven HTTP CONNECT Proxying for TCP</title>
            <author fullname="Benjamin M. Schwartz" initials="B. M." surname="Schwartz">
              <organization>Meta Platforms, Inc.</organization>
            </author>
            <date day="11" month="June" year="2025"/>
            <abstract>
              <t>   TCP proxying using HTTP CONNECT has long been part of the core HTTP
   specification.  However, this proxying functionality has several
   important deficiencies in modern HTTP environments.  This
   specification defines an alternative HTTP proxy service configuration
   for TCP connections.  This configuration is described by a URI
   Template, similar to the CONNECT-UDP and CONNECT-IP protocols.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-httpbis-connect-tcp-08"/>
        </reference>
        <reference anchor="ALPN">
          <front>
            <title>Transport Layer Security (TLS) Application-Layer Protocol Negotiation Extension</title>
            <author fullname="S. Friedl" initials="S." surname="Friedl"/>
            <author fullname="A. Popov" initials="A." surname="Popov"/>
            <author fullname="A. Langley" initials="A." surname="Langley"/>
            <author fullname="E. Stephan" initials="E." surname="Stephan"/>
            <date month="July" year="2014"/>
            <abstract>
              <t>This document describes a Transport Layer Security (TLS) extension for application-layer protocol negotiation within the TLS handshake. For instances in which multiple application protocols are supported on the same TCP or UDP port, this extension allows the application layer to negotiate which protocol will be used within the TLS connection.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7301"/>
          <seriesInfo name="DOI" value="10.17487/RFC7301"/>
        </reference>
        <reference anchor="RFC8126">
          <front>
            <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
            <author fullname="M. Cotton" initials="M." surname="Cotton"/>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <author fullname="T. Narten" initials="T." surname="Narten"/>
            <date month="June" year="2017"/>
            <abstract>
              <t>Many protocols make use of points of extensibility that use constants to identify various protocol parameters. To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper. For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t>
              <t>To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed. This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t>
              <t>This is the third edition of this document; it obsoletes RFC 5226.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="26"/>
          <seriesInfo name="RFC" value="8126"/>
          <seriesInfo name="DOI" value="10.17487/RFC8126"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="PVD">
          <front>
            <title>Multiple Provisioning Domain Architecture</title>
            <author fullname="D. Anipko" initials="D." role="editor" surname="Anipko"/>
            <date month="June" year="2015"/>
            <abstract>
              <t>This document is a product of the work of the Multiple Interfaces Architecture Design team. It outlines a solution framework for some of the issues experienced by nodes that can be attached to multiple networks simultaneously. The framework defines the concept of a Provisioning Domain (PvD), which is a consistent set of network configuration information. PvD-aware nodes learn PvD-specific information from the networks they are attached to and/or other sources. PvDs are used to enable separation and configuration consistency in the presence of multiple concurrent connections.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7556"/>
          <seriesInfo name="DOI" value="10.17487/RFC7556"/>
        </reference>
        <reference anchor="RFC3040">
          <front>
            <title>Internet Web Replication and Caching Taxonomy</title>
            <author fullname="I. Cooper" initials="I." surname="Cooper"/>
            <author fullname="I. Melve" initials="I." surname="Melve"/>
            <author fullname="G. Tomlinson" initials="G." surname="Tomlinson"/>
            <date month="January" year="2001"/>
            <abstract>
              <t>This memo specifies standard terminology and the taxonomy of web replication and caching infrastructure as deployed today. It introduces standard concepts, and protocols used today within this application domain. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3040"/>
          <seriesInfo name="DOI" value="10.17487/RFC3040"/>
        </reference>
        <reference anchor="IKEV2SPLIT">
          <front>
            <title>Split DNS Configuration for the Internet Key Exchange Protocol Version 2 (IKEv2)</title>
            <author fullname="T. Pauly" initials="T." surname="Pauly"/>
            <author fullname="P. Wouters" initials="P." surname="Wouters"/>
            <date month="May" year="2019"/>
            <abstract>
              <t>This document defines two Configuration Payload Attribute Types (INTERNAL_DNS_DOMAIN and INTERNAL_DNSSEC_TA) for the Internet Key Exchange Protocol version 2 (IKEv2). These payloads add support for private (internal-only) DNS domains. These domains are intended to be resolved using non-public DNS servers that are only reachable through the IPsec connection. DNS resolution for other domains remains unchanged. These Configuration Payloads only apply to split- tunnel configurations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8598"/>
          <seriesInfo name="DOI" value="10.17487/RFC8598"/>
        </reference>
        <reference anchor="RFC4861">
          <front>
            <title>Neighbor Discovery for IP version 6 (IPv6)</title>
            <author fullname="T. Narten" initials="T." surname="Narten"/>
            <author fullname="E. Nordmark" initials="E." surname="Nordmark"/>
            <author fullname="W. Simpson" initials="W." surname="Simpson"/>
            <author fullname="H. Soliman" initials="H." surname="Soliman"/>
            <date month="September" year="2007"/>
            <abstract>
              <t>This document specifies the Neighbor Discovery protocol for IP Version 6. IPv6 nodes on the same link use Neighbor Discovery to discover each other's presence, to determine each other's link-layer addresses, to find routers, and to maintain reachability information about the paths to active neighbors. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4861"/>
          <seriesInfo name="DOI" value="10.17487/RFC4861"/>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
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
z86fwzduzOcoDkj04/n6NzfqfwCL16oDYXwAAA==

-->

</rfc>
