Como funciona a Otimização de Entrega

A Otimização de Entrega é uma solução gerenciada na nuvem que coordena downloads de várias fontes: a CDN (fonte HTTP) original, o Cache Conectado da Microsoft e dispositivos P2P (ponto a ponto). Este artigo explica como essas fontes funcionam juntas, incluindo descoberta de pares, troca de conteúdo, segurança e comunicação de serviço ao cliente.

Visão geral

A Otimização de Entrega usa um modelo de download de várias fontes coordenado pela nuvem. O cliente de Otimização de Entrega pode baixar conteúdo em paralelo da fonte HTTP (CDN) original, servidores de Cache Conectado da Microsoft e pares qualificados. Cada peça recebida de um par é verificada criptograficamente antes do uso.

O ponto a ponto é habilitado por padrão no cliente Windows usando o modo de download da LAN (Modo de Download 1). Nesse modo, a atividade do par é restrita apenas à rede local e os dispositivos não tentam fazer download ou carregar para pares da Internet. Nem todos os tipos de conteúdo são compatíveis com Ponto a Ponto. Para obter uma lista completa, consulte Tipos de conteúdo de download com suporte da Otimização de Entrega.

Princípios fundamentais:

  • Coordenado na nuvem: o serviço de nuvem de Otimização de Entrega corresponde aos pares. Os dispositivos não se descobrem diretamente, exceto por meio da descoberta local de pares no Windows 11.
  • Não confiável por pares: o conteúdo recebido de colegas nunca é confiável até que cada peça seja verificada por hash em relação a metadados em boas condições.
  • Fallback de CDN sempre disponível: Peer-to-peer é uma camada de otimização. A CDN (origem HTTP) está sempre disponível como um fallback.
  • O P2P usa um protocolo personalizado: as transferências ponto a ponto usam um protocolo binário de Otimização de Entrega sobre TCP (porta 7680), não SMB, caminhos UNC ou compartilhamentos de arquivos.

Como ajudamos a manter seus dados seguros

A Otimização de Entrega não pode ser usada para baixar ou enviar conteúdo pessoal. A Otimização de Entrega não acessa arquivos ou pastas pessoais e não altera nenhum arquivo no dispositivo.

A Otimização de Entrega baixa as mesmas atualizações e aplicativos que você obteria por meio do Windows Update, aplicativos da Microsoft Store e outras atualizações da Microsoft usando as mesmas medidas de segurança. Para garantir que você receba atualizações autênticas, a Otimização de Entrega obtém informações da Microsoft com segurança para marcar a autenticidade de cada parte de uma atualização ou aplicativo baixado de outros computadores. A autenticidade dos downloads é verificada novamente antes de instalá-lo.

Descoberta no mesmo nível

Quando um download começa, o cliente de Otimização de Entrega entra em contato com o serviço de nuvem de Otimização de Entrega para localizar outros dispositivos que tenham o mesmo conteúdo.

Como os dispositivos se registram no serviço de nuvem de Otimização de Entrega

O cliente se registra no serviço de nuvem de Otimização de Entrega, relatando as seguintes informações:

  • Identificadores de conteúdo, como a URL de conteúdo
  • Um GUID gerado aleatoriamente que identifica exclusivamente o dispositivo
  • O endereço IP privado/interno e a máscara de sub-rede do dispositivo
  • Cadeia de caracteres de ID de grupo, se o modo de download de grupo estiver configurado e uma ID de grupo estiver definida
  • Uma máscara de bits de perfil para atributos adicionais do dispositivo, como plataforma (PC/Servidor), SKU (Desktop/Empresa) e se o dispositivo é uma VM
  • Atributos de download, como prioridade, bytes baixados e carregados e velocidades de transferência

O cliente se registra periodicamente no serviço enquanto o conteúdo permanece ativo no cache de Otimização de Entrega.

Como os pares são correspondidos

O serviço de nuvem de Otimização de Entrega corresponde aos pares com base em:

  1. ContentID: somente dispositivos que baixam ou armazenam o mesmo conteúdo em cache são candidatos.
  2. GroupID: os pares devem pertencer ao mesmo grupo (determinado pelo Modo de Download e pelas configurações da política de grupo).
  3. IP externo e localização geográfica: usado para colocar dispositivos próximos.

