<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.31 (Ruby 2.6.10) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-thatcher-tsvwg-renomination-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.33.0 -->
  <front>
    <title abbrev="ICE Renomination">ICE Renomination: Dynamically selecting ICE candidate pairs</title>
    <seriesInfo name="Internet-Draft" value="draft-thatcher-tsvwg-renomination-00"/>
    <author initials="P." surname="Thatcher" fullname="Peter Thatcher">
      <organization>Google</organization>
      <address>
        <email>pthatcher@google.com</email>
      </address>
    </author>
    <author initials="H." surname="Zhang" fullname="Honghai Zhang">
      <organization/>
      <address>
        <email>honghaiz@google.com</email>
      </address>
    </author>
    <author initials="T." surname="Brandstetter" fullname="Taylor Brandstetter">
      <organization>Google</organization>
      <address>
        <email>deadbeef@google.com</email>
      </address>
    </author>
    <author initials="J." surname="Uberti" fullname="Justin Uberti">
      <organization>OpenAI</organization>
      <address>
        <email>justin@uberti.name</email>
      </address>
    </author>
    <date year="2026" month="April" day="06"/>
    <area>TSV</area>
    <workgroup>Transport and Services Working Group</workgroup>
    <abstract>
      <?line 61?>

<t>This document describes an extension to the Interactive Connectivity
Establishment (ICE) that enables the controlling ICE agent to dynamically
change its selected candidate pair over time as network conditions change, and
notify the controlled side accordingly.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-thatcher-tsvwg-renomination/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        tsvwg Working Group mailing list (<eref target="mailto:tsvwg@ietf.org"/>),
        which is archived at <eref target="https://datatracker.ietf.org/wg/tsvwg/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/tsvwg/"/>.
      </t>
    </note>
  </front>
  <middle>
    <?line 68?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>ICE <xref target="RFC8445"/> agents take either the controlling or controlled role.
During the ICE establishment process, the controlling and controlled agents
communicate, using either regular or aggressive nomination, to agree upon
which candidate pair they will use to exchange traffic. However, once ICE is
established, there is no defined procedure for changing the selected pair
without using an ICE restart.</t>
      <t>While the controlling ICE agent could unilaterally select a given candidate pair
at any time, it has no straightforward way of authoritatively telling the
controlled side what pair it has selected. This greatly limits the controlling
side's options.</t>
      <t>For example, if an ICE agent selects and nominates a candidate pair over a
cellular network, and then later connects to a Wi-Fi network and trickles ICE
candidates for the Wi-Fi network, it may wish to select and nominate a
Wi-Fi candidate pair. If soon thereafter the Wi-Fi network disconnects,
the ICE agent may wish to select and nominate the cellular candidate pair
again. These sorts of mid-session changes to the selected pair are not
possible under the current ICE procedures without an ICE restart.</t>
      <t>This document continues the work from the earlier individual Internet-Draft
<xref target="I-D.thatcher-ice-renomination"/>.</t>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD",
"SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/>
when, and only when, they appear in all capitals, as shown here.</t>
    </section>
    <section anchor="design">
      <name>Design</name>
      <t>This document defines an extension to the ICE mechanism called renomination.
When active, renomination allows the controlling side to dynamically change
the selected pair at any time, and notify the controlled side which pair
it should use.</t>
      <t>This allows switching between known pairs, or, as in the scenario outlined
above, if a new interface becomes available, the controlling side can switch
to a pair where the local candidate is on the new interface.</t>
      <t>While this sort of dynamic change could be achieved with an ICE restart,
a restart is a somewhat heavy operation that involves signaling new ICE
credentials, gathering new candidates on both sides, and running the
connectivity check mechanism for a whole new set of candidate pairs.
In particular, the signaling requirement can be especially problematic if
the device is in the process of switching between networks.</t>
      <t>In contrast, the renomination mechanism only requires the exchange of a single
ICE connectivity check.</t>
      <t>As with regular nomination, this specification does not prescribe a specific
