Protocolo de control de transporte en tiempo real

El protocolo de red RTCP ( Protocolo de control RTP ) se basa en transmisiones periódicas de paquetes controlados por todos los participantes en una sesión multimedia.

Es un protocolo de control de flujo RTP , que permite transmitir información básica sobre los participantes de una sesión y sobre la calidad del servicio.

RTCP es un protocolo junto con RTP ( Protocolo de transporte en tiempo real ). Su funcionalidad básica y la estructura de sus paquetes están definidas en la especificación RFC  3550 RTP, reemplazando su estandarización original que data de 1996 ( RFC  1889).

RTCP proporciona estadísticas de ancho de banda e información de control para un flujo RTP. Está acoplado a paquetes RTP, pero no lleva ninguna información relacionada con los medios en sí. Normalmente, el RTP se enviará en un puerto del Protocolo de datagramas de usuario ( UDP) de número par; el mensaje RTCP emparejado se enviará al siguiente puerto impar. La función principal de RTCP es proporcionar información de calidad de servicio (QoS) en la distribución de medios enviando periódicamente información estadística a los participantes en una sesión de transmisión de medios (audio o video).

Las estadísticas de RTCP recopilan información para una conexión de medios, como el número de bytes y paquetes transmitidos, el número de paquetes perdidos, la fluctuación y el tiempo de retardo de ida y vuelta . Una aplicación puede usar esta información para controlar la calidad del servicio y, por ejemplo, adaptar la tasa de bits del flujo de video usando otro códec .

El propio RTCP no proporciona ningún método de autenticación o cifrado de flujo. Estos mecanismos pueden implementarse, por ejemplo, mediante el Protocolo de transporte seguro en tiempo real (SRTP) definido en RFC  3711.

RTCP está encapsulado en paquetes UDP al igual que RTP.

RTCP proporciona tres funciones básicas útiles para implementar sesiones RTP:

  • La función principal del RTCP es recopilar estadísticas sobre los aspectos de calidad de la distribución de medios durante una sesión y transmitir estos datos a la fuente y a otros participantes de la sesión de medios. Esta información puede ser utilizada por la fuente para la codificación de medios adaptativos ( códec ) y la detección de fallas de transmisión. Si la sesión se transporta a través de una red de multidifusión, esto permite una supervisión de la calidad de la sesión no intrusiva.
  • RTCP proporciona un identificador de punto final canónico ( CNAME ) a todos los participantes de la sesión. Aunque un identificador de fuente (SSRC) de una secuencia RTP debe ser único, la vinculación instantánea de los identificadores de fuente a los puntos finales puede cambiar durante una sesión. El CNAME establece una identificación única de puntos finales en una instancia de aplicación (uso múltiple de herramientas de medios) y monitoreo por parte de terceros.
  • Todos los participantes deben enviar los informes RTCP, incluso en una sesión de multidifusión en la que participen miles de destinatarios. Este tráfico aumenta proporcionalmente con el número de participantes. Por tanto, para evitar la congestión de la red, el protocolo debe incluir la gestión del ancho de banda de la sesión. Esto se logra controlando dinámicamente la frecuencia de las relaciones de transmisión. El consumo de ancho de banda RTCP generalmente no debe exceder el 5% del ancho de banda total de la sesión. Además, el 25% del ancho de banda RTCP debe reservarse para los medios, en todo momento, de modo que en conferencias grandes, cualquier nuevo asistente reciba credenciales CNAME de los remitentes sin demoras indebidas.

Un cuarto, opcional, es la provisión de funciones de control de sesión, porque RTCP es una forma conveniente de llegar a todos los participantes de la sesión, aunque en sí mismo no es RTP. RTP se transmite solo a través de una fuente de medios.

Tipos de mensajes

Introducción

RTCP distingue entre varios tipos de paquetes: informe del remitente (RS), informe del receptor (RR), descripción de fuentes (SDES) y fin de sesión (BYE). Además, el protocolo es extensible y permite aplicaciones específicas para paquetes RTCP. Una extensión de RTCP basada en estándares es el tipo de paquete de "informe extendido" presentado por RFC  3611.