O serviço de descoberta direciona o cliente para uma instância de serviço de matriz próxima. O serviço Array é o principal componente de correspondência de pares: ele mantém um registro de quais dispositivos têm qual conteúdo e retorna uma lista de pares correspondentes.

Como os grupos de pares são formados

A forma como o grupo de peer é determinado depende do modo de download configurado:

Modo de Download Valor Escopo do grupo de pares
Somente HTTP 0 Sem peer-to-peer. O serviço de nuvem de Otimização de Entrega ainda é usado para metadados.
LAN (padrão) 1 Dispositivos que compartilham o mesmo endereço IP público (por trás da mesma NAT).
Grupo 2 Dispositivos que compartilham o mesmo GroupID. Pode ultrapassar limites de NAT usando o Teredo.
Internet 3 Todos os pares, incluindo os pares da Internet. Usa o Teredo para passagem de NAT.
Simples 99 Nenhum contato de serviço de nuvem Ponto a Ponto e Nenhum Contato de Serviço de Nuvem de Otimização de Entrega. Para ambientes com air gap.

Para obter detalhes sobre como a ID do grupo é determinada e o comportamento de fallback, consulte DOGroupID e DOGroupIDSource.

Para obter mais informações sobre como configurar grupos de pares, consulte Considerações de configuração da Otimização de Entrega.

Descoberta local por pares (Windows 11)

No Windows 11, a Otimização de Entrega também dá suporte a DNS-SD (mDNS) para descoberta local de pares usando a pilha de rede local em vez do serviço de nuvem de Otimização de Entrega. A descoberta local de pares funciona mesmo quando uma conexão VPN está ativa. Para habilitar esse recurso, configure o Selecione um método para restringir a política de seleção de pares à Descoberta de Pares Local (2).

Troca de conteúdo

Metadados de conteúdo (partes, arquivo de hash)

Antes de iniciar qualquer transferência ponto a ponto, o cliente obtém um arquivo de metadados de conteúdo conhecido como PHF (Arquivo de Hash de Peças). O PHF contém hashes SHA-256 para cada parte do conteúdo.

  • Tamanho por peça: normalmente 1 MB por peça
  • Algoritmo de hash: SHA-256
  • O PHF é fornecido de *.dl.delivery.mp.microsoft.com ou *.windowsupdate.com
  • A autenticidade do próprio PHF é verificada por meio de um hash obtido por meio de um canal SSL do serviço de Otimização de Entrega

Se o PHF não puder ser obtido ou falhar na verificação, o download retornará ao modo Simples: somente HTTP sem ponto a ponto. Esse comportamento é uma salvaguarda de segurança: sem metadados verificados, o conteúdo de pares não pode ser confiável.

Download paralelo de várias fontes

Uma vez que o PHF esteja disponível, a descoberta de pares e o download de conteúdo podem acontecer em paralelo. O cliente de Otimização de Entrega baixa trechos de várias fontes simultaneamente:

  1. Pares: por meio do protocolo peer de Otimização de Entrega pela porta TCP 7680
  2. Cache conectado da Microsoft: se configurado via DOCacheHost, DOCacheHostSource ou DHCP Opção 235
  3. CDN (origem HTTP): pontos de extremidade de entrega de conteúdo da Microsoft (sempre disponíveis como fallback)

Cada parte de 1 MB pode vir de uma fonte diferente. O cliente monta o arquivo completo de todas as fontes.

As políticas relacionadas a atrasos podem controlar quanto tempo a Otimização de Entrega aguarda antes de favorecer os downloads de origem HTTP. Para obter mais informações, consulte Melhorar a eficiência P2P.

A Otimização de Entrega limita automaticamente a atividade ponto a ponto para evitar saturar sua rede. Para obter detalhes sobre como a largura de banda é medida e as políticas disponíveis para controlá-la, consulte Opções de limitação de largura de banda.

Verificação de conteúdo

