¿Qué es RTP – Protocolo de Transporte en Tiempo Real?

El Protocolo de Transporte en Tiempo Real (del inglés ‘Real-Time Transport Protocol‘ – RTP) define un formato estándar de paquetes para la transmisión de audio y video a través de Internet. Se define en el RFC 1889. Fue desarrollado por el Grupo de Trabajo de Ingeniería de Internet (del inglés ‘Internet Engineering Task Force‘ – IETF), que creó el Grupo de Trabajo de Transporte de Audio y Video, y se publicó por primera vez en 1996. RTP se utiliza ampliamente en sistemas de comunicación y entretenimiento que implican la transmisión de datos y medios en tiempo real, como telefonía, aplicaciones de videoconferencia, servicios de televisión por protocolo de Internet y funciones ‘push-to-talk‘ basadas en la web. Se utiliza tanto en servicios de red multicast como unicast.

Protocolo RTCP

El protocolo RTP se utiliza junto con el Protocolo de Control de Transporte en Tiempo Real (del inglés ‘Real-Time Transport Control Protocol‘ – RTCP) y el Protocolo de Inicio de Sesión (del inglés ‘Session Initiation Protocol‘ – SIP). Mientras que RTP transporta los flujos multimedia (por ejemplo, audio y video), los paquetes RTCP se utilizan para controlar las estadísticas de transmisión y los datos de Calidad de Servicio (del inglés ‘Quality of Service‘ – QoS), como la fluctuación de fase, la pérdida de paquetes (identificada mediante un número de secuencia) y el tiempo de ida y vuelta. RTCP también ayuda en la sincronización de múltiples flujos. Las sesiones RTP se originan y reciben en números de puerto pares y la comunicación RTCP asociada utiliza el número de puerto impar inmediatamente superior. Se puede utilizar cualquier número de puerto para el tráfico RTP aunque, en términos generales, los puertos utilizados pueden oscilar entre el 1024 y el 65535. RTP es una de las bases de la Voz sobre Protocolo de Internet (del inglés ‘Voice over Internet Protocol‘ – VoIP) y se utiliza junto con SIP, que ayuda a establecer las conexiones a través de la red.

¿Cuáles son las Ventajas y el Uso de RTP?

Como su nombre indica, el objetivo de diseño de RTP es la transmisión de extremo a extremo en tiempo real de datos multimedia a través de redes e Internet. Debido a la naturaleza de la estructura de Internet, se espera que los paquetes RTP se reciban con diferentes intervalos de tiempo, lo que se conoce como ‘fluctuación’ (del inglés ‘jitter‘). RTP incluye mecanismos de compensación de la ‘fluctuación’, detección de pérdida de paquetes y entrega de paquetes de datos fuera de orden. Para conseguirlo, RTP compensa priorizando la entrega rápida de paquetes en lugar de asegurarse de que se reciben todos los paquetes de datos.

Un ejemplo de esto es cuando alguien ve un video en línea. El flujo de video utilizaría RTP para enviar los datos de video al dispositivo del usuario. Si algunos de los paquetes de datos se pierden o se retrasan, RTP corrige el error, lo que provoca la pérdida de unos pocos fotogramas o una fracción de segundo de video. El efecto puede ser tan pequeño que el usuario ni siquiera lo note.

Dado que RTP permite la transferencia de datos a múltiples puntos finales de destino en paralelo mediante multidifusión IP, es el principal estándar empleado para las transferencias de audio y video en redes IP. Los mecanismos para el perfil asociado y el formato de carga útil, referenciados en el diseño de la arquitectura RTP, se implementan en el nivel de la capa de aplicación, en lugar de la capa del sistema operativo.

El uso del RTP en Aplicaciones VoIP

Las aplicaciones como VoIP que necesitan emplear streaming en tiempo real de datos multimedia, normalmente requieren la entrega puntual de datos, con una tolerancia variable en la pérdida de paquetes. Por ejemplo, la pérdida de paquetes de audio en una aplicación VoIP puede causar la pérdida de unos pocos milisegundos de datos de audio. Esta pérdida puede tratarse adecuadamente mediante algoritmos de compensación de errores para hacerla insignificante e imperceptible para el llamante o llamantes. El Protocolo de Control de Transmisión (del inglés ‘Transmission Control Protocol‘ – TCP) también está estandarizado para su uso en RTP, aunque no suele emplearse en aplicaciones debido a que sus mecanismos de control de errores pueden causar retrasos y afectar a la entrega puntual de los paquetes. Por esta razón, la mayoría de las aplicaciones RTP suelen basar sus implementaciones en el Protocolo de Datagramas de Usuario (del inglés ‘User Datagram Protocol‘ – UDP).

Más Información