rfc8863xml2.original.xml | rfc8863.xml | |||
---|---|---|---|---|
<?xml version="1.0" encoding="windows-1252"?> | <?xml version='1.0' encoding='utf-8'?> | |||
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [ | <!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent"> | |||
<!ENTITY RFC0822 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.2119.xml"> | <rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" | |||
<!ENTITY RFC0822 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | category="std" number="8863" docName="draft-ietf-ice-pac-06" obsoletes="" | |||
.8174.xml"> | updates="8445, 8838" submissionType="IETF" consensus="true" xml:lang="en" t | |||
<!ENTITY RFC8445 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ocInclude="true" sortRefs="false" version="3"> | |||
.8445.xml"> | <!-- xml2rfc v2v3 conversion 2.45.2 --> | |||
]> | ||||
<?rfc toc="yes" ?> | ||||
<?rfc compact="yes" ?> | ||||
<?rfc subcompact="yes" ?> | ||||
<?rfc sortrefs="no" ?> | ||||
<?rfc strict="yes" ?> | ||||
<rfc ipr="trust200902" category="std" docName="draft-ietf-ice-pac-06" obsoletes= | ||||
"" updates="8445" submissionType="IETF" xml:lang="en"> | ||||
<front> | <front> | |||
<title abbrev="ICE PAC"> | <title abbrev="ICE PAC"> | |||
Interactive Connectivity Establishment Patiently Awaiting Connectivity (IC E PAC) | Interactive Connectivity Establishment Patiently Awaiting Connectivity (IC E PAC) | |||
</title> | </title> | |||
<author initials="C.H." surname="Holmberg" fullname="Christer Holmberg"> | <seriesInfo name="RFC" value="8863"/> | |||
<author initials="C." surname="Holmberg" fullname="Christer Holmberg"> | ||||
<organization>Ericsson</organization> | <organization>Ericsson</organization> | |||
<address> | <address> | |||
<postal> | <postal> | |||
<street>Hirsalantie 11</street> | <street>Hirsalantie 11</street> | |||
<code>02420</code> | <code>02420</code> | |||
<city>Jorvas</city> | <city>Jorvas</city> | |||
<country>Finland</country> | <country>Finland</country> | |||
</postal> | </postal> | |||
<email>christer.holmberg@ericsson.com</email> | <email>christer.holmberg@ericsson.com</email> | |||
</address> | </address> | |||
</author> | </author> | |||
<author initials="J." surname="Uberti" fullname="Justin Uberti"> | <author initials="J." surname="Uberti" fullname="Justin Uberti"> | |||
<organization>Google</organization> | <organization>Google</organization> | |||
<address> | <address> | |||
<postal> | <postal> | |||
<street>747 6th St W</street> | <street>747 6th St W</street> | |||
<code>98033</code> | <code>98033</code> | |||
<city>Kirkland</city> | <city>Kirkland</city> | |||
<country>USA</country> | <region>WA</region> | |||
<country>United States of America</country> | ||||
</postal> | </postal> | |||
<email>justin@uberti.name</email> | <email>justin@uberti.name</email> | |||
</address> | </address> | |||
</author> | </author> | |||
<date month="January" year="2021"/> | ||||
<date year="2020"/> | ||||
<area>Transport</area> | ||||
<workgroup>ICE Working Group</workgroup> | ||||
<keyword>ICE</keyword> | <keyword>ICE</keyword> | |||
<keyword>PAC</keyword> | <keyword>PAC</keyword> | |||
<keyword>Candidate</keyword> | <keyword>Candidate</keyword> | |||
<abstract> | <abstract> | |||
<t> | <t> | |||
During the process of establishing peer-to-peer connectivity, | During the process of establishing peer-to-peer connectivity, | |||
ICE agents can encounter situations where they have | Interactive Connectivity Establishment (ICE) agents can encounter | |||
no candidate pairs to check, and, as a result, conclude that | situations where they have no candidate pairs to check, and, as a | |||
ICE processing has failed. However, because additional | result, conclude that ICE processing has failed. However, because | |||
candidate pairs can be discovered during ICE processing, | additional candidate pairs can be discovered during ICE processing, | |||
declaring failure at this point may be premature. This | declaring failure at this point may be premature. This document | |||
document discusses when these situations can occur and | discusses when these situations can occur. | |||
updates RFC8445 and RFC XXXX by requiring that an ICE agent | ||||
wait a minimum amount of time before declaring ICE failure, | ||||
even if there are no candidate pairs left to check. | ||||
</t> | </t> | |||
<t> | <t> | |||
[RFC EDITOR NOTE: Please replace RFC XXXX with the RFC number of | This document updates RFCs 8445 and 8838 by requiring that | |||
draft-ietf-ice-trickle once it has been published. Please also | an ICE agent wait a minimum amount of time before declaring | |||
indicate that this specification updates RFC XXXX.] | ICE failure, even if there are no candidate pairs left to check. | |||
</t> | </t> | |||
</abstract> | </abstract> | |||
</front> | </front> | |||
<middle> | <middle> | |||
<section title="Introduction" toc="default"> | <section toc="default" numbered="true"> | |||
<name>Introduction</name> | ||||
<t> | <t> | |||
<xref target="RFC8445"></xref> describes a protocol, Interactive Connect ivity Establishment (ICE), | <xref target="RFC8445" format="default"/> describes a protocol, Interact ive Connectivity Establishment (ICE), | |||
for Network Address Translator (NAT) traversal for UDP-based communicati on. | for Network Address Translator (NAT) traversal for UDP-based communicati on. | |||
</t> | </t> | |||
<t> | <t> | |||
When using ICE, endpoints will typically exchange ICE candidates, | When using ICE, endpoints will typically exchange ICE candidates, | |||
form a list of candidate pairs, and then test each candidate pair to see | form a list of candidate pairs, and then test each candidate pair to see | |||
if connectivity can be established. If the test for a given pair fails, | if connectivity can be established. If the test for a given pair fails, | |||
it is marked accordingly, and if all pairs have failed, the overall | it is marked accordingly, and if all pairs have failed, the overall | |||
ICE process typically is considered to have failed. | ICE process typically is considered to have failed. | |||
</t> | </t> | |||
<t> | <t> | |||
During the process of connectivity checks, additional candidates may | During the process of connectivity checks, additional candidates may | |||
be created as a result of successful inbound checks from the remote | be created as a result of successful inbound checks from the remote | |||
peer. Such candidates are referred to as peer-reflexive candidates, | peer. Such candidates are referred to as peer-reflexive candidates; | |||
and once discovered, will be used to form new candidate pairs which will | once discovered, these candidates will be used to form new candidate pai | |||
rs, which will | ||||
be tested like any other. However, there is an inherent problem | be tested like any other. However, there is an inherent problem | |||
here; if, before learning about any peer-reflexive candidates, an | here; if, before learning about any peer-reflexive candidates, an | |||
endpoint runs out of candidate pairs to check, either because it has | endpoint runs out of candidate pairs to check, either because it has | |||
none, or it considers them all to have failed, it will prematurely | none or it considers them all to have failed, it will prematurely | |||
declare failure and terminate ICE processing. This problem can | declare failure and terminate ICE processing. This problem can | |||
occur in many common situations. | occur in many common situations. | |||
</t> | </t> | |||
<t> | <t> | |||
This specification updates <xref target="RFC8445"></xref>, by simply | This specification updates <xref target="RFC8445" format="default"/> | |||
and <xref target="RFC8838"/> by simply | ||||
requiring that an ICE agent wait a minimum amount of time before | requiring that an ICE agent wait a minimum amount of time before | |||
declaring ICE failure, even if there are no candidate pairs to check, | declaring ICE failure, even if there are no candidate pairs to check | |||
or if all candidate pairs have failed. This delay provides enough time | or all candidate pairs have failed. This delay provides enough time | |||
for the discovery of peer-reflexive candidates, which may eventually | for the discovery of peer-reflexive candidates, which may eventually | |||
lead to ICE processing completing successfully. | lead to ICE processing completing successfully. | |||
</t> | </t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | ||||
<section title="Conventions"> | <name>Conventions</name> | |||
<t> | <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", | |||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL | "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", | |||
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", | "<bcp14>SHALL NOT</bcp14>", "<bcp14>SHOULD</bcp14>", | |||
"MAY", and "OPTIONAL" in this document are to be interpreted as | "<bcp14>SHOULD NOT</bcp14>", | |||
described in BCP 14 <xref target="RFC2119"></xref> <xref target="RFC8174 | "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>", | |||
"></xref> | "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document | |||
when, and only when, they appear in all capitals, as shown here. | are to be interpreted as described in BCP 14 | |||
</t> | <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only | |||
when, they appear in all capitals, as shown here.</t> | ||||
</section> | </section> | |||
<section numbered="true" toc="default"> | ||||
<section title="Relevant Scenarios"> | <name>Relevant Scenarios</name> | |||
<t> | <t> | |||
As noted above, the core problem this specification attempts to | As noted above, the core problem this specification attempts to | |||
address is the situation where even after local gathering and remote | address is the situation where even after local gathering and remote | |||
candidate signaling has completed, the ICE agent immediately ends up | candidate signaling have completed, the ICE agent immediately ends up | |||
with no valid pairs and no candidate pairs left to check, resulting in | with no valid pairs and no candidate pairs left to check, resulting in | |||
a premature ICE failure. This failure is premature because not | a premature ICE failure. This failure is premature because not | |||
enough time has elapsed to allow for discovery of peer-reflexive | enough time has elapsed to allow for discovery of peer-reflexive | |||
candidates from inbound connectivity checks; if discovered, these | candidates from inbound connectivity checks; if discovered, these | |||
candidates are very likely to result in a valid pair. | candidates are very likely to result in a valid pair. | |||
</t> | </t> | |||
<t> | <t> | |||
In most ICE scenarios, the lengthy timeouts for connectivity check tra nsactions, | In most ICE scenarios, the lengthy timeouts for connectivity check tra nsactions, | |||
typically tens of seconds, will prevent this problem from occurring. H owever, there | typically tens of seconds, will prevent this problem from occurring. H owever, there | |||
are certain specific cases where this problem will frequently occur. | are certain specific cases where this problem will frequently occur. | |||
</t> | </t> | |||
<section title="No Candidates From Peer"> | <section numbered="true" toc="default"> | |||
<t> | <name>No Candidates from Peer</name> | |||
Per RFC XXXX, an ICE agent can provide zero candidates of | <t> | |||
Per <xref target="RFC8838"/>, an ICE agent can provide zero candidat | ||||
es of | ||||
its own. If the agent somehow knows that the remote endpoint is | its own. If the agent somehow knows that the remote endpoint is | |||
directly reachable, gathering local candidates is unnecessary and | directly reachable, gathering local candidates is unnecessary and | |||
will only cause delays; the peer agent can discover the | will only cause delays; the peer agent can discover the | |||
appropriate local candidate via connectivity checks. | appropriate local candidate via connectivity checks. | |||
</t> | </t> | |||
<t> | <t> | |||
However, following the procedures from | However, following the procedures from | |||
<xref target="RFC8445"></xref> strictly will result in immediate | <xref target="RFC8445" format="default"/> strictly will result in im mediate | |||
ICE failure, since the checklist at the peer agent will be | ICE failure, since the checklist at the peer agent will be | |||
empty. | empty. | |||
</t> | </t> | |||
</section> | </section> | |||
<section title="All Candidates Discarded"> | <section numbered="true" toc="default"> | |||
<t> | <name>All Candidates Discarded</name> | |||
<t> | ||||
Even if the ICE agent provides candidates, they may be discarded | Even if the ICE agent provides candidates, they may be discarded | |||
by the peer agent if it does not know what to do with them. | by the peer agent if it does not know what to do with them. | |||
For example, candidates may use an address family that the peer | For example, candidates may use an address family that the peer | |||
agent does not support, (e.g., a host candidate with an IPv6 | agent does not support (e.g., a host candidate with an IPv6 | |||
address in a NAT64 scenario), or may not be usable for some other | address in a NAT64 scenario) or that may not be usable for some othe | |||
r | ||||
reason. | reason. | |||
</t> | </t> | |||
<t> | <t> | |||
In these scenarios, when the candidates are discarded, the | In these scenarios, when the candidates are discarded, the | |||
checklist at the peer agent will once again be empty, leading | checklist at the peer agent will once again be empty, leading | |||
to immediate ICE failure. | to immediate ICE failure. | |||
</t> | </t> | |||
</section> | </section> | |||
<section title="Immediate Candidate Pair Failure"> | <section numbered="true" toc="default"> | |||
<t> | <name>Immediate Candidate Pair Failure</name> | |||
Section 7.2.5.2 of <xref target="RFC8445"></xref> describes several | <t> | |||
<xref target="RFC8445" sectionFormat="of" section="7.2.5.2"/> | ||||
describes several | ||||
situations in which a candidate pair will be considered to have | situations in which a candidate pair will be considered to have | |||
failed, well before the connectivity check transaction timeout. | failed, well before the connectivity check transaction timeout. | |||
</t> | </t> | |||
<t> | <t> | |||
As a result, even if the ICE agent provides usable candidates, | As a result, even if the ICE agent provides usable candidates, | |||
the pairs created by the peer agent may fail immediately when | the pairs created by the peer agent may fail immediately when | |||
checked, e.g., a check to a non-routable address that receives an | checked, e.g., a check to a non-routable address that receives an | |||
immediate ICMP error. | immediate ICMP error. | |||
</t> | </t> | |||
<t> | <t> | |||
In this situation, the checklist at the peer agent may contain | In this situation, the checklist at the peer agent may contain | |||
only failed pairs, resulting in immediate ICE failure. | only failed pairs, resulting in immediate ICE failure. | |||
</t> | </t> | |||
</section> | </section> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | ||||
<section title="Update to RFC 8445"> | <name>Update to RFC 8445</name> | |||
<t> | <t> | |||
In order to avoid the problem raised by this document, the ICE agent | In order to avoid the problem raised by this document, the ICE agent | |||
needs to wait enough time to allow peer-reflexive candidates to be | needs to wait enough time to allow peer-reflexive candidates to be | |||
discovered. Accordingly, when a full ICE implementation begins its | discovered. Accordingly, when a full ICE implementation begins its | |||
ICE processing, as described in <xref target="RFC8445" />, Section | ICE processing, as described in <xref target="RFC8445" | |||
6.1, it MUST set a timer, henceforth known as the PAC timer, to | sectionFormat="comma" section="6.1"/>, it <bcp14>MUST</bcp14> set a | |||
ensure ICE will run for a minimum amount of time before determining | timer, henceforth known as the "PAC timer" (Patiently Awaiting Connectiv | |||
ity), to | ||||
ensure that ICE will run for a minimum amount of time before determining | ||||
failure. | failure. | |||
</t> | </t> | |||
<t> | <t> | |||
Specifically, the ICE agent will start its timer once it believes | Specifically, the ICE agent will start its timer once it believes | |||
ICE connectivity checks are starting. This occurs when the agent has | ICE connectivity checks are starting. This occurs when the agent has | |||
sent the values needed to perform connectivity checks | sent the values needed to perform connectivity checks | |||
(e.g., the Username Fragment and Password denoted in | (e.g., the Username Fragment and Password denoted in | |||
<xref target="RFC8445" />, Section 5.3) | <xref target="RFC8445" sectionFormat="comma" section="5.3"/>) | |||
and has received some indication that the remote side is | and has received some indication that the remote side is | |||
ready to start connectivity checks, typically via receipt of the values | ready to start connectivity checks, typically via receipt of the values | |||
mentioned above. Note that the agent will start the timer even if it | mentioned above. Note that the agent will start the timer even if it | |||
has not sent or received any ICE candidates. | has not sent or received any ICE candidates. | |||
</t> | </t> | |||
<t> | <t> | |||
The RECOMMENDED duration for the PAC timer is equal to the agent's | The <bcp14>RECOMMENDED</bcp14> duration for the PAC timer is equal to th e agent's | |||
connectivity check transaction timeout, including all retransmissions. | connectivity check transaction timeout, including all retransmissions. | |||
When using default values for RTO and Rc, this amounts to 39.5 seconds, | When using default values for retransmission timeout (RTO) and Rc, this | |||
as explained in <xref target="RFC5389" />, Section 7.2.1. | amounts to 39.5 seconds, | |||
as explained in <xref target="RFC5389" sectionFormat="comma" | ||||
section="7.2.1"/>. | ||||
This timeout value is chosen to roughly coincide with the maximum | This timeout value is chosen to roughly coincide with the maximum | |||
possible duration of ICE connectivity checks from the remote peer, | possible duration of ICE connectivity checks from the remote peer, | |||
which, if successful, could create peer-reflexive candidates. Because | which, if successful, could create peer-reflexive candidates. Because | |||
the ICE agent doesn't know the exact number of candidate pairs and pacin g | the ICE agent doesn't know the exact number of candidate pairs and pacin g | |||
interval in use by the remote side, this timeout value is simply a | interval in use by the remote side, this timeout value is simply a | |||
guess, albeit an educated one. Regardless, for this particular problem, | guess, albeit an educated one. Regardless, for this particular problem, | |||
the desired benefits will be realized as long as the agent waits | the desired benefits will be realized as long as the agent waits | |||
some reasonable amount of time, and, as usual, the application is in | some reasonable amount of time, and, as usual, the application is in | |||
the best position to determine what is reasonable for its scenario. | the best position to determine what is reasonable for its scenario. | |||
</t> | </t> | |||
<t> | <t> | |||
While the timer is still running, the ICE agent MUST NOT update a checkl ist state | While the timer is still running, the ICE agent <bcp14>MUST NOT</bcp14> update a checklist state | |||
from Running to Failed, even if there are no pairs left in the checklist to check. | from Running to Failed, even if there are no pairs left in the checklist to check. | |||
As a result, the ICE agent will not remove any data streams or set the s tate of the | As a result, the ICE agent will not remove any data streams or set the s tate of the | |||
ICE session to Failed as long as the timer is running. | ICE session to Failed as long as the timer is running. | |||
</t> | </t> | |||
<t> | <t> | |||
When the timer eventually elapses, the ICE agent MUST resume typical | When the timer period eventually elapses, the ICE agent <bcp14>MUST</bcp 14> resume typical | |||
ICE processing, including setting the state of any checklists to Failed if they | ICE processing, including setting the state of any checklists to Failed if they | |||
have no pairs left to check, and handling any consequences as indicated | have no pairs left to check and handling any consequences as indicated | |||
in <xref target="RFC8445" />, Section 8.1.2. Naturally, if there are no | in <xref target="RFC8445" sectionFormat="comma" section="8.1.2"/>. | |||
such checklists, no action is necessary. | Naturally, if there are no such checklists, no action is necessary. | |||
</t> | </t> | |||
<t> | <t> | |||
One consequence of this behavior is that in cases where ICE should fail, | One consequence of this behavior is that in cases where ICE should fail, | |||
e.g., where both sides provide candidates with unsupported address famil ies, | e.g., where both sides provide candidates with unsupported address famil ies, | |||
ICE will no longer fail immediately, and only fail when the | ICE will no longer fail immediately -- it will only fail when the | |||
PAC timer expires. However, because most ICE scenarios | PAC timer expires. However, because most ICE scenarios | |||
require an extended period of time to determine failure, the | require an extended period of time to determine failure, the | |||
fact that some specific scenarios no longer fail fast should have | fact that some specific scenarios no longer fail quickly should have | |||
minimal application impact, if any. | minimal application impact, if any. | |||
</t> | </t> | |||
<t> | <t> | |||
Note also that the PAC timer is potentially relevant to the ICE nominati on | Note also that the PAC timer is potentially relevant to the ICE nominati on | |||
procedure described in <xref target="RFC8445" />, Section 8.1.1. That | procedure described in <xref target="RFC8445" sectionFormat="comma" sect ion="8.1.1"/>. That | |||
specification does not define a minimum duration for ICE processing | specification does not define a minimum duration for ICE processing | |||
prior to nomination of a candidate pair, but in order to select the | prior to nomination of a candidate pair, but in order to select the | |||
best candidate pair, ICE needs to run for enough time in order to allow | best candidate pair, ICE needs to run for enough time in order to allow | |||
peer-reflexive candidates to be discovered and checked, as noted above. | peer-reflexive candidates to be discovered and checked, as noted above. | |||
Accordingly, the controlling ICE agent SHOULD wait a sufficient amount | Accordingly, the controlling ICE agent <bcp14>SHOULD</bcp14> wait a suff | |||
of time before nominating candidate pairs, and it MAY use the PAC timer | icient amount | |||
of time before nominating candidate pairs, and it <bcp14>MAY</bcp14> use | ||||
the PAC timer | ||||
to do so. As always, the controlling ICE agent retains | to do so. As always, the controlling ICE agent retains | |||
full discretion, and MAY decide, based on its own criteria, to nominate | full discretion and <bcp14>MAY</bcp14> decide, based on its own criteria | |||
pairs prior to the PAC timer elapsing. | , to nominate | |||
pairs prior to the PAC timer period elapsing. | ||||
</t> | </t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | ||||
<section title="Update to RFC XXXX"> | <name>Update to RFC 8838</name> | |||
<t> | ||||
[RFC EDITOR NOTE: Please replace RFC XXXX with the RFC number of | ||||
draft-ietf-ice-trickle once it has been published.] | ||||
</t> | ||||
<t> | <t> | |||
Trickle ICE <xref target="I-D.ietf-ice-trickle" /> | Trickle ICE <xref target="RFC8838"/> | |||
considers a similar problem, namely whether an ICE agent should allow | considers a similar problem, namely whether an ICE agent should allow | |||
a checklist to enter the Failed state if more candidates might | a checklist to enter the Failed state if more candidates might | |||
still be provided by the remote peer. The solution, specified in | still be provided by the remote peer. The solution, specified in | |||
<xref target="I-D.ietf-ice-trickle" />, Section 8, is to | <xref target="RFC8838" sectionFormat="comma" section="8"/>, is to | |||
wait until an end-of-candidates indication has been received | wait until an end-of-candidates indication has been received | |||
before determining ICE failure. | before determining ICE failure. | |||
</t> | </t> | |||
<t> | <t> | |||
However, for the same reasons described above, | However, for the same reasons described above, | |||
the ICE agent may discover peer-reflexive candidates after it has | the ICE agent may discover peer-reflexive candidates after it has | |||
received the end-of-candidates indication, and so the solution | received the end-of-candidates indication, and so the solution | |||
proposed by this document MUST still be used even when | proposed by this document <bcp14>MUST</bcp14> still be used even when | |||
the ICE agent is using Trickle ICE. | the ICE agent is using Trickle ICE. | |||
</t> | </t> | |||
<t> | <t> | |||
Note also that sending an end-of-candidates indication is only a | Note also that sending an end-of-candidates indication is only a | |||
SHOULD-strength requirement, which means that ICE agents will need | <bcp14>SHOULD</bcp14>-strength requirement, which means that ICE agents will need | |||
to implement a backup mechanism to decide when all candidates | to implement a backup mechanism to decide when all candidates | |||
have been received, typically a timer. Accordingly, ICE agents | have been received, typically a timer. Accordingly, ICE agents | |||
MAY use the PAC timer to also serve as an end-of-candidates fallback. | <bcp14>MAY</bcp14> use the PAC timer to also serve as an end-of-candidat es fallback. | |||
</t> | </t> | |||
</section> | </section> | |||
<section anchor="section.sec" numbered="true" toc="default"> | ||||
<section anchor="section.sec" title="Security Considerations"> | <name>Security Considerations</name> | |||
<t> | <t> | |||
The security considerations for ICE are defined in <xref target="RFC8445 | The security considerations for ICE are defined in <xref target="RFC8445 | |||
" pageno="false" format="default"/>. | " format="default"/>. | |||
This specification only recommends that ICE agents wait for a certain ti | This specification only recommends that ICE agents wait for a certain | |||
me of period before they declare | period of time before they declare | |||
ICE failure, and does not introduce new security considerations. | ICE failure; it does not introduce new security considerations. | |||
</t> | </t> | |||
</section> | </section> | |||
<section anchor="section.iana" numbered="true" toc="default"> | ||||
<section anchor="section.iana" title="IANA considerations"> | <name>IANA Considerations</name> | |||
<t> | <t> | |||
This specification makes no requests to IANA. | This document has no IANA actions. | |||
</t> | </t> | |||
</section> | </section> | |||
</middle> | ||||
<back> | ||||
<references> | ||||
<name>Normative References</name> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2119. | ||||
xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5389. | ||||
xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8174. | ||||
xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8445. | ||||
xml"/> | ||||
<section anchor="sec-acks" title="Acknowledgements" toc="default"> | <!-- draft-ietf-ice-trickle (RFC 8838) --> | |||
<reference anchor="RFC8838" target="https://www.rfc-editor.org/info/rfc8838"> | ||||
<front> | ||||
<title>Trickle ICE: Incremental Provisioning of Candidates for the | ||||
Interactive Connectivity Establishment (ICE) Protocol</title> | ||||
<author initials="E" surname="Ivov" fullname="Emil Ivov"> | ||||
<organization /> | ||||
</author> | ||||
<author initials="J" surname="Uberti" fullname="Justin Uberti"> | ||||
<organization /> | ||||
</author> | ||||
<author initials="P" surname="Saint-Andre" fullname="Peter Saint-Andre"> | ||||
<organization /> | ||||
</author> | ||||
<date month="January" year="2021" /> | ||||
</front> | ||||
<seriesInfo name="RFC" value="8838" /> | ||||
<seriesInfo name="DOI" value="10.17487/RFC8838"/> | ||||
</reference> | ||||
</references> | ||||
<section anchor="sec-acks" toc="default" numbered="false"> | ||||
<name>Acknowledgements</name> | ||||
<t> | <t> | |||
Roman Shpount, Nils Ohlmeier and Peter Thatcher provided lots of useful input and | <contact fullname="Roman Shpount"/>, <contact fullname="Nils Ohlmeier"/> , and <contact fullname="Peter Thatcher"/> provided lots of useful input and | |||
comments. | comments. | |||
</t> | </t> | |||
</section> | </section> | |||
</middle> | ||||
<back> | ||||
<references title="Normative References"> | ||||
<?rfc include="reference.RFC.2119"?> | ||||
<?rfc include="reference.RFC.5389"?> | ||||
<?rfc include="reference.RFC.8174"?> | ||||
<?rfc include="reference.RFC.8445"?> | ||||
<?rfc include='reference.I-D.ietf-ice-trickle'?> | ||||
</references> | ||||
</back> | </back> | |||
</rfc> | </rfc> | |||
End of changes. 54 change blocks. | ||||
138 lines changed or deleted | 162 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |