¿Cuál es la razón detrás de Youtube usando TCP y no UDP?

La transmisión de video se encuentra con TCP en su naturaleza. Primero, la transmisión de video adopta la búsqueda previa y el almacenamiento en búfer para lograr una reproducción fluida. TCP proporciona dicho búfer (de red), así como la garantía de transmisión confiable para que no se pierda la trama (sin embargo, una trama podría perder la fecha límite de reproducción y se descarta).

En segundo lugar, el sondeo de ancho de banda de TCP y el control de congestión intentarán usar todo el ancho de banda disponible entre el servidor y el cliente, obteniendo el contenido lo más rápido posible mientras que es amigable con otro tráfico (TCP) en los mismos enlaces.

Por otro lado, la transmisión en vivo opta por UDP , ya que se puede realizar poca recuperación previa y el almacenamiento en búfer agregará demora a la reproducción del video. Dado que UDP solo sirve la funcionalidad de capa de transporte más básica, se usa conjuntamente con otros protocolos de capa de aplicación como RTSP para hacer streaming de video. A los firewalls (de empresas, ISP) no les gustan estos protocolos, lo que hace que el tráfico de video sea difícil de atravesar o ser estrangulado.

Para entregar videos, las empresas adoptan / alquilan Content Delievery Networks (CDN). La mayoría de los servidores CDN (por ejemplo, los de Akamai) se configuraron originalmente y ya para admitir servicios web como su curso principal. Por lo tanto, la transmisión de video a través de HTTP funciona de inmediato sin configurar servidores dedicados, y la mayoría de los firewalls no bloquearán el tráfico HTTP. De hecho, la transmisión dinámica adaptativa sobre HTTP (DASH) se ha convertido en una práctica común. Aunque en teoría HTTP puede encapsular otros protocolos, aún necesitan proporcionar una transferencia confiable, lo que nuevamente impide UDP. En particular, para compañías como Google y Netflix, crean su propia CDN.

Puede encontrar una respuesta de alias en:

¿Por qué Netflix usa TCP y no UDP para su transmisión de video?

Como ha escrito Pranav, una de las razones por las que se prefiere TCP sobre UDP es que los administradores de red en las empresas a menudo bloquean los datos UDP por razones de seguridad (los datos UDP no se pueden limitar).

Otra razón es que los videos de YouTube no son videos de transmisión en tiempo real (excepto YouTube en vivo). Son simplemente vidos que obtienes y ves una vez almacenados. Para videos en tiempo real, el uso de UDP tiene el mérito de que es más rápido y tiene una sobrecarga más baja, y no le importa si deja caer algunos paquetes en el medio. No es así con los videos de YouTube. YouTube los almacena y puede verlos de nuevo, rebobinarlos, pausarlos, etc. Así que definitivamente necesita un protocolo de transmisión confiable como TCP. Por lo tanto, si falta un paquete que provoque una falla en el video, TCP permitirá que el paquete se retransmita. YouTube también ajusta la calidad del video en función de la congestión de la red, y esto puede ser detectado por TCP.

YouTube utiliza RTSP para transmitir videos en Flash Player y el rol de HTTP para proporcionar páginas web a los usuarios finales.

Como mencionó en la pregunta ¿Por qué TCP y por qué no UDP? (Cuando estudiamos en OSI Layer UDP se usa para transmitir videos)

Como le dije a RTSP se utilizan videos de transmisión. Youtube usa TCP para controlar los mensajes en lugar de UDP debido a muchas razones. Si usamos UDP, podríamos obtener un mejor rendimiento que TCP, pero UDP perderá muchos fragmentos de paquetes durante la transmisión debido a la naturaleza perdida de las comunicaciones de Internet. Cuando se trata de TCP, garantiza la entrega de contenido sin perder ningún fragmento.

Por lo tanto, CDN está acostumbrado a acelerar la distribución, garantizando la entrega de contenido al usuario final.

TCP (Protocolo de control de transmisión)

UDP (protocolo de datagramas de usuario)

CDN (red de entrega de contenido)

RTSP (Protocolo de transmisión en tiempo real)

¿Cuál es la razón detrás de Youtube usando TCP y no UDP?

Escribí una respuesta a una pregunta similar sobre Netflix que también se aplica a YouTube:

La respuesta de Diwakar Tundlam a ¿Por qué Netflix usa TCP y no UDP para su transmisión de video?

Dado que youtube tiene tanto transmisión en vivo como video estático, por lo tanto, para las transmisiones en vivo como youtube live, usa udp y para el resto del video estático usa tcp y proporciona confiabilidad usando middleware que nos permite ver el mismo video en diferentes formatos como 240 píxeles, 480 píxeles, etc. Además, udp puede ser bloqueado fácilmente por el administrador. Es por eso que udp se usa en caso de transmisión de video en vivo, como en el caso de llamadas telefónicas ip, skype, donde si se pierde un cuadro, nos preocupamos menos por ese pequeño cuadro.

Youtube utiliza el túnel HTTP para mostrar videos … Esto ayuda a evitar Proxies y firewalls. Al usar UDP, sería demasiado fácil para los administradores de red bloquear todo el flujo de udp.