WebRTC - Protocolos

La comunicación de datos en tiempo real significa una velocidad de conexión rápida entre los dispositivos de ambos usuarios. Una conexión común toma un fotograma de video o audio y lo transfiere al dispositivo de otro usuario entre 30 y 60 veces por segundo para lograr una buena calidad. Por lo tanto, es importante comprender que enviar el último cuadro de datos es más crucial que asegurarse de que cada cuadro llegue al otro lado. Es por eso que las aplicaciones WebRTC pueden perder ciertos marcos para mantener una buena velocidad de conexión.

Puede ver este efecto en casi cualquier aplicación de reproducción de video hoy en día. Los videojuegos y las aplicaciones de transmisión de video pueden permitirse perder algunos fotogramas de video porque nuestra mente intenta llenar estos espacios ya que siempre visualizamos lo que estamos viendo. Si queremos que nuestra aplicación reproduzca 50 fotogramas en un segundo y perdemos los fotogramas 15, 25 y 38, la mayoría de las veces, el usuario no lo notará. Entonces, para las aplicaciones de transmisión de video, hay un conjunto diferente de requisitos:

Es por eso que las aplicaciones WebRTC utilizan UDP (Protocolo de datagramas de usuario) como protocolo de transporte. La mayoría de las aplicaciones web actuales se crean con el uso de TCP (Protocolo de control de transmisión) porque garantiza que:

  • cualquier dato enviado se marcará como recibido

  • Cualquier dato que no llegue al otro lado será reenviado y el envío de otros datos será cancelado temporalmente.

  • cualquier dato será único sin duplicados en el otro lado

Puede ver por qué TCP es una excelente opción para la mayoría de las aplicaciones web en la actualidad. Si solicita una página HTML, tiene sentido obtener todos los datos en el orden correcto. Pero esta tecnología no se adapta a todos los casos de uso. Si tomamos, por ejemplo, un juego multijugador, el usuario solo podrá ver lo que ha sucedido en los últimos segundos y nada más, lo que puede provocar un gran cuello de botella cuando faltan los datos.

La conexión WebRTC de audio y video no pretende ser la más confiable, sino la más rápida entre los dispositivos de dos usuarios. Así que podemos permitirnos perder fotogramas, lo que significa que UDP es la mejor opción para aplicaciones de transmisión de audio y video.

UDP se creó para ser una capa de transporte menos confiable. No puedes estar seguro en ...

  • el orden de tus datos
  • el estado de entrega de sus datos
  • el estado de cada paquete de datos

Hoy en día, WebRTC envía paquetes de medios de la forma más rápida posible. WebRTC puede ser un tema complejo cuando se trata de grandes redes corporativas. Sus cortafuegos pueden bloquear el tráfico UDP a través de ellos. Se ha trabajado mucho para que UDP funcione correctamente para una amplia audiencia.

La mayor parte del tráfico de Internet actual se basa en TCP y UDP, no solo en páginas web. Puede encontrarlos en tabletas, dispositivos móviles, televisores inteligentes y más. Por eso es importante comprender cómo funcionan estas tecnologías.