Cada parte recebida de um peer é verificada em relação ao seu hash SHA-256 no PHF antes de ser aceita:

Cenário Comportamento
Peça válida Armazenado no cache local e disponível para upload para outros pares
Peça inválida Descartado imediatamente
Várias partes inválidas do mesmo par O par está banido pelas próximas horas

Isso cria uma cadeia de verificação de duas camadas:

  1. Autenticidade PHF: Verificada via canal SSL do serviço de Otimização de Entrega
  2. Integridade da peça: cada peça com hash verificado em relação ao PHF (SHA-256)

Fluxo de trabalho de solicitação de download

Este fluxo de trabalho resume como a Otimização de Entrega entrega entrega o conteúdo solicitado de forma segura e eficiente, combinando as etapas de descoberta de pares, troca de conteúdo e verificação:

  1. Quando um download é iniciado, o cliente de Otimização de Entrega tenta obter seus metadados de conteúdo. Esses metadados de conteúdo são um arquivo de hash que contém os hashes de nível de bloco SHA-256 de cada parte do arquivo (normalmente uma parte = 1 MB).
  2. A autenticidade do próprio arquivo de metadados de conteúdo é verificada antes de qualquer conteúdo ser baixado usando um hash obtido por meio de um canal SSL do serviço de Otimização de Entrega. O mesmo canal é usado para garantir que o conteúdo seja curado e autorizado a usar ponto a ponto.
  3. Quando a Otimização de Entrega extrai uma determinada parte do hash de outro par, ela verifica o hash em relação ao hash conhecido no arquivo de metadados de conteúdo.
  4. Se um peer fornecer uma parte inválida, essa parte será descartada. Quando um par envia várias peças incorretas, ele é banido e não será mais usado como fonte pelo cliente de Otimização de Entrega que executa o download.
  5. Se a Otimização de Entrega não conseguir obter o arquivo de metadados de conteúdo ou se a verificação do próprio arquivo de hash falhar, o download retornará ao modo simples. O modo simples só extrairá conteúdo da fonte HTTP e o ponto a ponto não será permitido.
  6. Após a conclusão do download, a Otimização de Entrega usa todas as partes recuperadas do conteúdo para montar o arquivo solicitado.

Requisitos de rede para ponto a ponto

Portas necessárias

Port Protocolo Finalidade
443 TCP (HTTPS) Comunicação do serviço de nuvem de Otimização de Entrega (descoberta, correspondência de pares, localização geográfica, configuração)
80 TCP (HTTP) Metadados de conteúdo e entrega de conteúdo CDN
7680 TCP Compartilhamento de conteúdo ponto a ponto entre clientes de Otimização de Entrega

Importante

O bloqueio da porta 7680 desabilita todo o compartilhamento ponto a ponto. Os downloads continuam funcionando por meio do fallback da CDN.

Considerações sobre proxy

Para obter suporte e limitações de proxy atuais, consulte Usando um proxy com Otimização de Entrega.

Percurso de NAT

  • Modo LAN (1): os pares devem compartilhar o mesmo IP público (por trás do mesmo NAT). Não é necessário atravessar.
  • Modo de grupo (2) e modo de Internet (3): os pares podem estar atrás de diferentes NATs. A Otimização de Entrega usa o Teredo para passagem de NAT. Consulte a documentação do Teredo para obter detalhes de configuração do firewall.

Cache local

O conteúdo baixado pela Otimização de Entrega é armazenado em um cache local e pode ser compartilhado com outros pares. A tabela a seguir mostra os valores padrão. Cada um desses padrões pode ser substituído pela política. Para obter detalhes sobre todas as configurações relacionadas ao cache, consulte Referência de Otimização de Entrega.

Configuração Valor padrão
Local do cache %SYSTEMDRIVE%\Windows\ServiceProfiles\NetworkService\AppData\Local\Microsoft\Windows\DeliveryOptimization\Cache
Expiração de cache 259.200 segundos (3 dias)
Tamanho máximo do cache 20% da capacidade do disco
Espaço livre mínimo em disco 5%
Tamanho mínimo do disco 32 GB
RAM mínima 4 GB

