IETF RFC 5245 PDF

IETF RFC 5245 PDF

Name:
IETF RFC 5245 PDF

Published Date:
04/01/2010

Status:
[ Obsolete ]

Description:

Interactive Connectivity Establishment (ICE): A Protocol for Network Address Translator (NAT) Traversal for Offer/Answer Protocols

Publisher:
Internet Engineering Task Force

Document status:
Active

Format:
Electronic (PDF)

Delivery time:
10 minutes

Delivery time (for Russian version):
200 business days

SKU:

Choose Document Language:
Need Help?
W/D S/S BY IETF RFC 6336 * OBSOLETE

Introduction

RFC 3264 [RFC3264] defines a two-phase exchange of Session Description Protocol (SDP) messages [RFC4566] for the purposes of establishment of multimedia sessions. This offer/answer mechanism is used by protocols such as the Session Initiation Protocol (SIP) [RFC3261].

Protocols using offer/answer are difficult to operate through Network Address Translators (NATs). Because their purpose is to establish a flow of media packets, they tend to carry the IP addresses and ports of media sources and sinks within their messages, which is known to be problematic through NAT [RFC3235]. The protocols also seek to create a media flow directly between participants, so that there is no application layer intermediary between them. This is done to reduce media latency, decrease packet loss, and reduce the operational costs of deploying the application. However, this is difficult to accomplish through NAT. A full treatment of the reasons for this is beyond the scope of this specification.

Numerous solutions have been defined for allowing these protocols to operate through NAT. These include Application Layer Gateways (ALGs), the Middlebox Control Protocol [RFC3303], the original Simple Traversal of UDP Through NAT (STUN) [RFC3489] specification, and Realm Specific IP [RFC3102] [RFC3103] along with session description extensions needed to make them work, such as the Session Description Protocol (SDP) [RFC4566] attribute for the Real Time Control Protocol (RTCP) [RFC3605]. Unfortunately, these techniques all have pros and cons which, make each one optimal in some network topologies, but a poor choice in others. The result is that administrators and implementors are making assumptions about the topologies of the networks in which their solutions will be deployed. This introduces complexity and brittleness into the system. What is needed is a single solution that is flexible enough to work well in all situations.

This specification defines Interactive Connectivity Establishment (ICE) as a technique for NAT traversal for UDP-based media streams (though ICE can be extended to handle other transport protocols, such as TCP [ICE-TCP]) established by the offer/answer model. ICE is an extension to the offer/answer model, and works by including a multiplicity of IP addresses and ports in SDP offers and answers, which are then tested for connectivity by peer-to-peer connectivity checks. The IP addresses and ports included in the SDP and the connectivity checks are performed using the revised STUN specification [RFC5389], now renamed to Session Traversal Utilities for NAT. The new name and new specification reflect its new role as a tool that is used with other NAT traversal techniques (namely ICE) rather than a standalone NAT traversal solution, as the original STUN specification was. ICE also makes use of Traversal Using Relays around NAT (TURN) [RFC5766], an extension to STUN. Because ICE exchanges a multiplicity of IP addresses and ports for each media stream, it also allows for address selection for multihomed and dualstack hosts, and for this reason it deprecates RFC 4091 [RFC4091] and [RFC4092].


Edition : 10
Number of Pages : 117
Published : 04/01/2010

History


Related products


Best-Selling Products

ISO/IEC/IEEE 12207-2:2020
Published Date: 08/01/2020
Systems and software engineering - Software life cycle processes - Part 2: Relation and mapping between ISO/IEC/IEEE 12207:2017 and ISO/IEC 12207:2008
$83.4
ISO/IEC/IEEE 14764:2022
Published Date: 08/01/2022
Software engineering - Software life cycle processes - Maintenance
$66.9
ISO/IEC/IEEE 15026-1:2019
Published Date: 08/01/2019
Systems and software engineering - Systems and software assurance - Part 1: Concepts and vocabulary
$58.2
ISO/IEC/IEEE 15026-2:2022
Published Date: 10/31/2022
Systems and software engineering - Systems and software assurance - Part 2: Assurance case
$49.8
ISO/IEC/IEEE 15026-3:2023
Published Date: 11/01/2023
Systems and software engineering - Systems and software assurance - Part 3: System integrity levels
$49.8
ISO/IEC/IEEE 15026-4:2021
Published Date: 08/01/2021
Systems and software engineering - Systems and software assurance - Part 4: Assurance in the life cycle
$66.9