Interactive Connectivity Establishment (ice) Internet Drafts


      
 Trickle ICE: Incremental Provisioning of Candidates for the Interactive Connectivity Establishment (ICE) Protocol
 
 draft-ietf-ice-trickle-21.txt
 Date: 15/04/2018
 Authors: Emil Ivov, Eric Rescorla, Justin Uberti, Peter Saint-Andre
 Working Group: Interactive Connectivity Establishment (ice)
 Formats: txt xml
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.
 Interactive Connectivity Establishment Patiently Awaiting Connectivity (ICE PAC)
 
 draft-ietf-ice-pac-06.txt
 Date: 29/04/2020
 Authors: Christer Holmberg, Justin Uberti
 Working Group: Interactive Connectivity Establishment (ice)
 Formats: xml txt
During the process of establishing peer-to-peer connectivity, ICE agents can encounter situations where they have no candidate pairs to check, and, as a result, conclude that ICE processing has failed. However, because additional candidate pairs can be discovered during ICE processing, declaring failure at this point may be premature. This document discusses when these situations can occur and 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. [RFC EDITOR NOTE: Please replace RFC XXXX with the RFC number of draft-ietf-ice-trickle once it has been published. Please also indicate that this specification updates RFC XXXX.]


Interactive Connectivity Establishment (ice)

WG Name Interactive Connectivity Establishment
Acronym ice
Area Applications and Real-Time Area (art)
State Active
Charter charter-ietf-ice-01 Approved
Dependencies Document dependency graph (SVG)
Additional Resources
- Issue tracker
- Wiki
Personnel Chair Ari Keränen 
Area Director Murray Kucherawy 
Tech Advisor Martin Stiemerling 
Mailing list Address ice@ietf.org
To subscribe https://www.ietf.org/mailman/listinfo/ice
Archive https://mailarchive.ietf.org/arch/browse/ice/
Jabber chat Room address xmpp:ice@jabber.ietf.org?join
Logs https://jabber.ietf.org/logs/ice/

Charter for Working Group

Interactive Connectivity Establishment (ICE) is at the same time a NAT traversal technique, a multihomed address selection technique, and a dual stack address selection technique that works by including multiple IP addresses and ports in both the request and response messages of a connectivity establishment transaction. It makes no assumptions regarding network topology on the local or remote side.

Interactive Connectivity Establishment was published as RFC 5245 in April 2010. Until recently the protocol had seen rather limited deployment. This situation has changed drastically as ICE is mandatory to implement in WebRTC, a set of technologies developed at the IETF and W3C to standardize Real Time Communication on the Web. ICE was originally defined for the Offer-Answer (RFC 3264) protocol used by SIP (RFC 3261). Later XMPP (XEP-0176), RTSP (draft-ietf-mmusic-rtsp-nat), RTCWeb (draft-ietf-rtcweb-jsep) and other realtime media establishment protocols have used the protocol. ICE is also used by non-realtime media protocols, like HIP (RFC 5770) and RELOAD (RFC 6940).

The goal of the ICE Working Group is to consolidate the various initiatives to update and improve ICE, and to help ensure suitability and consistency in the environments ICE operates in. Current work in this area includes an updated version of the ICE RFC (ICEbis), Trickle ICE and dualstack/multihomed fairness. This work will make ICE more flexible, robust and more suitable for changing mobile environments without major changes to the original ICE RFC. The ICE workgroup will consider new work items that follow this pattern. The core ICE work will offer guidance to help minimize the unintentional exposure of IP addresses.

ICE is an application controlled protocol that leverages a set of network defined protocols. The STUN (RFC 5389), TURN (RFC 5766) and related protocol work done in the TRAM working group must be closely synchronized with the work in this working group. To avoid interoperability issues and unwanted behavior it is desired to increase the interaction with other working groups dealing with network protocols closer to the wire. Example of such work may be, but not limited to: issues regarding multi-homing, multi subnet and prefixes, QoS, transport selection and congestion control. From the application side, the users of ICE, there is a need to make sure what is specified is actually usable. Getting input from the application working groups will be helpful (RTCWEB, HIP, MMUSIC, P2PSIP).

Milestones

Date Milestone
1 May 2019 Submit ICE Patience as Proposed Standard

Done milestones

Date Milestone
Done Submit Trickle ICE as Proposed Standard (draft-ietf-mmusic-trickle-ice-sip remains in MMUSIC)
Done Submit a revision of ICE (RFC 5245) as Proposed Standard (draft-ietf-mmusic-ice-sip-sdp remains in MMUSIC)
Done Submit Dual-stack Fairness with ICE as Proposed Standard