Interactive Connectivity Establishment (ICE) is a technique used in computer networking to find ways for two computers to talk to each other as directly as possible in peer-to-peer networking. This is most commonly used for interactive media such as Voice over Internet Protocol (VoIP), peer-to-peer communications, video, and instant messaging. In such applications, communicating through a central server would be slow and expensive, but direct communication between client applications on the Internet is very tricky due to network address translators (NATs), firewalls, and other network barriers.

ICE is developed by the Internet Engineering Task Force MMUSIC working group and is published as RFC 8445, as of August 2018,[1] and has obsolesced both RFC 5245[2] and RFC 4091.[3]

Overview

edit

Network address translation (NAT) became an effective technique in delaying the exhaustion of the available address pool of Internet Protocol version 4, which is inherently limited to around four billion unique addresses. NAT gateways track outbound requests from a private network and maintain the state of each established connection to later direct responses from the peer on the public network to the peer in the private network, which would otherwise not be directly addressable.

VoIP, peer-to-peer, and many other applications require address information of communicating peers within the data streams of the connection, rather than only in the Internet Protocol packet headers. For example, the Session Initiation Protocol (SIP) communicates the IP address of network clients for registration with a location service, so that telephone calls may be routed to registered clients. ICE provides a framework with which a communicating peer may discover and communicate its public IP address so that it can be reached by other peers.

Session Traversal Utilities for NAT (STUN) is a standardized protocol for such address discovery including NAT classification. Traversal Using Relays around NAT (TURN) places a third-party server to relay messages between two clients when direct media traffic between peers is not allowed by a firewall.

IETF specifications

edit
  • RFC 8489: Session Traversal Utilities for NAT (STUN).
  • RFC 8656: Traversal Using Relays around NAT (TURN): Relay Extensions to STUN.
  • RFC 6544: TCP Candidates with Interactive Connectivity Establishment (ICE)
  • RFC 8445: Interactive Connectivity Establishment (ICE): A Protocol for Network Address Translator (NAT) Traversal

See also

edit

References

edit
  1. ^ RFC 8445, Interactive Connectivity Establishment (ICE): A Protocol for Network Address Translator (NAT) Traversal, A. Keranen, C. Holmberg Ericsson, J. Rosenberg (July 2018)
  2. ^ RFC 5245, Interactive Connectivity Establishment (ICE): A Protocol for Network Address Translator (NAT) Traversal for Offer/Answer Protocols, J. Rosenberg (April 2010)
  3. ^ RFC 4091, The Alternative Network Address Types (ANAT) Semantics for the Session Description Protocol (SDP) Grouping Framework, G. Camarillo, J. Rosenberg (June 2005)
edit

📚 Artikel Terkait di Wikipedia

STUN

messaging, and other interactive communications. STUN is a tool used by other protocols, such as Interactive Connectivity Establishment (ICE), the Session

Traversal Using Relays around NAT

mechanisms (such as STUN or direct connectivity) when possible. To accomplish that, the Interactive Connectivity Establishment (ICE) methodology can be used

NAT traversal

relay protocol designed specifically for NAT traversal. Interactive Connectivity Establishment (ICE) is a complete protocol for using STUN and/or TURN

Network address translation

NAT traversal techniques using protocols such as STUN or Interactive Connectivity Establishment (ICE), or proprietary approaches in a session border controller

Jingle (protocol)

Protocol (RTP). If needed, NAT traversal is assisted using Interactive Connectivity Establishment (ICE). As of September 2018[update], the Jingle specification

Microsoft Teams

to connect to Microsoft Teams servers. With the help of Interactive Connectivity Establishment (ICE), clients behind Network address translation routers

UDP hole punching

the Session Traversal Utilities for NAT (STUN) method or Interactive Connectivity Establishment (ICE) to determine the public address of the NAT that its

WebRTC

how to establish connections among them. Applications use Interactive Connectivity Establishment for connections and are responsible for managing sessions