algorithm for the controlling agent to select a candidate pair.</t>
      <section anchor="behavior">
        <name>Behavior</name>
        <t>When renomination is active, the controlled side follows a process similar to
regular nomination, except that more than one nomination request carrying
USE-CANDIDATE can be sent during the lifetime of the ICE session, and the last
valid nomination wins. To avoid ambiguity if requests are received out
of order, a new NOMINATION attribute (<xref target="attribute"/>) MUST be included in every
connectivity check that contains USE-CANDIDATE. The value of the NOMINATION
attribute is a monotonically increasing sequence number chosen by the
controlling agent. A nomination request whose NOMINATION value is less than or
equal to the highest previously accepted NOMINATION value for the same ICE
generation and component MUST be ignored.</t>
        <t>In order to ensure that candidate pairs other than the selected pair remain usable,
both sides need to keep their candidates alive (e.g., by refreshing an associated
TURN allocation). In addition, the controlling side MUST periodically
send ICE consent checks on any candidate pair it wants to keep available for
future nomination, using the consent freshness mechanism defined in <xref target="RFC7675"/>.
The controlled side MUST issue a success response to these
checks for all candidate pairs it intends to keep available for future
nomination. However, either agent MAY limit the number and type of retained candidate
pairs according to local policy.</t>
        <t>This allows the controlling side to maintain a set of valid candidate pairs,
any one of which it can nominate at any time.</t>
      </section>
      <section anchor="option">
        <name>ICE Option</name>
        <t>Naturally, this mechanism requires opt-in from both ICE agents. To accomplish this,
we define a new ICE option called "renomination2", where the "2" is added to
avoid ambiguities with earlier versions of this draft.</t>
        <t>If one side signals "renomination2" and the other does not, renomination is
not in use for that ICE session. In that case, the controlling side MUST use
standard ICE nomination procedures and MUST NOT send more than one effective
nomination for a given component.</t>
        <t>Note that the offering side (typically, the controlling side, but not always,
e.g., if the offerer is ICE Lite) MAY receive ICE checks prior to receiving
the SDP answer that definitively indicates support for renomination. In this case,
the ICE checks might or might not include the NOMINATION attribute defined below.
Accordingly, when offering "renomination2" and operating in the controlled role,
the offerer MUST be prepared to work with an answerer that is using either
renomination or regular nomination.</t>
      </section>
      <section anchor="attribute">
        <name>"Nomination" attribute</name>
        <t>To deal with out-of-order delivery of nominations, this document defines a new
STUN attribute <xref target="RFC8489"/>, NOMINATION, which carries a 32-bit unsigned integer
in network byte order. This attribute is comprehension-required, as it is only
used when both sides have explicitly negotiated support via the "renomination2"
ICE option.</t>
        <t>When the "renomination2" ICE option has been negotiated, the controlling side
MUST include a NOMINATION attribute in every connectivity check that includes
USE-CANDIDATE. The first such request for an ICE generation (i.e., for a given
set of ICE credentials) and component MAY use any value.
Subsequent nomination requests for that same ICE generation and component MUST
use a strictly greater value than any prior nomination request sent for that
component. NOMINATION values for different components are not compared.</t>
        <t>The controlled side MUST compare the received NOMINATION value against the
highest previously accepted NOMINATION value for the current ICE generation
and component. If the received value is greater, the nomination is accepted
and the nominated pair is updated for that component. If the received value
is less than or equal to the stored value, the request MUST be ignored for
the purpose of updating the nominated pair. If the NOMINATION attribute is
absent, the request MUST be similarly ignored, unless the scenario noted in
<xref target="option"/> applies, where the SDP answer has not yet arrived and it is
currently unclear to the offerer whether regular nomination or renomination
is in use. In this situation, a connectivity check with USE-CANDIDATE but
no NOMINATION attribute MUST be processed as a regular nomination.</t>
        <t>If the ICE credentials are changed, i.e., by an ICE restart, this constitutes
