Interactive Connectivity Establishment - Overview

Overview

Since 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. When a client establishes 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. 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.

Session Traversal Utilities for NAT (STUN) is a client server protocol returning the public IP to a client together with information from which the client can infer the type of NAT it sits behind while Traversal Using Relays around NAT (TURN) places a third party server to relay messages between two clients where peer to peer media traffic is not allowed by a firewall.

Read more about this topic:  Interactive Connectivity Establishment