ICE Protocol Referencia
Referencia para ICE (Interactive Connectivity Establishment): candidate gathering, checking, y nomination.
Candidate Types
ICE gathers candidates from multiple sources: host (local interface), server-reflexive (STUN-discovered), peer-reflexive (discovered during checks), and relayed (TURN). Candidates are paired and checked in priority order. Host candidates work when peers are on the same network. Server-reflexive candidates work through most NATs. Relayed candidates work through any NAT but with relay overhead. The candidate gathering phase collects all possible paths.
- host
- Local interface
- srflx
- STUN-discovered
- relay
- TURN relay
direct connection public mapping works always Check and Nomination
ICE performs connectivity checks on candidate pairs in priority order, using STUN binding requests. Successful checks create valid pairs. The controlling agent nominates a pair (regular or aggressive nomination). The selected pair is the highest-priority valid pair. Trickled ICE allows adding candidates asynchronously after initial gathering. ICE restarts when network changes occur. The protocol converges to the best available path within the timeout.
- checks
- STUN binding requests
- nomination
- Controlling agent
- trickle
- Async candidate addition
pair by pair selects pair faster startup