O conteúdo armazenado em cache é compartilhado com pares quando o arquivo está acima do limite DOMinFileSizeToCache (padrão 50 MB), não expirou e o dispositivo tem recursos suficientes de disco, RAM e bateria.

Ponto de extremidade de serviço de Otimização de Entrega e informações de dados

Nome do host do ponto de extremidade Port Nome Descrição Dados enviados do computador para o ponto de extremidade
geover-prod.do.dsp.mp.microsoft.com
geo-prod.do.dsp.mp.microsoft.com
geo.prod.do.dsp.mp.microsoft.com
geover.prod.do.dsp.mp.microsoft.com
443 Localização geográfica Serviço utilizado para identificar a localização do dispositivo para direcioná-lo ao data center mais próximo. Perfil: o tipo de dispositivo (por exemplo, PC ou Xbox)
doClientVersion: a versão do cliente DoSvc
groupID: grupo ao qual o dispositivo pertence (definido com DownloadMode = '2' (modo de download de grupo) + política de grupo groupID/políticas MDM)
kv*.prod.do.dsp.mp.microsoft.com 443 Valor-chave O serviço de inicialização fornece pontos de extremidade para todos os outros serviços e configurações de dispositivo. countryCode: o país ou região a partir do qual o cliente está conectado
doClientVersion: a versão do cliente DoSvc
Perfil: o tipo de dispositivo (por exemplo, PC ou Xbox)
eId: ID de agrupamento de clientes
CacheHost: ID do host de cache
cp*.prod.do.dsp.mp.microsoft.com
443 Política de Conteúdo Fornece políticas específicas de conteúdo e como URLs de metadados de conteúdo. Perfil: o tipo de dispositivo (por exemplo, PC ou Xbox)
ContentId: o identificador de conteúdo
doClientVersion: a versão do cliente DoSvc
countryCode: o país/região de onde o cliente está conectado
altCatalogID: se ContentID não estiver disponível, use a URL de download
eID: ID de agrupamento de clientes
CacheHost: ID do host de cache
disc*.prod.do.dsp.mp.microsoft.com 443 Descoberta Direciona os clientes para uma instância específica do serviço de correspondência de pares (Array), fazendo com que os clientes sejam colocados por fatores, como conteúdo, groupID e IP externo. Perfil: o tipo de dispositivo (por exemplo, PC ou Xbox)
ContentID: o identificador de conteúdo
doClientVersion: a versão do cliente DoSvc
partitionID: Dica de particionamento de cliente
altCatalogID: se ContentID não estiver disponível, use a URL de download
eID: ID de agrupamento de clientes
matriz*.prod.do.dsp.mp.microsoft.com 443 Matrizes Fornece ao cliente uma lista de pares que têm o mesmo conteúdo e pertencem ao mesmo grupo de pares. Perfil: o tipo de dispositivo (por exemplo, PC ou Xbox)
ContentID: o identificador de conteúdo
doClientVersion: a versão do cliente DoSvc
altCatalogID: se ContentID não estiver disponível, use a URL de download
PeerID: identidade do dispositivo que executa o cliente DO
ReportedIp: O endereço IP interno/privado
IsBackground: o download é interativo ou em segundo plano
Carregado: Total de bytes carregados para pares
Baixado: Total de bytes baixados de pares
DownloadedCdn: Total de bytes baixados da CDN
Esquerda: Bytes restantes para download
Pares procurados: Número total de pares desejados
ID do grupo: grupo ao qual o dispositivo pertence (definido via DownloadMode 2 + políticas de GP/MDM da ID do grupo)
Escopo: o modo de Download
UploadedBPS: A velocidade de upload em bytes por segundo
DownloadBPS: A velocidade de download em bytes por segundo
eID: ID de agrupamento de clientes
dl.delivery.mp.microsoft.com
*.windowsupdate.com
80 Hospedagem de arquivo de metadados de Otimização de Entrega Nomes de host da CDN para arquivos de metadados de conteúdo de Otimização de Entrega O download de metadados pode vir de diferentes nomes de host, mas é necessário para ponto a ponto.