Compartilhar via


Visão geral técnica do Microsoft eCDN

Introdução

O Microsoft eCDN opera uma CDN P2P (ponto a ponto) baseada na WebRTC que fornece fluxos de vídeo HLS e MPEG-DASH. Nenhum software adicional/ plug-in do cliente ou hardware é necessário para que a solução funcione. Tudo o que você precisa é de um navegador da Web compatível com HTML5 ou aplicativo do Teams Desktop.

O Microsoft eCDN resolve o problema de congestionamento de rede que ocorre durante grandes eventos de streaming, como reuniões de todas as mãos. Se cada funcionário tentar watch o mesmo fluxo ao mesmo tempo, o link ISP do office ficará saturado. No entanto, quando o Microsoft eCDN é implantado, uma rede de malha P2P eficiente é formada durante esses grandes eventos de streaming, o que reduz significativamente a carga no link ISP.

Ser um serviço 100% baseado em padrões e somente SaaS também significa:

  1. O tempo necessário para testar e implantar o Microsoft eCDN é de apenas alguns dias.

  2. O Microsoft eCDN é inerentemente seguro, pois segue todos os padrões de segurança do Microsoft O365 e consiste no código JavaScript, que é executado no ambiente limitado e sandboxed de navegadores Da Web padrão ou do cliente da plataforma de streaming.

Visão geral do sistema

O Microsoft eCDN opera como um serviço que orquestra pares ao fornecer análise e controle. O sistema foi projetado para ser compatível com os padrões e tecnologias existentes do setor. Isso significa que ele foi projetado para trabalhar com:

  • Protocolos de streaming baseados em HTTP, como HLS e MPEG-DASH.

  • Players de vídeo baseados em HTML5 (JWPlayer, Video.js, Clappr, Kaltura etc.) e qualquer jogador nativo do Android ou iOS (ExoPlayer, AVPlayer etc.)

  • CDNs baseadas em HTTP: Akamai, Fastly, CloudFront, Cloudflare, CDN do Azure etc.

  • Servidores de streaming: Wowza, Nimble, módulo Nginx rtmp etc.

  • Tecnologias DRM: Widevine, PlayReady, FairPlay etc.

  • Para ser completamente compatível com, mas ainda assim capaz de aumentar as tecnologias e a infraestrutura existentes, o modelo de entrega de conteúdo que a Microsoft eCDN emprega é híbrido. Ou seja, cada visualizador pode baixar recursos da rede P2P e da rede HTTP simultaneamente.

Diagrama de visão geral da infraestrutura eCDN.

Em alto nível, o sistema eCDN é composto por:

  • Serviço de descoberta de emparelhamento: responsável pela descoberta por pares.

  • Quadro de opções: responsável por criar as conexões P2P iniciais entre os visualizadores.

  • Pipeline de dados: consome toda a telemetria de serviço e a armazena em um data warehouse para consumo de análise.

  • Plug-in do player: responsável por interceptar e encaminhar solicitações relacionadas a vídeo para o SDK do cliente.

  • SDK do cliente: responsável por solicitar inteligentemente recursos de vídeo de HTTP/P2P e costurar os buffers de dados em tempo real.

    • O SDK do cliente se conecta com o back-end (serviço de descoberta de emparelhamento, Quadro de opções, pipeline de dados).

    • O serviço de descoberta envia ao SDK do cliente um conjunto de pares que ele acredita que beneficiarão esse visualizador específico. Os pares são selecionados com base na proximidade da rede, alocação de cache, relevância do fluxo, entre outros parâmetros.

    • O SDK do Cliente estabelece conexões de canal de dados WebRTC com o conjunto especificado de pares com a ajuda do Switchboard.

    • As solicitações HTTP geradas pelo player de vídeo são interceptadas pelo Player Plugin e encaminhadas para o SDK do cliente microsoft eCDN, que decide, com base em medidas em tempo real, se deseja buscar o recurso desejado da rede P2P ou de HTTP ou de ambos simultaneamente para fornecer esse recurso de volta ao player da maneira mais eficiente e oportuna.

    • As solicitações de manifesto, a licença drm e a criptografia são sempre recuperadas do servidor de borda HTTP para obter a cópia mais atual e aderir aos mecanismos de autorização.

    • Independentemente, o SDK do cliente solicita autorização para criar conexões par do back-end do Microsoft eCDN. Depois de autorizado, o SDK do cliente começa a baixar recursos de HTTP e P2P.

Visão geral da lógica do cliente

