Interactive Connectivity Establishment

From Wikipedia, the free encyclopedia
Jump to: navigation, search

Interactive Connectivity Establishment (ICE) is a technique used in computer networking involving network address translators (NATs) in Internet applications of Voice over Internet Protocol (VoIP), peer-to-peer communications, video, instant messaging and other interactive media. In such applications, NAT traversal is an important component to facilitate communications involving hosts on private network installations, often located behind firewalls.

ICE is developed by the Internet Engineering Task Force MMUSIC working group and is published as RFC 5245[1], which has obsoleted RFC 4091[2].

Contents

[edit] Overview

As the number of IPv4 addresses are limited to their 32-bit representation, not every network enabled device can have a unique public IP with which to be visible on the Internet. Network Address Translators (NAT) work by changing a private address into a public one when an outbound request passes through them. As clients establish TCP connections through SYN packets, the NAT updates an internal table with each entry creating a mapping between an internal, private IP to a public one[3]. Many applications run into problems when put in this situation with one example being VoIP traffic where a client needs to register with a unique address to a SIP proxy. Another problem relates to firewalls which might block VoIP traffic completely. ICE provides a framework for dealing with these problems.

STUN is a client server protocol that will return the public IP to a client together with information from which the client can infer the type of NAT that it is sitting behind while Traversal Using Relay NAT (TURN) will place a third party server to relay messages between two clients where peer to peer media traffic is not allowed by a firewall.

[edit] IETF Specifications

  • RFC 5389: Session Traversal Utilities for NAT (STUN).
  • RFC 5766: Traversal Using Relays around NAT (TURN): Relay Extensions to STUN.
  • RFC 5245: Interactive Connectivity Establishment (ICE): A Protocol for NAT Traversal for Offer/Answer Protocols.

[edit] See also

[edit] References

  1. ^ RFC 5245, Interactive Connectivity Establishment (ICE): A Protocol for Network Address Translator (NAT) Traversal for Offer/Answer Protocols, J. Rosenberg (April 2010)
  2. ^ RFC 4091, The Alternative Network Address Types (ANAT) Semantics for the Session Description Protocol (SDP) Grouping Framework, G. Camarillo, J. Rosenberg (June 2005)
  3. ^ Müller A, Carl (2008) Behavior and Classification of NAT Devices and Implications for NAT Traversal IEEE Network September/October 2008. Available from: http://ieeexplore.ieee.org.ezproxy.liv.ac.uk/stamp/stamp.jsp?tp=&arnumber=4626227 [Accessed at: 2 April 2011]

[edit] External links

Personal tools
Namespaces

Variants
Actions
Navigation
Interaction
Toolbox
Print/export
Languages