Por que a Netflix usa TCP e não UDP para o seu vídeo em streaming?
Eu não'não trabalho para Netflix nem sei muitos detalhes sobre sua arquitetura de serviço de streaming. Minha resposta é baseada em ser um assinante por um longo tempo.
Netflix é um serviço VoD, ou seja, cada consumidor escolhe um vídeo e o transmite em seu próprio ritmo, pausa e continua em horários aleatórios. Cada utilizador faz isto independentemente. Portanto, não há necessidade de usar o UDP, que é muito mais adequado para transmitir simultaneamente um único vídeo para vários usuários.
Com TCP, it'é muito mais difícil bisbilhotar um stream tocando uma cópia porque o cliente tem que enviar os agradecimentos certos para cada segmento recebido. Como o it's é orientado para conexão, a Netflix pode fazer melhor a autenticação e validação dos clientes.
A Netflix usa alguma criptografia para evitar o roubo de vídeos. It's faz isso mais facilmente para o fluxo TCP devido à garantia de recebimento dos segmentos, e na ordem correta. Com o UDP, eu suspeito que é muito mais difícil fazer isso, já que o conjunto de dados é limitado a cada datagrama. Com a conexão TCP, it's provavelmente é mais fácil sinalizar mudanças de chave de criptografia em intervalos aproximadamente fixos para garantir melhor segurança.
A razão mais forte para eu usar TCP é it's bastante fácil de monitorar a largura de banda entre a fonte e o receptor, e adaptar a qualidade da imagem com base nisso, já que eles possuem ambas as aplicações finais. Netflix não't permite que um player de terceiros reproduza seu stream; ele só funciona com sua aplicação proprietária.
I can't imagine um esquema que suporta simulcast usando UDP que pode alcançar qualidade de reprodução dinâmica por receptor.
A um nível mais amplo de rede TCP é melhor para larguras de banda variáveis que ocorrem na Internet porque ele tem um mecanismo de auto-relógio, conduzido por ACKs, para se adaptar à largura de banda disponível. Todos os roteadores modernos implementam a prevenção de congestionamento usando o algoritmo RED/WRED que realmente funciona bem com TCP para distribuir uniformemente a carga da largura de banda reduzida devido ao congestionamento entre os milhares de fluxos em andamento, de modo que um único fluxo não'não veja muita degradação. RED e UDP don't funcionam bem, tanto quanto sei.
I'tenho certeza de que há muito mais's, mas todos eles podem ser segredos comerciais da empresa e é por isso que ela's tem sido tão dominante.
Ainda alguém com algum conhecimento interno quer concorrer ou refutar, eles'são bem-vindos, e serão muito apreciados.
Artigos semelhantes
- Qual é a razão por trás do uso de TCP e não UDP no Youtube?
- Qual API de streaming de vídeo em tempo real é melhor para o desenvolvimento de streaming de vídeo Android (RTMP Streaming)?
- Você usa um protetor de tela para o seu telefone? Por que você usa ou não usa?
- Se você atualmente assina mais de um serviço de streaming para assistir ao conteúdo de vídeo, quais serviços de streaming você usa, e por quê?