配信の最適化のしくみ

配信の最適化は、元の HTTP ソース (CDN)、 Microsoft Connected Cache、ピアツーピア (P2P) デバイスなど、複数のソースからのダウンロードを調整するクラウド管理ソリューションです。 この記事では、ピア検出、コンテンツ交換、セキュリティ、クライアント サービス通信など、これらのソースがどのように連携するかについて説明します。

概要

配信の最適化では、クラウドで調整されたマルチソースのダウンロード モデルが使用されます。 配信最適化クライアントは、元の HTTP ソース (CDN)、Microsoft Connected Cache サーバー、および適格なピアからコンテンツを並列にダウンロードできます。 ピアから受信したすべての部分は、使用前に暗号化によって検証されます。

ピアツーピアは、LAN ダウンロード モード (ダウンロード モード 1) を使用して Windows クライアントで既定で有効になっています。 このモードでは、ピア アクティビティはローカル ネットワークのみに制限され、デバイスはインターネット ピアからのダウンロードやインターネット ピアへのアップロードを試みません。 すべてのコンテンツ タイプがピアツーピアをサポートしているわけではありません。 完全な一覧については、「 配信の最適化でサポートされるダウンロード コンテンツの種類」を参照してください。

主な原則:

  • クラウド調整: 配信の最適化クラウド サービスは、ピアと一致します。 Windows 11でのローカル ピア検出を除き、デバイスは相互に直接検出されません。
  • ピア信頼されていない: ピアから受信したコンテンツは、既知の適切なメタデータに対して各部分がハッシュ検証されるまで信頼されません。
  • CDN フォールバックは常に使用可能: ピアツーピアは最適化レイヤーです。 HTTP ソース (CDN) は常にフォールバックとして使用できます。
  • P2P はカスタム プロトコルを使用します。ピアツーピア転送では、SMB、UNC パス、またはファイル共有ではなく、TCP (ポート 7680) 経由の配信最適化バイナリ プロトコルが使用されます。

お客様のデータを安全に保つ方法

配信の最適化を使用して個人用コンテンツをダウンロードまたは送信することはできません。 配信の最適化は個人用ファイルやフォルダーにアクセスせず、デバイス上のファイルも変更されません。

配信の最適化では、同じセキュリティ対策を使用して、Windows Update、Microsoft Store アプリ、およびその他の Microsoft 更新プログラムで入手できるのと同じ更新プログラムとアプリがダウンロードされます。 本物の更新プログラムを確実に入手するために、配信の最適化は、他の PC からダウンロードする更新プログラムまたはアプリの各部分の信頼性をチェックするために、Microsoft から安全に情報を取得します。 ダウンロードの信頼性は、インストールする前に再度確認されます。

ピア検出

ダウンロードが開始されると、配信最適化クライアントは配信最適化クラウド サービスに接続して、同じコンテンツを持つ他のデバイスを見つけます。

デバイスが配信の最適化クラウド サービスに登録する方法

クライアントは配信最適化クラウド サービスに登録し、次の情報を報告します。

  • コンテンツ URL などのコンテンツ識別子
  • デバイスを一意に識別するランダムに生成された GUID
  • デバイスのプライベート/内部 IP アドレスとサブネット マスク
  • グループ ID 文字列 (グループのダウンロード モードが構成されていて、グループ ID が設定されている場合)
  • プラットフォーム (PC/サーバー)、SKU (デスクトップ/エンタープライズ)、デバイスが VM であるかどうかを示す追加のデバイス属性のプロファイル ビット マスク
  • 優先度、ダウンロードおよびアップロードされたバイト数、転送速度などの属性をダウンロードする

コンテンツが配信最適化キャッシュでアクティブなままである間、クライアントはサービスに定期的に登録します。

ピアの照合方法

配信の最適化クラウド サービスは、次に基づいてピアと一致します。

  1. ContentID: 同じコンテンツをダウンロードまたはキャッシュしているデバイスのみが候補です。
  2. GroupID: ピアは同じグループに属している必要があります (ダウンロード モードとグループ ポリシー設定によって決定されます)。
  3. 外部 IP と地理的な場所: 近くのデバイスを併置するために使用されます。

