idnits 2.17.1 draft-thatcher-ice-remove-candidate-00.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (July 1, 2016) is 2853 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) ** Obsolete normative reference: RFC 5245 (Obsoleted by RFC 8445, RFC 8839) Summary: 1 error (**), 0 flaws (~~), 1 warning (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group P. Thatcher 3 Internet-Draft H. Zhang 4 Intended status: Standards Track T. Brandstetter 5 Expires: January 2, 2017 Google 6 July 1, 2016 8 ICE Candidate Removal: Remove ICE candidates when they are no longer 9 useful. 10 draft-thatcher-ice-remove-candidate-00 12 Abstract 14 This document describes an extension to the Interactive Connectivity 15 Establishment (ICE) that enables ICE agents to signal the removal of 16 ICE candidates to the remote ICE agent to prevent the remote ICE 17 agent from wasting resources by attempting to use the ICE candidate. 19 Status of This Memo 21 This Internet-Draft is submitted in full conformance with the 22 provisions of BCP 78 and BCP 79. 24 Internet-Drafts are working documents of the Internet Engineering 25 Task Force (IETF). Note that other groups may also distribute 26 working documents as Internet-Drafts. The list of current Internet- 27 Drafts is at http://datatracker.ietf.org/drafts/current/. 29 Internet-Drafts are draft documents valid for a maximum of six months 30 and may be updated, replaced, or obsoleted by other documents at any 31 time. It is inappropriate to use Internet-Drafts as reference 32 material or to cite them other than as "work in progress." 34 This Internet-Draft will expire on January 2, 2017. 36 Copyright Notice 38 Copyright (c) 2016 IETF Trust and the persons identified as the 39 document authors. All rights reserved. 41 This document is subject to BCP 78 and the IETF Trust's Legal 42 Provisions Relating to IETF Documents 43 (http://trustee.ietf.org/license-info) in effect on the date of 44 publication of this document. Please review these documents 45 carefully, as they describe your rights and restrictions with respect 46 to this document. Code Components extracted from this document must 47 include Simplified BSD License text as described in Section 4.e of 48 the Trust Legal Provisions and are provided without warranty as 49 described in the Simplified BSD License. 51 Table of Contents 53 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 54 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 2 55 3. Signaling candidate removal . . . . . . . . . . . . . . . . . 3 56 4. Removing candidates when a removal is signaled . . . . . . . 3 57 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 3 58 6. Security Considerations . . . . . . . . . . . . . . . . . . . 3 59 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 3 60 8. Normative References . . . . . . . . . . . . . . . . . . . . 4 61 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 4 63 1. Introduction 65 In certain network conditions, ICE agents may find that a local ICE 66 candidate is no longer useful and that the remote ICE agent should 67 not attempt to use that ICE candidate. 69 For example, if an ICE agent is gathering TURN candidates and finds a 70 set of better candidates (such as using UDP to the TURN server) than 71 candidates already signaled (such as using TCP to the TURN server), 72 it may choose to deallocate the worse candidates. But if it does so, 73 the remote ICE agent may waste time and resources attempting to use 74 the deallocated TURN candidates. 76 Just as trickle-ice optimizes ICE by signaling the addition of an ICE 77 candidate, this extension optimizes further by signaling the removal 78 of an ICE candidate. 80 2. Terminology 82 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 83 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 84 document are to be interpreted as described in [RFC2119]. 86 This specification makes use of all terminology defined by the 87 protocol for Interactive Connectivity Establishment in [RFC5245]. 89 Removal Signal The messsage signaled between ICE agents that a 90 candidate is removed. 92 Removed Candidate An ICE candiate for which a removal signal is 93 sent. 95 Removing Agent The ICE agent that sends the removal signal. 97 Receiving Agent The ICE agent that receives the removal signal. 99 3. Signaling candidate removal 101 This specification does not define the usage of candidate removal 102 with any specific signaling protocol. 104 However, it will be noted that any signaling protocol must be able to 105 unique identify the Removed Candidates. For example, a combination 106 of the component, ip address, protocol (UDP or TCP), and port would 107 unique identify a Removed Candidate. 109 4. Removing candidates when a removal is signaled 111 When a removal signal, the Receiving Agent MUST NOT pair the Removed 112 Candiates with any future candidates gathered by the Receiving Agent. 113 The Receiving Agent MAY keep the existing candidate pairs that use 114 the Removed Candidates and behave as though the Removed Candidates 115 had not been removed for those candidate pairs. 117 Why would an Receiving Agent choose not to immediately remove 118 existing candidate pairs? Because the Removing Agent MAY choose to 119 keep the Removed Candidate capable of receiving ICE checks and 120 sending responses so that any ICE checks already sent by the 121 Receiving Agent may continue to work briefly so that media can flow 122 as quickly as possible, even if over a candidate pair that will soon 123 be discarded. 125 Both the Removing Agent and the Receiving Agent SHOULD prioritize 126 candidate pairs with a Removed Candidate lower than those without a 127 Removed Candidate. 129 5. IANA Considerations 131 This specification requests no actions from IANA. 133 6. Security Considerations 135 TODO 137 7. Acknowledgements 139 TODO 141 8. Normative References 143 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 144 Requirement Levels", BCP 14, RFC 2119, 145 DOI 10.17487/RFC2119, March 1997, 146 . 148 [RFC5245] Rosenberg, J., "Interactive Connectivity Establishment 149 (ICE): A Protocol for Network Address Translator (NAT) 150 Traversal for Offer/Answer Protocols", RFC 5245, 151 DOI 10.17487/RFC5245, April 2010, 152 . 154 Authors' Addresses 156 Peter Thatcher 157 Google 158 747 6th St S 159 Kirkland, WA 98033 160 USA 162 Email: pthatcher@google.com 164 Honghai Zhang 165 Google 166 747 6th St S 167 Kirkland, WA 98033 168 USA 170 Email: honghaiz@google.com 172 Taylor Brandstetter 173 Google 174 747 6th St S 175 Kirkland, WA 98033 176 USA 178 Email: deadbeef@google.com