a new ICE generation, and the first-request rules above apply for each component.</t>
      </section>
    </section>
    <section anchor="interaction-with-ice-lite">
      <name>Interaction with ICE Lite</name>
      <t>Renomination is compatible with both full ICE and ICE Lite. When using
ICE Lite, the guidance in <xref target="RFC8445"/> for the controlling side to select the
candidate pair with the highest priority is superseded by the mechanism
described above.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document requests that IANA make the following registrations:</t>
      <section anchor="ice-option-registration">
        <name>ICE Option Registration</name>
        <t>IANA is requested to add the following value to the
"Interactive Connectivity Establishment (ICE) Options" registry:</t>
        <t>ICE Option name: <tt>renomination2</tt>
Description: The ICE option indicates that the ICE agent supports renomination.
Reference: RFC XXXX</t>
      </section>
      <section anchor="stun-attribute-registration">
        <name>STUN Attribute Registration</name>
        <t>IANA is requested to add the following value to the
"STUN Attributes" registry:</t>
        <t>Attribute Name: <tt>NOMINATION</tt>
Value: <tt>0x0030</tt>
Reference: RFC XXXX</t>
        <t>Note: Some implementations have already used <tt>0x0030</tt> for this attribute, and
IANA has confirmed that this codepoint is available for registration by this
specification.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This mechanism extends the period during which ICE nomination can occur.
Although it does not introduce any significant new protocol surface, it will
result in continued connectivity checks on non-selected candidate pairs.</t>
      <t>The existing consent freshness mechanism defined in <xref target="RFC7675"/> is used to
ensure that the controlling side has permission to continue sending checks to
these non-selected candidate pairs.</t>
      <t>However, keeping certain candidates alive may incur higher power and network usage
(e.g., cellular or TURN candidates). To control this, either side MAY
discard candidates that it considers non-essential.</t>
      <t>This extension does not change the existing requirements for authenticating
STUN checks or protecting application or media traffic sent over candidate
pairs.</t>
    </section>
    <section anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>This document overlaps with similar ideas in <xref target="I-D.uberti-mmusic-nombis"/> and