Discovery サービスは、クライアントを近くの Array サービス インスタンスに転送します。 Array サービスは、コア ピアマッチング コンポーネントです。どのデバイスがどのコンテンツを持ち、一致したピアの一覧を返すレジストリを保持します。

ピア グループの形成方法

ピア グループの決定方法は、構成されている ダウンロード モードによって異なります。

ダウンロード モード ピア グループ スコープ
HTTP のみ 0 ピアツーピアなし。 配信の最適化クラウド サービスは、メタデータに引き続き使用されます。
LAN (既定値) 1 同じパブリック IP アドレスを共有するデバイス (同じ NAT の背後)。
Group 2 同じ GroupID を共有するデバイス。 Teredoを使用して NAT 境界にまたがることができます。
インターネット 3 インターネット ピアを含むすべてのピア。 NAT トラバーサルにTeredoを使用します。
シンプル 99 ピアツーピアなし、配信最適化クラウド サービスの連絡先なし。 エアギャップ環境の場合。

グループ ID の決定方法とフォールバック動作の詳細については、「DOGroupID と DOGroupIDSource」を参照してください。

ピア グループの構成の詳細については、「 配信の最適化の構成に関する考慮事項」を参照してください。

ローカル ピア検出 (Windows 11)

Windows 11では、配信の最適化クラウド サービスではなく、ローカル ネットワーク スタックを使用したローカル ピア検出用の DNS-SD (mDNS) もサポートされます。 ローカル ピア検出は、VPN 接続がアクティブな場合でも機能します。 この機能を有効にするには、Select a メソッドを構成して、ピア選択ポリシーをローカル ピア検出 (2) に制限します。

コンテンツ交換

コンテンツ メタデータ (小片ハッシュ ファイル)

ピアツーピア転送が開始される前に、クライアントは 小片ハッシュ ファイル (PHF) と呼ばれるコンテンツ メタデータ ファイルを取得します。 PHF には、コンテンツの各部分の SHA-256 ハッシュが含まれています。

  • ピース サイズ: 通常、1 個あたり 1 MB
  • ハッシュ アルゴリズム: SHA-256
  • PHF は、 *.dl.delivery.mp.microsoft.com または *.windowsupdate.com
  • PHF 自体の信頼性は、配信最適化サービスから SSL チャネルを介して取得されたハッシュによって検証されます

PHF を取得できない場合、または検証に失敗した場合、ダウンロードは 単純モード (ピアツーピアなしの HTTP 専用) にフォールバックします。 この動作はセキュリティ保護策です。検証済みのメタデータがないと、ピアからのコンテンツは信頼できません。

複数のソースからの並列ダウンロード

PHF が使用可能になると、ピア検出とコンテンツのダウンロードが並列で行われる可能性があります。 配信最適化クライアントは、複数のソースから同時にピースをダウンロードします。

  1. ピア: TCP ポート 7680 経由の配信最適化ピア プロトコル経由
  2. Microsoft 接続キャッシュ: DOCacheHost、DOCacheHostSource、または DHCP オプション 235 を使用して構成されている場合
  3. HTTP ソース (CDN): Microsoft のコンテンツ配信エンドポイント (常にフォールバックとして利用可能)

各 1 MB の部分は、異なるソースから取得できます。 クライアントは、すべてのソースから完全なファイルをアセンブルします。

遅延関連のポリシーでは、HTTP ソースのダウンロードを優先する前に配信の最適化が待機する時間を制御できます。 詳細については、「 P2P 効率の向上」を参照してください。

配信の最適化では、ネットワークが飽和しないようにピアツーピア アクティビティが自動的に調整されます。 帯域幅の測定方法と、帯域幅を制御するために使用できるポリシーの詳細については、「 帯域幅調整オプション」を参照してください。

コンテンツの検証

