rfc8777xml2.original.xml   rfc8777.xml 
<?xml version="1.0" encoding="UTF-8"?> <?xml version='1.0' encoding='utf-8'?>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?> <rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" category="std" conse
<!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.2.12 --> nsus="true" docName="draft-ietf-mboned-driad-amt-discovery-13" indexInclude="tru
e" ipr="trust200902" number="8777" prepTime="2020-04-23T09:39:05" scripts="Commo
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [ n,Latin" sortRefs="true" submissionType="IETF" symRefs="true" tocDepth="3" tocIn
]> clude="true" updates="7450" xml:lang="en">
<link href="https://datatracker.ietf.org/doc/draft-ietf-mboned-driad-amt-disco
<?rfc toc="yes"?> very-13" rel="prev"/>
<?rfc sortrefs="yes"?> <link href="https://dx.doi.org/10.17487/rfc8777" rel="alternate"/>
<?rfc symrefs="yes"?> <link href="urn:issn:2070-1721" rel="alternate"/>
<rfc ipr="trust200902" docName="draft-ietf-mboned-driad-amt-discovery-13" catego
ry="std" updates="7450">
<front> <front>
<title abbrev="DRIAD">DNS Reverse IP AMT (Automatic Multicast Tunneling) Dis <title abbrev="DRIAD">DNS Reverse IP Automatic Multicast Tunneling (AMT) Dis
covery</title> covery</title>
<seriesInfo name="RFC" value="8777" stream="IETF"/>
<author initials="J." surname="Holland" fullname="Jake Holland"> <author initials="J." surname="Holland" fullname="Jake Holland">
<organization>Akamai Technologies, Inc.</organization> <organization showOnFrontPage="true">Akamai Technologies, Inc.</organizati on>
<address> <address>
<postal> <postal>
<street>150 Broadway</street> <street>150 Broadway</street>
<city>Cambridge, MA 02144</city> <city>Cambridge</city>
<region>MA</region>
<code>02144</code>
<country>United States of America</country> <country>United States of America</country>
</postal> </postal>
<email>jakeholland.net@gmail.com</email> <email>jakeholland.net@gmail.com</email>
</address> </address>
</author> </author>
<date month="04" year="2020"/>
<date year="2019" month="December" day="20"/>
<area>Ops</area> <area>Ops</area>
<workgroup>Mboned</workgroup> <workgroup>Mboned</workgroup>
<keyword>Internet-Draft</keyword> <keyword>example</keyword>
<abstract pn="section-abstract">
<abstract> <t pn="section-abstract-1">This document updates RFC 7450, "Automatic Mult
icast Tunneling" (or AMT), by
<t>This document updates RFC 7450 (Automatic Multicast Tunneling, or AMT) by modifying the relay discovery process. A new DNS resource record named
modifying the relay discovery process. A new DNS resource record named AMTRELAY is defined for publishing AMT relays for source-specific multicast
AMTRELAY is defined for publishing AMT relays for source-specific multicast channels. The reverse IP DNS zone for a multicast sender's IP address is
channels. The reverse IP DNS zone for a multicast sender’s IP address is configured to use AMTRELAY resource records to advertise a set of AMT relays
configured to use AMTRELAY resource records to advertise a set of AMT relays that can receive and forward multicast traffic from that sender over an AMT
that can receive and forward multicast traffic from that sender over an AMT tunnel. Other extensions and clarifications to the relay discovery
tunnel. Other extensions and clarifications to the relay discovery process are also defined.</t>
process are also defined.</t>
</abstract> </abstract>
<boilerplate>
<section anchor="status-of-memo" numbered="false" removeInRFC="false" toc=
"exclude" pn="section-boilerplate.1">
<name slugifiedName="name-status-of-this-memo">Status of This Memo</name
>
<t pn="section-boilerplate.1-1">
This is an Internet Standards Track document.
</t>
<t pn="section-boilerplate.1-2">
This document is a product of the Internet Engineering Task Force
(IETF). It represents the consensus of the IETF community. It has
received public review and has been approved for publication by
the Internet Engineering Steering Group (IESG). Further
information on Internet Standards is available in Section 2 of
RFC 7841.
</t>
<t pn="section-boilerplate.1-3">
Information about the current status of this document, any
errata, and how to provide feedback on it may be obtained at
<eref target="https://www.rfc-editor.org/info/rfc8777" brackets="non
e"/>.
</t>
</section>
<section anchor="copyright" numbered="false" removeInRFC="false" toc="excl
ude" pn="section-boilerplate.2">
<name slugifiedName="name-copyright-notice">Copyright Notice</name>
<t pn="section-boilerplate.2-1">
Copyright (c) 2020 IETF Trust and the persons identified as the
document authors. All rights reserved.
</t>
<t pn="section-boilerplate.2-2">
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(<eref target="https://trustee.ietf.org/license-info" brackets="none
"/>) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with
respect to this document. Code Components extracted from this
document must include Simplified BSD License text as described in
Section 4.e of the Trust Legal Provisions and are provided without
warranty as described in the Simplified BSD License.
</t>
</section>
</boilerplate>
<toc>
<section anchor="toc" numbered="false" removeInRFC="false" toc="exclude" p
n="section-toc.1">
<name slugifiedName="name-table-of-contents">Table of Contents</name>
<ul bare="true" empty="true" indent="2" spacing="compact" pn="section-to
c.1-1">
<li pn="section-toc.1-1.1">
<t pn="section-toc.1-1.1.1"><xref derivedContent="1" format="counter
" sectionFormat="of" target="section-1"/>.  <xref derivedContent="" format="titl
e" sectionFormat="of" target="name-introduction">Introduction</xref></t>
<ul bare="true" empty="true" indent="2" spacing="compact" pn="sectio
n-toc.1-1.1.2">
<li pn="section-toc.1-1.1.2.1">
<t keepWithNext="true" pn="section-toc.1-1.1.2.1.1"><xref derive
dContent="1.1" format="counter" sectionFormat="of" target="section-1.1"/>.  <xre
f derivedContent="" format="title" sectionFormat="of" target="name-background">B
ackground</xref></t>
</li>
<li pn="section-toc.1-1.1.2.2">
<t pn="section-toc.1-1.1.2.2.1"><xref derivedContent="1.2" forma
t="counter" sectionFormat="of" target="section-1.2"/>.  <xref derivedContent=""
format="title" sectionFormat="of" target="name-terminology">Terminology</xref></
t>
<ul bare="true" empty="true" indent="2" spacing="compact" pn="se
ction-toc.1-1.1.2.2.2">
<li pn="section-toc.1-1.1.2.2.2.1">
<t keepWithNext="true" pn="section-toc.1-1.1.2.2.2.1.1"><xre
f derivedContent="1.2.1" format="counter" sectionFormat="of" target="section-1.2
.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-r
elays-and-gateways">Relays and Gateways</xref></t>
</li>
<li pn="section-toc.1-1.1.2.2.2.2">
<t keepWithNext="true" pn="section-toc.1-1.1.2.2.2.2.1"><xre
f derivedContent="1.2.2" format="counter" sectionFormat="of" target="section-1.2
.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-d
efinitions">Definitions</xref></t>
</li>
<li pn="section-toc.1-1.1.2.2.2.3">
<t pn="section-toc.1-1.1.2.2.2.3.1"><xref derivedContent="1.
2.3" format="counter" sectionFormat="of" target="section-1.2.3"/>.  <xref derive
dContent="" format="title" sectionFormat="of" target="name-requirements-language
">Requirements Language</xref></t>
</li>
</ul>
</li>
</ul>
</li>
<li pn="section-toc.1-1.2">
<t pn="section-toc.1-1.2.1"><xref derivedContent="2" format="counter
" sectionFormat="of" target="section-2"/>.  <xref derivedContent="" format="titl
e" sectionFormat="of" target="name-relay-discovery-overview">Relay Discovery Ove
rview</xref></t>
<ul bare="true" empty="true" indent="2" spacing="compact" pn="sectio
n-toc.1-1.2.2">
<li pn="section-toc.1-1.2.2.1">
<t pn="section-toc.1-1.2.2.1.1"><xref derivedContent="2.1" forma
t="counter" sectionFormat="of" target="section-2.1"/>.  <xref derivedContent=""
format="title" sectionFormat="of" target="name-basic-mechanics">Basic Mechanics<
/xref></t>
</li>
<li pn="section-toc.1-1.2.2.2">
<t pn="section-toc.1-1.2.2.2.1"><xref derivedContent="2.2" forma
t="counter" sectionFormat="of" target="section-2.2"/>.  <xref derivedContent=""
format="title" sectionFormat="of" target="name-signaling-and-discovery">Signalin
g and Discovery</xref></t>
</li>
<li pn="section-toc.1-1.2.2.3">
<t pn="section-toc.1-1.2.2.3.1"><xref derivedContent="2.3" forma
t="counter" sectionFormat="of" target="section-2.3"/>.  <xref derivedContent=""
format="title" sectionFormat="of" target="name-example-deployments">Example Depl
oyments</xref></t>
<ul bare="true" empty="true" indent="2" spacing="compact" pn="se
ction-toc.1-1.2.2.3.2">
<li pn="section-toc.1-1.2.2.3.2.1">
<t pn="section-toc.1-1.2.2.3.2.1.1"><xref derivedContent="2.
3.1" format="counter" sectionFormat="of" target="section-2.3.1"/>.  <xref derive
dContent="" format="title" sectionFormat="of" target="name-example-receiving-net
works">Example Receiving Networks</xref></t>
</li>
<li pn="section-toc.1-1.2.2.3.2.2">
<t pn="section-toc.1-1.2.2.3.2.2.1"><xref derivedContent="2.
3.2" format="counter" sectionFormat="of" target="section-2.3.2"/>.  <xref derive
dContent="" format="title" sectionFormat="of" target="name-example-sending-netwo
rks">Example Sending Networks</xref></t>
</li>
</ul>
</li>
</ul>
</li>
<li pn="section-toc.1-1.3">
<t pn="section-toc.1-1.3.1"><xref derivedContent="3" format="counter
" sectionFormat="of" target="section-3"/>.  <xref derivedContent="" format="titl
e" sectionFormat="of" target="name-relay-discovery-operation">Relay Discovery Op
eration</xref></t>
<ul bare="true" empty="true" indent="2" spacing="compact" pn="sectio
n-toc.1-1.3.2">
<li pn="section-toc.1-1.3.2.1">
<t pn="section-toc.1-1.3.2.1.1"><xref derivedContent="3.1" forma
t="counter" sectionFormat="of" target="section-3.1"/>.  <xref derivedContent=""
format="title" sectionFormat="of" target="name-optimal-relay-selection">Optimal
Relay Selection</xref></t>
<ul bare="true" empty="true" indent="2" spacing="compact" pn="se
ction-toc.1-1.3.2.1.2">
<li pn="section-toc.1-1.3.2.1.2.1">
<t pn="section-toc.1-1.3.2.1.2.1.1"><xref derivedContent="3.
1.1" format="counter" sectionFormat="of" target="section-3.1.1"/>.  <xref derive
dContent="" format="title" sectionFormat="of" target="name-overview">Overview</x
ref></t>
</li>
<li pn="section-toc.1-1.3.2.1.2.2">
<t pn="section-toc.1-1.3.2.1.2.2.1"><xref derivedContent="3.
1.2" format="counter" sectionFormat="of" target="section-3.1.2"/>.  <xref derive
dContent="" format="title" sectionFormat="of" target="name-preference-ordering">
Preference Ordering</xref></t>
</li>
<li pn="section-toc.1-1.3.2.1.2.3">
<t pn="section-toc.1-1.3.2.1.2.3.1"><xref derivedContent="3.
1.3" format="counter" sectionFormat="of" target="section-3.1.3"/>.  <xref derive
dContent="" format="title" sectionFormat="of" target="name-connecting-to-multipl
e-rela">Connecting to Multiple Relays</xref></t>
</li>
</ul>
</li>
<li pn="section-toc.1-1.3.2.2">
<t pn="section-toc.1-1.3.2.2.1"><xref derivedContent="3.2" forma
t="counter" sectionFormat="of" target="section-3.2"/>.  <xref derivedContent=""
format="title" sectionFormat="of" target="name-happy-eyeballs">Happy Eyeballs</x
ref></t>
<ul bare="true" empty="true" indent="2" spacing="compact" pn="se
ction-toc.1-1.3.2.2.2">
<li pn="section-toc.1-1.3.2.2.2.1">
<t pn="section-toc.1-1.3.2.2.2.1.1"><xref derivedContent="3.
2.1" format="counter" sectionFormat="of" target="section-3.2.1"/>.  <xref derive
dContent="" format="title" sectionFormat="of" target="name-overview-2">Overview<
/xref></t>
</li>
<li pn="section-toc.1-1.3.2.2.2.2">
<t pn="section-toc.1-1.3.2.2.2.2.1"><xref derivedContent="3.
2.2" format="counter" sectionFormat="of" target="section-3.2.2"/>.  <xref derive
dContent="" format="title" sectionFormat="of" target="name-algorithm-guidelines"
>Algorithm Guidelines</xref></t>
</li>
<li pn="section-toc.1-1.3.2.2.2.3">
<t pn="section-toc.1-1.3.2.2.2.3.1"><xref derivedContent="3.
2.3" format="counter" sectionFormat="of" target="section-3.2.3"/>.  <xref derive
dContent="" format="title" sectionFormat="of" target="name-connection-definition
">Connection Definition</xref></t>
</li>
</ul>
</li>
<li pn="section-toc.1-1.3.2.3">
<t pn="section-toc.1-1.3.2.3.1"><xref derivedContent="3.3" forma
t="counter" sectionFormat="of" target="section-3.3"/>.  <xref derivedContent=""
format="title" sectionFormat="of" target="name-guidelines-for-restarting-d">Guid
elines for Restarting Discovery</xref></t>
<ul bare="true" empty="true" indent="2" spacing="compact" pn="se
ction-toc.1-1.3.2.3.2">
<li pn="section-toc.1-1.3.2.3.2.1">
<t pn="section-toc.1-1.3.2.3.2.1.1"><xref derivedContent="3.
3.1" format="counter" sectionFormat="of" target="section-3.3.1"/>.  <xref derive
dContent="" format="title" sectionFormat="of" target="name-overview-3">Overview<
/xref></t>
</li>
<li pn="section-toc.1-1.3.2.3.2.2">
<t pn="section-toc.1-1.3.2.3.2.2.1"><xref derivedContent="3.
3.2" format="counter" sectionFormat="of" target="section-3.3.2"/>.  <xref derive
dContent="" format="title" sectionFormat="of" target="name-updates-to-restarting
-event">Updates to Restarting Events</xref></t>
</li>
<li pn="section-toc.1-1.3.2.3.2.3">
<t pn="section-toc.1-1.3.2.3.2.3.1"><xref derivedContent="3.
3.3" format="counter" sectionFormat="of" target="section-3.3.3"/>.  <xref derive
dContent="" format="title" sectionFormat="of" target="name-tunnel-stability">Tun
nel Stability</xref></t>
</li>
<li pn="section-toc.1-1.3.2.3.2.4">
<t pn="section-toc.1-1.3.2.3.2.4.1"><xref derivedContent="3.
3.4" format="counter" sectionFormat="of" target="section-3.3.4"/>.  <xref derive
dContent="" format="title" sectionFormat="of" target="name-traffic-health">Traff
ic Health</xref></t>
</li>
<li pn="section-toc.1-1.3.2.3.2.5">
<t pn="section-toc.1-1.3.2.3.2.5.1"><xref derivedContent="3.
3.5" format="counter" sectionFormat="of" target="section-3.3.5"/>.  <xref derive
dContent="" format="title" sectionFormat="of" target="name-relay-loaded-or-shutt
ing-do">Relay Loaded or Shutting Down</xref></t>
</li>
<li pn="section-toc.1-1.3.2.3.2.6">
<t pn="section-toc.1-1.3.2.3.2.6.1"><xref derivedContent="3.
3.6" format="counter" sectionFormat="of" target="section-3.3.6"/>.  <xref derive
dContent="" format="title" sectionFormat="of" target="name-relay-discovery-messa
ges-vs">Relay Discovery Messages vs. Restarting Discovery</xref></t>
</li>
<li pn="section-toc.1-1.3.2.3.2.7">
<t pn="section-toc.1-1.3.2.3.2.7.1"><xref derivedContent="3.
3.7" format="counter" sectionFormat="of" target="section-3.3.7"/>.  <xref derive
dContent="" format="title" sectionFormat="of" target="name-independent-discovery
-per-t">Independent Discovery per Traffic Source</xref></t>
</li>
</ul>
</li>
<li pn="section-toc.1-1.3.2.4">
<t pn="section-toc.1-1.3.2.4.1"><xref derivedContent="3.4" forma
t="counter" sectionFormat="of" target="section-3.4"/>.  <xref derivedContent=""
format="title" sectionFormat="of" target="name-dns-configuration">DNS Configurat
ion</xref></t>
</li>
<li pn="section-toc.1-1.3.2.5">
<t pn="section-toc.1-1.3.2.5.1"><xref derivedContent="3.5" forma
t="counter" sectionFormat="of" target="section-3.5"/>.  <xref derivedContent=""
format="title" sectionFormat="of" target="name-waiting-for-dns-resolution">Waiti
ng for DNS Resolution</xref></t>
</li>
</ul>
</li>
<li pn="section-toc.1-1.4">
<t pn="section-toc.1-1.4.1"><xref derivedContent="4" format="counter
" sectionFormat="of" target="section-4"/>.  <xref derivedContent="" format="titl
e" sectionFormat="of" target="name-amtrelay-resource-record-de">AMTRELAY Resourc
e Record Definition</xref></t>
<ul bare="true" empty="true" indent="2" spacing="compact" pn="sectio
n-toc.1-1.4.2">
<li pn="section-toc.1-1.4.2.1">
<t pn="section-toc.1-1.4.2.1.1"><xref derivedContent="4.1" forma
t="counter" sectionFormat="of" target="section-4.1"/>.  <xref derivedContent=""
format="title" sectionFormat="of" target="name-amtrelay-rrtype">AMTRELAY RRType<
/xref></t>
</li>
<li pn="section-toc.1-1.4.2.2">
<t pn="section-toc.1-1.4.2.2.1"><xref derivedContent="4.2" forma
t="counter" sectionFormat="of" target="section-4.2"/>.  <xref derivedContent=""
format="title" sectionFormat="of" target="name-amtrelay-rdata-format">AMTRELAY R
Data Format</xref></t>
<ul bare="true" empty="true" indent="2" spacing="compact" pn="se
ction-toc.1-1.4.2.2.2">
<li pn="section-toc.1-1.4.2.2.2.1">
<t pn="section-toc.1-1.4.2.2.2.1.1"><xref derivedContent="4.
2.1" format="counter" sectionFormat="of" target="section-4.2.1"/>.  <xref derive
dContent="" format="title" sectionFormat="of" target="name-rdata-format-preceden
ce">RData Format - Precedence</xref></t>
</li>
<li pn="section-toc.1-1.4.2.2.2.2">
<t pn="section-toc.1-1.4.2.2.2.2.1"><xref derivedContent="4.
2.2" format="counter" sectionFormat="of" target="section-4.2.2"/>.  <xref derive
dContent="" format="title" sectionFormat="of" target="name-rdata-format-discover
y-opti">RData Format - Discovery Optional (D-bit)</xref></t>
</li>
<li pn="section-toc.1-1.4.2.2.2.3">
<t pn="section-toc.1-1.4.2.2.2.3.1"><xref derivedContent="4.
2.3" format="counter" sectionFormat="of" target="section-4.2.3"/>.  <xref derive
dContent="" format="title" sectionFormat="of" target="name-rdata-format-type">RD
ata Format - Type</xref></t>
</li>
<li pn="section-toc.1-1.4.2.2.2.4">
<t pn="section-toc.1-1.4.2.2.2.4.1"><xref derivedContent="4.
2.4" format="counter" sectionFormat="of" target="section-4.2.4"/>.  <xref derive
dContent="" format="title" sectionFormat="of" target="name-rdata-format-relay">R
Data Format - Relay</xref></t>
</li>
</ul>
</li>
<li pn="section-toc.1-1.4.2.3">
<t pn="section-toc.1-1.4.2.3.1"><xref derivedContent="4.3" forma
t="counter" sectionFormat="of" target="section-4.3"/>.  <xref derivedContent=""
format="title" sectionFormat="of" target="name-amtrelay-record-presentatio">AMTR
ELAY Record Presentation Format</xref></t>
<ul bare="true" empty="true" indent="2" spacing="compact" pn="se
ction-toc.1-1.4.2.3.2">
<li pn="section-toc.1-1.4.2.3.2.1">
<t pn="section-toc.1-1.4.2.3.2.1.1"><xref derivedContent="4.
3.1" format="counter" sectionFormat="of" target="section-4.3.1"/>.  <xref derive
dContent="" format="title" sectionFormat="of" target="name-representation-of-amt
relay-">Representation of AMTRELAY RRs</xref></t>
</li>
<li pn="section-toc.1-1.4.2.3.2.2">
<t pn="section-toc.1-1.4.2.3.2.2.1"><xref derivedContent="4.
3.2" format="counter" sectionFormat="of" target="section-4.3.2"/>.  <xref derive
dContent="" format="title" sectionFormat="of" target="name-examples">Examples</x
ref></t>
</li>
</ul>
</li>
</ul>
</li>
<li pn="section-toc.1-1.5">
<t pn="section-toc.1-1.5.1"><xref derivedContent="5" format="counter
" sectionFormat="of" target="section-5"/>.  <xref derivedContent="" format="titl
e" sectionFormat="of" target="name-iana-considerations">IANA Considerations</xre
f></t>
</li>
<li pn="section-toc.1-1.6">
<t pn="section-toc.1-1.6.1"><xref derivedContent="6" format="counter
" sectionFormat="of" target="section-6"/>.  <xref derivedContent="" format="titl
e" sectionFormat="of" target="name-security-considerations">Security Considerati
ons</xref></t>
<ul bare="true" empty="true" indent="2" spacing="compact" pn="sectio
n-toc.1-1.6.2">
<li pn="section-toc.1-1.6.2.1">
<t pn="section-toc.1-1.6.2.1.1"><xref derivedContent="6.1" forma
t="counter" sectionFormat="of" target="section-6.1"/>.  <xref derivedContent=""
format="title" sectionFormat="of" target="name-use-of-amt">Use of AMT</xref></t>
</li>
<li pn="section-toc.1-1.6.2.2">
<t pn="section-toc.1-1.6.2.2.1"><xref derivedContent="6.2" forma
t="counter" sectionFormat="of" target="section-6.2"/>.  <xref derivedContent=""
format="title" sectionFormat="of" target="name-record-spoofing">Record-Spoofing<
/xref></t>
</li>
<li pn="section-toc.1-1.6.2.3">
<t pn="section-toc.1-1.6.2.3.1"><xref derivedContent="6.3" forma
t="counter" sectionFormat="of" target="section-6.3"/>.  <xref derivedContent=""
format="title" sectionFormat="of" target="name-congestion">Congestion</xref></t>
</li>
</ul>
</li>
<li pn="section-toc.1-1.7">
<t pn="section-toc.1-1.7.1"><xref derivedContent="7" format="counter
" sectionFormat="of" target="section-7"/>.  <xref derivedContent="" format="titl
e" sectionFormat="of" target="name-references">References</xref></t>
<ul bare="true" empty="true" indent="2" spacing="compact" pn="sectio
n-toc.1-1.7.2">
<li pn="section-toc.1-1.7.2.1">
<t pn="section-toc.1-1.7.2.1.1"><xref derivedContent="7.1" forma
t="counter" sectionFormat="of" target="section-7.1"/>.  <xref derivedContent=""
format="title" sectionFormat="of" target="name-normative-references">Normative R
eferences</xref></t>
</li>
<li pn="section-toc.1-1.7.2.2">
<t pn="section-toc.1-1.7.2.2.1"><xref derivedContent="7.2" forma
t="counter" sectionFormat="of" target="section-7.2"/>.  <xref derivedContent=""
format="title" sectionFormat="of" target="name-informative-references">Informati
ve References</xref></t>
</li>
</ul>
</li>
<li pn="section-toc.1-1.8">
<t pn="section-toc.1-1.8.1"><xref derivedContent="Appendix A" format
="default" sectionFormat="of" target="section-appendix.a"/>.  <xref derivedConte
nt="" format="title" sectionFormat="of" target="name-unknown-rrtype-construction
">Unknown RRType Construction</xref></t>
</li>
<li pn="section-toc.1-1.9">
<t pn="section-toc.1-1.9.1"><xref derivedContent="" format="none" se
ctionFormat="of" target="section-appendix.b"/><xref derivedContent="" format="ti
tle" sectionFormat="of" target="name-acknowledgements">Acknowledgements</xref></
t>
</li>
<li pn="section-toc.1-1.10">
<t pn="section-toc.1-1.10.1"><xref derivedContent="" format="none" s
ectionFormat="of" target="section-appendix.c"/><xref derivedContent="" format="t
itle" sectionFormat="of" target="name-authors-address">Author's Address</xref></
t>
</li>
</ul>
</section>
</toc>
</front> </front>
<middle> <middle>
<section anchor="intro" numbered="true" toc="include" removeInRFC="false" pn
="section-1">
<name slugifiedName="name-introduction">Introduction</name>
<t pn="section-1-1">This document defines DNS Reverse IP AMT Discovery (DR
IAD), a mechanism for
AMT gateways to discover AMT relays that are capable of forwarding multicast
traffic from a known source IP address.</t>
<t pn="section-1-2">AMT (Automatic Multicast Tunneling) is defined in <xre
f target="RFC7450" format="default" sectionFormat="of" derivedContent="RFC7450"/
> and provides
a method to transport multicast traffic over a unicast tunnel in order to
traverse network segments that are not multicast capable.</t>
<t pn="section-1-3"><xref target="RFC7450" sectionFormat="of" section="4.1
.5" format="default" derivedLink="https://rfc-editor.org/rfc/rfc7450#section-4.1
.5" derivedContent="RFC7450"/> explains that the relay selection process
for AMT is intended to be more flexible than the particular discovery method
described in that document. That section further explains that the selection pr
ocess
might need to depend on the source of the multicast traffic in some
deployments, since a relay must be able to receive multicast traffic from the
desired source in order to forward it.</t>
<t pn="section-1-4"><xref target="RFC7450" sectionFormat="of" section="4.1
.5" format="default" derivedLink="https://rfc-editor.org/rfc/rfc7450#section-4.1
.5" derivedContent="RFC7450"/> goes on
to suggest DNS-based queries as a possible solution: DRIAD is DNS based.
This solution also
addresses the relay discovery issues in the "Disadvantages of this configuratio
n" lists in Sections
<xref target="RFC8313" sectionFormat="bare" section="3.3" format="default" deri
vedLink="https://rfc-editor.org/rfc/rfc8313#section-3.3" derivedContent="RFC8313
"/> and
<xref target="RFC8313" sectionFormat="bare" section="3.4" format="default" deri
vedLink="https://rfc-editor.org/rfc/rfc8313#section-3.4" derivedContent="RFC8313
"/> of <xref target="RFC8313" format="default" sectionFormat="of" derivedContent
="RFC8313"/>.</t>
<t pn="section-1-5">The goal for DRIAD is to enable multicast connectivity
between separate
multicast-enabled networks without preconfiguring any
peering arrangements between the networks when neither the sending nor the rece
iving network
is connected to a multicast-enabled backbone.</t>
<t pn="section-1-6">This document extends the relay discovery procedure de
scribed in <xref target="RFC7450" sectionFormat="of" section="5.2.3.4" format="d
efault" derivedLink="https://rfc-editor.org/rfc/rfc7450#section-5.2.3.4" derived
Content="RFC7450"/>.</t>
<section anchor="background" numbered="true" toc="include" removeInRFC="fa
lse" pn="section-1.1">
<name slugifiedName="name-background">Background</name>
<t pn="section-1.1-1">The reader is assumed to be familiar with the basi
c DNS concepts
described in <xref target="RFC1034" format="default" sectionFormat="of" derived
Content="RFC1034"/>, <xref target="RFC1035" format="default" sectionFormat="of"
derivedContent="RFC1035"/>, and the subsequent documents that update them, parti
cularly <xref target="RFC2181" format="default" sectionFormat="of" derivedConten
t="RFC2181"/>.</t>
<t pn="section-1.1-2">The reader is also assumed to be familiar with the
concepts and terminology
regarding source-specific multicast as described in <xref target="RFC4607" form
at="default" sectionFormat="of" derivedContent="RFC4607"/> and the
use of Internet Group Management Protocol Version 3 (IGMPv3) <xref target="RFC3
376" format="default" sectionFormat="of" derivedContent="RFC3376"/> and Multicas
t Listener Discovery Version 2
(MLDv2) <xref target="RFC3810" format="default" sectionFormat="of" derivedConte
nt="RFC3810"/> for group management of
source-specific multicast channels, as described in <xref target="RFC4604" form
at="default" sectionFormat="of" derivedContent="RFC4604"/>.</t>
<t pn="section-1.1-3">The reader should also be familiar with AMT, parti
cularly the terminology
listed in Sections <xref target="RFC7450" sectionFormat="bare" section="3.2" fo
rmat="default" derivedLink="https://rfc-editor.org/rfc/rfc7450#section-3.2" deri
vedContent="RFC7450"/>
and <xref target="RFC7450" sectionFormat="bare" section="3.3" format="de
fault" derivedLink="https://rfc-editor.org/rfc/rfc7450#section-3.3" derivedConte
nt="RFC7450"/> of <xref target="RFC7450" format="default" sectionFormat="of" der
ivedContent="RFC7450"/>.</t>
</section>
<section anchor="terminology" numbered="true" toc="include" removeInRFC="f
alse" pn="section-1.2">
<name slugifiedName="name-terminology">Terminology</name>
<section anchor="relays-and-gateways" numbered="true" toc="include" remo
veInRFC="false" pn="section-1.2.1">
<name slugifiedName="name-relays-and-gateways">Relays and Gateways</na
me>
<t pn="section-1.2.1-1">When reading this document, it's especially he
lpful to recall that once
an AMT tunnel is established, the relay receives native multicast traffic
and sends unicast tunnel-encapsulated traffic to the gateway. The gateway
receives the tunnel-encapsulated packets, decapsulates them, and forwards
them as native multicast packets, as illustrated in <xref target="figtunnel" fo
rmat="default" sectionFormat="of" derivedContent="Figure 1"/>.</t>
<figure anchor="figtunnel" align="left" suppress-title="false" pn="fig
ure-1">
<name slugifiedName="name-amt-tunnel-illustration">AMT Tunnel Illust
ration</name>
<artwork name="" type="" align="left" alt="" pn="section-1.2.1-2.1">
<section anchor="intro" title="Introduction"> Multicast +-----------+ Unicast +-------------+ Multicast
&gt;---------&gt; | AMT relay | &gt;=======&gt; | AMT gateway | &gt;---------&g
<t>This document defines DNS Reverse IP AMT Discovery (DRIAD), a mechanism for t;
AMT gateways to discover AMT relays that are capable of forwarding multicast +-----------+ +-------------+
traffic from a known source IP address.</t> </artwork>
</figure>
<t>AMT (Automatic Multicast Tunneling) is defined in <xref target="RFC7450"/>, a </section>
nd provides <section anchor="definitions" numbered="true" toc="include" removeInRFC=
a method to transport multicast traffic over a unicast tunnel, in order to "false" pn="section-1.2.2">
traverse non-multicast-capable network segments.</t> <name slugifiedName="name-definitions">Definitions</name>
<table align="center" pn="table-1">
<t>Section 4.1.5 of <xref target="RFC7450"/> explains that the relay selection p <name slugifiedName="name-definitions-2">Definitions</name>
rocess <thead>
for AMT is intended to be more flexible than the particular discovery method <tr>
described in that document, and further explains that the selection process <th align="right" colspan="1" rowspan="1">Term</th>
might need to depend on the source of the multicast traffic in some <th align="left" colspan="1" rowspan="1">Definition</th>
deployments, since a relay must be able to receive multicast traffic from the </tr>
desired source in order to forward it.</t> </thead>
<tbody>
<t>That section goes on to suggest DNS-based queries as a possible solution. <tr>
DRIAD is a DNS-based solution, as suggested there. This solution also <td align="right" colspan="1" rowspan="1">(S,G)</td>
addresses the relay discovery issues in the “Disadvantages” lists in Section <td align="left" colspan="1" rowspan="1">A source-specific multi
3.3 of <xref target="RFC8313"/> and Section 3.4 of <xref target="RFC8313"/>.</t> cast channel, as described in <xref target="RFC4607" format="default" sectionFor
mat="of" derivedContent="RFC4607"/>. A pair of IP addresses with a source host I
<t>The goal for DRIAD is to enable multicast connectivity between separate P and destination group IP.</td>
multicast-enabled networks when neither the sending nor the receiving network </tr>
is connected to a multicast-enabled backbone, without pre-configuring any <tr>
peering arrangement between the networks.</t> <td align="right" colspan="1" rowspan="1">CMTS</td>
<td align="left" colspan="1" rowspan="1">Cable Modem Termination
<t>This document extends the relay discovery procedure described in Section System</td>
5.2.3.4 of <xref target="RFC7450"/>.</t> </tr>
<tr>
<section anchor="background" title="Background"> <td align="right" colspan="1" rowspan="1">discovery broker</td>
<td align="left" colspan="1" rowspan="1">A broker or load balanc
<t>The reader is assumed to be familiar with the basic DNS concepts er for AMT relay
described in <xref target="RFC1034"/>, <xref target="RFC1035"/>, and the subsequ discovery, as mentioned in <xref target="RFC7450" sectionFormat=
ent documents that "of" section="4.2.1.1" format="default" derivedLink="https://rfc-editor.org/rfc/
update them, particularly <xref target="RFC2181"/>.</t> rfc7450#section-4.2.1.1" derivedContent="RFC7450"/>.</td>
</tr>
<t>The reader is also assumed to be familiar with the concepts and terminology <tr>
regarding source-specific multicast as described in <xref target="RFC4607"/> and <td align="right" colspan="1" rowspan="1">downstream</td>
the <td align="left" colspan="1" rowspan="1">Further from the source
use of IGMPv3 <xref target="RFC3376"/> and MLDv2 <xref target="RFC3810"/> for gr of traffic, as described in <xref target="RFC7450" format="default" sectionForm
oup management of at="of" derivedContent="RFC7450"/>.</td>
source-specific multicast channels, as described in <xref target="RFC4604"/>.</t </tr>
> <tr>
<td align="right" colspan="1" rowspan="1">FQDN</td>
<t>The reader should also be familiar with AMT, particularly the terminology <td align="left" colspan="1" rowspan="1">Fully Qualified Domain
listed in Section 3.2 of <xref target="RFC7450"/> and Section 3.3 of <xref targe Name, as described in <xref target="RFC8499" format="default" sectionFormat="of"
t="RFC7450"/>.</t> derivedContent="RFC8499"/>.</td>
</tr>
</section> <tr>
<section anchor="terminology" title="Terminology"> <td align="right" colspan="1" rowspan="1">gateway</td>
<td align="left" colspan="1" rowspan="1">An AMT gateway, as desc
<section anchor="relays-and-gateways" title="Relays and Gateways"> ribed in <xref target="RFC7450" format="default" sectionFormat="of" derivedConte
nt="RFC7450"/>.</td>
<t>When reading this document, it’s especially helpful to recall that once </tr>
an AMT tunnel is established, the relay receives native multicast traffic <tr>
and sends unicast tunnel-encapsulated traffic to the gateway, and the gateway <td align="right" colspan="1" rowspan="1">L flag</td>
receives the tunnel-encapsulated packets, decapsulates them, and forwards <td align="left" colspan="1" rowspan="1">The "Limit" flag descri
them as native multicast packets, as illustrated in <xref target="figtunnel"/>.< bed in <xref target="RFC7450" sectionFormat="of" section="5.1.4.4" format="defau
/t> lt" derivedLink="https://rfc-editor.org/rfc/rfc7450#section-5.1.4.4" derivedCont
ent="RFC7450"/>.</td>
<figure title="AMT Tunnel Illustration" anchor="figtunnel"><artwork><![CDATA[ </tr>
<tr>
Multicast +-----------+ Unicast +-------------+ Multicast <td align="right" colspan="1" rowspan="1">OLT</td>
>---------> | AMT relay | >=======> | AMT gateway | >---------> <td align="left" colspan="1" rowspan="1">Optical Line Terminal</
+-----------+ +-------------+ td>
]]></artwork></figure> </tr>
<tr>
</section> <td align="right" colspan="1" rowspan="1">relay</td>
<section anchor="definitions" title="Definitions"> <td align="left" colspan="1" rowspan="1">An AMT relay, as descri
bed in <xref target="RFC7450" format="default" sectionFormat="of" derivedContent
<texttable> ="RFC7450"/>.</td>
<ttcol align='right'>Term</ttcol> </tr>
<ttcol align='left'>Definition</ttcol> <tr>
<c>(S,G)</c> <td align="right" colspan="1" rowspan="1">RPF</td>
<c>A source-specific multicast channel, as described in <xref target="RFC4 <td align="left" colspan="1" rowspan="1">Reverse Path Forwarding
607"/>. A pair of IP addresses with a source host IP and destination group IP.</ , as described in <xref target="RFC5110" format="default" sectionFormat="of" der
c> ivedContent="RFC5110"/>.</td>
<c>discovery broker</c> </tr>
<c>A broker or load balancer for AMT relay discovery, as mentioned in sect <tr>
ion 4.2.1.1 of <xref target="RFC7450"/>.</c> <td align="right" colspan="1" rowspan="1">RR</td>
<c>downstream</c> <td align="left" colspan="1" rowspan="1">A DNS Resource Record,
<c>Further from the source of traffic, as described in <xref target="RFC74 as described in <xref target="RFC1034" format="default" sectionFormat="of" deriv
50"/>.</c> edContent="RFC1034"/>.</td>
<c>FQDN</c> </tr>
<c>Fully Qualified Domain Name, as described in <xref target="RFC8499"/></ <tr>
c> <td align="right" colspan="1" rowspan="1">RRType</td>
<c>gateway</c> <td align="left" colspan="1" rowspan="1">A DNS Resource Record T
<c>An AMT gateway, as described in <xref target="RFC7450"/></c> ype, as described in <xref target="RFC1034" format="default" sectionFormat="of"
<c>L flag</c> derivedContent="RFC1034"/>.</td>
<c>The “Limit” flag described in Section 5.1.4.4 of <xref target="RFC7450" </tr>
/></c> <tr>
<c>relay</c> <td align="right" colspan="1" rowspan="1">SSM</td>
<c>An AMT relay, as described in <xref target="RFC7450"/></c> <td align="left" colspan="1" rowspan="1">Source-specific multica
<c>RPF</c> st, as described in <xref target="RFC4607" format="default" sectionFormat="of" d
<c>Reverse Path Forwarding, as described in <xref target="RFC5110"/></c> erivedContent="RFC4607"/>.</td>
<c>RR</c> </tr>
<c>A DNS Resource Record, as described in <xref target="RFC1034"/></c> <tr>
<c>RRType</c> <td align="right" colspan="1" rowspan="1">upstream</td>
<c>A DNS Resource Record Type, as described in <xref target="RFC1034"/></c <td align="left" colspan="1" rowspan="1">Closer to the source of
> traffic, as described in <xref target="RFC7450" format="default" sectionFormat=
<c>SSM</c> "of" derivedContent="RFC7450"/>.</td>
<c>Source-specific multicast, as described in <xref target="RFC4607"/></c> </tr>
<c>upstream</c> </tbody>
<c>Closer to the source of traffic, as described in <xref target="RFC7450" </table>
/>.</c> </section>
<c>CMTS</c> <section anchor="reqs" numbered="true" toc="include" removeInRFC="false"
<c>Cable Modem Termination System</c> pn="section-1.2.3">
<c>OLT</c> <name slugifiedName="name-requirements-language">Requirements Language
<c>Optical Line Terminal</c> </name>
</texttable> <t pn="section-1.2.3-1">
The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQ
<t>The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL UIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL NOT</bcp14>", "<bcp14>SHOU
NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “NOT RECOMMENDED”, LD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>
“MAY”, and “OPTIONAL” in this document are to be interpreted as NOT RECOMMENDED</bcp14>",
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to
only when, they be interpreted as
appear in all capitals, as shown here.</t> described in BCP 14 <xref target="RFC2119" format="default" sectionFormat="
of" derivedContent="RFC2119"/> <xref target="RFC8174" format="default" sectionFo
</section> rmat="of" derivedContent="RFC8174"/>
</section> when, and only when, they appear in all capitals, as shown here.
</section> </t>
<section anchor="relay-discovery-overview" title="Relay Discovery Overview"> </section>
</section>
<section anchor="basic-mechanics" title="Basic Mechanics"> </section>
<section anchor="relay-discovery-overview" numbered="true" toc="include" rem
<t>The AMTRELAY resource record (RR) defined in this document is used to oveInRFC="false" pn="section-2">
publish the IP address or domain name of a set of AMT relays or discovery <name slugifiedName="name-relay-discovery-overview">Relay Discovery Overvi
brokers that can receive, encapsulate, and forward multicast traffic from ew</name>
a particular sender.</t> <section anchor="basic-mechanics" numbered="true" toc="include" removeInRF
C="false" pn="section-2.1">
<t>The sender is the owner of the RR, and configures the zone so that it <name slugifiedName="name-basic-mechanics">Basic Mechanics</name>
contains a set of RRs that provide the addresses or domain names of AMT <t pn="section-2.1-1">The AMTRELAY resource record (RR) defined in this
relays (or discovery brokers that advertise relays) that can receive document is used to
multicast IP traffic from that sender.</t> publish the IP address or domain name of a set of AMT relays or discovery
brokers that can receive, encapsulate, and forward multicast traffic from
<t>This enables AMT gateways in remote networks to discover an AMT relay that a particular sender.</t>
is capable of forwarding traffic from the sender. This in turn enables those <t pn="section-2.1-2">The sender is the owner of the RR and configures t
AMT gateways to receive the multicast traffic tunneled over a unicast AMT he zone so that it
tunnel from those relays, and then to pass the multicast packets into contains a set of RRs that provide the addresses or domain names of AMT
networks or applications that are using the gateway to subscribe to traffic relays (or discovery brokers that advertise relays) that can receive
from that sender.</t> multicast IP traffic from that sender.</t>
<t pn="section-2.1-3">This enables AMT gateways in remote networks to di
<t>This mechanism only works for source-specific multicast (SSM) channels. The scover an AMT relay that
source address of the (S,G) is reversed and used as an index into one of the is capable of forwarding traffic from the sender. This, in turn, enables those
reverse mapping trees (in-addr.arpa for IPv4, as described in Section 3.5 of AMT gateways to receive the multicast traffic tunneled over a unicast AMT
<xref target="RFC1035"/>, or ip6.arpa for IPv6, as described in Section 2.5 of < tunnel from those relays and then pass the multicast packets into
xref target="RFC3596"/>).</t> networks or applications that are using the gateway to subscribe to traffic
from that sender.</t>
<t>This mechanism should be treated as an extension of the AMT relay discovery <t pn="section-2.1-4">This mechanism only works for source-specific mult
procedure described in Section 5.2.3.4 of <xref target="RFC7450"/>. A gateway t icast (SSM) channels. The
hat source address of the (S,G) is reversed and used as an index into one of the
supports this method of AMT relay discovery SHOULD use this method reverse mapping trees (in-addr.arpa for IPv4, as described in <xref target="RFC
whenever it’s performing the relay discovery procedure, and the source IP 1035" sectionFormat="of" section="3.5" format="default" derivedLink="https://rfc
addresses for desired (S,G)s are known to the gateway, and conditions match -editor.org/rfc/rfc1035#section-3.5" derivedContent="RFC1035"/>, or ip6.arpa for
the requirements outlined in <xref target="priority"/>.</t> IPv6, as
described in <xref target="RFC3596" sectionFormat="of" section="2.5" for
<t>Some detailed example use cases are provided in <xref target="exampledeployme mat="default" derivedLink="https://rfc-editor.org/rfc/rfc3596#section-2.5" deriv
nts"/>, and edContent="RFC3596"/>).</t>
other applicable example topologies appear in Section 3.3 of <xref target="RFC83 <t pn="section-2.1-5">This mechanism should be treated as an extension o
13"/>, f the AMT relay discovery
Section 3.4 of <xref target="RFC8313"/>, and Section 3.5 of <xref target="RFC831 procedure described in <xref target="RFC7450" sectionFormat="of" section="5.2.3
3"/>.</t> .4" format="default" derivedLink="https://rfc-editor.org/rfc/rfc7450#section-5.2
.3.4" derivedContent="RFC7450"/>. A gateway that
</section> supports this method of AMT relay discovery <bcp14>SHOULD</bcp14> use this meth
<section anchor="signaling-and-discovery" title="Signaling and Discovery"> od
whenever it's performing the relay discovery procedure, the source IP
<t>This section describes a typical example of the end-to-end process for addresses for desired (S,G)s are known to the gateway, and conditions match
signaling a receiver’s join of an SSM channel that relies on an AMTRELAY the requirements outlined in <xref target="priority" format="default" sectionFo
RR.</t> rmat="of" derivedContent="Section 3.1"/>.</t>
<t pn="section-2.1-6">Some detailed example use cases are provided in <x
<t>The example in <xref target="figmessaging"/> contains 2 multicast-enabled ref target="exampledeployments" format="default" sectionFormat="of" derivedConte
networks that are both connected to the internet with non-multicast-capable nt="Section 2.3"/>, and
links, and which have no direct association with each other.</t> other applicable example topologies appear in Sections <xref target="RFC8313" s
ectionFormat="bare" section="3.3" format="default" derivedLink="https://rfc-edit
<t>A content provider operates a sender, which is a source of multicast traffic or.org/rfc/rfc8313#section-3.3" derivedContent="RFC8313"/>,
inside a multicast-capable network.</t> <xref target="RFC8313" sectionFormat="bare" section="3.4" format="default" deri
vedLink="https://rfc-editor.org/rfc/rfc8313#section-3.4" derivedContent="RFC8313
<t>An end user who is a customer of the content provider has a multicast-capable "/>, and <xref target="RFC8313" sectionFormat="bare" section="3.5" format="defau
internet service provider, which operates a receiving network that uses an lt" derivedLink="https://rfc-editor.org/rfc/rfc8313#section-3.5" derivedContent=
AMT gateway. The AMT gateway is DRIAD-capable.</t> "RFC8313"/> of <xref target="RFC8313" format="default" sectionFormat="of" derive
dContent="RFC8313"/>.</t>
<t>The content provider provides the user with a receiving application that </section>
tries to subscribe to at least one (S,G). This receiving application could <section anchor="signaling-and-discovery" numbered="true" toc="include" re
for example be a file transfer system using FLUTE <xref target="RFC6726"/> or a moveInRFC="false" pn="section-2.2">
live <name slugifiedName="name-signaling-and-discovery">Signaling and Discove
video stream using RTP <xref target="RFC3550"/>, or any other application that m ry</name>
ight <t pn="section-2.2-1">This section describes a typical example of the en
subscribe to an SSM channel.</t> d-to-end process for
signaling a receiver's join of an SSM channel that relies on an AMTRELAY
<figure title="DRIAD Messaging" anchor="figmessaging"><artwork><![CDATA[ RR.</t>
+---------------+ <t pn="section-2.2-2">The example in <xref target="figmessaging" format=
| Sender | "default" sectionFormat="of" derivedContent="Figure 2"/> contains two multicast-
| | | 2001:db8::a | enabled
| | +---------------+ networks that are both connected to the internet with non-multicast-capable
|Data| | links and which have no direct association with each other.</t>
|Flow| Multicast | <t pn="section-2.2-3">A content provider operates a sender, which is a s
\| |/ Network | ource of multicast traffic
\ / | 5: Propagate RPF for Join(S,G) inside a multicast-capable network.</t>
\ / +---------------+ <t pn="section-2.2-4">An end user who is a customer of the content provi
\/ | AMT Relay | der has a multicast-capable
| 2001:db8:c::f | Internet Service Provider (ISP), which operates a receiving network that uses a
+---------------+ n
| 4: Gateway connects to Relay, AMT gateway. The AMT gateway is DRIAD capable.</t>
sends Join(S,G) over tunnel <t pn="section-2.2-5">The content provider provides the user with a rece
| iving application that
Unicast tries to subscribe to at least one (S,G). This receiving application could,
Tunnel | 3: --> DNS Query: type=AMTRELAY, for example, be a file transfer system using File Delivery over Unidirectional
/ a.0.0.0.0.0.0.0.0.0.0.0. Transport (FLUTE) <xref target="RFC6726" format="default" sectionFormat="of" de
^ | / 0.0.0.0.0.0.0.0.0.0.0.0. rivedContent="RFC6726"/>, a live
| / 8.b.d.0.1.0.0.2.ip6.arpa video stream using RTP <xref target="RFC3550" format="default" sectionFormat="o
| | / <-- Response: f" derivedContent="RFC3550"/>, or any other application that might
Join/Leave +-------------+ AMTRELAY=2001:db8:c::f subscribe to an SSM channel.</t>
Signals | AMT gateway | <figure anchor="figmessaging" align="left" suppress-title="false" pn="fi
| +-------------+ gure-2">
| | 2: Propagate RPF for Join(S,G) <name slugifiedName="name-driad-messaging">DRIAD Messaging</name>
| Multicast | <artwork name="" type="" align="left" alt="" pn="section-2.2-6.1">
Network | +---------------+
| 1: Join(S=2001:db8::a,G=ff3e::8000:d) | Sender |
+-------------+ | | | 2001:db8::a |
| Receiver | | | +---------------+
| (end user) | |Data| |
+-------------+ |Flow| Multicast |
]]></artwork></figure> \| |/ Network |
\ / | 5: Propagate RPF for Join(S,G)
<t>In this simple example, the sender IP is 2001:db8::a, it is sending \ / +---------------+
traffic to the group address ff3e::8000:d, and the relay IP is \/ | AMT relay |
2001:db8::c:f.</t> | 2001:db8:c::f |
+---------------+
<t>The content provider has previously configured the DNS zone that | 4: Gateway connects to Relay,
contains the reverse IP domain name for the sender’s IP address sends Join(S,G) over tunnel
so that it provides an AMTRELAY RR with the relay’s IP address. |
(See <xref target="rpformat"/> for details about the AMTRELAY RR format and Unicast
semantics.) As described in Section 2.5 of <xref target="RFC3596"/>, the Tunnel | 3: --&gt; DNS Query: type=AMTRELAY,
reverse IP FQDN of the sender’s address “2001:db8::a” is:</t> / a.0.0.0.0.0.0.0.0.0.0.0.
^ | / 0.0.0.0.0.0.0.0.0.0.0.0.
<figure><artwork><![CDATA[ | / 8.b.d.0.1.0.0.2.ip6.arpa
a.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6. | | / &lt;-- Response:
arpa. Join/Leave +-------------+ AMTRELAY=2001:db8:c::f
]]></artwork></figure> Signals | AMT gateway |
| +-------------+
<t>The sequence of events depicted in <xref target="figmessaging"/> is as follow | | 2: Propagate RPF for Join(S,G)
s:</t> | Multicast |
Network |
<t><list style="numbers"> | 1: Join(S=2001:db8::a,G=ff3e::8000:d)
<t>The end user starts the app, which issues a join to the (S,G): +-------------+
(2001:db8::a, ff3e::8000:d).</t> | Receiver |
<t>The join propagates with RPF through the receiver’s multicast-enabled | (end user) |
network with PIM <xref target="RFC7761"/> or another multicast routing mechanism +-------------+
, </artwork>
until the AMT gateway receives a signal to join the (S,G).</t> </figure>
<t>The AMT gateway performs a reverse DNS lookup for the AMTRELAY RRType, <t pn="section-2.2-7">In this simple example, the sender IP is 2001:db8:
by sending an AMTRELAY RRType query for the reverse IP domain name :a, which is sending
for the sender’s source IP address (the S from the (S,G)). <vspace blankLines=' traffic to the group address ff3e::8000:d, and the relay IP is
1'/> 2001:db8::c:f.</t>
The DNS resolver for the AMT gateway uses ordinary DNS recursive <t pn="section-2.2-8">The content provider has previously configured the
resolution until it has the authoritative result that the content DNS zone that
provider configured, which informs the AMT gateway that the relay address contains the reverse IP domain name for the sender's IP address
is 2001:db8::c:f.</t> so that it provides an AMTRELAY RR with the relay's IP address
<t>The AMT gateway performs AMT handshakes with the AMT relay as described (see <xref target="rpformat" format="default" sectionFormat="of" derivedContent
in Section 4 of <xref target="RFC7450"/>, then forwards a Membership report to t ="Section 4.3"/> for details about the AMTRELAY RR format and
he semantics). As described in <xref target="RFC3596" sectionFormat="of" section=
relay indicating subscription to the (S,G).</t> "2.5" format="default" derivedLink="https://rfc-editor.org/rfc/rfc3596#section-2
<t>The relay propagates the join through its network toward the sender, .5" derivedContent="RFC3596"/>, the
then forwards the appropriate AMT-encapsulated traffic to the reverse IP FQDN of the sender's address "2001:db8::a" is:</t>
gateway, which decapsulates and forwards it as native multicast through <sourcecode name="" type="" markers="false" pn="section-2.2-9">
its downstream network to the end user.</t> a.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.
</list></t> arpa.
</sourcecode>
<t>In the case of an IPv4 (S,G), the only difference in the AMT relay <t pn="section-2.2-10">The sequence of events depicted in <xref target="
discovery process is the use of the in-addr.arpa reverse IP domain name, figmessaging" format="default" sectionFormat="of" derivedContent="Figure 2"/> is
as described in Section 3.5 of <xref target="RFC1035"/>, instead of the in6.arpa as follows:</t>
domain name. For example, if the (S,G) is (198.51.100.12, 232.252.0.2), <ol spacing="normal" type="1" start="1" pn="section-2.2-11">
the reverse IP FQDN for the AMTRELAY query would be <li pn="section-2.2-11.1" derivedCounter="1.">The end user starts the
“12.100.51.198.in-addr.arpa.”.</t> app, which issues a join to the (S,G):
(2001:db8::a, ff3e::8000:d).</li>
<t>Note that the address family of the AMT tunnel is independent of the <li pn="section-2.2-11.2" derivedCounter="2.">The join propagates with
address family for the multicast traffic.</t> RPF through the receiver's multicast-enabled
network with PIM <xref target="RFC7761" format="default" sectionFormat="of" der
</section> ivedContent="RFC7761"/> or another
<section anchor="exampledeployments" title="Example Deployments"> multicast routing mechanism until the AMT gateway receives a signal to
join the (S,G).</li>
<section anchor="exrx" title="Example Receiving Networks"> <li pn="section-2.2-11.3" derivedCounter="3.">
<t pn="section-2.2-11.3.1">The AMT gateway performs a reverse DNS lo
<section anchor="exrxisp" title="Internet Service Provider"> okup for the AMTRELAY
RRType by sending an AMTRELAY RRType query for the reverse IP domain
<t>One example of a receiving network is an Internet Service Provider (ISP) name
that offers multicast ingest services to its subscribers, illustrated in for the sender's source IP address (the S from the (S,G)). </t>
<xref target="figrxisp"/>.</t> <t pn="section-2.2-11.3.2">
The DNS resolver for the AMT gateway uses ordinary DNS recursive
<t>In the example network below, subscribers can join (S,G)s with MLDv2 or resolution until it has the authoritative result that the content
IGMPv3 as described in <xref target="RFC4604"/>, and the AMT gateway in this provider configured, which informs the AMT gateway that the relay address
ISP can receive and forward multicast traffic from one of the example sending is 2001:db8::c:f.</t>
networks in <xref target="extx"/> by discovering the appropriate AMT relays with </li>
a DNS <li pn="section-2.2-11.4" derivedCounter="4.">The AMT gateway performs
lookup for the AMTRELAY RR with the reverse IP of the source in the (S,G).</t> AMT handshakes with the AMT relay as described
in <xref target="RFC7450" section="4" sectionFormat="of" format="default" deriv
<figure title="Receiving ISP Example" anchor="figrxisp"><artwork><![CDATA[ edLink="https://rfc-editor.org/rfc/rfc7450#section-4" derivedContent="RFC7450"/>
Internet , then forwards a membership report to the
^ ^ Multicast-enabled relay, indicating subscription to the (S,G).</li>
| | Receiving Network <li pn="section-2.2-11.5" derivedCounter="5.">The relay propagates the
+------|------------|-------------------------+ join through its network toward the
| | | | sender and then forwards the appropriate AMT-encapsulated traffic to t
| +--------+ +--------+ +=========+ | he
| | Border |---| Border | | AMT | | gateway, which decapsulates and forwards it as a native multicast through
| | Router | | Router | | gateway | | its downstream network to the end user.</li>
| +--------+ +--------+ +=========+ | </ol>
| | | | | <t pn="section-2.2-12">In the case of an IPv4 (S,G), the only difference
| +-----+------+-----------+--+ | in the AMT relay
| | | | discovery process is the use of the in-addr.arpa reverse IP domain name,
| +-------------+ +-------------+ | as described in <xref target="RFC1035" sectionFormat="of" section="3.5" format=
| | Agg Routers | .. | Agg Routers | | "default" derivedLink="https://rfc-editor.org/rfc/rfc1035#section-3.5" derivedCo
| +-------------+ +-------------+ | ntent="RFC1035"/>, instead of the in6.arpa
| / \ \ / \ | domain name. For example, if the (S,G) is (198.51.100.12, 232.252.0.2),
| +---------------+ +---------------+ | the reverse IP FQDN for the AMTRELAY query would be
| |Access Systems | ....... |Access Systems | | "12.100.51.198.in-addr.arpa.".</t>
| |(CMTS/OLT/etc.)| |(CMTS/OLT/etc.)| | <t pn="section-2.2-13">Note that the address family of the AMT tunnel is
| +---------------+ +---------------+ | independent of the
| | | | address family for the multicast traffic.</t>
+--------|------------------------|-----------+ </section>
| | <section anchor="exampledeployments" numbered="true" toc="include" removeI
+---+-+-+---+---+ +---+-+-+---+---+ nRFC="false" pn="section-2.3">
| | | | | | | | | | <name slugifiedName="name-example-deployments">Example Deployments</name
/-\ /-\ /-\ /-\ /-\ /-\ /-\ /-\ /-\ /-\ >
|_| |_| |_| |_| |_| |_| |_| |_| |_| |_| <section anchor="exrx" numbered="true" toc="include" removeInRFC="false"
pn="section-2.3.1">
Subscribers <name slugifiedName="name-example-receiving-networks">Example Receivin
]]></artwork></figure> g Networks</name>
<section anchor="exrxisp" numbered="true" toc="exclude" removeInRFC="f
</section> alse" pn="section-2.3.1.1">
<section anchor="exoffice" title="Small Office"> <name slugifiedName="name-internet-service-provider">Internet Servic
e Provider</name>
<t>Another example receiving network is a small branch office that regularly <t pn="section-2.3.1.1-1">One example of a receiving network is an I
accesses some multicast content, illustrated in <xref target="figrxofficenm"/>.< nternet Service Provider (ISP)
/t> that offers multicast ingest services to its subscribers, illustrated in
<xref target="figrxisp" format="default" sectionFormat="of" derivedContent="Fig
<t>This office has desktop devices that need to receive some multicast traffic, ure 3"/>.</t>
so an AMT gateway runs on a LAN with these devices, to pull traffic in <t pn="section-2.3.1.1-2">In the example network below, subscribers
through a non-multicast next-hop.</t> can join (S,G)s with MLDv2 or
IGMPv3 as described in <xref target="RFC4604" format="default" sectionFormat="o
<t>The office also hosts some mobile devices that have AMT gateway instances f" derivedContent="RFC4604"/>, and the AMT gateway in this
embedded inside apps, in order to receive multicast traffic over their ISP can receive and forward multicast traffic from one of the example sending
non-multicast wireless LAN. (Note that the “Legacy Router” is a networks in <xref target="extx" format="default" sectionFormat="of" derivedCont
simplification that’s meant to describe a variety of possible conditions; ent="Section 2.3.2"/> by discovering the appropriate AMT relays with a DNS
for example it could be a device providing a split-tunnel VPN as described lookup for the AMTRELAY RR with the reverse IP of the source in the (S,G).</t>
in <xref target="RFC7359"/>, deliberately excluding multicast traffic for a VPN <figure anchor="figrxisp" align="left" suppress-title="false" pn="fi
tunnel, rather than a device which is incapable of multicast forwarding.)</t> gure-3">
<name slugifiedName="name-receiving-isp-example">Receiving ISP Exa
<figure title="Small Office (no multicast up)" anchor="figrxofficenm"><artwork>< mple</name>
![CDATA[ <artwork name="" type="" align="left" alt="" pn="section-2.3.1.1-3
Internet .1">
(non-multicast) Internet
^ ^ ^ Multicast-enabled
| Office Network | | Receiving Network
+----------|----------------------------------+ +------|------------|-------------------------+
| | | | | | |
| +---------------+ (Wifi) Mobile apps | | +--------+ +--------+ +=========+ |
| | Modem+ | Wifi | - - - - w/ embedded | | | Border |---| Border | | AMT | |
| | Router | AP | AMT gateways | | | Router | | Router | | gateway | |
| +---------------+ | | +--------+ +--------+ +=========+ |
| | | | | | | |
| | | | +-----+------+-----------+--+ |
| +----------------+ | | | | |
| | Legacy Router | | | +-------------+ +-------------+ |
| | (unicast) | | | | Agg Routers | .. | Agg Routers | |
| +----------------+ | | +-------------+ +-------------+ |
| / | \ | | / \ \ / \ |
| / | \ | | +---------------+ +---------------+ |
| +--------+ +--------+ +--------+=========+ | | |Access Systems | ....... |Access Systems | |
| | Phones | | ConfRm | | Desks | AMT | | | |(CMTS/OLT/etc.)| |(CMTS/OLT/etc.)| |
| | subnet | | subnet | | subnet | gateway | | | +---------------+ +---------------+ |
| +--------+ +--------+ +--------+=========+ | | | | |
| | +--------|------------------------|-----------+
+---------------------------------------------+ | |
]]></artwork></figure> +---+-+-+---+---+ +---+-+-+---+---+
| | | | | | | | | |
<t>By adding an AMT relay to this office network as in <xref target="figrxoffice /-\ /-\ /-\ /-\ /-\ /-\ /-\ /-\ /-\ /-\
"/>, it’s |_| |_| |_| |_| |_| |_| |_| |_| |_| |_|
possible to make use of multicast services from the example multicast-capable
ISP in <xref target="exrxisp"/>.</t>
<figure title="Small Office Example" anchor="figrxoffice"><artwork><![CDATA[
Multicast-capable ISP
^
| Office Network
+----------|----------------------------------+
| | |
| +---------------+ (Wifi) Mobile apps |
| | Modem+ | Wifi | - - - - w/ embedded |
| | Router | AP | AMT gateways |
| +---------------+ |
| | +=======+ |
| +---Wired LAN---| AMT | |
| | | relay | |
| +----------------+ +=======+ |
| | Legacy Router | |
| | (unicast) | |
| +----------------+ |
| / | \ |
| / | \ |
| +--------+ +--------+ +--------+=========+ |
| | Phones | | ConfRm | | Desks | AMT | |
| | subnet | | subnet | | subnet | gateway | |
| +--------+ +--------+ +--------+=========+ |
| |
+---------------------------------------------+
]]></artwork></figure>
<t>When multicast-capable networks are chained like this, with a network like
the one in <xref target="figrxoffice"/> receiving internet services from a
multicast-capable network like the one in <xref target="figrxisp"/>, it’s import
ant for
AMT gateways to reach the more local AMT relay, in order to avoid
accidentally tunneling multicast traffic from a more distant AMT relay with
unicast, and failing to utilize the multicast transport capabilities of the
network in <xref target="figrxisp"/>.</t>
</section>
</section>
<section anchor="extx" title="Example Sending Networks">
<section anchor="extxsnd" title="Sender-controlled Relays">
<t>When a sender network is also operating AMT relays to distribute multicast
traffic, as in <xref target="figtxrelay"/>, each address could appear as an AMTR
ELAY RR
for the reverse IP of the sender, or one or more domain names could appear
in AMTRELAY RRs, and the AMT relay addresses can be discovered by finding
A or AAAA records from those domain names.</t>
<figure title="Small Office Example" anchor="figtxrelay"><artwork><![CDATA[
Sender Network
+-----------------------------------+
| |
| +--------+ +=======+ +=======+ |
| | Sender | | AMT | | AMT | |
| +--------+ | relay | | relay | |
| | +=======+ +=======+ |
| | | | |
| +-----+------+----------+ |
| | |
+-----------|-----------------------+
v
Internet
(non-multicast)
]]></artwork></figure>
</section>
<section anchor="extxprv" title="Provider-controlled Relays">
<t>When an ISP offers a service to transmit outbound multicast traffic through
a forwarding network, it might also offer AMT relays in order to reach
receivers without multicast connectivity to the forwarding network, as in
<xref target="figtxisp"/>. In this case it’s recommended that the ISP also provi
de at
least one domain name for the AMT relays for use with the AMTRELAY RR.</t>
<t>When the sender wishes to use the relays provided by the ISP for
forwarding multicast traffic, an AMTRELAY RR should be configured to use
the domain name provided by the ISP, to allow for address reassignment of the
relays without forcing the sender to reconfigure the corresponding AMTRELAY
RRs.</t>
<figure title="Sending ISP Example" anchor="figtxisp"><artwork><![CDATA[
+--------+
| Sender |
+---+----+ Multicast-enabled
| Sending Network
+-----------|-------------------------------+
| v |
| +------------+ +=======+ +=======+ |
| | Agg Router | | AMT | | AMT | |
| +------------+ | relay | | relay | |
| | +=======+ +=======+ |
| | | | |
| +-----+------+--------+---------+ |
| | | |
| +--------+ +--------+ |
| | Border |---| Border | |
| | Router | | Router | |
| +--------+ +--------+ |
+-----|------------|------------------------+
| |
v v
Internet
(non-multicast)
]]></artwork></figure>
</section>
</section>
</section>
</section>
<section anchor="relay-discovery-operation" title="Relay Discovery Operation">
<section anchor="priority" title="Optimal Relay Selection">
<section anchor="overview" title="Overview">
<t>The reverse source IP DNS query of an AMTRELAY RR is a good way for a gateway
to discover a relay that is known to the sender.</t>
<t>However, it is NOT necessarily a good way to discover the best relay for that
gateway to use, because the RR will only provide information about relays
known to the source.</t>
<t>If there is an upstream relay in a network that is topologically closer to
the gateway and able to receive and forward multicast traffic from the sender,
that relay is better for the gateway to use, since more of the network path
uses native multicast, allowing more chances for packet replication. But since
that relay is not known to the sender, it won’t be advertised in the sender’s
reverse IP DNS record. An example network that illustrates this scenario is
outlined in <xref target="figrxoffice"/> from <xref target="exoffice"/>.</t>
<t>It’s only appropriate for an AMT gateway to discover an AMT relay by querying
an AMTRELAY RR owned by a sender when all of these conditions are met:</t>
<t><list style="numbers">
<t>The gateway needs to propagate a join of an (S,G) over AMT, because in
the gateway’s network, no RPF next hop toward the source can
propagate a native multicast join of the (S,G); and</t>
<t>The gateway is not already connected to a relay that forwards multicast
traffic from the source of the (S,G); and</t>
<t>The gateway is not configured to use a particular IP address for AMT
discovery, or a relay discovered with that IP is not able to forward
traffic from the source of the (S,G); and</t>
<t>The gateway is not able to find an upstream AMT relay with DNS-SD
<xref target="RFC6763"/>, using “_amt._udp” as the Service section of the querie
s, or a
relay discovered this way is not able to forward traffic from the source of
the (S,G) (as described in <xref target="trafficabsent"/> or <xref target="loade
d"/>); and</t>
<t>The gateway is not able to find an upstream AMT relay with the well-known
anycast addresses from Section 7 of <xref target="RFC7450"/>.</t>
</list></t>
<t>When the above conditions are met, the gateway has no path within its local
network that can receive multicast traffic from the source IP of the (S,G).</t>
<t>In this situation, the best way to find a relay that can forward the
required traffic is to use information that comes from the operator of the
sender. When the sender has configured an AMTRELAY RR, gateways can use the
DRIAD mechanism defined in this document to discover the relay information
provided by the sender.</t>
<t>Note that the DNS-SD service is not source-specific, so even though
when available, several methods of finding a more local source of
multicast traffic connectivity are preferred to using a relay
provided by an AMTRELAY RR, a gateway further upstream would still be
using the AMTRELAY RR unless the upstream network has a peering
that provides an alternative end-to-end multicast transport path for
the (S,G)’s traffic.</t>
</section>
<section anchor="ordering" title="Preference Ordering">
<t>This section defines a preference ordering for relay addresses during
the relay discovery process. Gateways are encouraged to implement a
Happy Eyeballs algorithm to try candidate relays concurrently, but even
gateways that do not implement a Happy Eyeballs algorithm SHOULD use
this ordering, except as noted.</t>
<t>When establishing an AMT tunnel to forward multicast data, it’s
very important for the discovery process to prioritize the network
topology considerations ahead of address selection considerations, in
order to gain the packet replication benefits from using multicast
instead of unicast tunneling in the multicast-capable portions of the
network path.</t>
<t>The intent of the advice and requirements in this section is to describe
how a gateway should make use of the concurrency provided by a Happy
Eyeballs algorithm to reduce the join latency, while still prioritizing
network efficiency considerations over Address Selection considerations.</t>
<t>Section 4 of <xref target="RFC8305"/> requires a Happy Eyeballs algorithm to
sort
the addresses with the Destination Address Selection defined in Section
6 of <xref target="RFC6724"/>, but for the above reasons, that requirement is su
perseded
in the AMT discovery use case by the following considerations:</t>
<t><list style="symbols">
<t>Prefer Local Relays <vspace blankLines='1'/>
<xref target="figrxoffice"/> and <xref target="exoffice"/> provide a motivating
example to prefer
DNS-SD <xref target="RFC6763"/> for discovery strictly ahead of using the AMTRE
LAY RR
controlled by the sender for AMT discovery. <vspace blankLines='1'/>
For this reason, it’s RECOMMENDED that AMT gateways by default perform
service discovery using DNS Service Discovery (DNS-SD) <xref target="RFC6763"/>
for
_amt._udp.&lt;domain&gt; (with &lt;domain&gt; chosen as described in Section 11
of
<xref target="RFC6763"/>) and use the AMT relays discovered that way in prefere
nce to
AMT relays discoverable via the mechanism defined in this document
(DRIAD).</t>
<t>Prefer Relays Managed by the Containing Network <vspace blankLines='1'/>
When no local relay is discoverable with DNS-SD, it still may be the
case that a relay local to the receiver is operated by the network
providing transit services to the receiver. <vspace blankLines='1'/>
In this case, when the network cannot make the relay discoverable via
DNS-SD, the network SHOULD use the well-known anycast addresses from
Section 7 of <xref target="RFC7450"/> to route discovery traffic to the relay m
ost
appropriate to the receiver’s gateway. <vspace blankLines='1'/>
Accordingly, the gateway SHOULD by default discover a relay with the
well-known AMT anycast addresses as the second preference after DNS-SD
when searching for a local relay.</t>
<t>Let Sender Manage Relay Provisioning <vspace blankLines='1'/>
A related motivating example is provided by considering a sender whose
traffic can be forwarded by relays in a sender-controlled network
like <xref target="figtxrelay"/> in <xref target="extxsnd"/>, and also by relay
s in a
provider-controlled network like <xref target="figtxisp"/> in <xref target="ext
xprv"/>, with
different cost and scalability profiles for the different options. <vspace bla
nkLines='1'/>
In this example about the sending-side network, the precedence field
described in <xref target="rrdef-precedence"/> is a critical method of control
so
that senders can provide the appropriate guidance to gateways
during the discovery process, in order to manage load and failover
scenarios in a manner that operates well with the sender’s
provisioning strategy for horizontal scaling of AMT relays. <vspace blankLines
='1'/>
Therefore, after DNS-SD, the precedence from the RR MUST be used for
sorting preference ahead of the Destination Address Selection ordering
from Section 6 of <xref target="RFC6724"/>, so that only relay IPs with the sam
e
precedence are directly compared according to the Destination Address
Selection ordering.</t>
</list></t>
<t>Accordingly, AMT gateways SHOULD by default prefer relays in this order:</t>
<figure><artwork><![CDATA[
1. DNS-SD
2. Anycast addresses from Section 7 of [RFC7450]
3. DRIAD
]]></artwork></figure>
<t>This default behavior MAY be overridden by administrative configuration where
other behavior is more appropriate for the gateway within its network.</t>
<t>Among relay addresses that have an equivalent preference as described above,
a
Happy Eyeballs algorithm for AMT SHOULD use the Destination Address Selection
defined in Section 6 of <xref target="RFC6724"/>.</t>
<t>Among relay addresses that still have an equivalent preference after the
above orderings, a gateway SHOULD make a non-deterministic choice (such as
a pseudorandom selection) for relay preference ordering, in order to
support load balancing by DNS configurations that provide many relay
options.</t>
<t>The gateway MAY introduce a bias in the non-deterministic choice according
to information obtained out of band or from a historical record about
network topology, timing information, or the response to a probing
mechanism, that indicates some expected benefits from selecting some relays
in preference to others. Details about the structure and collection of
this information are out of scope for this document, but a gateway in
possession of such information MAY use it to prefer topologically closer
relays.</t>
<t>Within the above constraints, gateways MAY make use of other considerations
from Section 4 of <xref target="RFC8305"/>, such as the address family interleav
ing
strategies, to produce a final ordering of candidate relay addresses.</t>
<t>Note also that certain relay addresses might be excluded from consideration
by the hold-down timers described in <xref target="trafficabsent"/> or <xref tar
get="loaded"/>. These
relays constitute “unusable destinations” under Rule 1 of the Destination
Address Selection, and are also not part of the superseding considerations
described above.</t>
<t>The discovery and connection process for the relay addresses in the above
described ordering MAY operate in parallel, subject to delays prescribed
by the Happy Eyeballs requirements described in Section 5 of <xref target="RFC83
05"/>
for successively launched concurrent connection attempts.</t>
</section>
<section anchor="connecting-to-multiple-relays" title="Connecting to Multiple Re
lays">
<t>In some deployments, it may be useful for a gateway to connect to
multiple upstream relays and subscribe to the same traffic, in order to
support an active/active failover model. A gateway SHOULD NOT be
configured to do so without guaranteeing that adequate bandwidth is
available.</t>
<t>A gateway configured to do this SHOULD still use the same preference
ordering logic from <xref target="ordering"/> for each connection. (Note that
this ordering allows for overriding by explicit administrative
configuration where required.)</t>
</section>
</section>
<section anchor="happy" title="Happy Eyeballs">
<section anchor="overview-1" title="Overview">
<t>Often, multiple choices of relay will exist for a gateway using DRIAD
for relay discovery. Happy Eyeballs <xref target="RFC8305"/> provides a widely
deployed and generalizable strategy for probing multiple possible
connections in parallel, therefore it is RECOMMENDED that DRIAD-capable
gateways implement a Happy Eyeballs algorithm to support fast discovery
of the most preferred available relay, by probing multiple relays
concurrently.</t>
<t>The parallel discovery logic of a Happy Eyeballs algorithm serves to
reduce join latency for the initial join of an SSM channel. This section
and the preference ordering of relays defined in <xref target="ordering"/> taken
together provide guidance on use of a Happy Eyeballs algorithm for the
case of establishing AMT connections.</t>
<t>Note that according to the definition in <xref target="connection-def"/> of t
his
document, establishing the connection occurs before sending a membership
report. As described in Section 5 of <xref target="RFC8305"/>, only one of the
successful connections will be used, and the others are all canceled
or ignored. In the context of an AMT connection, this means the gateway
will send the membership reports that subscribe to traffic only for the
chosen connection, after the Happy Eyeballs algorithm resolves.</t>
</section>
<section anchor="algorithm-guidelines" title="Algorithm Guidelines">
<t>During the “Initiation of asynchronous DNS queries” phase described in
Section 3 of <xref target="RFC8305"/>), a gateway attempts to resolve the domain
names
listed in <xref target="priority"/>. This consists of resolving the SRV queries
for
DNS-SD domains for the AMT service, as well as the AMTRELAY query for the
reverse IP domain defined in this document.</t>
<t>Each of the SRV and AMTRELAY responses might contain one or more IP
addresses, (as with type 1 or type 2 AMTRELAY responses, or when the
SRV Additional Data section of the SRV response contains the address
records for the target, as urged by <xref target="RFC2782"/>), or they might
contain only domain names (as with type 3 responses from <xref target="rtype"/>,
or
an SRV response without an additional data section).</t>
<t>When present, IP addresses in the initial response provide resolved
destination address candidates for the “Sorting of resolved
destination addresses” phase described in Section 4 of <xref target="RFC8305"/>)
,
whereas domain names without IP addresses in the initial response result
in another set of queries for AAAA and A records, whose responses provide
the candidate resolved destination addresses.</t>
<t>Since the SRV or AMTRELAY responses don’t have a bound on the count of
queries that might be generated aside from the bounds imposed by the
DNS resolver, it’s important for the gateway to provide a rate limit on
the DNS queries. The DNS query functionality is expected to follow
ordinary standards and best practices for DNS clients. A gateway MAY
use an existing DNS client implementation that does so, and MAY rely on
that client’s rate limiting logic to avoid issuing excessive queries.
Otherwise, a gateway MUST provide a rate limit for the DNS queries, and
its default settings SHOULD NOT permit more than 10 queries for any
100-millisecond period (though this MAY be overridable by administrative
configuration).</t>
<t>As the resolved IP addresses arrive, the Happy Eyeballs algorithm
sorts them according to the requirements and recommendations given in
<xref target="ordering"/>, and attempts connections with the corresponding relay
s
under the algorithm restrictions and guidelines given in <xref target="RFC8305"/
> for
the “Establishment of one connection, which cancels all other attempts”
phase. As described in Section 3 of <xref target="RFC8305"/>, DNS resolution is
treated as asynchronous, and connection initiation does not wait
for lagging DNS responses.</t>
</section>
<section anchor="connection-def" title="Connection Definition">
<t>Section 5 of <xref target="RFC8305"/> non-normatively describes success at a
connection attempt as “generally when the TCP handshake completes”.</t>
<t>There is no normative definition of a connection in the AMT specification
<xref target="RFC7450"/>, and there is no TCP connection involved in an AMT tunn
el.</t>
<t>However, the concept of an AMT connection in the context of a Happy
Eyeballs algorithm is a useful one, and so this section provides the
following normative definition:</t>
<t><list style="symbols">
<t>An AMT connection is established successfully when the gateway receives
from a newly discovered relay a valid Membership Query message
(Section 5.1.4 of <xref target="RFC7450"/>) that does not have the L flag set.</
t>
</list></t>
<t>See <xref target="loaded"/> of this document for further information about th
e
relevance of the L flag to the establishment of a Happy Eyeballs
connection. See <xref target="flowhealth"/> for an overview of how to respond
if the connection does not provide multicast connectivity to the
source.</t>
<t>To “cancel” this kind of AMT connection for the Happy Eyeballs algorithm,
a gateway that has not sent a membership report with a subscription
would simply stop sending AMT packets for that connection. A
gateway only sends a membership report to a connection it has chosen as
the most preferred available connection.</t>
</section>
</section>
<section anchor="guidelines-for-restarting-discovery" title="Guidelines for Rest
arting Discovery">
<section anchor="overview-2" title="Overview">
<t>It’s expected that gateways deployed in different environments will use a
variety of heuristics to decide when it’s appropriate to restart the relay
discovery process, in order to meet different performance goals (for example,
to fulfill different kinds of service level agreements).</t>
<t>In general, restarting the discovery process is always safe for
the gateway and relay during any of the events listed in this section,
but may cause a disruption in the forwarded traffic if the discovery
process results in choosing a different relay, because this changes
the RPF forwarding tree for the multicast traffic upstream of the gateway.
This is likely to result in some dropped or duplicated packets from channels
actively being tunneled from the old relay to the gateway.</t>
<t>The degree of impact on the traffic from choosing a different relay may
depend on network conditions between the gateway and the new relay, as well
as the network conditions and topology between the sender and the new relay,
as this may cause the relay to propagate a new RPF join toward the sender.</t>
<t>Balancing the expected impact on the tunneled traffic against likely
or observed problems with an existing connection to the relay is the goal
of the heuristics that gateways use to determine when to restart the
discovery process.</t>
<t>The non-normative advice in this section should be treated as guidelines to
operators and implementors working with AMT systems that can use DRIAD as
part of the relay discovery process.</t>
</section>
<section anchor="updates-to-restarting-events" title="Updates to Restarting Even
ts">
<t>Section 5.2.3.4.1 of <xref target="RFC7450"/> lists several events that may c
ause a
gateway to start or restart the discovery procedure.</t>
<t>This document provides some updates and recommendations regarding the
handling of these and similar events. The first 5 events are copied
here and numbered for easier reference, and the remaining 4 events are
newly added for consideration in this document:</t>
<t><list style="numbers"> Subscribers
<t>When a gateway pseudo-interface is started (enabled).</t> </artwork>
<t>When the gateway wishes to report a group subscription when none </figure>
currently exist.</t> </section>
<t>Before sending the next Request message in a membership update <section anchor="exoffice" numbered="true" toc="exclude" removeInRFC="
cycle.</t> false" pn="section-2.3.1.2">
<t>After the gateway fails to receive a response to a Request <name slugifiedName="name-small-office">Small Office</name>
message.</t> <t pn="section-2.3.1.2-1">Another example receiving network is a sma
<t>After the gateway receives a Membership Query message with the ll branch office that regularly
L flag set to 1.</t> accesses some multicast content, illustrated in <xref target="figrxofficenm" fo
<t>When the gateway wishes to report an (S,G) subscription with a source rmat="default" sectionFormat="of" derivedContent="Figure 4"/>.</t>
address that does not currently have other group subscriptions.</t> <t pn="section-2.3.1.2-2">This office has desktop devices that need
<t>When there is a network change detected, for example when a gateway is to receive some multicast traffic,
operating inside an end user device or application, and the device so an AMT gateway runs on a LAN with these devices to pull traffic in
joins a different network, or when the domain portion of a DNS-SD through a non-multicast next hop.</t>
<t pn="section-2.3.1.2-3">The office also hosts some mobile devices
that have AMT gateway instances
embedded inside apps in order to receive multicast traffic over their
non-multicast wireless LAN. (Note that the "Legacy Router" is a
simplification that's meant to describe a variety of possible conditions;
for example, it could be a device providing a split-tunnel VPN as described
in <xref target="RFC7359" format="default" sectionFormat="of" derivedContent="R
FC7359"/>, deliberately excluding multicast traffic for a VPN
tunnel, rather than a device that is incapable of multicast forwarding.)</t>
<figure anchor="figrxofficenm" align="left" suppress-title="false" p
n="figure-4">
<name slugifiedName="name-small-office-no-multicast-u">Small Offic
e (No Multicast Up)</name>
<artwork name="" type="" align="left" alt="" pn="section-2.3.1.2-4
.1">
Internet
(non-multicast)
^
| Office Network
+----------|----------------------------------+
| | |
| +---------------+ (Wifi) Mobile apps |
| | Modem+ | Wifi | - - - - w/ embedded |
| | Router | AP | AMT gateways |
| +---------------+ |
| | |
| | |
| +----------------+ |
| | Legacy Router | |
| | (unicast) | |
| +----------------+ |
| / | \ |
| / | \ |
| +--------+ +--------+ +--------+=========+ |
| | Phones | | ConfRm | | Desks | AMT | |
| | subnet | | subnet | | subnet | gateway | |
| +--------+ +--------+ +--------+=========+ |
| |
+---------------------------------------------+
</artwork>
</figure>
<t pn="section-2.3.1.2-5">By adding an AMT relay to this office netw
ork as in <xref target="figrxoffice" format="default" sectionFormat="of" derived
Content="Figure 5"/>, it's
possible to make use of multicast services from the example multicast-capable
ISP in <xref target="exrxisp" format="default" sectionFormat="of" derivedConten
t="Section 2.3.1.1"/>.</t>
<figure anchor="figrxoffice" align="left" suppress-title="false" pn=
"figure-5">
<name slugifiedName="name-small-office-example">Small Office Examp
le</name>
<artwork name="" type="" align="left" alt="" pn="section-2.3.1.2-6
.1">
Multicast-capable ISP
^
| Office Network
+----------|----------------------------------+
| | |
| +---------------+ (Wifi) Mobile apps |
| | Modem+ | Wifi | - - - - w/ embedded |
| | Router | AP | AMT gateways |
| +---------------+ |
| | +=======+ |
| +---Wired LAN---| AMT | |
| | | relay | |
| +----------------+ +=======+ |
| | Legacy Router | |
| | (unicast) | |
| +----------------+ |
| / | \ |
| / | \ |
| +--------+ +--------+ +--------+=========+ |
| | Phones | | ConfRm | | Desks | AMT | |
| | subnet | | subnet | | subnet | gateway | |
| +--------+ +--------+ +--------+=========+ |
| |
+---------------------------------------------+
</artwork>
</figure>
<t pn="section-2.3.1.2-7">When multicast-capable networks are chaine
d like this, with a network like
the one in <xref target="figrxoffice" format="default" sectionFormat="of" deriv
edContent="Figure 5"/> receiving Internet services from a
multicast-capable network like the one in <xref target="figrxisp" format="defau
lt" sectionFormat="of" derivedContent="Figure 3"/>, it's important for
AMT gateways to reach the more local AMT relay in order to avoid
accidentally tunneling multicast traffic from a more distant AMT relay with
unicast and failing to utilize the multicast transport capabilities of the
network in <xref target="figrxisp" format="default" sectionFormat="of" derivedC
ontent="Figure 3"/>.</t>
</section>
</section>
<section anchor="extx" numbered="true" toc="include" removeInRFC="false"
pn="section-2.3.2">
<name slugifiedName="name-example-sending-networks">Example Sending Ne
tworks</name>
<section anchor="extxsnd" numbered="true" toc="exclude" removeInRFC="f
alse" pn="section-2.3.2.1">
<name slugifiedName="name-sender-controlled-relays">Sender-Controlle
d Relays</name>
<t pn="section-2.3.2.1-1">When a sender network is also operating AM
T relays to distribute multicast
traffic, as in <xref target="figtxrelay" format="default" sectionFormat="of" de
rivedContent="Figure 6"/>, each address could appear as an AMTRELAY RR
for the reverse IP of the sender. Alternately, one or more domain names could a
ppear
in AMTRELAY RRs, and the AMT relay addresses can be discovered by finding
A or AAAA records from those domain names.</t>
<figure anchor="figtxrelay" align="left" suppress-title="false" pn="
figure-6">
<name slugifiedName="name-small-office-example-2">Small Office Exa
mple</name>
<artwork name="" type="" align="left" alt="" pn="section-2.3.2.1-2
.1">
Sender Network
+-----------------------------------+
| |
| +--------+ +=======+ +=======+ |
| | Sender | | AMT | | AMT | |
| +--------+ | relay | | relay | |
| | +=======+ +=======+ |
| | | | |
| +-----+------+----------+ |
| | |
+-----------|-----------------------+
v
Internet
(non-multicast)
</artwork>
</figure>
</section>
<section anchor="extxprv" numbered="true" toc="exclude" removeInRFC="f
alse" pn="section-2.3.2.2">
<name slugifiedName="name-provider-controlled-relays">Provider-Contr
olled Relays</name>
<t pn="section-2.3.2.2-1">When an ISP offers a service to transmit o
utbound multicast traffic through
a forwarding network, it might also offer AMT relays in order to reach
receivers without multicast connectivity to the forwarding network, as in
<xref target="figtxisp" format="default" sectionFormat="of" derivedContent="Fig
ure 7"/>. In this case, it's recommended that the ISP also provide at
least one domain name for the AMT relays for use with the AMTRELAY RR.</t>
<t pn="section-2.3.2.2-2">When the sender wishes to use the relays p
rovided by the ISP for
forwarding multicast traffic, an AMTRELAY RR should be configured to use
the domain name provided by the ISP to allow for address reassignment of the
relays without forcing the sender to reconfigure the corresponding AMTRELAY
RRs.</t>
<figure anchor="figtxisp" align="left" suppress-title="false" pn="fi
gure-7">
<name slugifiedName="name-sending-isp-example">Sending ISP Example
</name>
<artwork name="" type="" align="left" alt="" pn="section-2.3.2.2-3
.1">
+--------+
| Sender |
+---+----+ Multicast-enabled
| Sending Network
+-----------|-------------------------------+
| v |
| +------------+ +=======+ +=======+ |
| | Agg Router | | AMT | | AMT | |
| +------------+ | relay | | relay | |
| | +=======+ +=======+ |
| | | | |
| +-----+------+--------+---------+ |
| | | |
| +--------+ +--------+ |
| | Border |---| Border | |
| | Router | | Router | |
| +--------+ +--------+ |
+-----|------------|------------------------+
| |
v v
Internet
(non-multicast)
</artwork>
</figure>
</section>
</section>
</section>
</section>
<section anchor="relay-discovery-operation" numbered="true" toc="include" re
moveInRFC="false" pn="section-3">
<name slugifiedName="name-relay-discovery-operation">Relay Discovery Opera
tion</name>
<section anchor="priority" numbered="true" toc="include" removeInRFC="fals
e" pn="section-3.1">
<name slugifiedName="name-optimal-relay-selection">Optimal Relay Selecti
on</name>
<section anchor="overview" numbered="true" toc="include" removeInRFC="fa
lse" pn="section-3.1.1">
<name slugifiedName="name-overview">Overview</name>
<t pn="section-3.1.1-1">The reverse source IP DNS query of an AMTRELAY
RR is a good way for a gateway
to discover a relay that is known to the sender.</t>
<t pn="section-3.1.1-2">However, it is *not* necessarily a good way to
discover the best relay for that
gateway to use, because the RR will only provide information about relays
known to the source.</t>
<t pn="section-3.1.1-3">If there is an upstream relay in a network tha
t is topologically closer to
the gateway and is able to receive and forward multicast traffic from the sende
r,
that relay is better for the gateway to use since more of the network path
uses native multicast, allowing more chances for packet replication. But since
that relay is not known to the sender, it won't be advertised in the sender's
reverse IP DNS record. An example network that illustrates this scenario is
outlined in <xref target="figrxoffice" format="default" sectionFormat="of" deri
vedContent="Figure 5"/> from <xref target="exoffice" format="default" sectionFor
mat="of" derivedContent="Section 2.3.1.2"/>.</t>
<t pn="section-3.1.1-4">It's only appropriate for an AMT gateway to di
scover an AMT relay by querying
an AMTRELAY RR owned by a sender when all of these conditions are met:</t>
<ol spacing="normal" type="1" start="1" pn="section-3.1.1-5">
<li pn="section-3.1.1-5.1" derivedCounter="1.">The gateway needs to
propagate a join of an (S,G) over AMT because in
the gateway's network, no RPF next hop toward the source can
propagate a native multicast join of the (S,G);</li>
<li pn="section-3.1.1-5.2" derivedCounter="2.">The gateway is not al
ready connected to a relay that forwards multicast
traffic from the source of the (S,G);</li>
<li pn="section-3.1.1-5.3" derivedCounter="3.">The gateway is not co
nfigured to use a particular IP address for AMT
discovery, or a relay discovered with that IP is not able to forward
traffic from the source of the (S,G);</li>
<li pn="section-3.1.1-5.4" derivedCounter="4.">The gateway is not ab
le to find an upstream AMT relay with
DNS-based Service Discovery (DNS-SD)
<xref target="RFC6763" format="default" sectionFormat="of" derivedContent="RFC6
763"/> using "_amt._udp" as the Service section of the queries, or a
relay discovered this way is not able to forward traffic from the source of
the (S,G) (as described in <xref target="trafficabsent" format="default" sectio
nFormat="of" derivedContent="Section 3.3.4.1"/> and <xref target="loaded" format
="counter" sectionFormat="of" derivedContent="3.3.5"/>); and</li>
<li pn="section-3.1.1-5.5" derivedCounter="5.">The gateway is not ab
le to find an upstream AMT relay with the well-known
anycast addresses from <xref target="RFC7450" sectionFormat="of" section="7" fo
rmat="default" derivedLink="https://rfc-editor.org/rfc/rfc7450#section-7" derive
dContent="RFC7450"/>.</li>
</ol>
<t pn="section-3.1.1-6">When all of the above conditions are met, the
gateway has no path within its local
network that can receive multicast traffic from the source IP of the (S,G).</t>
<t pn="section-3.1.1-7">In this situation, the best way to find a rela
y that can forward the
required traffic is to use information that comes from the operator of the
sender. When the sender has configured an AMTRELAY RR, gateways can use the
DRIAD mechanism defined in this document to discover the relay information
provided by the sender.</t>
<t pn="section-3.1.1-8">Note that the above conditions are designed to
prefer the use of
a local AMT relay if one can be discovered. However, note also
that the network upstream of the locally discovered relay would
still need to receive traffic from the sender of the (S,G) in order
to forward it. Therefore, unless the upstream network contains the
sender or has a multicast-capable peering with a network that can
forward traffic from the sender, the upstream network might still
use AMT to ingest the traffic from a network that can receive
traffic from the sender. If this is the case, the upstream AMT
gateway could still rely on the AMTRELAY RR provided by the sender,
even though the AMTRELAY RR is not directly used by gateways
topologically closer to the receivers. For a concrete example of
such a situation, consider the network in <xref target="figrxoffice" f
ormat="default" sectionFormat="of" derivedContent="Figure 5"/> connected as one
of the customers to the network in <xref target="figrxisp" format="def
ault" sectionFormat="of" derivedContent="Figure 3"/>.</t>
</section>
<section anchor="ordering" numbered="true" toc="include" removeInRFC="fa
lse" pn="section-3.1.2">
<name slugifiedName="name-preference-ordering">Preference Ordering</na
me>
<t pn="section-3.1.2-1">This section defines a preference ordering for
relay addresses during
the relay discovery process. Gateways are encouraged to implement a
Happy Eyeballs <xref target="RFC8305" format="default" sectionFormat="of" deriv
edContent="RFC8305"/> algorithm to try candidate relays
concurrently (see <xref target="happy" format="default" sectionFormat="of" deri
vedContent="Section 3.2"/>), but even
gateways that do not implement a Happy Eyeballs algorithm <bcp14>SHOULD</bcp14>
use
this ordering, except as noted.</t>
<t pn="section-3.1.2-2">When establishing an AMT tunnel to forward mul
ticast data, it's
very important for the discovery process to prioritize network
topology considerations ahead of address selection considerations in
order to gain the packet replication benefits from using multicast
instead of unicast tunneling in the multicast-capable portions of the
network path.</t>
<t pn="section-3.1.2-3">The intent of the advice and requirements in t
his section is to describe
how a gateway should make use of the concurrency provided by a Happy
Eyeballs algorithm to reduce the join latency while still prioritizing
network efficiency considerations over address selection considerations.</t>
<t pn="section-3.1.2-4"><xref target="RFC8305" sectionFormat="of" sect
ion="4" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8305#section
-4" derivedContent="RFC8305"/> requires a Happy Eyeballs algorithm to sort
the addresses with the Destination Address Selection defined in <xref target="R
FC6724" sectionFormat="of" section="6" format="default" derivedLink="https://rfc
-editor.org/rfc/rfc6724#section-6" derivedContent="RFC6724"/>, but for the above
reasons, that requirement is superseded
in the AMT discovery use case by the following considerations:</t>
<ul spacing="normal" bare="false" empty="false" pn="section-3.1.2-5">
<li pn="section-3.1.2-5.1">
<t pn="section-3.1.2-5.1.1">Prefer Local Relays </t>
<t pn="section-3.1.2-5.1.2"><xref target="figrxoffice" format="def
ault" sectionFormat="of" derivedContent="Figure 5"/> and <xref target="exoffice"
format="default" sectionFormat="of" derivedContent="Section 2.3.1.2"/> provide
a motivating example to prefer
DNS-SD <xref target="RFC6763" format="default" sectionFormat="of" derivedConte
nt="RFC6763"/> for discovery strictly ahead of using the AMTRELAY RR
controlled by the sender for AMT discovery.</t>
<t pn="section-3.1.2-5.1.3">
For this reason, it's <bcp14>RECOMMENDED</bcp14> that AMT gateways by default p
erform
service discovery using DNS Service Discovery (DNS-SD) <xref target="RFC6763"
format="default" sectionFormat="of" derivedContent="RFC6763"/> for
_amt._udp.&lt;domain&gt; (with &lt;domain&gt; chosen as described in <xref tar
get="RFC6763" sectionFormat="of" section="11" format="default" derivedLink="http
s://rfc-editor.org/rfc/rfc6763#section-11" derivedContent="RFC6763"/>) and use t
he AMT relays discovered that way in preference to
AMT relays discoverable via the mechanism defined in this document
(DRIAD).</t>
</li>
<li pn="section-3.1.2-5.2">
<t pn="section-3.1.2-5.2.1">Prefer Relays Managed by the Containin
g Network </t>
<t pn="section-3.1.2-5.2.2">
When no local relay is discoverable with DNS-SD, it still may be the
case that a relay local to the receiver is operated by the network
providing transit services to the receiver. </t>
<t pn="section-3.1.2-5.2.3">
In this case, when the network cannot make the relay discoverable via
DNS-SD, the network <bcp14>SHOULD</bcp14> use the well-known anycast addresses
from <xref target="RFC7450" format="default" section="7" sectionFormat="of" der
ivedLink="https://rfc-editor.org/rfc/rfc7450#section-7" derivedContent="RFC7450"
/> to route discovery traffic to the relay most
appropriate to the receiver's gateway.</t>
<t pn="section-3.1.2-5.2.4">
Accordingly, the gateway <bcp14>SHOULD</bcp14> by default discover a relay with
the
well-known AMT anycast addresses as the next-best option after DNS-SD
when searching for a local relay.</t>
</li>
<li pn="section-3.1.2-5.3">
<t pn="section-3.1.2-5.3.1">Let Sender Manage Relay Provisioning
</t>
<t pn="section-3.1.2-5.3.2">
A related motivating example is provided by considering a sender whose
traffic can be forwarded by relays in a sender-controlled network
like <xref target="figtxrelay" format="default" sectionFormat="of" derivedCont
ent="Figure 6"/> in <xref target="extxsnd" format="default" sectionFormat="of" d
erivedContent="Section 2.3.2.1"/> and by relays in a
provider-controlled network like <xref target="figtxisp" format="default" sect
ionFormat="of" derivedContent="Figure 7"/> in <xref target="extxprv" format="def
ault" sectionFormat="of" derivedContent="Section 2.3.2.2"/>, with
different cost and scalability profiles for the different options. </t>
<t pn="section-3.1.2-5.3.3">
In this example about the sending-side network, the precedence field
described in <xref target="rrdef-precedence" format="default" sectionFormat="o
f" derivedContent="Section 4.2.1"/> is a critical method of control so
that senders can provide the appropriate guidance to gateways
during the discovery process in order to manage load and failover
scenarios in a manner that operates well with the sender's
provisioning strategy for horizontal scaling of AMT relays. </t>
<t pn="section-3.1.2-5.3.4">
Therefore, after DNS-SD, the precedence from the RR <bcp14>MUST</bcp14> be used
for
sorting preference ahead of the Destination Address Selection ordering
from <xref target="RFC6724" section="6" sectionFormat="of" format="default" de
rivedLink="https://rfc-editor.org/rfc/rfc6724#section-6" derivedContent="RFC6724
"/> so that only relay IPs with the same
precedence are directly compared according to the Destination Address
Selection ordering.</t>
</li>
</ul>
<t pn="section-3.1.2-6">Accordingly, AMT gateways <bcp14>SHOULD</bcp14
> by default prefer relays in this
order:</t>
<ol spacing="normal" start="1" type="1" pn="section-3.1.2-7">
<li pn="section-3.1.2-7.1" derivedCounter="1.">DNS-SD</li>
<li pn="section-3.1.2-7.2" derivedCounter="2.">Anycast addresses fro
m <xref target="RFC7450" sectionFormat="of" section="7" format="default" derived
Link="https://rfc-editor.org/rfc/rfc7450#section-7" derivedContent="RFC7450"/></
li>
<li pn="section-3.1.2-7.3" derivedCounter="3.">DRIAD</li>
</ol>
<t pn="section-3.1.2-8">This default behavior <bcp14>MAY</bcp14> be ov
erridden by administrative configuration where
other behavior is more appropriate for the gateway within its network.</t>
<t pn="section-3.1.2-9">Among relay addresses that have an equivalent
preference as described above, a
Happy Eyeballs algorithm for AMT <bcp14>SHOULD</bcp14> use the Destination Addr
ess Selection
defined in <xref target="RFC6724" sectionFormat="of" section="6" format="defaul
t" derivedLink="https://rfc-editor.org/rfc/rfc6724#section-6" derivedContent="RF
C6724"/>.</t>
<t pn="section-3.1.2-10">Among relay addresses that still have an equi
valent preference after the
above orderings, a gateway <bcp14>SHOULD</bcp14> make a non-deterministic choic
e (such as
a pseudorandom selection) for relay preference ordering in order to
support load balancing by DNS configurations that provide many relay
options.</t>
<t pn="section-3.1.2-11">The gateway <bcp14>MAY</bcp14> introduce a bi
as in the non-deterministic choice according
to information that indicates expected benefits from selecting some relays in
preference to others. Details about the structure and collection of this
information are out of scope for this document but could, for example, be
obtained by out-of-band methods or from a historical record about
network topology, timing information, or the response to a probing
mechanism. A gateway in possession of such information <bcp14>MAY</bcp14> use i
t to prefer topologically closer relays.</t>
<t pn="section-3.1.2-12">Within the above constraints, gateways <bcp14
>MAY</bcp14> make use of other considerations
from <xref target="RFC8305" sectionFormat="of" section="4" format="default" der
ivedLink="https://rfc-editor.org/rfc/rfc8305#section-4" derivedContent="RFC8305"
/>, such as the address family interleaving
strategies, to produce a final ordering of candidate relay addresses.</t>
<t pn="section-3.1.2-13">Note also that certain relay addresses might
be excluded from consideration
by the hold-down timers described in <xref target="trafficabsent" format="defau
lt" sectionFormat="of" derivedContent="Section 3.3.4.1"/> or <xref target="loade
d" format="counter" sectionFormat="of" derivedContent="3.3.5"/>. These
relays constitute "unusable destinations" under Rule 1 of the Destination
Address Selection and are also not part of the superseding considerations
described above.</t>
<t pn="section-3.1.2-14">The discovery and connection process for the
relay addresses in the above
described ordering <bcp14>MAY</bcp14> operate in parallel, subject to delays pr
escribed
by the Happy Eyeballs requirements described in <xref target="RFC8305" sectionF
ormat="of" section="5" format="default" derivedLink="https://rfc-editor.org/rfc/
rfc8305#section-5" derivedContent="RFC8305"/>
for successively launched concurrent connection attempts.</t>
</section>
<section anchor="connecting-to-multiple-relays" numbered="true" toc="inc
lude" removeInRFC="false" pn="section-3.1.3">
<name slugifiedName="name-connecting-to-multiple-rela">Connecting to M
ultiple Relays</name>
<t pn="section-3.1.3-1">In some deployments, it may be useful for a ga
teway to connect to
multiple upstream relays and subscribe to the same traffic in order to
support an active/active failover model. A gateway <bcp14>SHOULD NOT</bcp14> b
e
configured to do so without guaranteeing that adequate bandwidth is
available.</t>
<t pn="section-3.1.3-2">A gateway configured to do this <bcp14>SHOULD<
/bcp14> still use the same preference-ordering logic from <xref target="ordering
" format="default" sectionFormat="of" derivedContent="Section 3.1.2"/> for each
connection. (Note that
this ordering allows for overriding by explicit administrative
configuration where required.)</t>
</section>
</section>
<section anchor="happy" numbered="true" toc="include" removeInRFC="false"
pn="section-3.2">
<name slugifiedName="name-happy-eyeballs">Happy Eyeballs</name>
<section anchor="overview-1" numbered="true" toc="include" removeInRFC="
false" pn="section-3.2.1">
<name slugifiedName="name-overview-2">Overview</name>
<t pn="section-3.2.1-1">Often, multiple choices of relay will exist fo
r a gateway using DRIAD
for relay discovery. Happy Eyeballs <xref target="RFC8305" format="default" se
ctionFormat="of" derivedContent="RFC8305"/> provides a widely
deployed and generalizable strategy for probing multiple possible
connections in parallel. Therefore, it is <bcp14>RECOMMENDED</bcp14> that DRIAD
-capable
gateways implement a Happy Eyeballs algorithm to support fast discovery
of the most preferred available relay by probing multiple relays
concurrently.</t>
<t pn="section-3.2.1-2">The parallel discovery logic of a Happy Eyebal
ls algorithm serves to
reduce join latency for the initial join of an SSM channel. This section
and the preference ordering of relays defined in <xref target="ordering" format
="default" sectionFormat="of" derivedContent="Section 3.1.2"/> together provide
guidance on use of a Happy Eyeballs algorithm for the
case of establishing AMT connections.</t>
<t pn="section-3.2.1-3">Note that according to the definition in <xref
target="connection-def" format="default" sectionFormat="of" derivedContent="Sec
tion 3.2.3"/> of this
document, establishing the connection occurs before sending a membership
report. As described in <xref target="RFC8305" sectionFormat="of" section="5"
format="default" derivedLink="https://rfc-editor.org/rfc/rfc8305#section-5" deri
vedContent="RFC8305"/>, only one of the
successful connections will be used, and the others are all canceled
or ignored. In the context of an AMT connection, this means the gateway
will send the membership reports that subscribe to traffic only for the
chosen connection after the Happy Eyeballs algorithm resolves.</t>
</section>
<section anchor="algorithm-guidelines" numbered="true" toc="include" rem
oveInRFC="false" pn="section-3.2.2">
<name slugifiedName="name-algorithm-guidelines">Algorithm Guidelines</
name>
<t pn="section-3.2.2-1">During the "Initiation of asynchronous DNS que
ries" phase
described in <xref target="RFC8305" sectionFormat="of" section="3" for
mat="default" derivedLink="https://rfc-editor.org/rfc/rfc8305#section-3" derived
Content="RFC8305"/>, a gateway attempts to resolve the domain names
listed in <xref target="priority" format="default" sectionFormat="of" derivedCo
ntent="Section 3.1"/>. This consists of resolving the SRV queries for
DNS-SD domains for the AMT service, as well as the AMTRELAY query for the
reverse IP domain defined in this document.</t>
<t pn="section-3.2.2-2">Each of the SRV and AMTRELAY responses might c
ontain:</t>
<ul spacing="normal" bare="false" empty="false" pn="section-3.2.2-3">
<li pn="section-3.2.2-3.1">one
or more IP addresses (as with type 1 or type 2 AMTRELAY
responses or when the SRV Additional Data section of the
SRV response contains the address records for the target,
as urged by <xref target="RFC2782" format="default" sectionFormat="of"
derivedContent="RFC2782"/>),
or</li>
<li pn="section-3.2.2-3.2">
only domain names (as with type 3
responses from <xref target="rtype" format="default" sectionFormat="of
" derivedContent="Section 4.2.3"/> or
an SRV response without an additional data section).</li>
</ul>
<t pn="section-3.2.2-4">When present, IP addresses in the initial resp
onse provide resolved
destination address candidates for the "Sorting of resolved
destination addresses" phase described in <xref target="RFC8305" sectionFormat=
"of" section="4" format="default" derivedLink="https://rfc-editor.org/rfc/rfc830
5#section-4" derivedContent="RFC8305"/>),
whereas domain names without IP addresses in the initial response result
in another set of queries for AAAA and A records, whose responses provide
the candidate resolved destination addresses.</t>
<t pn="section-3.2.2-5">Since the SRV or AMTRELAY responses don't have
a bound on the count of
queries that might be generated aside from the bounds imposed by the
DNS resolver, it's important for the gateway to provide a rate limit on
the DNS queries. The DNS query functionality is expected to follow
ordinary standards and best practices for DNS clients. A gateway <bcp14>MAY</b
cp14>
use an existing DNS client implementation that does so and <bcp14>MAY</bcp14> r
ely on
that client's rate-limiting logic to avoid issuing excessive queries.
Otherwise, a gateway <bcp14>MUST</bcp14> provide a rate limit for the DNS queri
es, and
its default settings <bcp14>SHOULD NOT</bcp14> permit more than 10 queries for
any
100-millisecond period (though this <bcp14>MAY</bcp14> be overridable by the ad
ministrative
configuration).</t>
<t pn="section-3.2.2-6">As the resolved IP addresses arrive, the Happy
Eyeballs algorithm
sorts them according to the requirements and recommendations given in
<xref target="ordering" format="default" sectionFormat="of" derivedContent="Sec
tion 3.1.2"/> and attempts connections with the corresponding relays
under the algorithm restrictions and guidelines given in <xref target="RFC8305"
format="default" sectionFormat="of" derivedContent="RFC8305"/> for
the "Establishment of one connection, which cancels all other attempts"
phase. As described in <xref target="RFC8305" sectionFormat="of" section="3" f
ormat="default" derivedLink="https://rfc-editor.org/rfc/rfc8305#section-3" deriv
edContent="RFC8305"/>, DNS resolution is
treated as asynchronous, and connection initiation does not wait
for lagging DNS responses.</t>
</section>
<section anchor="connection-def" numbered="true" toc="include" removeInR
FC="false" pn="section-3.2.3">
<name slugifiedName="name-connection-definition">Connection Definition
</name>
<t pn="section-3.2.3-1"><xref target="RFC8305" sectionFormat="of" sect
ion="5" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8305#section
-5" derivedContent="RFC8305"/>
non-normatively describes a successful connection attempt as "generall
y when the TCP handshake completes".</t>
<t pn="section-3.2.3-2">There is no normative definition of a connecti
on in the AMT specification
<xref target="RFC7450" format="default" sectionFormat="of" derivedContent="RFC7
450"/>, and there is no TCP connection involved in an AMT tunnel.</t>
<t pn="section-3.2.3-3">However, the concept of an AMT connection in t
he context of a Happy
Eyeballs algorithm is a useful one, and so this section provides the
following normative definition:</t>
<ul spacing="normal" bare="false" empty="false" pn="section-3.2.3-4">
<li pn="section-3.2.3-4.1">An AMT connection is established successf
ully when the gateway receives
from a newly discovered relay a valid Membership Query message
(<xref target="RFC7450" sectionFormat="of" section="5.1.4" format="default" der
ivedLink="https://rfc-editor.org/rfc/rfc7450#section-5.1.4" derivedContent="RFC7
450"/>) that does not have the L flag set.</li>
</ul>
<t pn="section-3.2.3-5">See <xref target="loaded" format="default" sec
tionFormat="of" derivedContent="Section 3.3.5"/> of this document for further in
formation about the
relevance of the L flag to the establishment of a Happy Eyeballs
connection. See <xref target="flowhealth" format="default" sectionFormat="of"
derivedContent="Section 3.3.4"/> for an overview of how to respond
if the connection does not provide multicast connectivity to the
source.</t>
<t pn="section-3.2.3-6">To "cancel" this kind of AMT connection for th
e Happy Eyeballs algorithm,
a gateway that has not sent a membership report with a subscription
would simply stop sending AMT packets for that connection. A
gateway only sends a membership report to a connection it has chosen as
the most preferred available connection.</t>
</section>
</section>
<section anchor="guidelines-for-restarting-discovery" numbered="true" toc=
"include" removeInRFC="false" pn="section-3.3">
<name slugifiedName="name-guidelines-for-restarting-d">Guidelines for Re
starting Discovery</name>
<section anchor="overview-2" numbered="true" toc="include" removeInRFC="
false" pn="section-3.3.1">
<name slugifiedName="name-overview-3">Overview</name>
<t pn="section-3.3.1-1">It's expected that gateways deployed in differ
ent environments will use a
variety of heuristics to decide when it's appropriate to restart the relay
discovery process in order to meet different performance goals (for example,
to fulfill different kinds of service level agreements).</t>
<t pn="section-3.3.1-2">In general, restarting the discovery process i
s always safe for
the gateway and relay during any of the events listed in this section
but may cause a disruption in the forwarded traffic if the discovery
process results in choosing a different relay because this changes
the RPF forwarding tree for the multicast traffic upstream of the gateway.
This is likely to result in some dropped or duplicated packets from channels
actively being tunneled from the old relay to the gateway.</t>
<t pn="section-3.3.1-3">The degree of impact on the traffic from choos
ing a different relay may
depend on network conditions between the gateway and the new relay, as well
as the network conditions and topology between the sender and the new relay,
as this may cause the relay to propagate a new RPF join toward the sender.</t>
<t pn="section-3.3.1-4">Balancing the expected impact on the tunneled
traffic against likely
or observed problems with an existing connection to the relay is the goal
of the heuristics that gateways use to determine when to restart the
discovery process.</t>
<t pn="section-3.3.1-5">The non-normative advice in this section shoul
d be treated as guidelines to
operators and implementors working with AMT systems that can use DRIAD as
part of the relay discovery process.</t>
</section>
<section anchor="updates-to-restarting-events" numbered="true" toc="incl
ude" removeInRFC="false" pn="section-3.3.2">
<name slugifiedName="name-updates-to-restarting-event">Updates to Rest
arting Events</name>
<t pn="section-3.3.2-1"><xref target="RFC7450" sectionFormat="of" sect
ion="5.2.3.4.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc7450
#section-5.2.3.4.1" derivedContent="RFC7450"/> lists several events that may cau
se a
gateway to start or restart the discovery procedure.</t>
<t pn="section-3.3.2-2">This document provides some updates and recomm
endations regarding the
handling of these and similar events. The first five events are copied
here and numbered for easier reference, and the remaining four events are
newly added for consideration in this document:</t>
<ol spacing="normal" type="1" start="1" pn="section-3.3.2-3">
<li pn="section-3.3.2-3.1" derivedCounter="1.">When a gateway pseudo
-interface is started (enabled).</li>
<li pn="section-3.3.2-3.2" derivedCounter="2.">When the gateway wish
es to report a group subscription when none
currently exists.</li>
<li pn="section-3.3.2-3.3" derivedCounter="3.">Before sending the ne
xt Request message in a membership update
cycle.</li>
<li pn="section-3.3.2-3.4" derivedCounter="4.">After the gateway fai
ls to receive a response to a Request
message.</li>
<li pn="section-3.3.2-3.5" derivedCounter="5.">After the gateway rec
eives a Membership Query message with the
L flag set to 1.</li>
<li pn="section-3.3.2-3.6" derivedCounter="6.">When the gateway wish
es to report an (S,G) subscription with a source
address that does not currently have other group subscriptions.</li>
<li pn="section-3.3.2-3.7" derivedCounter="7.">When there is a netwo
rk change detected; for example, when a gateway is
operating inside an end user device or application and the device
joins a different network or when the domain portion of a DNS-SD
domain name changes in response to a DHCP message or administrative domain name changes in response to a DHCP message or administrative
configuration.</t> configuration.</li>
<t>When substantial loss, persistent congestion, or network overload is <li pn="section-3.3.2-3.8" derivedCounter="8.">When substantial loss
detected in the stream of AMT packets from a relay.</t> , persistent congestion, or network overload is
<t>When the gateway has reported one or more (S,G) subscriptions, but detected in the stream of AMT packets from a relay.</li>
no traffic is received from the source for some timeout. (See <li pn="section-3.3.2-3.9" derivedCounter="9.">When the gateway has
<xref target="trafficabsent"/>).</t> reported one or more (S,G) subscriptions but
</list></t> no traffic is received from the source for some timeout (see
<xref target="trafficabsent" format="default" sectionFormat="of" derivedContent=
<t>This list is not exhaustive, nor are any of the listed events strictly "Section 3.3.4.1"/>).</li>
</ol>
<t pn="section-3.3.2-4">This list is not exhaustive, nor are any of th
e listed events strictly
required to always force a restart of the discovery process.</t> required to always force a restart of the discovery process.</t>
<t pn="section-3.3.2-5">Note that during event #1, a gateway may use D
<t>Note that during event #1, a gateway may use DNS-SD, but does not NS-SD but does not
have sufficient information to use DRIAD, since no source is known.</t> have sufficient information to use DRIAD, since no source is known.</t>
</section>
</section> <section anchor="stability" numbered="true" toc="include" removeInRFC="f
<section anchor="stability" title="Tunnel Stability"> alse" pn="section-3.3.3">
<name slugifiedName="name-tunnel-stability">Tunnel Stability</name>
<t>In general, subscribers to active traffic flows that are being forwarded <t pn="section-3.3.3-1">In general, subscribers to active traffic flow
s that are being forwarded
by an AMT gateway are less likely to experience a degradation in service by an AMT gateway are less likely to experience a degradation in service
(for example, from missing or duplicated packets) when the gateway continues (for example, from missing or duplicated packets) when the gateway continues
using the same relay, as long as the relay is not overloaded and the network using the same relay as long as the relay is not overloaded and the network
conditions remain stable.</t> conditions remain stable.</t>
<t pn="section-3.3.3-2">Therefore, gateways <bcp14>SHOULD</bcp14> avoi
<t>Therefore, gateways SHOULD avoid performing a full restart of the discovery d performing a full restart of the discovery
process during routine cases of event #3 (sending a new Request message), process during routine cases of event #3 (sending a new Request message),
since it occurs frequently in normal operation.</t> since it occurs frequently in normal operation.</t>
<t pn="section-3.3.3-3">However, see Sections <xref target="flowhealth
<t>However, see <xref target="flowhealth"/>, <xref target="discoverymessage"/>, " format="counter" sectionFormat="of" derivedContent="3.3.4"/>, <xref target="di
and <xref target="ancient"/> for more scoverymessage" format="counter" sectionFormat="of" derivedContent="3.3.6"/>, an
d <xref target="ancient" format="counter" sectionFormat="of" derivedContent="3.3
.4.3"/> for more
information about exceptional cases when it may be appropriate to use information about exceptional cases when it may be appropriate to use
event #3.</t> event #3.</t>
</section>
</section> <section anchor="flowhealth" numbered="true" toc="include" removeInRFC="
<section anchor="flowhealth" title="Traffic Health"> false" pn="section-3.3.4">
<name slugifiedName="name-traffic-health">Traffic Health</name>
<section anchor="trafficabsent" title="Absence of Traffic"> <section anchor="trafficabsent" numbered="true" toc="exclude" removeIn
RFC="false" pn="section-3.3.4.1">
<t>If a gateway indicates one or more (S,G) subscriptions in a Membership <name slugifiedName="name-absence-of-traffic">Absence of Traffic</na
Update message, but no traffic for any of the (S,G)s is received in a me>
reasonable time, it’s appropriate for the gateway to restart the <t pn="section-3.3.4.1-1">If a gateway indicates one or more (S,G) s
ubscriptions in a Membership
Update message but no traffic for any of the (S,G)s is received in a
reasonable time, it's appropriate for the gateway to restart the
discovery process.</t> discovery process.</t>
<t pn="section-3.3.4.1-2">If the gateway restarts the discovery proc
<t>If the gateway restarts the discovery process multiple times consecutively ess multiple times consecutively
for this reason, the timeout period SHOULD be adjusted to provide a random for this reason, the timeout period <bcp14>SHOULD</bcp14> be adjusted to provide
a random
exponential back-off.</t> exponential back-off.</t>
<t pn="section-3.3.4.1-3">The <bcp14>RECOMMENDED</bcp14> timeout is
<t>The RECOMMENDED timeout is a random value in the range a random value in the range
[initial_timeout, MIN(initial_timeout * 2^retry_count, maximum_timeout)], [initial_timeout, MIN(initial_timeout * 2^retry_count, maximum_timeout)],
with a RECOMMENDED initial_timeout of 4 seconds and a RECOMMENDED with a <bcp14>RECOMMENDED</bcp14> initial_timeout of 4 seconds and a <bcp14>RECO MMENDED</bcp14>
maximum_timeout of 120 seconds (which is the recommended minimum NAT maximum_timeout of 120 seconds (which is the recommended minimum NAT
mapping timeout described in <xref target="RFC4787"/>).</t> mapping timeout described in <xref target="RFC4787" format="default" sectionForm
at="of" derivedContent="RFC4787"/>).</t>
<t>Note that the recommended initial_timeout is larger than the initial <t pn="section-3.3.4.1-4">Note that the recommended initial_timeout
timout recommended in the similar algorithm from Section 5.2.3.4.3 of is larger than the initial
<xref target="RFC7450"/>. This is to provide time for RPF Join propagation in t timeout recommended in the similar algorithm from <xref target="RFC7450" section
he Format="of" section="5.2.3.4.3" format="default" derivedLink="https://rfc-editor
.org/rfc/rfc7450#section-5.2.3.4.3" derivedContent="RFC7450"/>. This is to prov
ide time for RPF Join propagation in the
sending network. Although the timeout values may be administratively sending network. Although the timeout values may be administratively
adjusted to support performance requirements, operators are advised to adjusted to support performance requirements, operators are advised to
consider the possibility of join propagation delays between the sender consider the possibility of join propagation delays between the sender
and the relay when choosing an appropriate timeout value.</t> and the relay when choosing an appropriate timeout value.</t>
<t pn="section-3.3.4.1-5">Gateways restarting the discovery process
<t>Gateways restarting the discovery process because of an absence of because of an absence of
traffic MUST use a hold-down timer that removes this relay from traffic <bcp14>MUST</bcp14> use a hold-down timer that removes this relay from
consideration during subsequent rounds of discovery while active. consideration during subsequent rounds of discovery while active.
The hold-down SHOULD last for no less than 3 minutes and no more than The hold-down <bcp14>SHOULD</bcp14> last for no less than 3 minutes and no more than
10 minutes.</t> 10 minutes.</t>
</section>
</section> <section anchor="loss-and-congestion" numbered="true" toc="exclude" re
<section anchor="loss-and-congestion" title="Loss and Congestion"> moveInRFC="false" pn="section-3.3.4.2">
<name slugifiedName="name-loss-and-congestion">Loss and Congestion</
<t>In some gateway deployments, it is also feasible to monitor the health of name>
traffic flows through the gateway, for example by detecting the rate of <t pn="section-3.3.4.2-1">In some gateway deployments, it is also fe
packet loss by communicating out of band with receivers, or monitoring the asible to monitor the health of
traffic flows through the gateway -- for example, by detecting the rate of
packet loss by communicating out of band with receivers or monitoring the
packets of known protocols with sequence numbers. Where feasible, packets of known protocols with sequence numbers. Where feasible,
its encouraged for gateways to use such traffic health information to it's encouraged for gateways to use such traffic health information to
trigger a restart of the discovery process during event #3 (before trigger a restart of the discovery process during event #3 (before
sending a new Request message).</t> sending a new Request message).</t>
<t pn="section-3.3.4.2-2">However, if a transient network event that
<t>However, to avoid synchronized rediscovery by many gateways simultaneously affects the tunneled
after a transient network event upstream of a relay results in multicast stream -- as opposed to an event that affects the tunnel
many receivers detecting poor flow health at the same time, it’s recommended connection between the relay and gateway -- occurs, poor health
to add a random delay before restarting the discovery process in this case.</t> detection could be triggered for many gateways simultaneously. In
this situation, adding a random delay to avoid synchronized
<t>The span of the random portion of the delay should be no less than 10 rediscovery by many gateways is recommended.</t>
seconds by default, but may be administratively configured <t pn="section-3.3.4.2-3">The span of the random portion of the dela
y should be no less than 10
seconds by default but may be administratively configured
to support different performance requirements.</t> to support different performance requirements.</t>
</section>
</section> <section anchor="ancient" numbered="true" toc="exclude" removeInRFC="f
<section anchor="ancient" title="Ancient Discovery Information"> alse" pn="section-3.3.4.3">
<name slugifiedName="name-ancient-discovery-informati">Ancient Disco
<t>In most cases, a gateway actively receiving healthy traffic from a relay very Information</name>
<t pn="section-3.3.4.3-1">In most cases, a gateway actively receivin
g healthy traffic from a relay
that has not indicated load with the L flag should prefer to remain that has not indicated load with the L flag should prefer to remain
connected to the same relay, as described in <xref target="stability"/>.</t> connected to the same relay, as described in <xref target="stability" format="de
fault" sectionFormat="of" derivedContent="Section 3.3.3"/>.</t>
<t>However, a relay that appears healthy but has been forwarding traffic for <t pn="section-3.3.4.3-2">However, a relay that appears healthy but
has been forwarding traffic for
days or weeks may have an increased chance of becoming unstable. Gateways days or weeks may have an increased chance of becoming unstable. Gateways
may benefit from restarting the discovery process during event #3 (before may benefit from restarting the discovery process during event #3 (before
sending a Request message) after the expiration of a long-term timeout, on sending a Request message) after the expiration of a long-term timeout on
the order of multiple hours, or even days in some deployments.</t> the order of multiple hours or even days in some deployments.</t>
<t pn="section-3.3.4.3-3">It may be beneficial for such timers to co
<t>It may be beneficial for such timers to consider the amount of traffic nsider the amount of traffic
currently being forwarded, and to give a higher probability of restarting currently being forwarded and to give a higher probability of restarting
discovery during periods with an unusually low data rate, to reduce the discovery during periods with an unusually low data rate to reduce the
impact on active traffic while still avoiding relying on the results of a impact on active traffic while still avoiding relying on the results of a
very old discovery.</t> very old discovery.</t>
<t pn="section-3.3.4.3-4">Other issues may also be worth considering
<t>Other issues may also be worth considering as part of this heuristic; for as part of this heuristic; for
example, if the DNS expiry time of the record that was used to discover example, if the DNS expiry time of the record that was used to discover
the current relay has not passed, the long term timer might be restarted the current relay has not passed, the long-term timer might be restarted
without restarting the discovery process.</t> without restarting the discovery process.</t>
</section>
</section> </section>
</section> <section anchor="loaded" numbered="true" toc="include" removeInRFC="fals
<section anchor="loaded" title="Relay Loaded or Shutting Down"> e" pn="section-3.3.5">
<name slugifiedName="name-relay-loaded-or-shutting-do">Relay Loaded or
<t>The L flag (see Section 5.1.4.4 of <xref target="RFC7450"/>) is the preferred Shutting Down</name>
mechanism for <t pn="section-3.3.5-1">The L flag (see <xref target="RFC7450" section
Format="of" section="5.1.4.4" format="default" derivedLink="https://rfc-editor.o
rg/rfc/rfc7450#section-5.1.4.4" derivedContent="RFC7450"/>) is the preferred mec
hanism for
a relay to signal overloading or a graceful shutdown to gateways.</t> a relay to signal overloading or a graceful shutdown to gateways.</t>
<t pn="section-3.3.5-2">A gateway that supports handling of the L flag
<t>A gateway that supports handling of the L flag should generally restart the should generally restart the
discovery process when it processes a Membership Query packet with the discovery process when it processes a Membership Query packet with the
L flag set. If an L flag is received while a concurrent Happy Eyeballs L flag set. If an L flag is received while a concurrent Happy Eyeballs
discovery process is under way for multiple candidate relays (<xref target="happ discovery process is underway for multiple candidate relays (<xref target="happy
y"/>), " format="default" sectionFormat="of" derivedContent="Section 3.2"/>),
the relay sending the L flag SHOULD NOT be considered for the relay selection.</ the relay sending the L flag <bcp14>SHOULD NOT</bcp14> be considered for the rel
t> ay selection.</t>
<t pn="section-3.3.5-3">It is also <bcp14>RECOMMENDED</bcp14> that gat
<t>It is also RECOMMENDED that gateways avoid choosing a relay eways avoid choosing a relay
that has recently sent an L flag, with approximately a 10-minute hold-down. that has recently sent an L flag, with approximately a 10-minute hold-down.
Gateways SHOULD treat this hold-down timer in the same way as the hold-down Gateways <bcp14>SHOULD</bcp14> treat this hold-down timer in the same way as the
in <xref target="trafficabsent"/>, so that the relay is removed from considerati hold-down
on in <xref target="trafficabsent" format="default" sectionFormat="of" derivedConte
for short-term subsequent rounds of discovery.</t> nt="Section 3.3.4.1"/> so that the relay is removed from consideration
for subsequent short-term rounds of discovery.</t>
</section> </section>
<section anchor="discoverymessage" title="Relay Discovery Messages vs. Restartin <section anchor="discoverymessage" numbered="true" toc="include" removeI
g Discovery"> nRFC="false" pn="section-3.3.6">
<name slugifiedName="name-relay-discovery-messages-vs">Relay Discovery
<t>All AMT relays are required by <xref target="RFC7450"/> to support handling o Messages vs. Restarting Discovery</name>
f <t pn="section-3.3.6-1">All AMT relays are required by <xref target="R
Relay Discovery messages (e.g. in Section 5.3.3.2 of <xref target="RFC7450"/>).< FC7450" format="default" sectionFormat="of" derivedContent="RFC7450"/> to suppor
/t> t handling of
Relay Discovery messages (e.g., in <xref target="RFC7450" sectionFormat="of" sec
<t>So a gateway with an existing connection to a relay can send a Relay tion="5.3.3.2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc7450#
section-5.3.3.2" derivedContent="RFC7450"/>).</t>
<t pn="section-3.3.6-2">So a gateway with an existing connection to a
relay can send a Relay
Discovery message to the unicast address of that AMT relay. Under stable Discovery message to the unicast address of that AMT relay. Under stable
conditions with an unloaded relay, it’s expected that the relay will conditions with an unloaded relay, it's expected that the relay will
return its own unicast address in the Relay Advertisement, in response return its own unicast address in the Relay Advertisement in response
to such a Relay Discovery message. Since this will not result in the to such a Relay Discovery message. Since this will not result in the
gateway changing to another relay unless the relay directs the gateway gateway changing to another relay unless the relay directs the gateway
away, this is a reasonable exception to the advice against handling event #3 away, this is a reasonable exception to the advice against handling event #3
described in <xref target="stability"/>.</t> described in <xref target="stability" format="default" sectionFormat="of" derive
dContent="Section 3.3.3"/>.</t>
<t>This behavior is discouraged for gateways that do support the L flag, to <t pn="section-3.3.6-3">This behavior is discouraged for gateways that
do support the L flag to
avoid sending unnecessary packets over the network.</t> avoid sending unnecessary packets over the network.</t>
<t pn="section-3.3.6-4">However, gateways that do not support the L fl
<t>However, gateways that do not support the L flag may be able to avoid a ag may be able to avoid a
disruption in the forwarded traffic by sending such Relay Discovery disruption in the forwarded traffic by sending such Relay Discovery
messages regularly. When a relay is under load or has started a graceful messages regularly. When a relay is under load or has started a graceful
shutdown, it may respond with a different relay address, which the gateway shutdown, it may respond with a different relay address, which the gateway
can use to connect to a different relay. This kind of coordinated handoff can use to connect to a different relay. This kind of coordinated handoff
will likely result in a smaller disruption to the traffic than if the relay will likely result in a smaller disruption to the traffic than if the relay
simply stops responding to Request messages, and stops forwarding traffic.</t> simply stops responding to Request messages and stops forwarding traffic.</t>
<t pn="section-3.3.6-5">This style of Relay Discovery message (one sen
<t>This style of Relay Discovery message (one sent to the unicast address t to the unicast address
of a relay that’s already forwarding traffic to this gateway) SHOULD NOT be of a relay that's already forwarding traffic to this gateway) <bcp14>SHOULD NOT<
considered a full restart of the relay discovery process. It is RECOMMENDED /bcp14> be
for gateways to support the L flag, but for gateways that do not support the considered a full restart of the relay discovery process. It is <bcp14>RECOMMEN
DED</bcp14>
that gateways support the L flag, but for gateways that do not support the
L flag, sending this message during event #3 may help mitigate service L flag, sending this message during event #3 may help mitigate service
degradation when relays become unstable.</t> degradation when relays become unstable.</t>
</section>
</section> <section anchor="independent-discovery-per-traffic-source" numbered="tru
<section anchor="independent-discovery-per-traffic-source" title="Independent Di e" toc="include" removeInRFC="false" pn="section-3.3.7">
scovery Per Traffic Source"> <name slugifiedName="name-independent-discovery-per-t">Independent Dis
covery per Traffic Source</name>
<t>Relays discovered via the AMTRELAY RR are source-specific relay addresses, an <t pn="section-3.3.7-1">Relays discovered via the AMTRELAY RR are sour
d ce-specific relay addresses and
may use different pseudo-interfaces from each other and from relays may use different pseudo-interfaces from each other and from relays
discovered via DNS-SD or a non-source-specific address, as described in discovered via DNS-SD or via a non-source-specific address, as described in
Section 4.1.2.1 of <xref target="RFC7450"/>.</t> <xref target="RFC7450" sectionFormat="of" section="4.1.2.1" format="default" der
ivedLink="https://rfc-editor.org/rfc/rfc7450#section-4.1.2.1" derivedContent="RF
<t>Restarting the discovery process for one pseudo-interface does not require C7450"/>.</t>
<t pn="section-3.3.7-2">Restarting the discovery process for one pseud
o-interface does not require
restarting the discovery process for other pseudo-interfaces. Gateway restarting the discovery process for other pseudo-interfaces. Gateway
heuristics about restarting the discovery process should operate heuristics about restarting the discovery process should operate
independently for different tunnels to relays, when responding to events independently for different tunnels to relays when responding to events
that are specific to the different tunnels.</t> that are specific to the different tunnels.</t>
</section>
</section> </section>
</section> <section anchor="dns-configuration" numbered="true" toc="include" removeIn
<section anchor="dns-configuration" title="DNS Configuration"> RFC="false" pn="section-3.4">
<name slugifiedName="name-dns-configuration">DNS Configuration</name>
<t>Often an AMT gateway will only have access to the source and group IP address <t pn="section-3.4-1">Often, an AMT gateway will only have access to the
es source and group IP addresses
of the desired traffic, and will not know any other name for the source of the of the desired traffic and will not know any other name for the source of the
traffic. Because of this, typically the best way of looking up AMTRELAY RRs traffic. Because of this, typically, the best way of looking up AMTRELAY RRs
will be by using the source IP address as an index into one of the reverse will be by using the source IP address as an index into one of the reverse
mapping trees (in-addr.arpa for IPv4, as described in Section 3.5 of mapping trees (in-addr.arpa for IPv4, as described in <xref target="RFC1035" sec
<xref target="RFC1035"/>, or ip6.arpa for IPv6, as described in Section 2.5 of < tionFormat="of" section="3.5" format="default" derivedLink="https://rfc-editor.o
xref target="RFC3596"/>).</t> rg/rfc/rfc1035#section-3.5" derivedContent="RFC1035"/>, or ip6.arpa for IPv6, as
described in <xref target="RFC3596" sectionFormat="of" section="2.5" format="de
<t>Therefore, it is RECOMMENDED that AMTRELAY RRs be added to reverse IP fault" derivedLink="https://rfc-editor.org/rfc/rfc3596#section-2.5" derivedConte
zones as appropriate. AMTRELAY records MAY also appear in other zones, nt="RFC3596"/>).</t>
<t pn="section-3.4-2">Therefore, it is <bcp14>RECOMMENDED</bcp14> that A
MTRELAY RRs be added to reverse IP
zones as appropriate. AMTRELAY records <bcp14>MAY</bcp14> also appear in other
zones,
since this may be necessary to perform delegation from the reverse zones since this may be necessary to perform delegation from the reverse zones
(see for example Section 5.2 of <xref target="RFC2317"/>), but the use case enab led (see, for example, <xref target="RFC2317" sectionFormat="of" section="5.2" forma t="default" derivedLink="https://rfc-editor.org/rfc/rfc2317#section-5.2" derived Content="RFC2317"/>), but the use case enabled
by this document requires a reverse IP mapping for the source from an by this document requires a reverse IP mapping for the source from an
(S,G) in order to be useful to most AMT gateways. This document does (S,G) in order to be useful to most AMT gateways. This document does
not define semantics for the use of AMTRELAY records obtained in a way not define semantics for the use of AMTRELAY records obtained in a way
other than by a reverse IP lookup.</t> other than by a reverse IP lookup.</t>
<t pn="section-3.4-3">When performing the AMTRELAY RR lookup, any CNAMEs
<t>When performing the AMTRELAY RR lookup, any CNAMEs or DNAMEs found MUST be or DNAMEs found <bcp14>MUST</bcp14> be
followed. This is necessary to support zone delegation. Some examples followed. This is necessary to support zone delegation. Some examples
outlining this need are described in <xref target="RFC2317"/>.</t> outlining this need are described in <xref target="RFC2317" format="default" sec
tionFormat="of" derivedContent="RFC2317"/>.</t>
<t>See <xref target="rrdef"/> and <xref target="rpformat"/> for a detailed expla <t pn="section-3.4-4">See Sections <xref target="rrdef" format="counter"
nation of the contents sectionFormat="of" derivedContent="4"/> and <xref target="rpformat" format="cou
for a DNS Zone file.</t> nter" sectionFormat="of" derivedContent="4.3"/> for a detailed explanation of th
e contents
</section> of a DNS zone file.</t>
<section anchor="waiting-for-dns-resolution" title="Waiting for DNS resolution"> </section>
<section anchor="waiting-for-dns-resolution" numbered="true" toc="include"
<t>The DNS query functionality is expected to follow ordinary standards and best removeInRFC="false" pn="section-3.5">
practices for DNS clients. A gateway MAY use an existing DNS client <name slugifiedName="name-waiting-for-dns-resolution">Waiting for DNS Re
implementation that does so, and MAY rely on that client’s retry logic solution</name>
<t pn="section-3.5-1">DNS query functionality is expected to follow ordi
nary standards and best
practices for DNS clients. A gateway <bcp14>MAY</bcp14> use an existing DNS cli
ent
implementation that does so and <bcp14>MAY</bcp14> rely on that client's retry l
ogic
to determine the timeouts between retries.</t> to determine the timeouts between retries.</t>
<t pn="section-3.5-2">Otherwise, a gateway <bcp14>MAY</bcp14> resend a D
<t>Otherwise, a gateway MAY re-send a DNS query if it does not receive an NS query if it does not receive an
appropriate DNS response within some timeout period. If the gateway retries appropriate DNS response within some timeout period. If the gateway retries
multiple times, the timeout period SHOULD be adjusted to provide a random multiple times, the timeout period <bcp14>SHOULD</bcp14> be adjusted to provide a random
exponential back-off.</t> exponential back-off.</t>
<t pn="section-3.5-3">As with the waiting process for the Relay Advertis
<t>As with the waiting process for the Relay Advertisement message from ement message from
Section 5.2.3.4.3 of <xref target="RFC7450"/>, the RECOMMENDED timeout is a rand <xref target="RFC7450" sectionFormat="of" section="5.2.3.4.3" format="default" d
om value erivedLink="https://rfc-editor.org/rfc/rfc7450#section-5.2.3.4.3" derivedContent
="RFC7450"/>, the <bcp14>RECOMMENDED</bcp14> timeout is a random value
in the range [initial_timeout, MIN(initial_timeout * 2^retry_count, in the range [initial_timeout, MIN(initial_timeout * 2^retry_count,
maximum_timeout)], with a RECOMMENDED initial_timeout of 1 second and maximum_timeout)], with a <bcp14>RECOMMENDED</bcp14> initial_timeout of 1 second
a RECOMMENDED maximum_timeout of 120 seconds.</t> and
a <bcp14>RECOMMENDED</bcp14> maximum_timeout of 120 seconds.</t>
</section> </section>
</section> </section>
<section anchor="rrdef" title="AMTRELAY Resource Record Definition"> <section anchor="rrdef" numbered="true" toc="include" removeInRFC="false" pn
="section-4">
<section anchor="amtrelay-rrtype" title="AMTRELAY RRType"> <name slugifiedName="name-amtrelay-resource-record-de">AMTRELAY Resource R
ecord Definition</name>
<t>The AMTRELAY RRType has the mnemonic AMTRELAY and type code 260 (decimal).</t <section anchor="amtrelay-rrtype" numbered="true" toc="include" removeInRF
> C="false" pn="section-4.1">
<name slugifiedName="name-amtrelay-rrtype">AMTRELAY RRType</name>
<t>The AMTRELAY RR is class independent.</t> <t pn="section-4.1-1">The AMTRELAY RRType has the mnemonic AMTRELAY and
type code 260 (decimal).</t>
</section> <t pn="section-4.1-2">The AMTRELAY RR is class independent.</t>
<section anchor="amtrelay-rdata-format" title="AMTRELAY RData Format"> </section>
<section anchor="amtrelay-rdata-format" numbered="true" toc="include" remo
<t>The AMTRELAY RData consists of a 8-bit precedence field, a 1-bit veInRFC="false" pn="section-4.2">
“Discovery Optional” field, a 7-bit type field, and a variable <name slugifiedName="name-amtrelay-rdata-format">AMTRELAY RData Format</
name>
<t pn="section-4.2-1">The AMTRELAY RData consists of an 8-bit precedence
field, a 1-bit
"Discovery Optional" field, a 7-bit type field, and a variable
length relay field.</t> length relay field.</t>
<artwork name="" type="" align="left" alt="" pn="section-4.2-2">
<figure><artwork><![CDATA[
0 1 2 3 0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| precedence |D| type | | | precedence |D| type | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +
~ relay ~ ~ relay ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure> </artwork>
<section anchor="rrdef-precedence" numbered="true" toc="include" removeI
<section anchor="rrdef-precedence" title="RData Format - Precedence"> nRFC="false" pn="section-4.2.1">
<name slugifiedName="name-rdata-format-precedence">RData Format - Prec
<t>This is an 8-bit precedence for this record. It is interpreted in edence</name>
the same way as the PREFERENCE field described in Section 3.3.9 of <t pn="section-4.2.1-1">This is an 8-bit precedence for this record.
<xref target="RFC1035"/>.</t> It is interpreted in
the same way as the PREFERENCE field described in <xref target="RFC1035" section
<t>Relays listed in AMTRELAY records with a lower value for precedence are to be Format="of" section="3.3.9" format="default" derivedLink="https://rfc-editor.org
/rfc/rfc1035#section-3.3.9" derivedContent="RFC1035"/>.</t>
<t pn="section-4.2.1-2">Relays listed in AMTRELAY records with a lower
value for precedence are to be
attempted first.</t> attempted first.</t>
</section>
</section> <section anchor="rrdef-dbit" numbered="true" toc="include" removeInRFC="
<section anchor="rrdef-dbit" title="RData Format - Discovery Optional (D-bit)"> false" pn="section-4.2.2">
<name slugifiedName="name-rdata-format-discovery-opti">RData Format -
<t>The D bit is a “Discovery Optional” flag.</t> Discovery Optional (D-bit)</name>
<t pn="section-4.2.2-1">The D-bit is a "Discovery Optional" flag.</t>
<t>If the D bit is set to 0, a gateway using this RR MUST perform AMT relay <t pn="section-4.2.2-2">If the D-bit is set to 0, a gateway using this
discovery as described in Section 4.2.1.1 of <xref target="RFC7450"/>, rather th RR <bcp14>MUST</bcp14> perform AMT relay
an directly discovery as described in <xref target="RFC7450" sectionFormat="of" section="4.2
.1.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc7450#section-4
.2.1.1" derivedContent="RFC7450"/> rather than directly
sending an AMT Request message to the relay.</t> sending an AMT Request message to the relay.</t>
<t pn="section-4.2.2-3">That is, the gateway <bcp14>MUST</bcp14> recei
<t>That is, the gateway MUST receive an AMT Relay Advertisement message (Section ve an AMT Relay Advertisement message (<xref target="RFC7450" sectionFormat="of"
5.1.2 of <xref target="RFC7450"/>) for an address before sending an AMT Request section="5.1.2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc745
message 0#section-5.1.2" derivedContent="RFC7450"/>) for an address before sending an AM
(Section 5.1.3 of <xref target="RFC7450"/>) to that address. Before receiving th T Request message
e Relay (<xref target="RFC7450" sectionFormat="of" section="5.1.3" format="default" deri
vedLink="https://rfc-editor.org/rfc/rfc7450#section-5.1.3" derivedContent="RFC74
50"/>) to that address. Before receiving the Relay
Advertisement message, this record has only indicated that the address can be Advertisement message, this record has only indicated that the address can be
used for AMT relay discovery, not for a Request message. This is necessary for used for AMT relay discovery, not for a Request message. This is necessary for
devices that are not fully functional AMT relays, but rather load balancers or devices that are not fully functional AMT relays but rather load balancers or
brokers, as mentioned in Section 4.2.1.1 of <xref target="RFC7450"/>.</t> brokers, as mentioned in <xref target="RFC7450" sectionFormat="of" section="4.2.
1.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc7450#section-4.
<t>If the D bit is set to 1, the gateway MAY send an AMT Request message directl 2.1.1" derivedContent="RFC7450"/>.</t>
y <t pn="section-4.2.2-4">If the D-bit is set to 1, the gateway <bcp14>M
AY</bcp14> send an AMT Request message directly
to the discovered relay address without first sending an AMT Discovery message.< /t> to the discovered relay address without first sending an AMT Discovery message.< /t>
<t pn="section-4.2.2-5">This bit should be set according to advice fro
<t>This bit should be set according to advice from the AMT relay operator. The m the AMT relay operator. The
D bit MUST be set to zero when no information is available from the AMT relay D-bit <bcp14>MUST</bcp14> be set to zero when no information is available from t
he AMT relay
operator about its suitability.</t> operator about its suitability.</t>
</section>
</section> <section anchor="rtype" numbered="true" toc="include" removeInRFC="false
<section anchor="rtype" title="RData Format - Type"> " pn="section-4.2.3">
<name slugifiedName="name-rdata-format-type">RData Format - Type</name
<t>The type field indicates the format of the information that >
<t pn="section-4.2.3-1">The type field indicates the format of the inf
ormation that
is stored in the relay field.</t> is stored in the relay field.</t>
<t pn="section-4.2.3-2">The following values are defined:</t>
<t>The following values are defined:</t> <ul spacing="normal" bare="false" empty="false" pn="section-4.2.3-3">
<li pn="section-4.2.3-3.1">type = 0:
<t><list style="symbols"> The relay field is empty (0 bytes).</li>
<t>type = 0: <li pn="section-4.2.3-3.2">type = 1:
The relay field is empty (0 bytes).</t> The relay field contains a 4-octet IPv4 address.</li>
<t>type = 1: <li pn="section-4.2.3-3.3">type = 2:
The relay field contains a 4-octet IPv4 address.</t> The relay field contains a 16-octet IPv6 address.</li>
<t>type = 2: <li pn="section-4.2.3-3.4">type = 3:
The relay field contains a 16-octet IPv6 address.</t>
<t>type = 3:
The relay field contains a wire-encoded domain name. The wire-encoded The relay field contains a wire-encoded domain name. The wire-encoded
format is self-describing, so the length is implicit. The domain name format is self-describing, so the length is implicit. The domain name
MUST NOT be compressed. (See Section 3.3 of <xref target="RFC1035"/> and Sectio <bcp14>MUST NOT</bcp14> be compressed (see <xref target="RFC1035" sectionFormat=
n 4 of "of" section="3.3" format="default" derivedLink="https://rfc-editor.org/rfc/rfc1
<xref target="RFC3597"/>.)</t> 035#section-3.3" derivedContent="RFC1035"/> and <xref target="RFC3597" sectionFo
</list></t> rmat="of" section="4" format="default" derivedLink="https://rfc-editor.org/rfc/r
fc3597#section-4" derivedContent="RFC3597"/>).</li>
<t>RRs with an undefined value in the Type field SHOULD NOT be considered </ul>
<t pn="section-4.2.3-4">RRs with an undefined value in the Type field
<bcp14>SHOULD NOT</bcp14> be considered
by receiving gateways for AMT relay discovery.</t> by receiving gateways for AMT relay discovery.</t>
</section>
</section> <section anchor="rdformat" numbered="true" toc="include" removeInRFC="fa
<section anchor="rdformat" title="RData Format - Relay"> lse" pn="section-4.2.4">
<name slugifiedName="name-rdata-format-relay">RData Format - Relay</na
<t>The relay field is the address or domain name of the AMT relay. It is me>
<t pn="section-4.2.4-1">The relay field is the address or domain name
of the AMT relay. It is
formatted according to the type field.</t> formatted according to the type field.</t>
<t pn="section-4.2.4-2">When the type field is 0, the length of the re
<t>When the type field is 0, the length of the relay field is 0, and it lay field is 0, and it
indicates that no AMT relay should be used for multicast traffic from this indicates that no AMT relay should be used for multicast traffic from this
source.</t> source.</t>
<t pn="section-4.2.4-3">When the type field is 1, the length of the re
<t>When the type field is 1, the length of the relay field is 4 octets, and a lay field is 4 octets, and a
32-bit IPv4 address is present. This is an IPv4 address as described in 32-bit IPv4 address is present. This is an IPv4 address as described in
Section 3.4.1 of <xref target="RFC1035"/>. This is a 32-bit number in network by te <xref target="RFC1035" sectionFormat="of" section="3.4.1" format="default" deriv edLink="https://rfc-editor.org/rfc/rfc1035#section-3.4.1" derivedContent="RFC103 5"/>. This is a 32-bit number in network byte
order.</t> order.</t>
<t pn="section-4.2.4-4">When the type field is 2, the length of the re
<t>When the type field is 2, the length of the relay field is 16 octets, and lay field is 16 octets, and
a 128-bit IPv6 address is present. This is an IPv6 address as described in a 128-bit IPv6 address is present. This is an IPv6 address as described in
Section 2.2 of <xref target="RFC3596"/>. This is a 128-bit number in network byt <xref target="RFC3596" sectionFormat="of" section="2.2" format="default" derived
e order.</t> Link="https://rfc-editor.org/rfc/rfc3596#section-2.2" derivedContent="RFC3596"/>
. This is a 128-bit number in network byte order.</t>
<t>When the type field is 3, the relay field is a normal wire-encoded domain <t pn="section-4.2.4-5">When the type field is 3, the relay field is a
name, as described in Section 3.3 of <xref target="RFC1035"/>. Compression MUST normal wire-encoded domain
NOT be name, as described in <xref target="RFC1035" sectionFormat="of" section="3.3" fo
used, for the reasons given in Section 4 of <xref target="RFC3597"/>.</t> rmat="default" derivedLink="https://rfc-editor.org/rfc/rfc1035#section-3.3" deri
vedContent="RFC1035"/>. For the reasons given in <xref target="RFC3597" sectionF
<t>For a type 3 record, the D-bit and preference fields carry over to all ormat="of" section="4" format="default" derivedLink="https://rfc-editor.org/rfc/
rfc3597#section-4" derivedContent="RFC3597"/>, compression <bcp14>MUST NOT</bcp1
4> be
used.</t>
<t pn="section-4.2.4-6">For a type 3 record, the D-bit and preference
fields carry over to all
A or AAAA records for the domain name. There is no difference in the A or AAAA records for the domain name. There is no difference in the
result of the discovery process when it’s obtained by type 1 or type 2 result of the discovery process when it's obtained by type 1 or type 2
AMTRELAY records with identical D-bit and preference fields, vs. when AMTRELAY records with identical D-bit and preference fields vs. when
the result is obtained by a type 3 AMTRELAY record that resolves the result is obtained by a type 3 AMTRELAY record that resolves
to the same set of IPv4 and IPv6 addresses via A and AAAA lookups.</t> to the same set of IPv4 and IPv6 addresses via A and AAAA lookups.</t>
</section>
</section> </section>
</section> <section anchor="rpformat" numbered="true" toc="include" removeInRFC="fals
<section anchor="rpformat" title="AMTRELAY Record Presentation Format"> e" pn="section-4.3">
<name slugifiedName="name-amtrelay-record-presentatio">AMTRELAY Record P
<section anchor="representation-of-amtrelay-rrs" title="Representation of AMTREL resentation Format</name>
AY RRs"> <section anchor="representation-of-amtrelay-rrs" numbered="true" toc="in
clude" removeInRFC="false" pn="section-4.3.1">
<t>AMTRELAY RRs may appear in a zone data master file. The precedence, D-bit, <name slugifiedName="name-representation-of-amtrelay-">Representation
relay type, and relay fields are REQUIRED.</t> of AMTRELAY RRs</name>
<t pn="section-4.3.1-1">AMTRELAY RRs may appear in a zone data master
<t>If the relay type field is 0, the relay field MUST be “.”.</t> file. The precedence, D-bit,
relay type, and relay fields are <bcp14>REQUIRED</bcp14>.</t>
<t>The presentation for the record is as follows:</t> <t pn="section-4.3.1-2">If the relay type field is 0, the relay field
<bcp14>MUST</bcp14> be ".".</t>
<figure><artwork><![CDATA[ <t pn="section-4.3.1-3">The presentation for the record is as follows:
</t>
<sourcecode name="" type="" markers="false" pn="section-4.3.1-4">
IN AMTRELAY precedence D-bit type relay IN AMTRELAY precedence D-bit type relay
]]></artwork></figure> </sourcecode>
</section>
</section> <section anchor="examples" numbered="true" toc="include" removeInRFC="fa
<section anchor="examples" title="Examples"> lse" pn="section-4.3.2">
<name slugifiedName="name-examples">Examples</name>
<t>In a DNS authoritative nameserver that understands the AMTRELAY type, <t pn="section-4.3.2-1">In a DNS authoritative nameserver that underst
ands the AMTRELAY type,
the zone might contain a set of entries like this:</t> the zone might contain a set of entries like this:</t>
<sourcecode name="" type="" markers="false" pn="section-4.3.2-2">
<figure><artwork><![CDATA[
$ORIGIN 100.51.198.in-addr.arpa. $ORIGIN 100.51.198.in-addr.arpa.
12 IN AMTRELAY 10 0 1 203.0.113.15 12 IN AMTRELAY 10 0 1 203.0.113.15
12 IN AMTRELAY 10 0 2 2001:db8::15 12 IN AMTRELAY 10 0 2 2001:db8::15
12 IN AMTRELAY 128 1 3 amtrelays.example.com. 12 IN AMTRELAY 128 1 3 amtrelays.example.com.
]]></artwork></figure> </sourcecode>
<t pn="section-4.3.2-3">This configuration advertises an IPv4 discover
<t>This configuration advertises an IPv4 discovery address, an IPv6 y address, an IPv6
discovery address, and a domain name for AMT relays which can receive discovery address, and a domain name for AMT relays that can receive
traffic from the source 198.51.100.12. The IPv4 and IPv6 addresses traffic from the source 198.51.100.12. The IPv4 and IPv6 addresses
are configured with a D-bit of 0 (meaning discovery is mandatory, as are configured with a D-bit of 0 (meaning discovery is mandatory, as
described in <xref target="rrdef-dbit"/>), and a precedence 10 (meaning they’re described in <xref target="rrdef-dbit" format="default" sectionFormat="of" deriv edContent="Section 4.2.2"/>) and a precedence 10 (meaning they're
preferred ahead of the last entry, which has precedence 128).</t> preferred ahead of the last entry, which has precedence 128).</t>
<t pn="section-4.3.2-4">For zone files in name servers that don't supp
<t>For zone files in name servers that don’t support the AMTRELAY RRType ort the AMTRELAY RRType
natively, it’s possible to use the format for unknown RR types, as natively, it's possible to use the format for unknown RR types, as
described in <xref target="RFC3597"/>. This approach would replace the AMTRELAY described in <xref target="RFC3597" format="default" sectionFormat="of" derivedC
ontent="RFC3597"/>. This approach would replace the AMTRELAY
entries in the example above with the entries below:</t> entries in the example above with the entries below:</t>
<sourcecode name="" type="" markers="false" pn="section-4.3.2-5">
<figure><artwork><![CDATA[
10 IN TYPE260 \# ( 10 IN TYPE260 \# (
6 ; length 6 ; length
0a ; precedence=10 0a ; precedence=10
01 ; D=0, relay type=1, an IPv4 address 01 ; D=0, relay type=1, an IPv4 address
cb00710f ) ; 203.0.113.15 cb00710f ) ; 203.0.113.15
10 IN TYPE260 \# ( 10 IN TYPE260 \# (
18 ; length 18 ; length
0a ; precedence=10 0a ; precedence=10
02 ; D=0, relay type=2, an IPv6 address 02 ; D=0, relay type=2, an IPv6 address
20010db800000000000000000000000f ) ; 2001:db8::15 20010db800000000000000000000000f ) ; 2001:db8::15
10 IN TYPE260 \# ( 10 IN TYPE260 \# (
24 ; length 24 ; length
80 ; precedence=128 80 ; precedence=128
83 ; D=1, relay type=3, a wire-encoded domain name 83 ; D=1, relay type=3, a wire-encoded domain name
09616d7472656c617973076578616d706c6503636f6d ) ; domain name 09616d7472656c617973076578616d706c6503636f6d ) ; domain name
]]></artwork></figure> </sourcecode>
<t pn="section-4.3.2-6">See <xref target="extranslate" format="default
<t>See <xref target="extranslate"/> for more details.</t> " sectionFormat="of" derivedContent="Appendix A"/> for more details.</t>
</section>
</section> </section>
</section> </section>
</section> <section anchor="iana" numbered="true" toc="include" removeInRFC="false" pn=
<section anchor="iana" title="IANA Considerations"> "section-5">
<name slugifiedName="name-iana-considerations">IANA Considerations</name>
<t>This document updates the IANA Registry for DNS Resource Record Types <t pn="section-5-1">This document updates the DNS "Resource Record (RR) TY
PEs" registry
by assigning type 260 to the AMTRELAY record.</t> by assigning type 260 to the AMTRELAY record.</t>
<t pn="section-5-2">This document creates a new registry named "AMTRELAY R
<t>This document creates a new registry named “AMTRELAY Resource Record esource Record
Parameters”, with a sub-registry for the “Relay Type Field”. The initial Parameters" with a subregistry for the "Relay Type Field". The initial
values in the sub-registry are:</t> values in the subregistry are:</t>
<table align="left" pn="table-2">
<figure><artwork><![CDATA[ <name slugifiedName="name-initial-contents-of-the-rel">Initial Contents
+-------+---------------------------------------+ of the "Relay Type Field" Registry</name>
| Value | Description | <thead>
+-------+---------------------------------------+ <tr>
| 0 | No relay is present. | <th align="left" colspan="1" rowspan="1">Value</th>
| 1 | A 4-byte IPv4 address is present | <th align="left" colspan="1" rowspan="1">Description</th>
| 2 | A 16-byte IPv6 address is present | </tr>
| 3 | A wire-encoded domain name is present | </thead>
| 4-255 | Unassigned | <tbody>
+-------+---------------------------------------+ <tr>
]]></artwork></figure> <td align="left" colspan="1" rowspan="1">0</td>
<td align="left" colspan="1" rowspan="1">No relay is present</td>
<t>Values 0, 1, 2, and 3 are further explained in <xref target="rtype"/> and <xr </tr>
ef target="rdformat"/>. <tr>
<td align="left" colspan="1" rowspan="1">1</td>
<td align="left" colspan="1" rowspan="1">A 4-byte IPv4 address is pr
esent</td>
</tr>
<tr>
<td align="left" colspan="1" rowspan="1">2</td>
<td align="left" colspan="1" rowspan="1">A 16-byte IPv6 address is p
resent</td>
</tr>
<tr>
<td align="left" colspan="1" rowspan="1">3</td>
<td align="left" colspan="1" rowspan="1">A wire-encoded domain name
is present</td>
</tr>
<tr>
<td align="left" colspan="1" rowspan="1">4-255</td>
<td align="left" colspan="1" rowspan="1">Unassigned</td>
</tr>
</tbody>
</table>
<t pn="section-5-4">Values 0, 1, 2, and 3 are further explained in Section
s <xref target="rtype" format="counter" sectionFormat="of" derivedContent="4.2.3
"/> and <xref target="rdformat" format="counter" sectionFormat="of" derivedConte
nt="4.2.4"/>.
Relay type numbers 4 through 255 can be assigned with a policy of Relay type numbers 4 through 255 can be assigned with a policy of
Specification Required (as described in <xref target="RFC8126"/>).</t> Specification Required (as described in <xref target="RFC8126" format="default"
sectionFormat="of" derivedContent="RFC8126"/>).</t>
</section> </section>
<section anchor="security-considerations" title="Security Considerations"> <section anchor="security-considerations" numbered="true" toc="include" remo
veInRFC="false" pn="section-6">
<section anchor="use-of-amt" title="Use of AMT"> <name slugifiedName="name-security-considerations">Security Considerations
</name>
<t>This document defines a mechanism that enables a more widespread and <section anchor="use-of-amt" numbered="true" toc="include" removeInRFC="fa
lse" pn="section-6.1">
<name slugifiedName="name-use-of-amt">Use of AMT</name>
<t pn="section-6.1-1">This document defines a mechanism that enables a m
ore widespread and
automated use of AMT, even without access to a multicast backbone. automated use of AMT, even without access to a multicast backbone.
Operators of networks and applications that include a DRIAD-capable Operators of networks and applications that include a DRIAD-capable
AMT gateway are advised to carefully consider the security considerations AMT gateway are advised to carefully consider the security considerations
in Section 6 of <xref target="RFC7450"/>.</t> in <xref target="RFC7450" sectionFormat="of" section="6" format="default" derive
dLink="https://rfc-editor.org/rfc/rfc7450#section-6" derivedContent="RFC7450"/>.
<t>AMT gateway operators also are encouraged to take appropriate steps to </t>
ensure the integrity of the data received via AMT, for example by the <t pn="section-6.1-2">AMT gateway operators also are encouraged to take
opportunistic use of IPSec <xref target="RFC4301"/> to secure traffic received f appropriate steps to
rom AMT ensure the integrity of the data received via AMT, for example, by the
relays, when IPSECKEY records <xref target="RFC4025"/> are available or when a t opportunistic use of IPsec <xref target="RFC4301" format="default" sectionFormat
rust ="of" derivedContent="RFC4301"/> to secure traffic received from AMT
relays when IPSECKEY records <xref target="RFC4025" format="default" sectionForm
at="of" derivedContent="RFC4025"/> are available or when a trust
relationship with the AMT relays can be otherwise established and secured.</t> relationship with the AMT relays can be otherwise established and secured.</t>
<t pn="section-6.1-3">Note that AMT does not itself provide any integrit
<t>Note that AMT does not itself provide any integrity protection on y protection for
Multicast Data packets (Section 5.1.6 of <xref target="RFC7450"/>), so absent Multicast Data packets (<xref target="RFC7450" sectionFormat="of" section="5.1.6
" format="default" derivedLink="https://rfc-editor.org/rfc/rfc7450#section-5.1.6
" derivedContent="RFC7450"/>), so absent
protections like those mentioned above, even an off-path attacker who protections like those mentioned above, even an off-path attacker who
discovers the gateway IP, the relay IP, and the relay source port for discovers the gateway IP, the relay IP, and the relay source port for
an active AMT connection can inject multicast data packets for a an active AMT connection can inject multicast data packets for a
joined (S,G) into the data stream if he can get data packets delivered joined (S,G) into the data stream if he can get data packets delivered
to the gateway IP that spoof the relay as the source.</t> to the gateway IP that spoof the relay as the source.</t>
</section>
</section> <section anchor="record-spoofing" numbered="true" toc="include" removeInRF
<section anchor="record-spoofing" title="Record-spoofing"> C="false" pn="section-6.2">
<name slugifiedName="name-record-spoofing">Record-Spoofing</name>
<t>The AMTRELAY resource record contains information that SHOULD be <t pn="section-6.2-1">The AMTRELAY resource record contains information
that <bcp14>SHOULD</bcp14> be
communicated to the DNS client without being modified. The communicated to the DNS client without being modified. The
method used to ensure the result was unmodified is up to the client.</t> method used to ensure the result was unmodified is up to the client.</t>
<t pn="section-6.2-2">There must be a trust relationship between the end
<t>There must be a trust relationship between the end consumer of this consumer of this
resource record and the DNS server. This relationship may be end-to-end resource record and the DNS server. This relationship may be end-to-end
DNSSEC validation, or a secure connection to a trusted DNS server that DNSSEC validation or a secure connection to a trusted DNS server that
provides end-to-end safety, to prevent record-spoofing of the response provides end-to-end safety to prevent record-spoofing of the response
from the trusted server. The connection to the trusted server can use from the trusted server. The connection to the trusted server can use
any secure channel, such as with a TSIG <xref target="RFC2845"/> or SIG(0) <xref any secure channel, such as with a TSIG <xref target="RFC2845" format="default"
target="RFC2931"/> sectionFormat="of" derivedContent="RFC2845"/> or SIG(0) <xref target="RFC2931" f
channel, a secure local channel on the host, DNS over TLS <xref target="RFC7858" ormat="default" sectionFormat="of" derivedContent="RFC2931"/>
/>, channel, a secure local channel on the host, DNS over TLS <xref target="RFC7858"
DNS over HTTPS <xref target="RFC8484"/>, or some other mechanism that provides format="default" sectionFormat="of" derivedContent="RFC7858"/>,
DNS over HTTPS <xref target="RFC8484" format="default" sectionFormat="of" derive
dContent="RFC8484"/>, or some other mechanism that provides
authentication of the RR.</t> authentication of the RR.</t>
<t pn="section-6.2-3">If an AMT gateway accepts a maliciously crafted AM
<t>If an AMT gateway accepts a maliciously crafted AMTRELAY record, TRELAY record,
the result could be a Denial of Service, or receivers processing the result could be a Denial of Service or receivers processing
multicast traffic from a source under the attacker’s control.</t> multicast traffic from a source under the attacker's control.</t>
</section>
</section> <section anchor="congestion" numbered="true" toc="include" removeInRFC="fa
<section anchor="congestion" title="Congestion"> lse" pn="section-6.3">
<name slugifiedName="name-congestion">Congestion</name>
<t>Multicast traffic, particularly interdomain multicast traffic, carries <t pn="section-6.3-1">Multicast traffic, particularly interdomain multic
some congestion risks, as described in Section 4 of <xref target="RFC8085"/>.</t ast traffic, carries
> some congestion risks, as described in <xref target="RFC8085" sectionFormat="of"
section="4" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8085#se
<t>Application implementors and network operators that use AMT gateways ction-4" derivedContent="RFC8085"/>.</t>
are advised to take precautions including monitoring of application <t pn="section-6.3-2">Application implementors and network operators tha
t use AMT gateways
are advised to take precautions, including monitoring of application
traffic behavior, traffic authentication at ingest, rate-limiting of traffic behavior, traffic authentication at ingest, rate-limiting of
multicast traffic, and the use of circuit-breaker techniques such as multicast traffic, and the use of circuit-breaker techniques such as
those described in Section 3.1.10 of <xref target="RFC8085"/> and similar those described in <xref target="RFC8085" sectionFormat="of" section="3.1.10" fo
protections at the network level, in order to ensure network health rmat="default" derivedLink="https://rfc-editor.org/rfc/rfc8085#section-3.1.10" d
erivedContent="RFC8085"/> and similar
protections at the network level in order to ensure network health
in the event of misconfiguration, poorly written applications that in the event of misconfiguration, poorly written applications that
don’t follow UDP congestion control principles, or deliberate attack.</t> don't follow UDP congestion control principles, or a deliberate attack.</t>
<t pn="section-6.3-3"><xref target="RFC7450" sectionFormat="of" section=
<t>Section 4.1.4.2 of <xref target="RFC7450"/> and Section 6.1 of <xref target=" "4.1.4.2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc7450#secti
RFC7450"/> on-4.1.4.2" derivedContent="RFC7450"/> and <xref target="RFC7450" sectionFormat=
"of" section="6.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc7
450#section-6.1" derivedContent="RFC7450"/>
provide some further considerations and advice about mitigating provide some further considerations and advice about mitigating
congestion risk.</t> congestion risk.</t>
</section>
</section> </section>
</section>
<section anchor="acknowledgements" title="Acknowledgements">
<t>This specification was inspired by the previous work of Doug Nortz,
Robert Sayko, David Segelstein, and Percy Tarapore, presented in
the MBONED working group at IETF 93.</t>
<t>Thanks to Jeff Goldsmith, Toerless Eckert, Mikael Abrahamsson, Lenny
Giuliano, Mark Andrews, Sandy Zheng, Kyle Rose, Ben Kaduk, Bill
Atwood, Tim Chown, Christian Worm Mortensen, Warren Kumari, Dan
Romanescu, Bernard Aboba, Carlos Pignataro, Niclas Comstedt,
Mirja Kühlewind, Henning Rogge, Éric Vyncke, Barry Lieba,
Roman Danyliw, Alissa Cooper, Suresh Krishnan, Adam Roach,
and Daniel Franke for their very helpful reviews and comments.</t>
</section>
</middle> </middle>
<back> <back>
<references pn="section-7">
<references title='Normative References'> <name slugifiedName="name-references">References</name>
<references pn="section-7.1">
<reference anchor="RFC1034" target='https://www.rfc-editor.org/info/rfc1034'> <name slugifiedName="name-normative-references">Normative References</na
<front> me>
<title>Domain names - concepts and facilities</title> <reference anchor="RFC1034" target="https://www.rfc-editor.org/info/rfc1
<author initials='P.V.' surname='Mockapetris' fullname='P.V. Mockapetris'><organ 034" quoteTitle="true" derivedAnchor="RFC1034">
ization /></author> <front>
<date year='1987' month='November' /> <title>Domain names - concepts and facilities</title>
<abstract><t>This RFC is the revised basic definition of The Domain Name System. <author initials="P.V." surname="Mockapetris" fullname="P.V. Mockape
It obsoletes RFC-882. This memo describes the domain style names and their us tris">
ed for host address look up and electronic mail forwarding. It discusses the cl <organization showOnFrontPage="true"/>
ients and servers in the domain name system and the protocol used between them.< </author>
/t></abstract> <date year="1987" month="November"/>
</front> <abstract>
<seriesInfo name='STD' value='13'/> <t>This RFC is the revised basic definition of The Domain Name Sys
<seriesInfo name='RFC' value='1034'/> tem. It obsoletes RFC-882. This memo describes the domain style names and thei
<seriesInfo name='DOI' value='10.17487/RFC1034'/> r used for host address look up and electronic mail forwarding. It discusses th
</reference> e clients and servers in the domain name system and the protocol used between th
em.</t>
<reference anchor="RFC1035" target='https://www.rfc-editor.org/info/rfc1035'> </abstract>
<front> </front>
<title>Domain names - implementation and specification</title> <seriesInfo name="STD" value="13"/>
<author initials='P.V.' surname='Mockapetris' fullname='P.V. Mockapetris'><organ <seriesInfo name="RFC" value="1034"/>
ization /></author> <seriesInfo name="DOI" value="10.17487/RFC1034"/>
<date year='1987' month='November' /> </reference>
<abstract><t>This RFC is the revised specification of the protocol and format us <reference anchor="RFC1035" target="https://www.rfc-editor.org/info/rfc1
ed in the implementation of the Domain Name System. It obsoletes RFC-883. This 035" quoteTitle="true" derivedAnchor="RFC1035">
memo documents the details of the domain name client - server communication.</t> <front>
</abstract> <title>Domain names - implementation and specification</title>
</front> <author initials="P.V." surname="Mockapetris" fullname="P.V. Mockape
<seriesInfo name='STD' value='13'/> tris">
<seriesInfo name='RFC' value='1035'/> <organization showOnFrontPage="true"/>
<seriesInfo name='DOI' value='10.17487/RFC1035'/> </author>
</reference> <date year="1987" month="November"/>
<abstract>
<reference anchor="RFC2119" target='https://www.rfc-editor.org/info/rfc2119'> <t>This RFC is the revised specification of the protocol and forma
<front> t used in the implementation of the Domain Name System. It obsoletes RFC-883. T
<title>Key words for use in RFCs to Indicate Requirement Levels</title> his memo documents the details of the domain name client - server communication.
<author initials='S.' surname='Bradner' fullname='S. Bradner'><organization /></ </t>
author> </abstract>
<date year='1997' month='March' /> </front>
<abstract><t>In many standards track documents several words are used to signify <seriesInfo name="STD" value="13"/>
the requirements in the specification. These words are often capitalized. This <seriesInfo name="RFC" value="1035"/>
document defines these words as they should be interpreted in IETF documents. <seriesInfo name="DOI" value="10.17487/RFC1035"/>
This document specifies an Internet Best Current Practices for the Internet Comm </reference>
unity, and requests discussion and suggestions for improvements.</t></abstract> <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2
</front> 119" quoteTitle="true" derivedAnchor="RFC2119">
<seriesInfo name='BCP' value='14'/> <front>
<seriesInfo name='RFC' value='2119'/> <title>Key words for use in RFCs to Indicate Requirement Levels</tit
<seriesInfo name='DOI' value='10.17487/RFC2119'/> le>
</reference> <author initials="S." surname="Bradner" fullname="S. Bradner">
<organization showOnFrontPage="true"/>
<reference anchor="RFC2181" target='https://www.rfc-editor.org/info/rfc2181'> </author>
<front> <date year="1997" month="March"/>
<title>Clarifications to the DNS Specification</title> <abstract>
<author initials='R.' surname='Elz' fullname='R. Elz'><organization /></author> <t>In many standards track documents several words are used to sig
<author initials='R.' surname='Bush' fullname='R. Bush'><organization /></author nify the requirements in the specification. These words are often capitalized.
> This document defines these words as they should be interpreted in IETF document
<date year='1997' month='July' /> s. This document specifies an Internet Best Current Practices for the Internet
<abstract><t>This document considers some areas that have been identified as pro Community, and requests discussion and suggestions for improvements.</t>
blems with the specification of the Domain Name System, and proposes remedies fo </abstract>
r the defects identified. [STANDARDS-TRACK]</t></abstract> </front>
</front> <seriesInfo name="BCP" value="14"/>
<seriesInfo name='RFC' value='2181'/> <seriesInfo name="RFC" value="2119"/>
<seriesInfo name='DOI' value='10.17487/RFC2181'/> <seriesInfo name="DOI" value="10.17487/RFC2119"/>
</reference> </reference>
<reference anchor="RFC2181" target="https://www.rfc-editor.org/info/rfc2
<reference anchor="RFC2782" target='https://www.rfc-editor.org/info/rfc2782'> 181" quoteTitle="true" derivedAnchor="RFC2181">
<front> <front>
<title>A DNS RR for specifying the location of services (DNS SRV)</title> <title>Clarifications to the DNS Specification</title>
<author initials='A.' surname='Gulbrandsen' fullname='A. Gulbrandsen'><organizat <author initials="R." surname="Elz" fullname="R. Elz">
ion /></author> <organization showOnFrontPage="true"/>
<author initials='P.' surname='Vixie' fullname='P. Vixie'><organization /></auth </author>
or> <author initials="R." surname="Bush" fullname="R. Bush">
<author initials='L.' surname='Esibov' fullname='L. Esibov'><organization /></au <organization showOnFrontPage="true"/>
thor> </author>
<date year='2000' month='February' /> <date year="1997" month="July"/>
<abstract><t>This document describes a DNS RR which specifies the location of th <abstract>
e server(s) for a specific protocol and domain. [STANDARDS-TRACK]</t></abstract <t>This document considers some areas that have been identified as
> problems with the specification of the Domain Name System, and proposes remedie
</front> s for the defects identified. [STANDARDS-TRACK]</t>
<seriesInfo name='RFC' value='2782'/> </abstract>
<seriesInfo name='DOI' value='10.17487/RFC2782'/> </front>
</reference> <seriesInfo name="RFC" value="2181"/>
<seriesInfo name="DOI" value="10.17487/RFC2181"/>
<reference anchor="RFC3376" target='https://www.rfc-editor.org/info/rfc3376'> </reference>
<front> <reference anchor="RFC2782" target="https://www.rfc-editor.org/info/rfc2
<title>Internet Group Management Protocol, Version 3</title> 782" quoteTitle="true" derivedAnchor="RFC2782">
<author initials='B.' surname='Cain' fullname='B. Cain'><organization /></author <front>
> <title>A DNS RR for specifying the location of services (DNS SRV)</t
<author initials='S.' surname='Deering' fullname='S. Deering'><organization /></ itle>
author> <author initials="A." surname="Gulbrandsen" fullname="A. Gulbrandsen
<author initials='I.' surname='Kouvelas' fullname='I. Kouvelas'><organization /> ">
</author> <organization showOnFrontPage="true"/>
<author initials='B.' surname='Fenner' fullname='B. Fenner'><organization /></au </author>
thor> <author initials="P." surname="Vixie" fullname="P. Vixie">
<author initials='A.' surname='Thyagarajan' fullname='A. Thyagarajan'><organizat <organization showOnFrontPage="true"/>
ion /></author> </author>
<date year='2002' month='October' /> <author initials="L." surname="Esibov" fullname="L. Esibov">
</front> <organization showOnFrontPage="true"/>
<seriesInfo name='RFC' value='3376'/> </author>
<seriesInfo name='DOI' value='10.17487/RFC3376'/> <date year="2000" month="February"/>
</reference> <abstract>
<t>This document describes a DNS RR which specifies the location o
<reference anchor="RFC3596" target='https://www.rfc-editor.org/info/rfc3596'> f the server(s) for a specific protocol and domain. [STANDARDS-TRACK]</t>
<front> </abstract>
<title>DNS Extensions to Support IP Version 6</title> </front>
<author initials='S.' surname='Thomson' fullname='S. Thomson'><organization /></ <seriesInfo name="RFC" value="2782"/>
author> <seriesInfo name="DOI" value="10.17487/RFC2782"/>
<author initials='C.' surname='Huitema' fullname='C. Huitema'><organization /></ </reference>
author> <reference anchor="RFC3376" target="https://www.rfc-editor.org/info/rfc3
<author initials='V.' surname='Ksinant' fullname='V. Ksinant'><organization /></ 376" quoteTitle="true" derivedAnchor="RFC3376">
author> <front>
<author initials='M.' surname='Souissi' fullname='M. Souissi'><organization /></ <title>Internet Group Management Protocol, Version 3</title>
author> <author initials="B." surname="Cain" fullname="B. Cain">
<date year='2003' month='October' /> <organization showOnFrontPage="true"/>
<abstract><t>This document defines the changes that need to be made to the Domai </author>
n Name System (DNS) to support hosts running IP version 6 (IPv6). The changes i <author initials="S." surname="Deering" fullname="S. Deering">
nclude a resource record type to store an IPv6 address, a domain to support look <organization showOnFrontPage="true"/>
ups based on an IPv6 address, and updated definitions of existing query types th </author>
at return Internet addresses as part of additional section processing. The exte <author initials="I." surname="Kouvelas" fullname="I. Kouvelas">
nsions are designed to be compatible with existing applications and, in particul <organization showOnFrontPage="true"/>
ar, DNS implementations themselves. [STANDARDS-TRACK]</t></abstract> </author>
</front> <author initials="B." surname="Fenner" fullname="B. Fenner">
<seriesInfo name='STD' value='88'/> <organization showOnFrontPage="true"/>
<seriesInfo name='RFC' value='3596'/> </author>
<seriesInfo name='DOI' value='10.17487/RFC3596'/> <author initials="A." surname="Thyagarajan" fullname="A. Thyagarajan
</reference> ">
<organization showOnFrontPage="true"/>
<reference anchor="RFC3597" target='https://www.rfc-editor.org/info/rfc3597'> </author>
<front> <date year="2002" month="October"/>
<title>Handling of Unknown DNS Resource Record (RR) Types</title> </front>
<author initials='A.' surname='Gustafsson' fullname='A. Gustafsson'><organizatio <seriesInfo name="RFC" value="3376"/>
n /></author> <seriesInfo name="DOI" value="10.17487/RFC3376"/>
<date year='2003' month='September' /> </reference>
<abstract><t>Extending the Domain Name System (DNS) with new Resource Record (RR <reference anchor="RFC3596" target="https://www.rfc-editor.org/info/rfc3
) types currently requires changes to name server software. This document speci 596" quoteTitle="true" derivedAnchor="RFC3596">
fies the changes necessary to allow future DNS implementations to handle new RR <front>
types transparently. [STANDARDS-TRACK]</t></abstract> <title>DNS Extensions to Support IP Version 6</title>
</front> <author initials="S." surname="Thomson" fullname="S. Thomson">
<seriesInfo name='RFC' value='3597'/> <organization showOnFrontPage="true"/>
<seriesInfo name='DOI' value='10.17487/RFC3597'/> </author>
</reference> <author initials="C." surname="Huitema" fullname="C. Huitema">
<organization showOnFrontPage="true"/>
<reference anchor="RFC3810" target='https://www.rfc-editor.org/info/rfc3810'> </author>
<front> <author initials="V." surname="Ksinant" fullname="V. Ksinant">
<title>Multicast Listener Discovery Version 2 (MLDv2) for IPv6</title> <organization showOnFrontPage="true"/>
<author initials='R.' surname='Vida' fullname='R. Vida' role='editor'><organizat </author>
ion /></author> <author initials="M." surname="Souissi" fullname="M. Souissi">
<author initials='L.' surname='Costa' fullname='L. Costa' role='editor'><organiz <organization showOnFrontPage="true"/>
ation /></author> </author>
<date year='2004' month='June' /> <date year="2003" month="October"/>
<abstract><t>This document updates RFC 2710, and it specifies Version 2 of the u <abstract>
lticast Listener Discovery Protocol (MLDv2). MLD is used by an IPv6 router to d <t>This document defines the changes that need to be made to the D
iscover the presence of multicast listeners on directly attached links, and to d omain Name System (DNS) to support hosts running IP version 6 (IPv6). The chang
iscover which multicast addresses are of interest to those neighboring nodes. M es include a resource record type to store an IPv6 address, a domain to support
LDv2 is designed to be interoperable with MLDv1. MLDv2 adds the ability for a n lookups based on an IPv6 address, and updated definitions of existing query type
ode to report interest in listening to packets with a particular multicast addre s that return Internet addresses as part of additional section processing. The
ss only from specific source addresses or from all sources except for specific s extensions are designed to be compatible with existing applications and, in part
ource addresses. [STANDARDS-TRACK]</t></abstract> icular, DNS implementations themselves. [STANDARDS-TRACK]</t>
</front> </abstract>
<seriesInfo name='RFC' value='3810'/> </front>
<seriesInfo name='DOI' value='10.17487/RFC3810'/> <seriesInfo name="STD" value="88"/>
</reference> <seriesInfo name="RFC" value="3596"/>
<seriesInfo name="DOI" value="10.17487/RFC3596"/>
<reference anchor="RFC4604" target='https://www.rfc-editor.org/info/rfc4604'> </reference>
<front> <reference anchor="RFC3597" target="https://www.rfc-editor.org/info/rfc3
<title>Using Internet Group Management Protocol Version 3 (IGMPv3) and Multicast 597" quoteTitle="true" derivedAnchor="RFC3597">
Listener Discovery Protocol Version 2 (MLDv2) for Source-Specific Multicast</ti <front>
tle> <title>Handling of Unknown DNS Resource Record (RR) Types</title>
<author initials='H.' surname='Holbrook' fullname='H. Holbrook'><organization /> <author initials="A." surname="Gustafsson" fullname="A. Gustafsson">
</author> <organization showOnFrontPage="true"/>
<author initials='B.' surname='Cain' fullname='B. Cain'><organization /></author </author>
> <date year="2003" month="September"/>
<author initials='B.' surname='Haberman' fullname='B. Haberman'><organization /> <abstract>
</author> <t>Extending the Domain Name System (DNS) with new Resource Record
<date year='2006' month='August' /> (RR) types currently requires changes to name server software. This document s
<abstract><t>The Internet Group Management Protocol Version 3 (IGMPv3) and the M pecifies the changes necessary to allow future DNS implementations to handle new
ulticast Listener Discovery Protocol Version 2 (MLDv2) are protocols that allow RR types transparently. [STANDARDS-TRACK]</t>
a host to inform its neighboring routers of its desire to receive IPv4 and IPv6 </abstract>
multicast transmissions, respectively. Source-specific multicast (SSM) is a form </front>
of multicast in which a receiver is required to specify both the network-layer <seriesInfo name="RFC" value="3597"/>
address of the source and the multicast destination address in order to receive <seriesInfo name="DOI" value="10.17487/RFC3597"/>
the multicast transmission. This document defines the notion of an &quot;SSM-aw </reference>
are&quot; router and host, and clarifies and (in some cases) modifies the behavi <reference anchor="RFC3810" target="https://www.rfc-editor.org/info/rfc3
or of IGMPv3 and MLDv2 on SSM-aware routers and hosts to accommodate source-spec 810" quoteTitle="true" derivedAnchor="RFC3810">
ific multicast. This document updates the IGMPv3 and MLDv2 specifications. [ST <front>
ANDARDS-TRACK]</t></abstract> <title>Multicast Listener Discovery Version 2 (MLDv2) for IPv6</titl
</front> e>
<seriesInfo name='RFC' value='4604'/> <author initials="R." surname="Vida" fullname="R. Vida" role="editor
<seriesInfo name='DOI' value='10.17487/RFC4604'/> ">
</reference> <organization showOnFrontPage="true"/>
</author>
<reference anchor="RFC4607" target='https://www.rfc-editor.org/info/rfc4607'> <author initials="L." surname="Costa" fullname="L. Costa" role="edit
<front> or">
<title>Source-Specific Multicast for IP</title> <organization showOnFrontPage="true"/>
<author initials='H.' surname='Holbrook' fullname='H. Holbrook'><organization /> </author>
</author> <date year="2004" month="June"/>
<author initials='B.' surname='Cain' fullname='B. Cain'><organization /></author <abstract>
> <t>This document updates RFC 2710, and it specifies Version 2 of t
<date year='2006' month='August' /> he ulticast Listener Discovery Protocol (MLDv2). MLD is used by an IPv6 router
<abstract><t>IP version 4 (IPv4) addresses in the 232/8 (232.0.0.0 to 232.255.25 to discover the presence of multicast listeners on directly attached links, and
5.255) range are designated as source-specific multicast (SSM) destination addre to discover which multicast addresses are of interest to those neighboring nodes
sses and are reserved for use by source-specific applications and protocols. Fo . MLDv2 is designed to be interoperable with MLDv1. MLDv2 adds the ability for
r IP version 6 (IPv6), the address prefix FF3x::/32 is reserved for source-speci a node to report interest in listening to packets with a particular multicast a
fic multicast use. This document defines an extension to the Internet network s ddress only from specific source addresses or from all sources except for specif
ervice that applies to datagrams sent to SSM addresses and defines the host and ic source addresses. [STANDARDS-TRACK]</t>
router requirements to support this extension. [STANDARDS-TRACK]</t></abstract> </abstract>
</front> </front>
<seriesInfo name='RFC' value='4607'/> <seriesInfo name="RFC" value="3810"/>
<seriesInfo name='DOI' value='10.17487/RFC4607'/> <seriesInfo name="DOI" value="10.17487/RFC3810"/>
</reference> </reference>
<reference anchor="RFC4604" target="https://www.rfc-editor.org/info/rfc4
<reference anchor="RFC6724" target='https://www.rfc-editor.org/info/rfc6724'> 604" quoteTitle="true" derivedAnchor="RFC4604">
<front> <front>
<title>Default Address Selection for Internet Protocol Version 6 (IPv6)</title> <title>Using Internet Group Management Protocol Version 3 (IGMPv3) a
<author initials='D.' surname='Thaler' fullname='D. Thaler' role='editor'><organ nd Multicast Listener Discovery Protocol Version 2 (MLDv2) for Source-Specific M
ization /></author> ulticast</title>
<author initials='R.' surname='Draves' fullname='R. Draves'><organization /></au <author initials="H." surname="Holbrook" fullname="H. Holbrook">
thor> <organization showOnFrontPage="true"/>
<author initials='A.' surname='Matsumoto' fullname='A. Matsumoto'><organization </author>
/></author> <author initials="B." surname="Cain" fullname="B. Cain">
<author initials='T.' surname='Chown' fullname='T. Chown'><organization /></auth <organization showOnFrontPage="true"/>
or> </author>
<date year='2012' month='September' /> <author initials="B." surname="Haberman" fullname="B. Haberman">
<abstract><t>This document describes two algorithms, one for source address sele <organization showOnFrontPage="true"/>
ction and one for destination address selection. The algorithms specify default </author>
behavior for all Internet Protocol version 6 (IPv6) implementations. They do n <date year="2006" month="August"/>
ot override choices made by applications or upper-layer protocols, nor do they p <abstract>
reclude the development of more advanced mechanisms for address selection. The <t>The Internet Group Management Protocol Version 3 (IGMPv3) and t
two algorithms share a common context, including an optional mechanism for allow he Multicast Listener Discovery Protocol Version 2 (MLDv2) are protocols that al
ing administrators to provide policy that can override the default behavior. In low a host to inform its neighboring routers of its desire to receive IPv4 and I
dual-stack implementations, the destination address selection algorithm can con Pv6 multicast transmissions, respectively. Source-specific multicast (SSM) is a
sider both IPv4 and IPv6 addresses -- depending on the available source addresse form of multicast in which a receiver is required to specify both the network-la
s, the algorithm might prefer IPv6 addresses over IPv4 addresses, or vice versa. yer address of the source and the multicast destination address in order to rece
</t><t>Default address selection as defined in this specification applies to all ive the multicast transmission. This document defines the notion of an "SSM-awa
IPv6 nodes, including both hosts and routers. This document obsoletes RFC 3484 re" router and host, and clarifies and (in some cases) modifies the behavior of
. [STANDARDS-TRACK]</t></abstract> IGMPv3 and MLDv2 on SSM-aware routers and hosts to accommodate source-specific m
</front> ulticast. This document updates the IGMPv3 and MLDv2 specifications. [STANDARD
<seriesInfo name='RFC' value='6724'/> S-TRACK]</t>
<seriesInfo name='DOI' value='10.17487/RFC6724'/> </abstract>
</reference> </front>
<seriesInfo name="RFC" value="4604"/>
<reference anchor="RFC6763" target='https://www.rfc-editor.org/info/rfc6763'> <seriesInfo name="DOI" value="10.17487/RFC4604"/>
<front> </reference>
<title>DNS-Based Service Discovery</title> <reference anchor="RFC4607" target="https://www.rfc-editor.org/info/rfc4
<author initials='S.' surname='Cheshire' fullname='S. Cheshire'><organization /> 607" quoteTitle="true" derivedAnchor="RFC4607">
</author> <front>
<author initials='M.' surname='Krochmal' fullname='M. Krochmal'><organization /> <title>Source-Specific Multicast for IP</title>
</author> <author initials="H." surname="Holbrook" fullname="H. Holbrook">
<date year='2013' month='February' /> <organization showOnFrontPage="true"/>
<abstract><t>This document specifies how DNS resource records are named and stru </author>
ctured to facilitate service discovery. Given a type of service that a client i <author initials="B." surname="Cain" fullname="B. Cain">
s looking for, and a domain in which the client is looking for that service, thi <organization showOnFrontPage="true"/>
s mechanism allows clients to discover a list of named instances of that desired </author>
service, using standard DNS queries. This mechanism is referred to as DNS-based <date year="2006" month="August"/>
Service Discovery, or DNS-SD.</t></abstract> <abstract>
</front> <t>IP version 4 (IPv4) addresses in the 232/8 (232.0.0.0 to 232.25
<seriesInfo name='RFC' value='6763'/> 5.255.255) range are designated as source-specific multicast (SSM) destination a
<seriesInfo name='DOI' value='10.17487/RFC6763'/> ddresses and are reserved for use by source-specific applications and protocols.
</reference> For IP version 6 (IPv6), the address prefix FF3x::/32 is reserved for source-s
pecific multicast use. This document defines an extension to the Internet netwo
<reference anchor="RFC7450" target='https://www.rfc-editor.org/info/rfc7450'> rk service that applies to datagrams sent to SSM addresses and defines the host
<front> and router requirements to support this extension. [STANDARDS-TRACK]</t>
<title>Automatic Multicast Tunneling</title> </abstract>
<author initials='G.' surname='Bumgardner' fullname='G. Bumgardner'><organizatio </front>
n /></author> <seriesInfo name="RFC" value="4607"/>
<date year='2015' month='February' /> <seriesInfo name="DOI" value="10.17487/RFC4607"/>
<abstract><t>This document describes Automatic Multicast Tunneling (AMT), a prot </reference>
ocol for delivering multicast traffic from sources in a multicast-enabled networ <reference anchor="RFC6724" target="https://www.rfc-editor.org/info/rfc6
k to receivers that lack multicast connectivity to the source network. The prot 724" quoteTitle="true" derivedAnchor="RFC6724">
ocol uses UDP encapsulation and unicast replication to provide this functionalit <front>
y.</t><t>The AMT protocol is specifically designed to support rapid deployment b <title>Default Address Selection for Internet Protocol Version 6 (IP
y requiring minimal changes to existing network infrastructure.</t></abstract> v6)</title>
</front> <author initials="D." surname="Thaler" fullname="D. Thaler" role="ed
<seriesInfo name='RFC' value='7450'/> itor">
<seriesInfo name='DOI' value='10.17487/RFC7450'/> <organization showOnFrontPage="true"/>
</reference> </author>
<author initials="R." surname="Draves" fullname="R. Draves">
<reference anchor="RFC8085" target='https://www.rfc-editor.org/info/rfc8085'> <organization showOnFrontPage="true"/>
<front> </author>
<title>UDP Usage Guidelines</title> <author initials="A." surname="Matsumoto" fullname="A. Matsumoto">
<author initials='L.' surname='Eggert' fullname='L. Eggert'><organization /></au <organization showOnFrontPage="true"/>
thor> </author>
<author initials='G.' surname='Fairhurst' fullname='G. Fairhurst'><organization <author initials="T." surname="Chown" fullname="T. Chown">
/></author> <organization showOnFrontPage="true"/>
<author initials='G.' surname='Shepherd' fullname='G. Shepherd'><organization /> </author>
</author> <date year="2012" month="September"/>
<date year='2017' month='March' /> <abstract>
<abstract><t>The User Datagram Protocol (UDP) provides a minimal message-passing <t>This document describes two algorithms, one for source address
transport that has no inherent congestion control mechanisms. This document pr selection and one for destination address selection. The algorithms specify def
ovides guidelines on the use of UDP for the designers of applications, tunnels, ault behavior for all Internet Protocol version 6 (IPv6) implementations. They
and other protocols that use UDP. Congestion control guidelines are a primary f do not override choices made by applications or upper-layer protocols, nor do th
ocus, but the document also provides guidance on other topics, including message ey preclude the development of more advanced mechanisms for address selection.
sizes, reliability, checksums, middlebox traversal, the use of Explicit Congest The two algorithms share a common context, including an optional mechanism for a
ion Notification (ECN), Differentiated Services Code Points (DSCPs), and ports.< llowing administrators to provide policy that can override the default behavior.
/t><t>Because congestion control is critical to the stable operation of the Inte In dual-stack implementations, the destination address selection algorithm can
rnet, applications and other protocols that choose to use UDP as an Internet tra consider both IPv4 and IPv6 addresses -- depending on the available source addr
nsport must employ mechanisms to prevent congestion collapse and to establish so esses, the algorithm might prefer IPv6 addresses over IPv4 addresses, or vice ve
me degree of fairness with concurrent traffic. They may also need to implement rsa.</t>
additional mechanisms, depending on how they use UDP.</t><t>Some guidance is als <t>Default address selection as defined in this specification appl
o applicable to the design of other protocols (e.g., protocols layered directly ies to all IPv6 nodes, including both hosts and routers. This document obsolete
on IP or via IP-based tunnels), especially when these protocols do not themselve s RFC 3484. [STANDARDS-TRACK]</t>
s provide congestion control.</t><t>This document obsoletes RFC 5405 and adds gu </abstract>
idelines for multicast UDP usage.</t></abstract> </front>
</front> <seriesInfo name="RFC" value="6724"/>
<seriesInfo name='BCP' value='145'/> <seriesInfo name="DOI" value="10.17487/RFC6724"/>
<seriesInfo name='RFC' value='8085'/> </reference>
<seriesInfo name='DOI' value='10.17487/RFC8085'/> <reference anchor="RFC6763" target="https://www.rfc-editor.org/info/rfc6
</reference> 763" quoteTitle="true" derivedAnchor="RFC6763">
<front>
<reference anchor="RFC8305" target='https://www.rfc-editor.org/info/rfc8305'> <title>DNS-Based Service Discovery</title>
<front> <author initials="S." surname="Cheshire" fullname="S. Cheshire">
<title>Happy Eyeballs Version 2: Better Connectivity Using Concurrency</title> <organization showOnFrontPage="true"/>
<author initials='D.' surname='Schinazi' fullname='D. Schinazi'><organization /> </author>
</author> <author initials="M." surname="Krochmal" fullname="M. Krochmal">
<author initials='T.' surname='Pauly' fullname='T. Pauly'><organization /></auth <organization showOnFrontPage="true"/>
or> </author>
<date year='2017' month='December' /> <date year="2013" month="February"/>
<abstract><t>Many communication protocols operating over the modern Internet use <abstract>
hostnames. These often resolve to multiple IP addresses, each of which may hav <t>This document specifies how DNS resource records are named and
e different performance and connectivity characteristics. Since specific addres structured to facilitate service discovery. Given a type of service that a clie
ses or address families (IPv4 or IPv6) may be blocked, broken, or sub-optimal on nt is looking for, and a domain in which the client is looking for that service,
a network, clients that attempt multiple connections in parallel have a chance this mechanism allows clients to discover a list of named instances of that des
of establishing a connection more quickly. This document specifies requirements ired service, using standard DNS queries. This mechanism is referred to as DNS-b
for algorithms that reduce this user-visible delay and provides an example algo ased Service Discovery, or DNS-SD.</t>
rithm, referred to as &quot;Happy Eyeballs&quot;. This document obsoletes the o </abstract>
riginal algorithm description in RFC 6555.</t></abstract> </front>
</front> <seriesInfo name="RFC" value="6763"/>
<seriesInfo name='RFC' value='8305'/> <seriesInfo name="DOI" value="10.17487/RFC6763"/>
<seriesInfo name='DOI' value='10.17487/RFC8305'/> </reference>
</reference> <reference anchor="RFC7450" target="https://www.rfc-editor.org/info/rfc7
450" quoteTitle="true" derivedAnchor="RFC7450">
<reference anchor="RFC8174" target='https://www.rfc-editor.org/info/rfc8174'> <front>
<front> <title>Automatic Multicast Tunneling</title>
<title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title> <author initials="G." surname="Bumgardner" fullname="G. Bumgardner">
<author initials='B.' surname='Leiba' fullname='B. Leiba'><organization /></auth <organization showOnFrontPage="true"/>
or> </author>
<date year='2017' month='May' /> <date year="2015" month="February"/>
<abstract><t>RFC 2119 specifies common key words that may be used in protocol s <abstract>
pecifications. This document aims to reduce the ambiguity by clarifying that on <t>This document describes Automatic Multicast Tunneling (AMT), a
ly UPPERCASE usage of the key words have the defined special meanings.</t></abs protocol for delivering multicast traffic from sources in a multicast-enabled ne
tract> twork to receivers that lack multicast connectivity to the source network. The
</front> protocol uses UDP encapsulation and unicast replication to provide this function
<seriesInfo name='BCP' value='14'/> ality.</t>
<seriesInfo name='RFC' value='8174'/> <t>The AMT protocol is specifically designed to support rapid depl
<seriesInfo name='DOI' value='10.17487/RFC8174'/> oyment by requiring minimal changes to existing network infrastructure.</t>
</reference> </abstract>
</front>
<reference anchor="RFC8499" target='https://www.rfc-editor.org/info/rfc8499'> <seriesInfo name="RFC" value="7450"/>
<front> <seriesInfo name="DOI" value="10.17487/RFC7450"/>
<title>DNS Terminology</title> </reference>
<author initials='P.' surname='Hoffman' fullname='P. Hoffman'><organization /></ <reference anchor="RFC8085" target="https://www.rfc-editor.org/info/rfc8
author> 085" quoteTitle="true" derivedAnchor="RFC8085">
<author initials='A.' surname='Sullivan' fullname='A. Sullivan'><organization /> <front>
</author> <title>UDP Usage Guidelines</title>
<author initials='K.' surname='Fujiwara' fullname='K. Fujiwara'><organization /> <author initials="L." surname="Eggert" fullname="L. Eggert">
</author> <organization showOnFrontPage="true"/>
<date year='2019' month='January' /> </author>
<abstract><t>The Domain Name System (DNS) is defined in literally dozens of diff <author initials="G." surname="Fairhurst" fullname="G. Fairhurst">
erent RFCs. The terminology used by implementers and developers of DNS protocol <organization showOnFrontPage="true"/>
s, and by operators of DNS systems, has sometimes changed in the decades since t </author>
he DNS was first defined. This document gives current definitions for many of t <author initials="G." surname="Shepherd" fullname="G. Shepherd">
he terms used in the DNS in a single document.</t><t>This document obsoletes RFC <organization showOnFrontPage="true"/>
7719 and updates RFC 2308.</t></abstract> </author>
</front> <date year="2017" month="March"/>
<seriesInfo name='BCP' value='219'/> <abstract>
<seriesInfo name='RFC' value='8499'/> <t>The User Datagram Protocol (UDP) provides a minimal message-pas
<seriesInfo name='DOI' value='10.17487/RFC8499'/> sing transport that has no inherent congestion control mechanisms. This documen
</reference> t provides guidelines on the use of UDP for the designers of applications, tunne
ls, and other protocols that use UDP. Congestion control guidelines are a prima
</references> ry focus, but the document also provides guidance on other topics, including mes
sage sizes, reliability, checksums, middlebox traversal, the use of Explicit Con
<references title='Informative References'> gestion Notification (ECN), Differentiated Services Code Points (DSCPs), and por
ts.</t>
<reference anchor="RFC2317" target='https://www.rfc-editor.org/info/rfc2317'> <t>Because congestion control is critical to the stable operation
<front> of the Internet, applications and other protocols that choose to use UDP as an I
<title>Classless IN-ADDR.ARPA delegation</title> nternet transport must employ mechanisms to prevent congestion collapse and to e
<author initials='H.' surname='Eidnes' fullname='H. Eidnes'><organization /></au stablish some degree of fairness with concurrent traffic. They may also need to
thor> implement additional mechanisms, depending on how they use UDP.</t>
<author initials='G.' surname='de Groot' fullname='G. de Groot'><organization /> <t>Some guidance is also applicable to the design of other protoco
</author> ls (e.g., protocols layered directly on IP or via IP-based tunnels), especially
<author initials='P.' surname='Vixie' fullname='P. Vixie'><organization /></auth when these protocols do not themselves provide congestion control.</t>
or> <t>This document obsoletes RFC 5405 and adds guidelines for multic
<date year='1998' month='March' /> ast UDP usage.</t>
<abstract><t>This document describes a way to do IN-ADDR.ARPA delegation on non- </abstract>
octet boundaries for address spaces covering fewer than 256 addresses. This doc </front>
ument specifies an Internet Best Current Practices for the Internet Community, a <seriesInfo name="BCP" value="145"/>
nd requests discussion and suggestions for improvements.</t></abstract> <seriesInfo name="RFC" value="8085"/>
</front> <seriesInfo name="DOI" value="10.17487/RFC8085"/>
<seriesInfo name='BCP' value='20'/> </reference>
<seriesInfo name='RFC' value='2317'/> <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8
<seriesInfo name='DOI' value='10.17487/RFC2317'/> 174" quoteTitle="true" derivedAnchor="RFC8174">
</reference> <front>
<title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</ti
<reference anchor="RFC2845" target='https://www.rfc-editor.org/info/rfc2845'> tle>
<front> <author initials="B." surname="Leiba" fullname="B. Leiba">
<title>Secret Key Transaction Authentication for DNS (TSIG)</title> <organization showOnFrontPage="true"/>
<author initials='P.' surname='Vixie' fullname='P. Vixie'><organization /></auth </author>
or> <date year="2017" month="May"/>
<author initials='O.' surname='Gudmundsson' fullname='O. Gudmundsson'><organizat <abstract>
ion /></author> <t>RFC 2119 specifies common key words that may be used in protoco
<author initials='D.' surname='Eastlake 3rd' fullname='D. Eastlake 3rd'><organiz l specifications. This document aims to reduce the ambiguity by clarifying tha
ation /></author> t only UPPERCASE usage of the key words have the defined special meanings.</t>
<author initials='B.' surname='Wellington' fullname='B. Wellington'><organizatio </abstract>
n /></author> </front>
<date year='2000' month='May' /> <seriesInfo name="BCP" value="14"/>
<abstract><t>This protocol allows for transaction level authentication using sha <seriesInfo name="RFC" value="8174"/>
red secrets and one way hashing. It can be used to authenticate dynamic updates <seriesInfo name="DOI" value="10.17487/RFC8174"/>
as coming from an approved client, or to authenticate responses as coming from </reference>
an approved recursive name server. [STANDARDS-TRACK]</t></abstract> <reference anchor="RFC8305" target="https://www.rfc-editor.org/info/rfc8
</front> 305" quoteTitle="true" derivedAnchor="RFC8305">
<seriesInfo name='RFC' value='2845'/> <front>
<seriesInfo name='DOI' value='10.17487/RFC2845'/> <title>Happy Eyeballs Version 2: Better Connectivity Using Concurren
</reference> cy</title>
<author initials="D." surname="Schinazi" fullname="D. Schinazi">
<reference anchor="RFC2931" target='https://www.rfc-editor.org/info/rfc2931'> <organization showOnFrontPage="true"/>
<front> </author>
<title>DNS Request and Transaction Signatures ( SIG(0)s )</title> <author initials="T." surname="Pauly" fullname="T. Pauly">
<author initials='D.' surname='Eastlake 3rd' fullname='D. Eastlake 3rd'><organiz <organization showOnFrontPage="true"/>
ation /></author> </author>
<date year='2000' month='September' /> <date year="2017" month="December"/>
<abstract><t>This document describes the minor but non-interoperable changes in <abstract>
Request and Transaction signature resource records ( SIG(0)s ) that implementati <t>Many communication protocols operating over the modern Internet
on experience has deemed necessary. [STANDARDS-TRACK]</t></abstract> use hostnames. These often resolve to multiple IP addresses, each of which may
</front> have different performance and connectivity characteristics. Since specific ad
<seriesInfo name='RFC' value='2931'/> dresses or address families (IPv4 or IPv6) may be blocked, broken, or sub-optima
<seriesInfo name='DOI' value='10.17487/RFC2931'/> l on a network, clients that attempt multiple connections in parallel have a cha
</reference> nce of establishing a connection more quickly. This document specifies requirem
ents for algorithms that reduce this user-visible delay and provides an example
<reference anchor="RFC3550" target='https://www.rfc-editor.org/info/rfc3550'> algorithm, referred to as "Happy Eyeballs". This document obsoletes the origina
<front> l algorithm description in RFC 6555.</t>
<title>RTP: A Transport Protocol for Real-Time Applications</title> </abstract>
<author initials='H.' surname='Schulzrinne' fullname='H. Schulzrinne'><organizat </front>
ion /></author> <seriesInfo name="RFC" value="8305"/>
<author initials='S.' surname='Casner' fullname='S. Casner'><organization /></au <seriesInfo name="DOI" value="10.17487/RFC8305"/>
thor> </reference>
<author initials='R.' surname='Frederick' fullname='R. Frederick'><organization <reference anchor="RFC8499" target="https://www.rfc-editor.org/info/rfc8
/></author> 499" quoteTitle="true" derivedAnchor="RFC8499">
<author initials='V.' surname='Jacobson' fullname='V. Jacobson'><organization /> <front>
</author> <title>DNS Terminology</title>
<date year='2003' month='July' /> <author initials="P." surname="Hoffman" fullname="P. Hoffman">
<abstract><t>This memorandum describes RTP, the real-time transport protocol. R <organization showOnFrontPage="true"/>
TP provides end-to-end network transport functions suitable for applications tra </author>
nsmitting real-time data, such as audio, video or simulation data, over multicas <author initials="A." surname="Sullivan" fullname="A. Sullivan">
t or unicast network services. RTP does not address resource reservation and do <organization showOnFrontPage="true"/>
es not guarantee quality-of- service for real-time services. The data transport </author>
is augmented by a control protocol (RTCP) to allow monitoring of the data deliv <author initials="K." surname="Fujiwara" fullname="K. Fujiwara">
ery in a manner scalable to large multicast networks, and to provide minimal con <organization showOnFrontPage="true"/>
trol and identification functionality. RTP and RTCP are designed to be independ </author>
ent of the underlying transport and network layers. The protocol supports the u <date year="2019" month="January"/>
se of RTP-level translators and mixers. Most of the text in this memorandum is i <abstract>
dentical to RFC 1889 which it obsoletes. There are no changes in the packet for <t>The Domain Name System (DNS) is defined in literally dozens of
mats on the wire, only changes to the rules and algorithms governing how the pro different RFCs. The terminology used by implementers and developers of DNS prot
tocol is used. The biggest change is an enhancement to the scalable timer algori ocols, and by operators of DNS systems, has sometimes changed in the decades sin
thm for calculating when to send RTCP packets in order to minimize transmission ce the DNS was first defined. This document gives current definitions for many
in excess of the intended rate when many participants join a session simultaneou of the terms used in the DNS in a single document.</t>
sly. [STANDARDS-TRACK]</t></abstract> <t>This document obsoletes RFC 7719 and updates RFC 2308.</t>
</front> </abstract>
<seriesInfo name='STD' value='64'/> </front>
<seriesInfo name='RFC' value='3550'/> <seriesInfo name="BCP" value="219"/>
<seriesInfo name='DOI' value='10.17487/RFC3550'/> <seriesInfo name="RFC" value="8499"/>
</reference> <seriesInfo name="DOI" value="10.17487/RFC8499"/>
</reference>
<reference anchor="RFC4025" target='https://www.rfc-editor.org/info/rfc4025'> </references>
<front> <references pn="section-7.2">
<title>A Method for Storing IPsec Keying Material in DNS</title> <name slugifiedName="name-informative-references">Informative References
<author initials='M.' surname='Richardson' fullname='M. Richardson'><organizatio </name>
n /></author> <reference anchor="RFC2317" target="https://www.rfc-editor.org/info/rfc2
<date year='2005' month='March' /> 317" quoteTitle="true" derivedAnchor="RFC2317">
<abstract><t>This document describes a new resource record for the Domain Name S <front>
ystem (DNS). This record may be used to store public keys for use in IP securit <title>Classless IN-ADDR.ARPA delegation</title>
y (IPsec) systems. The record also includes provisions for indicating what syst <author initials="H." surname="Eidnes" fullname="H. Eidnes">
em should be contacted when an IPsec tunnel is established with the entity in qu <organization showOnFrontPage="true"/>
estion. </t><t> This record replaces the functionality of the sub-type #4 of the </author>
KEY Resource Record, which has been obsoleted by RFC 3445. [STANDARDS-TRACK]</ <author initials="G." surname="de Groot" fullname="G. de Groot">
t></abstract> <organization showOnFrontPage="true"/>
</front> </author>
<seriesInfo name='RFC' value='4025'/> <author initials="P." surname="Vixie" fullname="P. Vixie">
<seriesInfo name='DOI' value='10.17487/RFC4025'/> <organization showOnFrontPage="true"/>
</reference> </author>
<date year="1998" month="March"/>
<reference anchor="RFC4301" target='https://www.rfc-editor.org/info/rfc4301'> <abstract>
<front> <t>This document describes a way to do IN-ADDR.ARPA delegation on
<title>Security Architecture for the Internet Protocol</title> non-octet boundaries for address spaces covering fewer than 256 addresses. This
<author initials='S.' surname='Kent' fullname='S. Kent'><organization /></author document specifies an Internet Best Current Practices for the Internet Communit
> y, and requests discussion and suggestions for improvements.</t>
<author initials='K.' surname='Seo' fullname='K. Seo'><organization /></author> </abstract>
<date year='2005' month='December' /> </front>
<abstract><t>This document describes an updated version of the &quot;Security Ar <seriesInfo name="BCP" value="20"/>
chitecture for IP&quot;, which is designed to provide security services for traf <seriesInfo name="RFC" value="2317"/>
fic at the IP layer. This document obsoletes RFC 2401 (November 1998). [STANDA <seriesInfo name="DOI" value="10.17487/RFC2317"/>
RDS-TRACK]</t></abstract> </reference>
</front> <reference anchor="RFC2845" target="https://www.rfc-editor.org/info/rfc2
<seriesInfo name='RFC' value='4301'/> 845" quoteTitle="true" derivedAnchor="RFC2845">
<seriesInfo name='DOI' value='10.17487/RFC4301'/> <front>
</reference> <title>Secret Key Transaction Authentication for DNS (TSIG)</title>
<author initials="P." surname="Vixie" fullname="P. Vixie">
<reference anchor="RFC4787" target='https://www.rfc-editor.org/info/rfc4787'> <organization showOnFrontPage="true"/>
<front> </author>
<title>Network Address Translation (NAT) Behavioral Requirements for Unicast UDP <author initials="O." surname="Gudmundsson" fullname="O. Gudmundsson
</title> ">
<author initials='F.' surname='Audet' fullname='F. Audet' role='editor'><organiz <organization showOnFrontPage="true"/>
ation /></author> </author>
<author initials='C.' surname='Jennings' fullname='C. Jennings'><organization /> <author initials="D." surname="Eastlake 3rd" fullname="D. Eastlake 3
</author> rd">
<date year='2007' month='January' /> <organization showOnFrontPage="true"/>
<abstract><t>This document defines basic terminology for describing different ty </author>
pes of Network Address Translation (NAT) behavior when handling Unicast UDP and <author initials="B." surname="Wellington" fullname="B. Wellington">
also defines a set of requirements that would allow many applications, such as m <organization showOnFrontPage="true"/>
ultimedia communications or online gaming, to work consistently. Developing NAT </author>
s that meet this set of requirements will greatly increase the likelihood that t <date year="2000" month="May"/>
hese applications will function properly. This document specifies an Internet B <abstract>
est Current Practices for the Internet Community, and requests discussion and su <t>This protocol allows for transaction level authentication using
ggestions for improvements.</t></abstract> shared secrets and one way hashing. It can be used to authenticate dynamic upd
</front> ates as coming from an approved client, or to authenticate responses as coming f
<seriesInfo name='BCP' value='127'/> rom an approved recursive name server. [STANDARDS-TRACK]</t>
<seriesInfo name='RFC' value='4787'/> </abstract>
<seriesInfo name='DOI' value='10.17487/RFC4787'/> </front>
</reference> <seriesInfo name="RFC" value="2845"/>
<seriesInfo name="DOI" value="10.17487/RFC2845"/>
<reference anchor="RFC5110" target='https://www.rfc-editor.org/info/rfc5110'> </reference>
<front> <reference anchor="RFC2931" target="https://www.rfc-editor.org/info/rfc2
<title>Overview of the Internet Multicast Routing Architecture</title> 931" quoteTitle="true" derivedAnchor="RFC2931">
<author initials='P.' surname='Savola' fullname='P. Savola'><organization /></au <front>
thor> <title>DNS Request and Transaction Signatures ( SIG(0)s )</title>
<date year='2008' month='January' /> <author initials="D." surname="Eastlake 3rd" fullname="D. Eastlake 3
<abstract><t>This document describes multicast routing architectures that are cu rd">
rrently deployed on the Internet. This document briefly describes those protoco <organization showOnFrontPage="true"/>
ls and references their specifications.</t><t>This memo also reclassifies severa </author>
l older RFCs to Historic. These RFCs describe multicast routing protocols that <date year="2000" month="September"/>
were never widely deployed or have fallen into disuse. This memo provides infor <abstract>
mation for the Internet community.</t></abstract> <t>This document describes the minor but non-interoperable changes
</front> in Request and Transaction signature resource records ( SIG(0)s ) that implemen
<seriesInfo name='RFC' value='5110'/> tation experience has deemed necessary. [STANDARDS-TRACK]</t>
<seriesInfo name='DOI' value='10.17487/RFC5110'/> </abstract>
</reference> </front>
<seriesInfo name="RFC" value="2931"/>
<reference anchor="RFC6726" target='https://www.rfc-editor.org/info/rfc6726'> <seriesInfo name="DOI" value="10.17487/RFC2931"/>
<front> </reference>
<title>FLUTE - File Delivery over Unidirectional Transport</title> <reference anchor="RFC3550" target="https://www.rfc-editor.org/info/rfc3
<author initials='T.' surname='Paila' fullname='T. Paila'><organization /></auth 550" quoteTitle="true" derivedAnchor="RFC3550">
or> <front>
<author initials='R.' surname='Walsh' fullname='R. Walsh'><organization /></auth <title>RTP: A Transport Protocol for Real-Time Applications</title>
or> <author initials="H." surname="Schulzrinne" fullname="H. Schulzrinne
<author initials='M.' surname='Luby' fullname='M. Luby'><organization /></author ">
> <organization showOnFrontPage="true"/>
<author initials='V.' surname='Roca' fullname='V. Roca'><organization /></author </author>
> <author initials="S." surname="Casner" fullname="S. Casner">
<author initials='R.' surname='Lehtonen' fullname='R. Lehtonen'><organization /> <organization showOnFrontPage="true"/>
</author> </author>
<date year='2012' month='November' /> <author initials="R." surname="Frederick" fullname="R. Frederick">
<abstract><t>This document defines File Delivery over Unidirectional Transport ( <organization showOnFrontPage="true"/>
FLUTE), a protocol for the unidirectional delivery of files over the Internet, w </author>
hich is particularly suited to multicast networks. The specification builds on <author initials="V." surname="Jacobson" fullname="V. Jacobson">
Asynchronous Layered Coding, the base protocol designed for massively scalable m <organization showOnFrontPage="true"/>
ulticast distribution. This document obsoletes RFC 3926. [STANDARDS-TRACK]</t>< </author>
/abstract> <date year="2003" month="July"/>
</front> <abstract>
<seriesInfo name='RFC' value='6726'/> <t>This memorandum describes RTP, the real-time transport protocol
<seriesInfo name='DOI' value='10.17487/RFC6726'/> . RTP provides end-to-end network transport functions suitable for applications
</reference> transmitting real-time data, such as audio, video or simulation data, over mult
icast or unicast network services. RTP does not address resource reservation an
<reference anchor="RFC7359" target='https://www.rfc-editor.org/info/rfc7359'> d does not guarantee quality-of- service for real-time services. The data trans
<front> port is augmented by a control protocol (RTCP) to allow monitoring of the data d
<title>Layer 3 Virtual Private Network (VPN) Tunnel Traffic Leakages in Dual-Sta elivery in a manner scalable to large multicast networks, and to provide minimal
ck Hosts/Networks</title> control and identification functionality. RTP and RTCP are designed to be inde
<author initials='F.' surname='Gont' fullname='F. Gont'><organization /></author pendent of the underlying transport and network layers. The protocol supports t
> he use of RTP-level translators and mixers. Most of the text in this memorandum
<date year='2014' month='August' /> is identical to RFC 1889 which it obsoletes. There are no changes in the packet
<abstract><t>The subtle way in which the IPv6 and IPv4 protocols coexist in typi formats on the wire, only changes to the rules and algorithms governing how the
cal networks, together with the lack of proper IPv6 support in popular Virtual P protocol is used. The biggest change is an enhancement to the scalable timer al
rivate Network (VPN) tunnel products, may inadvertently result in VPN tunnel tra gorithm for calculating when to send RTCP packets in order to minimize transmiss
ffic leakages. That is, traffic meant to be transferred over an encrypted and i ion in excess of the intended rate when many participants join a session simulta
ntegrity- protected VPN tunnel may leak out of such a tunnel and be sent in the neously. [STANDARDS-TRACK]</t>
clear on the local network towards the final destination. This document discuss </abstract>
es some scenarios in which such VPN tunnel traffic leakages may occur as a resul </front>
t of employing IPv6-unaware VPN software. Additionally, this document offers po <seriesInfo name="STD" value="64"/>
ssible mitigations for this issue.</t></abstract> <seriesInfo name="RFC" value="3550"/>
</front> <seriesInfo name="DOI" value="10.17487/RFC3550"/>
<seriesInfo name='RFC' value='7359'/> </reference>
<seriesInfo name='DOI' value='10.17487/RFC7359'/> <reference anchor="RFC4025" target="https://www.rfc-editor.org/info/rfc4
</reference> 025" quoteTitle="true" derivedAnchor="RFC4025">
<front>
<reference anchor="RFC7761" target='https://www.rfc-editor.org/info/rfc7761'> <title>A Method for Storing IPsec Keying Material in DNS</title>
<front> <author initials="M." surname="Richardson" fullname="M. Richardson">
<title>Protocol Independent Multicast - Sparse Mode (PIM-SM): Protocol Specifica <organization showOnFrontPage="true"/>
tion (Revised)</title> </author>
<author initials='B.' surname='Fenner' fullname='B. Fenner'><organization /></au <date year="2005" month="March"/>
thor> <abstract>
<author initials='M.' surname='Handley' fullname='M. Handley'><organization /></ <t>This document describes a new resource record for the Domain Na
author> me System (DNS). This record may be used to store public keys for use in IP sec
<author initials='H.' surname='Holbrook' fullname='H. Holbrook'><organization /> urity (IPsec) systems. The record also includes provisions for indicating what
</author> system should be contacted when an IPsec tunnel is established with the entity i
<author initials='I.' surname='Kouvelas' fullname='I. Kouvelas'><organization /> n question. </t>
</author> <t> This record replaces the functionality of the sub-type #4 of t
<author initials='R.' surname='Parekh' fullname='R. Parekh'><organization /></au he KEY Resource Record, which has been obsoleted by RFC 3445. [STANDARDS-TRACK]
thor> </t>
<author initials='Z.' surname='Zhang' fullname='Z. Zhang'><organization /></auth </abstract>
or> </front>
<author initials='L.' surname='Zheng' fullname='L. Zheng'><organization /></auth <seriesInfo name="RFC" value="4025"/>
or> <seriesInfo name="DOI" value="10.17487/RFC4025"/>
<date year='2016' month='March' /> </reference>
<abstract><t>This document specifies Protocol Independent Multicast - Sparse Mod <reference anchor="RFC4301" target="https://www.rfc-editor.org/info/rfc4
e (PIM-SM). PIM-SM is a multicast routing protocol that can use the underlying 301" quoteTitle="true" derivedAnchor="RFC4301">
unicast routing information base or a separate multicast-capable routing informa <front>
tion base. It builds unidirectional shared trees rooted at a Rendezvous Point ( <title>Security Architecture for the Internet Protocol</title>
RP) per group, and it optionally creates shortest-path trees per source.</t><t>T <author initials="S." surname="Kent" fullname="S. Kent">
his document obsoletes RFC 4601 by replacing it, addresses the errata filed agai <organization showOnFrontPage="true"/>
nst it, removes the optional (*,*,RP), PIM Multicast Border Router features and </author>
authentication using IPsec that lack sufficient deployment experience (see Appen <author initials="K." surname="Seo" fullname="K. Seo">
dix A), and moves the PIM specification to Internet Standard.</t></abstract> <organization showOnFrontPage="true"/>
</front> </author>
<seriesInfo name='STD' value='83'/> <date year="2005" month="December"/>
<seriesInfo name='RFC' value='7761'/> <abstract>
<seriesInfo name='DOI' value='10.17487/RFC7761'/> <t>This document describes an updated version of the "Security Arc
</reference> hitecture for IP", which is designed to provide security services for traffic at
the IP layer. This document obsoletes RFC 2401 (November 1998). [STANDARDS-TR
<reference anchor="RFC7858" target='https://www.rfc-editor.org/info/rfc7858'> ACK]</t>
<front> </abstract>
<title>Specification for DNS over Transport Layer Security (TLS)</title> </front>
<author initials='Z.' surname='Hu' fullname='Z. Hu'><organization /></author> <seriesInfo name="RFC" value="4301"/>
<author initials='L.' surname='Zhu' fullname='L. Zhu'><organization /></author> <seriesInfo name="DOI" value="10.17487/RFC4301"/>
<author initials='J.' surname='Heidemann' fullname='J. Heidemann'><organization </reference>
/></author> <reference anchor="RFC4787" target="https://www.rfc-editor.org/info/rfc4
<author initials='A.' surname='Mankin' fullname='A. Mankin'><organization /></au 787" quoteTitle="true" derivedAnchor="RFC4787">
thor> <front>
<author initials='D.' surname='Wessels' fullname='D. Wessels'><organization /></ <title>Network Address Translation (NAT) Behavioral Requirements for
author> Unicast UDP</title>
<author initials='P.' surname='Hoffman' fullname='P. Hoffman'><organization /></ <author initials="F." surname="Audet" fullname="F. Audet" role="edit
author> or">
<date year='2016' month='May' /> <organization showOnFrontPage="true"/>
<abstract><t>This document describes the use of Transport Layer Security (TLS) t </author>
o provide privacy for DNS. Encryption provided by TLS eliminates opportunities <author initials="C." surname="Jennings" fullname="C. Jennings">
for eavesdropping and on-path tampering with DNS queries in the network, such as <organization showOnFrontPage="true"/>
discussed in RFC 7626. In addition, this document specifies two usage profiles </author>
for DNS over TLS and provides advice on performance considerations to minimize <date year="2007" month="January"/>
overhead from using TCP and TLS with DNS.</t><t>This document focuses on securin <abstract>
g stub-to-recursive traffic, as per the charter of the DPRIVE Working Group. It <t>This document defines basic terminology for describing differen
does not prevent future applications of the protocol to recursive-to-authoritat t types of Network Address Translation (NAT) behavior when handling Unicast UDP
ive traffic.</t></abstract> and also defines a set of requirements that would allow many applications, such
</front> as multimedia communications or online gaming, to work consistently. Developing
<seriesInfo name='RFC' value='7858'/> NATs that meet this set of requirements will greatly increase the likelihood th
<seriesInfo name='DOI' value='10.17487/RFC7858'/> at these applications will function properly. This document specifies an Intern
</reference> et Best Current Practices for the Internet Community, and requests discussion an
d suggestions for improvements.</t>
<reference anchor="RFC8126" target='https://www.rfc-editor.org/info/rfc8126'> </abstract>
<front> </front>
<title>Guidelines for Writing an IANA Considerations Section in RFCs</title> <seriesInfo name="BCP" value="127"/>
<author initials='M.' surname='Cotton' fullname='M. Cotton'><organization /></au <seriesInfo name="RFC" value="4787"/>
thor> <seriesInfo name="DOI" value="10.17487/RFC4787"/>
<author initials='B.' surname='Leiba' fullname='B. Leiba'><organization /></auth </reference>
or> <reference anchor="RFC5110" target="https://www.rfc-editor.org/info/rfc5
<author initials='T.' surname='Narten' fullname='T. Narten'><organization /></au 110" quoteTitle="true" derivedAnchor="RFC5110">
thor> <front>
<date year='2017' month='June' /> <title>Overview of the Internet Multicast Routing Architecture</titl
<abstract><t>Many protocols make use of points of extensibility that use constan e>
ts to identify various protocol parameters. To ensure that the values in these <author initials="P." surname="Savola" fullname="P. Savola">
fields do not have conflicting uses and to promote interoperability, their alloc <organization showOnFrontPage="true"/>
ations are often coordinated by a central record keeper. For IETF protocols, th </author>
at role is filled by the Internet Assigned Numbers Authority (IANA).</t><t>To ma <date year="2008" month="January"/>
ke assignments in a given registry prudently, guidance describing the conditions <abstract>
under which new values should be assigned, as well as when and how modification <t>This document describes multicast routing architectures that ar
s to existing values can be made, is needed. This document defines a framework e currently deployed on the Internet. This document briefly describes those pro
for the documentation of these guidelines by specification authors, in order to tocols and references their specifications.</t>
assure that the provided guidance for the IANA Considerations is clear and addre <t>This memo also reclassifies several older RFCs to Historic. Th
sses the various issues that are likely in the operation of a registry.</t><t>Th ese RFCs describe multicast routing protocols that were never widely deployed or
is is the third edition of this document; it obsoletes RFC 5226.</t></abstract> have fallen into disuse. This memo provides information for the Internet commu
</front> nity.</t>
<seriesInfo name='BCP' value='26'/> </abstract>
<seriesInfo name='RFC' value='8126'/> </front>
<seriesInfo name='DOI' value='10.17487/RFC8126'/> <seriesInfo name="RFC" value="5110"/>
</reference> <seriesInfo name="DOI" value="10.17487/RFC5110"/>
</reference>
<reference anchor="RFC8313" target='https://www.rfc-editor.org/info/rfc8313'> <reference anchor="RFC6726" target="https://www.rfc-editor.org/info/rfc6
<front> 726" quoteTitle="true" derivedAnchor="RFC6726">
<title>Use of Multicast across Inter-domain Peering Points</title> <front>
<author initials='P.' surname='Tarapore' fullname='P. Tarapore' role='editor'><o <title>FLUTE - File Delivery over Unidirectional Transport</title>
rganization /></author> <author initials="T." surname="Paila" fullname="T. Paila">
<author initials='R.' surname='Sayko' fullname='R. Sayko'><organization /></auth <organization showOnFrontPage="true"/>
or> </author>
<author initials='G.' surname='Shepherd' fullname='G. Shepherd'><organization /> <author initials="R." surname="Walsh" fullname="R. Walsh">
</author> <organization showOnFrontPage="true"/>
<author initials='T.' surname='Eckert' fullname='T. Eckert' role='editor'><organ </author>
ization /></author> <author initials="M." surname="Luby" fullname="M. Luby">
<author initials='R.' surname='Krishnan' fullname='R. Krishnan'><organization /> <organization showOnFrontPage="true"/>
</author> </author>
<date year='2018' month='January' /> <author initials="V." surname="Roca" fullname="V. Roca">
<abstract><t>This document examines the use of Source-Specific Multicast (SSM) a <organization showOnFrontPage="true"/>
cross inter-domain peering points for a specified set of deployment scenarios. </author>
The objectives are to (1) describe the setup process for multicast-based deliver <author initials="R." surname="Lehtonen" fullname="R. Lehtonen">
y across administrative domains for these scenarios and (2) document supporting <organization showOnFrontPage="true"/>
functionality to enable this process.</t></abstract> </author>
</front> <date year="2012" month="November"/>
<seriesInfo name='BCP' value='213'/> <abstract>
<seriesInfo name='RFC' value='8313'/> <t>This document defines File Delivery over Unidirectional Transpo
<seriesInfo name='DOI' value='10.17487/RFC8313'/> rt (FLUTE), a protocol for the unidirectional delivery of files over the Interne
</reference> t, which is particularly suited to multicast networks. The specification builds
on Asynchronous Layered Coding, the base protocol designed for massively scalab
<reference anchor="RFC8484" target='https://www.rfc-editor.org/info/rfc8484'> le multicast distribution. This document obsoletes RFC 3926. [STANDARDS-TRACK]<
<front> /t>
<title>DNS Queries over HTTPS (DoH)</title> </abstract>
<author initials='P.' surname='Hoffman' fullname='P. Hoffman'><organization /></ </front>
author> <seriesInfo name="RFC" value="6726"/>
<author initials='P.' surname='McManus' fullname='P. McManus'><organization /></ <seriesInfo name="DOI" value="10.17487/RFC6726"/>
author> </reference>
<date year='2018' month='October' /> <reference anchor="RFC7359" target="https://www.rfc-editor.org/info/rfc7
<abstract><t>This document defines a protocol for sending DNS queries and gettin 359" quoteTitle="true" derivedAnchor="RFC7359">
g DNS responses over HTTPS. Each DNS query-response pair is mapped into an HTTP <front>
exchange.</t></abstract> <title>Layer 3 Virtual Private Network (VPN) Tunnel Traffic Leakages
</front> in Dual-Stack Hosts/Networks</title>
<seriesInfo name='RFC' value='8484'/> <author initials="F." surname="Gont" fullname="F. Gont">
<seriesInfo name='DOI' value='10.17487/RFC8484'/> <organization showOnFrontPage="true"/>
</reference> </author>
<date year="2014" month="August"/>
<abstract>
<t>The subtle way in which the IPv6 and IPv4 protocols coexist in
typical networks, together with the lack of proper IPv6 support in popular Virtu
al Private Network (VPN) tunnel products, may inadvertently result in VPN tunnel
traffic leakages. That is, traffic meant to be transferred over an encrypted a
nd integrity- protected VPN tunnel may leak out of such a tunnel and be sent in
the clear on the local network towards the final destination. This document dis
cusses some scenarios in which such VPN tunnel traffic leakages may occur as a r
esult of employing IPv6-unaware VPN software. Additionally, this document offer
s possible mitigations for this issue.</t>
</abstract>
</front>
<seriesInfo name="RFC" value="7359"/>
<seriesInfo name="DOI" value="10.17487/RFC7359"/>
</reference>
<reference anchor="RFC7761" target="https://www.rfc-editor.org/info/rfc7
761" quoteTitle="true" derivedAnchor="RFC7761">
<front>
<title>Protocol Independent Multicast - Sparse Mode (PIM-SM): Protoc
ol Specification (Revised)</title>
<author initials="B." surname="Fenner" fullname="B. Fenner">
<organization showOnFrontPage="true"/>
</author>
<author initials="M." surname="Handley" fullname="M. Handley">
<organization showOnFrontPage="true"/>
</author>
<author initials="H." surname="Holbrook" fullname="H. Holbrook">
<organization showOnFrontPage="true"/>
</author>
<author initials="I." surname="Kouvelas" fullname="I. Kouvelas">
<organization showOnFrontPage="true"/>
</author>
<author initials="R." surname="Parekh" fullname="R. Parekh">
<organization showOnFrontPage="true"/>
</author>
<author initials="Z." surname="Zhang" fullname="Z. Zhang">
<organization showOnFrontPage="true"/>
</author>
<author initials="L." surname="Zheng" fullname="L. Zheng">
<organization showOnFrontPage="true"/>
</author>
<date year="2016" month="March"/>
<abstract>
<t>This document specifies Protocol Independent Multicast - Sparse
Mode (PIM-SM). PIM-SM is a multicast routing protocol that can use the underly
ing unicast routing information base or a separate multicast-capable routing inf
ormation base. It builds unidirectional shared trees rooted at a Rendezvous Poi
nt (RP) per group, and it optionally creates shortest-path trees per source.</t>
<t>This document obsoletes RFC 4601 by replacing it, addresses the
errata filed against it, removes the optional (*,*,RP), PIM Multicast Border Ro
uter features and authentication using IPsec that lack sufficient deployment exp
erience (see Appendix A), and moves the PIM specification to Internet Standard.<
/t>
</abstract>
</front>
<seriesInfo name="STD" value="83"/>
<seriesInfo name="RFC" value="7761"/>
<seriesInfo name="DOI" value="10.17487/RFC7761"/>
</reference>
<reference anchor="RFC7858" target="https://www.rfc-editor.org/info/rfc7
858" quoteTitle="true" derivedAnchor="RFC7858">
<front>
<title>Specification for DNS over Transport Layer Security (TLS)</ti
tle>
<author initials="Z." surname="Hu" fullname="Z. Hu">
<organization showOnFrontPage="true"/>
</author>
<author initials="L." surname="Zhu" fullname="L. Zhu">
<organization showOnFrontPage="true"/>
</author>
<author initials="J." surname="Heidemann" fullname="J. Heidemann">
<organization showOnFrontPage="true"/>
</author>
<author initials="A." surname="Mankin" fullname="A. Mankin">
<organization showOnFrontPage="true"/>
</author>
<author initials="D." surname="Wessels" fullname="D. Wessels">
<organization showOnFrontPage="true"/>
</author>
<author initials="P." surname="Hoffman" fullname="P. Hoffman">
<organization showOnFrontPage="true"/>
</author>
<date year="2016" month="May"/>
<abstract>
<t>This document describes the use of Transport Layer Security (TL
S) to provide privacy for DNS. Encryption provided by TLS eliminates opportunit
ies for eavesdropping and on-path tampering with DNS queries in the network, suc
h as discussed in RFC 7626. In addition, this document specifies two usage prof
iles for DNS over TLS and provides advice on performance considerations to minim
ize 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 applic
ations 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="RFC8126" target="https://www.rfc-editor.org/info/rfc8
126" quoteTitle="true" derivedAnchor="RFC8126">
<front>
<title>Guidelines for Writing an IANA Considerations Section in RFCs
</title>
<author initials="M." surname="Cotton" fullname="M. Cotton">
<organization showOnFrontPage="true"/>
</author>
<author initials="B." surname="Leiba" fullname="B. Leiba">
<organization showOnFrontPage="true"/>
</author>
<author initials="T." surname="Narten" fullname="T. Narten">
<organization showOnFrontPage="true"/>
</author>
<date year="2017" month="June"/>
<abstract>
<t>Many protocols make use of points of extensibility that use con
stants to identify various protocol parameters. To ensure that the values in th
ese fields do not have conflicting uses and to promote interoperability, their a
llocations 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 des
cribing the conditions under which new values should be assigned, as well as whe
n and how modifications to existing values can be made, is needed. This documen
t defines a framework for the documentation of these guidelines by specification
authors, in order to assure that the provided guidance for the IANA Considerati
ons is clear and addresses the various issues that are likely in the operation o
f a registry.</t>
<t>This is the third edition of this document; it obsoletes RFC 52
26.</t>
</abstract>
</front>
<seriesInfo name="BCP" value="26"/>
<seriesInfo name="RFC" value="8126"/>
<seriesInfo name="DOI" value="10.17487/RFC8126"/>
</reference>
<reference anchor="RFC8313" target="https://www.rfc-editor.org/info/rfc8
313" quoteTitle="true" derivedAnchor="RFC8313">
<front>
<title>Use of Multicast across Inter-domain Peering Points</title>
<author initials="P." surname="Tarapore" fullname="P. Tarapore" role
="editor">
<organization showOnFrontPage="true"/>
</author>
<author initials="R." surname="Sayko" fullname="R. Sayko">
<organization showOnFrontPage="true"/>
</author>
<author initials="G." surname="Shepherd" fullname="G. Shepherd">
<organization showOnFrontPage="true"/>
</author>
<author initials="T." surname="Eckert" fullname="T. Eckert" role="ed
itor">
<organization showOnFrontPage="true"/>
</author>
<author initials="R." surname="Krishnan" fullname="R. Krishnan">
<organization showOnFrontPage="true"/>
</author>
<date year="2018" month="January"/>
<abstract>
<t>This document examines the use of Source-Specific Multicast (SS
M) across inter-domain peering points for a specified set of deployment scenario
s. The objectives are to (1) describe the setup process for multicast-based del
ivery across administrative domains for these scenarios and (2) document support
ing functionality to enable this process.</t>
</abstract>
</front>
<seriesInfo name="BCP" value="213"/>
<seriesInfo name="RFC" value="8313"/>
<seriesInfo name="DOI" value="10.17487/RFC8313"/>
</reference>
<reference anchor="RFC8484" target="https://www.rfc-editor.org/info/rfc8
484" quoteTitle="true" derivedAnchor="RFC8484">
<front>
<title>DNS Queries over HTTPS (DoH)</title>
<author initials="P." surname="Hoffman" fullname="P. Hoffman">
<organization showOnFrontPage="true"/>
</author>
<author initials="P." surname="McManus" fullname="P. McManus">
<organization showOnFrontPage="true"/>
</author>
<date year="2018" month="October"/>
<abstract>
<t>This document defines a protocol for sending DNS queries and ge
tting 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>
</references>
</references> </references>
<section anchor="extranslate" numbered="true" toc="include" removeInRFC="fal
<section anchor="extranslate" title="Unknown RRType construction"> se" pn="section-appendix.a">
<name slugifiedName="name-unknown-rrtype-construction">Unknown RRType Cons
<t>In a DNS resolver that understands the AMTRELAY type, the zone file might truction</name>
<t pn="section-appendix.a-1">In a DNS resolver that understands the AMTREL
AY type, the zone file might
contain this line:</t> contain this line:</t>
<sourcecode name="" type="" markers="false" pn="section-appendix.a-2">
<figure><artwork><![CDATA[
IN AMTRELAY 128 0 3 amtrelays.example.com. IN AMTRELAY 128 0 3 amtrelays.example.com.
]]></artwork></figure> </sourcecode>
<t pn="section-appendix.a-3">In order to translate this example to appear
<t>In order to translate this example to appear as an unknown RRType as an unknown RRType
as defined in <xref target="RFC3597"/>, one could run the following program:</t> as defined in <xref target="RFC3597" format="default" sectionFormat="of" derived
Content="RFC3597"/>, one could run the following program:</t>
<figure><artwork><![CDATA[ <sourcecode name="" type="python" markers="true" pn="section-appendix.a-4"
<CODE BEGINS> >
$ cat translate.py $ cat translate.py
#!/usr/bin/env python3 #!/usr/bin/env python3
import sys import sys
name=sys.argv[1] name=sys.argv[1]
wire='' wire=''
for dn in name.split('.'): for dn in name.split('.'):
if len(dn) > 0: if len(dn) &gt; 0:
wire += ('%02x' % len(dn)) wire += ('%02x' % len(dn))
wire += (''.join('%02x'%ord(x) for x in dn)) wire += (''.join('%02x'%ord(x) for x in dn))
print(len(wire)//2) + 2 print(len(wire)//2) + 2
print(wire) print(wire)
$ ./translate.py amtrelays.example.com $ ./translate.py amtrelays.example.com
24 24
09616d7472656c617973076578616d706c6503636f6d 09616d7472656c617973076578616d706c6503636f6d
<CODE ENDS> </sourcecode>
]]></artwork></figure> <t pn="section-appendix.a-5">The length of the RData and the hex string fo
r the domain name
<t>The length of the RData and the hex string for the domain name "amtrelays.example.com" are the outputs of this program.</t>
“amtrelays.example.com” are the outputs of this program.</t> <t pn="section-appendix.a-6">The length of the wire-encoded domain name is
22, so 2 was added to
<t>22 is the length of the wire-encoded domain name, so 2 was added to
that value (1 for the precedence field and 1 for the combined D-bit and that value (1 for the precedence field and 1 for the combined D-bit and
relay type fields) to get the full length 24 of the RData. For the 2 relay type fields) to get the full length 24 of the RData. For the 2
octets ahead of the domain name, we encode the precedence, D-bit, and octets ahead of the domain name, we encode the precedence, D-bit, and
relay type fields, as described in <xref target="rrdef"/>.</t> relay type fields, as described in <xref target="rrdef" format="default" section
Format="of" derivedContent="Section 4"/>.</t>
<t>This results in a zone file entry like this:</t> <t pn="section-appendix.a-7">This results in a zone file entry like this:<
/t>
<figure><artwork><![CDATA[ <artwork name="" type="" align="left" alt="" pn="section-appendix.a-8">
IN TYPE260 \# ( 24 ; length IN TYPE260 \# ( 24 ; length
80 ; precedence = 128 80 ; precedence = 128
03 ; D-bit=0, relay type=3 (wire-encoded domain name) 03 ; D-bit=0, relay type=3 (wire-encoded domain name)
09616d7472656c617973076578616d706c6503636f6d ) ; domain name 09616d7472656c617973076578616d706c6503636f6d ) ; domain name
]]></artwork></figure> </artwork>
</section>
</section> <section anchor="acknowledgements" numbered="false" toc="include" removeInRF
C="false" pn="section-appendix.b">
<name slugifiedName="name-acknowledgements">Acknowledgements</name>
<t pn="section-appendix.b-1">This specification was inspired by the previo
us work of <contact fullname="Doug Nortz"/>, <contact fullname="Robert Sayko"/>,
<contact fullname="David Segelstein"/>, and <contact fullname="Percy Tarapore"/
>, presented in
the MBONED Working Group at IETF 93.</t>
<t pn="section-appendix.b-2">Thanks to <contact fullname="Jeff Goldsmith"/
>, <contact fullname="Toerless Eckert"/>, <contact fullname="Mikael Abrahamsson"
/>, <contact fullname="Lenny Giuliano"/>, <contact fullname="Mark Andrews"/>, <c
ontact fullname="Sandy Zheng"/>, <contact fullname="Kyle Rose"/>, <contact fulln
ame="Ben Kaduk"/>,
<contact fullname="Bill Atwood"/>, <contact fullname="Tim Chown"/>, <conta
ct fullname="Christian Worm Mortensen"/>, <contact fullname="Warren Kumari"/>, <
contact fullname="Dan Romanescu"/>, <contact fullname="Bernard Aboba"/>, <contac
t fullname="Carlos Pignataro"/>, <contact fullname="Niclas Comstedt"/>, <contact
fullname="Mirja Kühlewind"/>, <contact fullname="Henning Rogge"/>, <contact ful
lname="Eric Vyncke"/>, <contact fullname="Barry Lieba"/>,
<contact fullname="Roman Danyliw"/>, <contact fullname="Alissa Cooper"/>,
<contact fullname="Suresh Krishnan"/>, <contact fullname="Adam Roach"/>,
and <contact fullname="Daniel Franke"/> for their very helpful reviews and comme
nts.</t>
</section>
<section anchor="authors-addresses" numbered="false" removeInRFC="false" toc
="include" pn="section-appendix.c">
<name slugifiedName="name-authors-address">Author's Address</name>
<author initials="J." surname="Holland" fullname="Jake Holland">
<organization showOnFrontPage="true">Akamai Technologies, Inc.</organiza
tion>
<address>
<postal>
<street>150 Broadway</street>
<city>Cambridge</city>
<region>MA</region>
<code>02144</code>
<country>United States of America</country>
</postal>
<email>jakeholland.net@gmail.com</email>
</address>
</author>
</section>
</back> </back>
<!-- ##markdown-source:
H4sIAISyF14AA+19W3fbyJXue/2KOtLMamlM0SR1sayMs47asruVWLYjqZOV
SSdZIAlKiEmAA4CS2bbzfv7TeZs/dva1LgAouZOel7OGPRlTBFCoy659+fal
9vb2TJ3V8/TEnr29spfpXVpWqT1/b08vru3O6aouFkmdTezFag7/JFVtr1d5
ns6z/GbXnmXVpIAn1iYZj8v0Dhq5PD89M9NikicLaHNaJrN6L0vr2d5iXOTp
dG9aZsl0L1nUe1N9eG+4b6ZJDbePBsPne8PR3mhgJvDDTVGuT2xVT43JluWJ
rctVVY8Gg+eDkUnKNDmx75aVuS/KDzdlsVqe2At6h/mQruHH6Yk9z+u0zNN6
7wz7YUxVJ/n0r8kc7jqx67Qyy+zE/qkuJj1bFWVdprMKvq0X+OXPxiSr+rYo
T4zdMxY+WV6d2N/07ffFfA7t0G88zN8kH9Lo56K8ObGnH5JFktnrdHKbF/Pi
Jkuh9fN80qdbKnhdWp/Y4eHAflsWyfQ+WdOFSVbDqF8mi3GZTW/Snr04tYPR
8OCArxarvMZp+SHP6nRqr2qYqMoWM3u6SEtYIborhRfPT+zfoF+33K0+TMP/
vsGf+5NiYcxqiVMOA3p2cDgwJi9KXOe7FEZrL1+/HA72D/zXQ/k6Gg6fu6/H
Q/367HgkX/f3nx3p18Pnwddn+vV4OJCvB0eDA/9Vbzh6NjpwX4/25St2Ur4e
D461O8f7A/d1+EwfOz54Dp00WT5rjGm0P9S3jI4P3Jie7w9dP91bDgYjveFg
f6A3HDw71hYOh24g0GUd6TMYqn59dqSPPTs+PHb9dPce7w/3XZePofdmb2/P
JmMgjGQCxHp9m1UWdtJqkea1lfXCu2nJHtmbPSBB3MK7drw2i2Kazdbwq61v
U1um82Rt3e6zy7KYpFXVt/bU5uk98YEyrYpVOcGbJ7CTiMynBtq7fPXm9I8W
O5bOMthrFibZLlfjeVbd4guQa9ALKrrCrexVy3SSzaCnC+2pmdwm2FV87TV1
yjEefP9PsEOpgcQ/Yqs0n6blNxXelEyn0McKemImRT7LblYldKYu7Aoacf1s
DKPCG5IpvKnO4LYEWqxp57hOm/o2qe0kyfGJFEjHwtbBjtwnMAu+K7BEMxzP
rCwWlp7hzlmcUngGmzQ1LQYM8B1Me2nTj3WaV1mRV9ToZJ6UOCewgvgT9Kxj
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
EBADmWk9qQH1R7sITUQjneqCziKGDhGyTMWx4qJBtDfUkiGTO0TgA6+Um4XR
/vAZ5YaOpSKPK9eqJzdRdl4YoxdUqQ2yb3VpGwTJIGNu2FUcBm37uh7kYaji
iqeqQbi3IlcyuAs4vxdExwJjeyY+z1PIvDXhrqoSqRfIiXi+SY2gQsHBMHAT
rJYuQdUHJDSlBt/Yo/348u3pxSvCHM/424yyJKWgnOSxUL66ev2iJVWB+hMd
gubWFRV8Lr5Ey6fHgDgxi+dncAW4lgOUV9Wlk1BBQVczt1wylqypHAjXJxnG
52LxjiRPQmSccnuQZ/KtyAr/A7uJFRKJOf4h4TxEzYX0uV6M//ysvEv7QN6l
+eq8S7s579L8nLxL28i7RP8451uaKIg48Lt69ybeTWmXG/Iu6TV7Ysj6SQK1
NqtDEazn7JjQCxpmvWk9ujD+SxBUBpTiGAfqlYmDGf4bwhVOg9TGeyGRZgWk
DhvY6Y7kWe1yo9soza3+2qgIE0ZF2H8wKqIZv4BREfbroiKGWgAWFcn47oeD
InCTeb6TClu9ZGg4ym/kXY57MuBT1+tlyhux8SMZizgjizxFL+rE30DwPd4y
KWClR0cDu4MpO2CXibRsnrQ1mSeEbDj1rB/3guobvCam03yeLoWFIxJ7vDcm
DDUulIqbZ4hXzFZ4rBgzlC1/zzN6mrqvv9EWw2wkAnnmaX5DfmRy4OMteiTi
wLY/w47fRh2/7ePjQ7i0bw/soT2yz+yxff5zfjNP9v7J/8znuDqo/XxGJ8TR
ZODnsZNyPz/eh0daeGL+/tBlnvQHP3//BeaB6oQiVhoQnt3Dkt86NbJbwiK7
xqUggeho06AP8JKTvNiyJksH7uMYYdMFGr+/fPX61eWrty9fMbltUm73+88b
6m3fmbA+E6yl3gj/QQ2jlAgwrjsVVYklhctImjJCaZgF0e+apfbusjtnOB27
btam8Je4d0BASNCI7d6X8+TGh9q5uyXkfhCKRDUuUAGXaryq7DrENvBybNLx
D9AeblnEPfQYOq1Pa+Z6tyxbcs28hjDRiFgfnZYXFwynjno5Le1slmyaJGzQ
C9YCxTW7Vq2qZkWmzn6aKPG4KSV3eRiJw6ZcXoePDXDi2HR2uhfSPkkOMnN9
nIADwoM6LHzGjsC2/pCq4Owx1HBYr2wMqFNTJt9+KtXt1YKnJii326uXgWOD
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
mP8HF313I2fxAAA=
</rfc> </rfc>
 End of changes. 98 change blocks. 
2489 lines changed or deleted 3062 lines changed or added

This html diff was produced by rfcdiff 1.45. The latest version is available from http://tools.ietf.org/tools/rfcdiff/