O SDK do cliente busca conteúdo simultaneamente de fontes HTTP e P2P. Isso significa que a experiência do usuário não será afetada negativamente por segmentos que não foram buscados a tempo ou porque a velocidade de conexão da fonte P2P é insuficiente.

Segurança

O Microsoft eCDN está em conformidade com os padrões de segurança do Microsoft O365.

O serviço é tão seguro quanto qualquer serviço CDN tradicional baseado em servidor. Como é uma solução híbrida, que usa o eCDN em combinação com um servidor HTTP tradicional, aproveitamos a infraestrutura de segurança existente (tokens, chaves, cookies etc.) que um cliente já tem em vigor.

Em termos de comunicação, os pares são conectados uns aos outros por meio do canal de dados WebRTC, que é um pipe seguro que usa o protocolo SCTP sobre criptografia DTLS. Além disso, cada visualizador está conectado ao back-end por meio de uma conexão Websocket segura que usa criptografia TLS. Portanto, nem os dados enviados entre os espectadores nem os metadados enviados entre cada visualizador e o back-end podem ser comprometidos.

Em termos de segurança de fluxo, há vários cenários:

Autenticação no início da sessão

Nesse caso, cada sessão começa com o servidor solicitando ao visualizador uma ID do usuário e uma senha. Se essas credenciais forem válidas, o servidor enviará o arquivo de manifesto para o visualizador e o player de vídeo começará a solicitar segmentos e manifestos adicionais do servidor HTTP de acordo. O Microsoft eCDN não se insere no processo de validação e o visualizador deve passar pelos mesmos portões de autenticação se o Microsoft eCDN está ou não implantado. Somente os espectadores autorizados para um fluxo podem participar do compartilhamento P2P para esse fluxo e eles só compartilham enquanto estão realmente assistindo ao fluxo.

Tokenização em tempo de URL

Nesse caso, a URL do manifesto tem um token adicional, que codifica alguns detalhes sobre o agente de usuário do visualizador (endereço IP, hora de expiração etc.). Um usuário mal-intencionado que de alguma forma obtém uma URL de manifesto por meio do registro em log ou de outras maneiras pode distribuí-la para espectadores não autorizados, mas esses visualizadores não poderão acessar o fluxo, pois a URL do manifesto está tokenizada e o servidor HTTP rejeitará qualquer tentativa de validação, seja por causa do endereço IP ou de outros incompatibilidades do agente de usuário ou por causa da expiração do tempo. Com o Microsoft eCDN, todas as solicitações de manifesto são enviadas diretamente para o servidor HTTP para que a validação não possa ser comprometida.

Proteção de conteúdo do segmento de vídeo

Usuários não autorizados que têm acesso às URLs de fluxo ainda podem tentar acessar o conteúdo dos segmentos de vídeo por meio de outros pares. No caso de os segmentos não serem criptografados, o seguinte risco existe: o usuário não autorizado pode receber a URL de um segmento de um usuário diferente, localizar outros pares que tenham esse recurso relevante e tentar solicitar esse recurso diretamente desses usuários (mesmo que o servidor de mídia/CDN não permita o acesso a esse recurso).

Quando a tokenização de conteúdo estiver habilitada, garantimos que o usuário seja autenticado no nível do recurso antes que outros pares possam enviar dados para esse usuário. Esse é um mecanismo granular que pode conceder acesso a determinados recursos e rejeitar o acesso a outros recursos na mesma sessão.

Outras medidas de proteção incluem criptografia:

Criptografia

Vamos usar, por exemplo, um fluxo HLS protegido com criptografia AES-128. Usuários mal-intencionados podem enviar a URL do manifesto para espectadores não autorizados ou até mesmo os próprios segmentos de vídeo, mas enquanto os espectadores não autorizados não tiverem acesso à chave de descriptografia, eles não poderão watch o fluxo. A chave pode ser enviada ao usuário final de várias maneiras, por exemplo, por meio do manifesto main ou por meio da página HTML ou de algum outro caminho. Independentemente disso, o serviço não se insere nesse processo e a chave é entregue ao player de vídeo usando o mesmo mecanismo se o serviço é implantado ou não, o que significa que a chave é tão segura com ou sem o Microsoft eCDN.

DRM

O caso de uso do DRM se assemelha ao caso de uso de criptografia. A única diferença é que a licença e as chaves são distribuídas pelo mecanismo DRM em vez de pela emissora. Aqui também, o Microsoft eCDN não interfere na distribuição da licença ou das chaves e, portanto, não as compromete.