ピアから受信したすべての部分は、受け入れられる前に、PHF の SHA-256 ハッシュに対して検証されます。

シナリオ 動作
有効な部分 ローカル キャッシュに格納され、他のピアへのアップロードに使用できます
無効な部分 すぐに破棄される
同じピアからの複数の無効な部分 ピアは次の数時間禁止されます

これにより、2 層の検証チェーンが作成されます。

  1. PHF の信頼性: 配信最適化サービスの SSL チャネルを介して検証済み
  2. ピースの整合性: PHF に対してハッシュ検証された各部分 (SHA-256)

要求ワークフローのダウンロード

このワークフローは、ピア検出、コンテンツ交換、検証の手順を組み合わせて、要求されたコンテンツを安全かつ効率的に配信する方法をまとめたものです。

  1. ダウンロードが開始されると、配信最適化クライアントはコンテンツ メタデータの取得を試みます。 このコンテンツ メタデータは、ファイル内の各部分の SHA-256 ブロック レベルのハッシュ (通常は 1 つの部分 = 1 MB) を含むハッシュ ファイルです。
  2. コンテンツ メタデータ ファイル自体の信頼性は、配信最適化サービスから SSL チャネルを介して取得されたハッシュを使用してコンテンツがダウンロードされる前に検証されます。 同じチャネルを使用して、コンテンツがキュレーションされ、ピアツーピアの使用が承認されていることを確認します。
  3. 配信の最適化は、別のピアからハッシュの特定の部分をプルすると、コンテンツ メタデータ ファイル内の既知のハッシュに対してハッシュを検証します。
  4. ピアが無効な部分を提供した場合、その部分は破棄されます。 ピアが複数の不適切な部分を送信すると、禁止され、ダウンロードを実行する配信最適化クライアントによってソースとして使用されなくなります。
  5. 配信の最適化がコンテンツ メタデータ ファイルを取得できない場合、またはハッシュ ファイル自体の検証が失敗した場合、ダウンロードは単純モードにフォールバックします。 単純モードでは HTTP ソースからのコンテンツのみがプルされ、ピアツーピアは許可されません。
  6. ダウンロードが完了すると、配信の最適化では、取得したすべてのコンテンツが使用され、要求されたファイルがアセンブルされます。

ピアツーピアのネットワーク要件

必要なポート

Port プロトコル 目的
443 TCP (HTTPS) 配信の最適化クラウド サービス通信 (検出、ピア マッチング、geo、構成)
80 TCP (HTTP) コンテンツ メタデータと CDN ペイロード配信
7680 TCP 配信最適化クライアント間のピアツーピア コンテンツ共有

重要

ポート 7680 をブロックすると、すべてのピアツーピア共有が無効になります。 ダウンロードは引き続き CDN フォールバック経由で機能します。

プロキシに関する考慮事項

現在のプロキシのサポートと制限事項については、「 配信の最適化でプロキシを使用する」を参照してください。

NAT トラバーサル

  • LAN モード (1): ピアは同じパブリック IP を共有する必要があります (同じ NAT の背後)。 トラバーサルは必要ありません。
  • グループ モード (2)インターネット モード (3): ピアは異なる NAT の背後にある可能性があります。 配信の最適化では、NAT トラバーサルにTeredoが使用されます。 ファイアウォールの構成の詳細については、Teredoのドキュメントを参照してください。

ローカル キャッシュ

配信の最適化によってダウンロードされたコンテンツはローカル キャッシュに格納され、他のピアと共有できます。 次の表は、既定値を示しています。 これらの各既定値は、ポリシーによってオーバーライドできます。 キャッシュに関連するすべての設定の詳細については、「 配信の最適化リファレンス」を参照してください。

設定 既定値
キャッシュの場所 %SYSTEMDRIVE%\Windows\ServiceProfiles\NetworkService\AppData\Local\Microsoft\Windows\DeliveryOptimization\Cache
キャッシュの有効期限 259,200 秒 (3 日間)
最大キャッシュ サイズ ディスク容量の 20%
最小空きディスク領域 5%
最小ディスク サイズ 32 GB
最小 RAM 4 GB

