windows-itpro-docs/windows/deployment/update/delivery-optimization-workflow.md
2021-09-05 16:23:50 -06:00

5.5 KiB

title, manager, description, keywords, ms.prod, ms.mktglfcycl, audience, author, ms.localizationpriority, ms.author, ms.collection, ms.topic
title manager description keywords ms.prod ms.mktglfcycl audience author ms.localizationpriority ms.author ms.collection ms.topic
Understand the Delivery Optimization Client-Service Communication Explained laurawi Settings to use with various proxy configurations to allow Delivery Optimization to work updates, downloads, network, bandwidth w10 deploy itpro carmenf medium carmenf M365-modern-desktop article

Delivery Optimization Client-Service Communication Explained

Applies to: Windows 10

Download Request Workflow

The DO workflow described below allows Delivery Optimization to securely and efficiently deliver requested content to the calling device.

  • When a download starts, the DO client will attempt to get its content metadata, from the DO service, which is a hash file containing the SHA-256 hash of each piece in the file, typically piece = 1 MB. Separate metadata that is obtained, through an SSL channel, provides DO a way to verify the authenticity of the hash file itself once it is downloaded.
  • When DO pulls a certain piece of the hash from another peer, it is verified against the known hash in the hash file.
  • If a peer provides an invalid piece, that piece is discarded. A peer that sends multiple bad pieces is banned and will no longer be used as a source by the client performing the download.
  • If DO is unable to obtain the hash file, or the verification of the hash file itself fails, the download will fall back to “Simple Mode” (pulling content only from an HTTP source) and peer to peer will not be allowed.
  • Once DO is done downloading and puts together the file from all the pieces it got, the caller using DO (ConfigMgr for example) performs yet another check for the entire file as well as verify the signature of it prior to proceeding with installation.

Delivery Optimization Service Endpoint And Data Information

Endpoint hostname Name Description Data sent from the computer to the Endpoint (Field/Description)
  • 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
Geo Service used to identify the geo location of the device in order to direct it to the nearest data center.
  • Profile: The device type (ex: PC vs Xbox)
  • doClientVersion: The version of the DoSvc Client
  • groupID: Group the device belongs to (set via DownloadMode = '2' (Group download mode) + groupID group policy / MDM policies)
  • kv*-prod.do.dsp.mp.microsoft.com
  • kv*.prod.do.dsp.mp.microsoft.com
KeyValue Bootstrap service, provides endpoints for all other services as well as device configs
  • countryCode: The country the client is connected from
  • doClientVersion: The version of the DoSvc Client
  • Profile: The device type (ex: PC vs Xbox)
  • eId: Client grouping Id
  • CacheHost: Cache host id<
  • cp*-prod.do.dsp.mp.microsoft.com
  • cp*.prod.do.dsp.mp.microsoft.com
Content Policy Provides content specific policies as well as content metadata URLs
  • Profile: The device type (ex: PC vs Xbox)
  • ContentId: The content identifier
  • doClientVersion: The version of the dosvc client
  • countryCode: The country the client is connected from
  • altCatalogId: If ContentId isn't available, use the download URL instead
  • eId: Client grouping Id
  • CacheHost: Cache host id
  • disc*-prod.do.dsp.mp.microsoft.com
  • disc*.prod.do.dsp.mp.microsoft.com
Discovery Provides the client with the geo-located Array to connect to. (There are two endpoints providing this functionality: /content and /v2/content)
  • Profile: The device type (ex: PC vs Xbox)
  • ContentId: The content identifier
  • doClientVersion: The version of the dosvc client
  • partitionId: Client partitioning hint
  • altCatalogId: If ContentId isn't available, use the download URL instead
  • eId: Client grouping Id
  • cn*-prod.do.dsp.mp.microsoft.com
  • cn*.prod.do.dsp.mp.microsoft.com
Arrays Provides the client with list of peers that have the same content and belong to the same peer group.
  • Profile: The device type (ex: PC vs Xbox)
  • ContentId: The content identifier
  • doClientVersion: The version of the dosvc client
  • altCatalogId: If ContentId isn't available, use the download URL instead
  • PeerId: Identified of the device running DO client
  • ReportedIp: The internal / private IP Address
  • IsBackground: Is the download interactive or background
  • Uploaded: Total bytes uploaded to peers
  • Downloaded: Total bytes downloaded from peers
  • DownloadedCdn: Total bytes downloaded from CDN
  • Left: Bytes left to download
  • Peers Wanted: Total number of peers wanted
  • Group Id: Group the device belongs to (set via DownloadMode 2 + Group ID GP / MDM policies)
  • Scope: The Download mode
  • UploadedBPS: The upload speed in Bytes per Second
  • DownloadBPS: The download speed in Bytes per second
  • eId: Client grouping Id
  • dl.delivery.mp.microsoft.com
  • emdl.ws.microsoft.com
Metadata download can come from different hostnames, however it is required for P2P