¿Por qué RTCP es un protocolo “hermano” de RTP?

En pocas palabras, RTCP proporciona los mecanismos estadísticos y de control que exige una aplicación a gran escala de RTP.

Para comprender la diferencia, primero necesita una comprensión sólida de RTP. RTP (Realtime Transport Protocol) fue diseñado para proporcionar transporte de red de extremo a extremo para aplicaciones que transmiten datos en tiempo real, como audio o video a través de servicios de red multicast o unicast. Al hacerlo, RTP no se ocupa de cosas importantes como garantizar la calidad del servicio o que los receptores RTP estén listos y puedan recibir datos. Este es el trabajo de RTCP, que permite el monitoreo de la entrega de datos de una manera escalable a grandes redes de multidifusión, y para proporcionar una funcionalidad mínima de control e identificación.

Para ser más específico, resumiré RFC 3550:

  1. La función principal es proporcionar retroalimentación [de los hosts de transmisión] sobre la calidad de la distribución de datos [a los hosts de recepción]. Estos informes ayudan a los operadores de red a solucionar problemas de conectividad / calidad RTP al determinar si los problemas son locales para el receptor, a lo largo del flujo de transporte o globales.
  2. Los diseñadores de RTP optaron por no utilizar sockets TCP típicos para identificar de forma exclusiva el transmisor de la sesión RTP. En cambio, las sesiones RTP se identifican por un número de 32 bits llamado SSRC (fuente sincronizada). Esto permite a los remitentes RTP ser flexibles en sus escenarios de implementación (transmisiones de carga equilibrada, redundancia, recuperación de colisión). Pero también puede causar problemas en el envío y la recepción, por lo que los diseñadores agregaron una capa de identificación en la parte superior del SSRC al utilizar el registro CNAME de la fuente. RCTP informa a los receptores RTP del enlace CNAME y a los transmisores RTP de los CNAMES de los clientes RTP, ya que no hay espacio en el encabezado RTP para esta información.
  3. A medida que todos los destinatarios de RTP se envían su información CNAME entre sí, a medida que las sesiones de RTP crecen, la velocidad a la que ocurre este intercambio de información debe controlarse (para que 1000 hosts no se envíen 999 paquetes cada segundo, por ejemplo) . A medida que las sesiones RTP se amplían, RCTP se utiliza para comunicar un intervalo acordado para enviar información CNAME al grupo RTP.
  4. RTCP también puede actuar como un administrador de sesión ligero entre los clientes. Un ejemplo de esto podría ser la “presencia” en una sala de chat o una videoconferencia. RTCP podría manejar el ícono verde que indica que un participante está en vivo en una llamada / chat, mientras que RTP transmitirá los datos de audio / texto reales.

Espero que esto te lo aclare más.