<xref target="I-D.oreland-dispatch-ice-nicer"/>.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC7675">
          <front>
            <title>Session Traversal Utilities for NAT (STUN) Usage for Consent Freshness</title>
            <author fullname="M. Perumal" initials="M." surname="Perumal"/>
            <author fullname="D. Wing" initials="D." surname="Wing"/>
            <author fullname="R. Ravindranath" initials="R." surname="Ravindranath"/>
            <author fullname="T. Reddy" initials="T." surname="Reddy"/>
            <author fullname="M. Thomson" initials="M." surname="Thomson"/>
            <date month="October" year="2015"/>
            <abstract>
              <t>To prevent WebRTC applications, such as browsers, from launching attacks by sending traffic to unwilling victims, periodic consent to send needs to be obtained from remote endpoints.</t>
              <t>This document describes a consent mechanism using a new Session Traversal Utilities for NAT (STUN) usage.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7675"/>
          <seriesInfo name="DOI" value="10.17487/RFC7675"/>
        </reference>
        <reference anchor="RFC8489">
          <front>
            <title>Session Traversal Utilities for NAT (STUN)</title>
            <author fullname="M. Petit-Huguenin" initials="M." surname="Petit-Huguenin"/>
            <author fullname="G. Salgueiro" initials="G." surname="Salgueiro"/>
            <author fullname="J. Rosenberg" initials="J." surname="Rosenberg"/>
            <author fullname="D. Wing" initials="D." surname="Wing"/>
            <author fullname="R. Mahy" initials="R." surname="Mahy"/>
            <author fullname="P. Matthews" initials="P." surname="Matthews"/>
            <date month="February" year="2020"/>
            <abstract>
              <t>Session Traversal Utilities for NAT (STUN) is a protocol that serves as a tool for other protocols in dealing with NAT traversal. It can be used by an endpoint to determine the IP address and port allocated to it by a NAT. It can also be used to check connectivity between two endpoints and as a keep-alive protocol to maintain NAT bindings. STUN works with many existing NATs and does not require any special behavior from them.</t>
              <t>STUN is not a NAT traversal solution by itself. Rather, it is a tool to be used in the context of a NAT traversal solution.</t>
              <t>This document obsoletes RFC 5389.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8489"/>
          <seriesInfo name="DOI" value="10.17487/RFC8489"/>
        </reference>
        <reference anchor="RFC8445">
          <front>
            <title>Interactive Connectivity Establishment (ICE): A Protocol for Network Address Translator (NAT) Traversal</title>
            <author fullname="A. Keranen" initials="A." surname="Keranen"/>
            <author fullname="C. Holmberg" initials="C." surname="Holmberg"/>
            <author fullname="J. Rosenberg" initials="J." surname="Rosenberg"/>
            <date month="July" year="2018"/>
            <abstract>
              <t>This document describes a protocol for Network Address Translator (NAT) traversal for UDP-based communication. This protocol is called Interactive Connectivity Establishment (ICE). ICE makes use of the Session Traversal Utilities for NAT (STUN) protocol and its extension, Traversal Using Relay NAT (TURN).</t>
              <t>This document obsoletes RFC 5245.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8445"/>
          <seriesInfo name="DOI" value="10.17487/RFC8445"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC8838">
          <front>
            <title>Trickle ICE: Incremental Provisioning of Candidates for the Interactive Connectivity Establishment (ICE) Protocol</title>
            <author fullname="E. Ivov" initials="E." surname="Ivov"/>
            <author fullname="J. Uberti" initials="J." surname="Uberti"/>
            <author fullname="P. Saint-Andre" initials="P." surname="Saint-Andre"/>
            <date month="January" year="2021"/>
            <abstract>
              <t>This document describes "Trickle ICE", an extension to the Interactive Connectivity Establishment (ICE) protocol that enables ICE agents to begin connectivity checks while they are still gathering candidates, by incrementally exchanging candidates over time instead of all at once. This method can considerably accelerate the process of establishing a communication session.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8838"/>
          <seriesInfo name="DOI" value="10.17487/RFC8838"/>
        </reference>
        <reference anchor="I-D.thatcher-ice-renomination">
          <front>
            <title>ICE Renomination: Dynamically selecting ICE candidate pairs </title>
            <author fullname="Peter Thatcher" initials="P." surname="Thatcher">
              <organization>Google</organization>
            </author>
            <author fullname="Honghai Zhang" initials="H." surname="Zhang">
              <organization>Google</organization>
            </author>
            <author fullname="Taylor Brandstetter" initials="T." surname="Brandstetter">
              <organization>Google</organization>
            </author>
            <date day="19" month="September" year="2016"/>
            <abstract>
              <t>   This document describes an extension to the Interactive Connectivity
   Establishment (ICE) that enables ICE agents to dynamically change the
   selected candidate pair of the controlled side by allowing the
   controlling side to nominate different candidate pairs over time as
   network conditions change.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-thatcher-ice-renomination-01"/>
        </reference>
        <reference anchor="I-D.uberti-mmusic-nombis">
          <front>
            <title>Improvements to ICE Candidate Nomination</title>
            <author fullname="Justin Uberti" initials="J." surname="Uberti">
              <organization>Google</organization>
            </author>
            <author fullname="Jonathan Lennox" initials="J." surname="Lennox">
              <organization>Vidyo</organization>
            </author>
            <date day="9" month="March" year="2015"/>
            <abstract>
              <t>   This document makes recommendations for simplifying and improving the
   procedures for candidate nomination in Interactive Connectivity
   Establishment (ICE).

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-uberti-mmusic-nombis-00"/>
        </reference>
        <reference anchor="I-D.oreland-dispatch-ice-nicer">
          <front>
            <title>NICER - a better usage profile on ICE</title>
            <author fullname="Jonas Oreland" initials="J." surname="Oreland">
              <organization>Google</organization>
            </author>
            <author fullname="Harald T. Alvestrand" initials="H. T." surname="Alvestrand">
              <organization>Google</organization>
            </author>
            <date day="6" month="July" year="2021"/>
            <abstract>
              <t>   NICER presents an usage profile of ICE that permits more dynamic
   adaptation to network conditions over the time of a call.