ファイルが DOMinFileSizeToCache のしきい値 (既定値は 50 MB) を超え、有効期限が切れていない場合、デバイスに十分なディスク、RAM、バッテリー リソースがある場合、キャッシュされたコンテンツはピアと共有されます。

配信の最適化サービス エンドポイントとデータ情報

エンドポイントホスト名 Port 名前 説明 コンピューターからエンドポイントに送信されるデータ
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 地理 デバイスを最も近いデータ センターに転送するために、デバイスの場所を識別するために使用されるサービス。 プロファイル: デバイスの種類 (PC や Xbox など)
doClientVersion: DoSvc クライアントのバージョン
groupID: デバイスが属するグループ (DownloadMode = '2' (グループ ダウンロード モード) + groupID グループ ポリシー/MDM ポリシーで設定)
kv*.prod.do.dsp.mp.microsoft.com 443 KeyValue Bootstrap サービスは、他のすべてのサービスとデバイス構成のエンドポイントを提供します。 countryCode: クライアントが接続されている国またはリージョン
doClientVersion: DoSvc クライアントのバージョン
プロファイル: デバイスの種類 (PC や Xbox など)
eId: クライアント グループ化 ID
CacheHost: キャッシュ ホスト ID
cp*.prod.do.dsp.mp.microsoft.com
443 コンテンツ ポリシー コンテンツ固有のポリシーとコンテンツ メタデータ URL を提供します。 プロファイル: デバイスの種類 (PC や Xbox など)
ContentId: コンテンツ識別子
doClientVersion: DoSvc クライアントのバージョン
countryCode: クライアントが接続されている国
altCatalogID: ContentID が使用できない場合は、代わりにダウンロード URL を使用します
eID: クライアント グループ化 ID
CacheHost: キャッシュ ホスト ID
disc*.prod.do.dsp.mp.microsoft.com 443 情報表示 クライアントをピア マッチング サービス (Array) の特定のインスタンスに転送します。その後、クライアントはコンテンツ、groupID、外部 IP などの要因によって併置されます。 プロファイル: デバイスの種類 (PC や Xbox など)
ContentID: コンテンツ識別子
doClientVersion: DoSvc クライアントのバージョン
partitionID: クライアントのパーティション分割のヒント
altCatalogID: ContentID が使用できない場合は、代わりにダウンロード URL を使用します
eID: クライアント グループ化 ID
array*.prod.do.dsp.mp.microsoft.com 443 配列 同じコンテンツを持ち、同じピア グループに属するピアの一覧をクライアントに提供します。 プロファイル: デバイスの種類 (PC や Xbox など)
ContentID: コンテンツ識別子
doClientVersion: DoSvc クライアントのバージョン
altCatalogID: ContentID が使用できない場合は、代わりにダウンロード URL を使用します
PeerID: DO クライアントを実行しているデバイスの ID
ReportedIp: 内部/プライベート IP アドレス
IsBackground: ダウンロードは対話型かバックグラウンドか
アップロード済み: ピアにアップロードされた合計バイト数
ダウンロード済み: ピアからダウンロードされた合計バイト数
DownloadsCdn: CDN からダウンロードされた合計バイト数
: ダウンロードするバイト数
ピアが必要: 必要なピアの合計数
グループ ID: デバイスが属するグループ (DownloadMode 2 + グループ ID GP/MDM ポリシーを使用して設定)
スコープ: ダウンロード モード
UploadedBPS: 1 秒あたりのアップロード速度 (バイト単位)
DownloadBPS: 1 秒あたりのダウンロード速度 (バイト単位)
eID: クライアント グループ化 ID
dl.delivery.mp.microsoft.com
*.windowsupdate.com
80 配信の最適化メタデータ ファイルホスティング 配信の最適化コンテンツ メタデータ ファイルの CDN ホスト名 メタデータのダウンロードは異なるホスト名から取得できますが、ピアツーピアには必要です。