Informe de remitente (SR) Los remitentes activos envían periódicamente el Informe del remitente en una conferencia para presentar las estadísticas de transmisión y recepción de todos los paquetes RTP enviados durante el intervalo. El informe de un remitente incluye una marca de tiempo (marca de tiempo) absoluta, que es el número de segundos desde la medianoche.1 st de enero de 1,900. La marca de tiempo absoluta permite al receptor sincronizar los mensajes RTP. Esto es especialmente importante cuando las transmisiones de audio y video se transmiten simultáneamente, porque las transmisiones de audio y video utilizan cada una sus propias marcas de tiempo relativas. Informe del receptor (RR) El informe del receptor es para participantes pasivos, aquellos que no han enviado paquetes RTP. El informe informa al remitente y a otros destinatarios de la calidad del servicio. Descripción de fuente (SDES) El mensaje Fuente de descripción se utiliza para enviar el elemento CNAME de los participantes de la sesión. También se puede utilizar para proporcionar información adicional como el nombre, la dirección de correo electrónico, el número de teléfono y la dirección del propietario o controlador de la fuente. Fin de participación (BYE) Una fuente envía un mensaje BYE para detener un flujo. Permite que un punto final anuncie que abandona la conferencia. Aunque otras fuentes pueden detectar la ausencia de una fuente, este mensaje es un anuncio directo. También es útil como mezclador de medios. Mensaje específico de la aplicación (APP) El mensaje específico de la aplicación proporciona un mecanismo para diseñar extensiones específicas de la aplicación para el protocolo RTCP.

Detalles de un paquete RTCP

La información que se muestra es de una captura de red utilizando Wireshark.

Versión de protocolo (2 bits) 10 .. .... = Versión: RFC 1889 Versión (2) Extensión del paquete, el número indicado corresponde al número de bytes adicionales agregados (1 bit) ..0. .... = Relleno: Falso El número de bloques de informes de recepción contenidos en este paquete, con un máximo de 31 elementos (5 bits) ... 0 0001 = Recuento de informes de recepción: 1 El tipo de paquete (1 byte) Tipo de paquete: Informe del remitente (200) El tamaño del paquete (2 bytes) Longitud: 12 (52 bytes) Identificador del remitente (4 bytes) SSRC del remitente: 0x00001649 (5705) La segunda parte del marcador de tiempo (4 bytes) Marca de tiempo, MSW: 2208996180 (0x83aa9b54) La parte fraccionaria (1/2 ^ 32 de segundo) de un segundo del marcador de tiempo (4 bytes) Marca de tiempo, LSW: 592705486 (0x2353f7ce) el marcador de tiempo RTP (4 bytes) Marca de tiempo RTP: 4319120 Número de paquetes enviados (4 bytes) Número de paquetes del remitente: 13496 Número de bytes enviados (4 bytes) Número de bytes del remitente: 539840

Medida RTT

Escalabilidad en implementaciones a gran escala

Introducción

En aplicaciones a gran escala, como la televisión por protocolo de Internet (IPTV), pueden producirse retrasos muy largos (de unos minutos a algunas horas) entre los informes de RTCP, debido al mecanismo de control de ancho de banda de RTCP necesario para el control. Congestión (consulte Funciones de protocolo ). Las frecuencias aceptables suelen ser inferiores a un minuto. En estos casos, los informes estadísticos enviados por el receptor pueden no ser apropiados, mientras que su evaluación por parte de los medios será inconsistente con el estado real de la sesión.

Agregación jerárquica

La agregación jerárquica (también conocida como jerarquía de comentarios RTCP) es una optimización del modelo de retroalimentación RTCP. Su objetivo es hacer retroceder el límite del número máximo de usuarios y mejorar la medición de QoS. Se utiliza con el protocolo de multidifusión específica de fuente, donde solo se permite una fuente, como en IPTV. Otro tipo de multidifusión utilizado podría ser el protocolo Any-Source Multicast , pero no es adecuado para aplicaciones a gran escala con un número considerable de usuarios.

A partir de 2007, solo los sistemas de IPTV más modernos utilizan la agregación jerárquica.

Referencias

  1. (en) "  RTP: Un Protocolo de Transporte para Aplicaciones en Tiempo Real  ," Petición de observaciones n o  3550Julio de 2003.
  2. (en) "  RTP: Un Protocolo de Transporte para Aplicaciones en Tiempo Real  ," Petición de observaciones n o  1889Enero de 1996.
  3. (en) "  El seguro y en tiempo real Protocolo de transporte (SRTP)  ," Petición de observaciones n o  3711,Marzo de 2004.
  4. (en) "  RTP Control Protocol Extended Reports (RTCP XR)  ," Petición de observaciones n o  3611,noviembre de 2003.