Discussion Venues

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

   Discussion of this document takes place on the mailing list
   (dispatch@ietf.org), which is archived at
   https://mailarchive.ietf.org/arch/browse/dispatch/.

   Source for this draft and an issue tracker can be found at
   https://github.com/alvestrand/nicer-spec.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-oreland-dispatch-ice-nicer-00"/>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
H4sIAEHf32kAA61aXXMbtxV9x6/AyA+1Z0RadtzE4UujWHKtjC25kpw0fanB
XZBEtdzdArukGY3+e8+9F/tJyp52mpkkJBcL3M9zz73QZDJRlasyO9NHF2/O
9bXNi7XLTeWKfKbPdrlZu8Rk2U4Hm9mkcvlS07rE5KlLTWV1aZwPR8rM595u
Znq8iUqLBJtg/9SbRTWpVqZKVtZPqrDZLie+t3RycqJCPV+7EPCt2pV46eL8
9q3K6/Xc+pmi82b65cnL7ycnryYn36sEPywLv5vpUKXKlX6mK1+H6uXJyY8n
LxXE+U4Zb81M3978qraFv1v6oi7x1Zs8lIWvNPTQN9ZvXGKD/g0rSMO/0iq1
sXltZ0rr+BJLjK8i2XCt1mvjsrjmJ2erxbTwtNj4ZDXTq6oqw+z5c2hgKm+S
O+unzaLn2+Vzfu25UqGCPP80WZFbVsWq0pEEVZHM9M4GfAy7tbeL0H6FEt13
ZepqVXh6ZYJ/tXa5q5zJ8PjjlH8ItRd33EZH8K+LOsvk54+2sn74EDKa3P0R
Y+KvRbHMLD+wonPZ+PSnJT+bJsX6gADvRgL8Y2Xy5ej0d0W+XBnXexbPWMmD
P75+xO3oiJ/h5jRUtqr29Lw1u6zw+yu+pWxqTTq3dvF1QX4ZCfIJ8Vu5kQi/
IFJd3n82PPyqtPnpRf/wf/EbP9X8xpR2USov/BovbDhSr9++efnixY/x4+sX
P7yKH3/4/oc/N7++et0uePUKvyqXL0abvH793euZmk6nSk0mE23mgaK2Uup2
5YJGStdrm1cwRki8myNzTK7tl8rmlLmIVl2trL7IYVS8hW31myLPCT42rtqp
c4T5PHNhxZs8BWQ80xRD2ub4HbvR2wkgwBdZ1iCOWdJibJ12oKQSihOrXRUi
Ptl0BE262CCeK7e22gSd24pQgDZPHVk5aNnimIAAtqzcYjc4HhsGl+LlJCl8
CmGyXTTK2qUpYkM9IUV9kdYJ450iYe/vo3UfHkRw6GTurLYOe/s9/RCIvfPw
PztVZ7WnR2xI7GgHNit9AbwKx3s7EZz1tpKzFYJ0XeeO4PJY14EWRkm8XdaZ
8SSBWS499iRvdZh8TBY3eGB1XUK77colq7GJsdNOb12WYW9LL9gv0TGImsXC
JVMk9tbCEce6yBNRyAXV6mRT1sTDk/ARXGwXLof4rGZa4/cFmYj2bGzSupsk
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
j+erZfqLm7lJ7tR/AOgnwVayKAAA

-->

</rfc>
