배달 최적화의 작동 방식

배달 최적화는 원본 CDN(HTTP 원본), Microsoft 연결된 캐시, P2P(피어 투 피어) 장치 등 여러 원본의 다운로드를 조정하는 클라우드 관리 솔루션입니다. 이 문서에서는 피어 검색, 콘텐츠 교환, 보안 및 클라이언트 서비스 통신을 포함하여 이러한 원본이 함께 작동하는 방식에 대해 설명합니다.

개요

배달 최적화는 클라우드 조정, 다중 소스 다운로드 모델을 사용합니다. 배달 최적화 클라이언트는 원본 CDN(HTTP 원본), Microsoft 연결된 캐시 서버 및 적격 피어에서 콘텐츠를 병렬로 다운로드할 수 있습니다. 피어로부터 받은 모든 조각은 사용하기 전에 암호화로 확인됩니다.

피어 투 피어는 LAN 다운로드 모드(다운로드 모드 1)를 사용하는 Windows 클라이언트에서 기본적으로 사용하도록 설정됩니다. 이 모드에서 피어 활동은 로컬 네트워크로만 제한되며 장치는 인터넷 피어에서 다운로드하거나 인터넷 피어에 업로드하려고 시도하지 않습니다. 일부 콘텐츠 형식은 피어 투 피어를 지원하지 않습니다. 전체 목록은 전송 최적화에서 지원하는 다운로드 콘텐츠 유형을 참조하세요.

주요 원칙:

  • 클라우드 조정: 전송 최적화 클라우드 서비스는 피어와 일치합니다. 장치는 Windows 11에서 로컬 피어 검색을 통해서를 제외하고 서로를 직접 검색하지 않습니다.
  • 피어 신뢰할 수 없음: 피어에서 받은 콘텐츠는 각 조각이 알려진 양호한 메타데이터에 대해 해시 검증될 때까지 신뢰할 수 없습니다.
  • CDN 대체 항상 사용 가능: 피어 투 피어는 최적화 계층입니다. HTTP 원본(CDN)은 항상 대체로 사용할 수 있습니다.
  • P2P는 사용자 지정 프로토콜을 사용합니다. 피어 투 피어 전송은 SMB, UNC 경로 또는 파일 공유가 아닌 TCP(포트 7680)를 통한 전송 최적화 이진 프로토콜을 사용합니다.

Microsoft가 데이터를 안전하게 유지하는 방법

배달 최적화는 개인 콘텐츠를 다운로드하거나 보내는 데 사용할 수 없습니다. 배달 최적화는 개인 파일 또는 폴더에 액세스하지 않으며 장치의 파일을 변경하지 않습니다.

배달 최적화는 동일한 보안 조치를 사용하여 Windows 업데이트, Microsoft Store 앱 및 기타 Microsoft 업데이트를 통해 얻을 수 있는 동일한 업데이트 및 앱을 다운로드합니다. 실제 업데이트를 받고 있는지 확인하기 위해 배달 최적화는 Microsoft에서 정보를 안전하게 가져와 다른 PC에서 다운로드하는 업데이트 또는 앱의 각 부분의 신뢰성을 검사합니다. 다운로드의 신뢰성은 설치하기 전에 다시 확인합니다.

피어 검색

다운로드가 시작되면 전송 최적화 클라이언트는 전송 최적화 클라우드 서비스에 연결하여 동일한 콘텐츠가 있는 다른 디바이스를 찾습니다.

배달 최적화 클라우드 서비스에 디바이스를 등록하는 방법

클라이언트가 전송 최적화 클라우드 서비스에 등록하여 다음 정보를 보고합니다.

  • 콘텐츠 URL 같은 콘텐츠 식별자
  • 장치를 고유하게 식별하는 임의로 생성된 GUID입니다
  • 장치의 개인/내부 IP 주소 및 서브넷 마스크
  • 그룹 다운로드 모드가 구성되어 있고 그룹 ID가 설정된 경우 그룹 ID 문자열
  • 플랫폼(PC/서버), SKU(데스크톱/엔터프라이즈), 장치가 VM인지 여부 같은 추가 장치 특성에 대한 프로필 비트 마스크입니다
  • 우선 순위, 다운로드 및 업로드된 바이트, 전송 속도와 같은 다운로드 특성

클라이언트는 배달 최적화 캐시에서 콘텐츠가 활성 상태로 유지되는 동안 서비스에 주기적으로 자신을 등록합니다.

피어 매칭 방법

전송 최적화 클라우드 서비스는 다음을 기반으로 피어를 일치합니다.

  1. ContentID: 동일한 콘텐츠를 다운로드하거나 캐시하는 장치만 후보입니다.
  2. GroupID: 피어는 동일한 그룹에 속해야 합니다(다운로드 모드 및 그룹 정책 설정에 따라 결정됨).
  3. 외부 IP 및 지리적 위치: 근처의 장치를 배치하는 데 사용됩니다.

검색 서비스는 클라이언트를 가까운 Array 서비스 instance로 안내합니다. 배열 서비스는 피어 매칭 핵심 구성 요소로, 어떤 장치에 어떤 콘텐츠가 있는지에 대한 레지스트리를 유지하고 일치된 피어 목록을 반환합니다.

피어 그룹을 형성하는 방법

피어 그룹을 결정하는 방법은 구성된 다운로드 모드에 따라 달라집니다.

다운로드 모드 값 Peer group scope
HTTP만 0 피어 투 피어 없음. 전송 최적화 클라우드 서비스는 여전히 메타데이터에 사용됩니다.
LAN(기본값) 1 동일한 공용 IP 주소(동일한 NAT 뒤에 있음)를 공유하는 디바이스.
그룹 2 동일한 GroupID를 공유하는 장치입니다. Teredo를 사용하여 NAT 경계를 확장할 수 있습니다.
인터넷 3 인터넷 피어를 포함한 모든 피어. NAT 통과에 Teredo를 사용합니다.
단순 99 피어 투 피어 및 배달 최적화 클라우드 서비스 접점이 없습니다. 에어 갭 환경용.

그룹 ID가 결정되는 방법 및 대체 동작에 대한 자세한 내용은 DOGroupID 및 DOGroupIDSource를 참조하세요.

피어 그룹 구성에 대한 자세한 내용은 전송 최적화 구성 고려 사항을 참조하세요.

로컬 피어 검색(Windows 11)

또한 Windows 11에서 전송 최적화는 전송 최적화 클라우드 서비스와 함께 로컬 네트워킹 스택을 사용하여 로컬 피어 검색을 위한 DNS-SD(mDNS)도 지원합니다. 로컬 피어 검색은 VPN 연결이 활성 상태인 경우에도 작동합니다. 이 기능을 사용하도록 설정하려면 피어 선택 정책을 로컬 피어 검색(2)으로 제한하는 방법 선택을 구성합니다.

DNS-SD와 클라우드 피어 검색은 상호 배타적인 것이 아닙니다. 두 방법 중 하나를 통해 검색된 피어는 동일한 피어 풀에 들어갑니다. 현재 구현은 DNS-SD만 사용하여 클라우드 피어 검색을 제외하는 것을 지원하지 않습니다.

DNS-SD는 mDNS를 통해 피어를 검색합니다. 네트워크에서 mDNS가 구성된 방법에 따라 검색이 로컬 서브넷을 넘어 확장될 수 있습니다. 로컬 피어 검색을 선택해도 피어링이 단일 서브넷 내에 유지된다는 보장은 없습니다. 피어 검색을 동일한 서브넷으로 제한하려면 대신 서브넷 마스크(1) 옵션을 사용합니다.

콘텐츠 교환

콘텐츠 메타데이터(조각 해시 파일)

피어 투 피어 전송이 시작되기 전에 클라이언트는 PHF(조각 해시 파일)라는 콘텐츠 메타데이터 파일을 얻습니다. PHF에는 콘텐츠의 각 부분에 대한 SHA-256 해시가 포함되어 있습니다.

  • 개수 크기: 일반적으로 개당 1MB
  • 해시 알고리즘: 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의 콘텐츠 배달 엔드포인트(항상 대체로 사용 가능)

각 1MB 조각은 다른 원본에서 가져올 수 있습니다. 클라이언트는 모든 원본에서 전체 파일을 어셈블합니다.

지연 관련 정책은 HTTP 원본 다운로드를 우선하기 전에 배달 최적화가 대기하는 기간을 제어할 수 있습니다. 자세한 내용은 P2P 효율성 향상을 참조하세요.

전송 최적화는 네트워크 포화를 방지하기 위해 피어 투 피어 활동을 자동으로 제한합니다. 대역폭 측정 방법 및 대역폭 제어에 사용할 수 있는 정책에 대한 자세한 내용은 대역폭 제한 옵션을 참조하세요.

콘텐츠 확인

피어로부터 받은 모든 조각은 수락되기 전에 PHF의 SHA-256 해시에 대해 확인됩니다.

시나리오 동작
유효한 조각 로컬 캐시에 저장되고 다른 피어에 업로드할 수 있음
잘못된 조각 즉시 폐기
동일한 피어의 여러 잘못된 조각 이후 몇 시간 동안 피어가 금지됩니다

이렇게 하면 2계층 인증 체인이 생성됩니다.

  1. PHF 신뢰성: 전송 최적화 서비스의 SSL 채널을 통해 확인됨
  2. 조각 무결성: PHF(SHA-256)에 대해 해시 확인된 각 조각

다운로드 요청 워크플로

이 워크플로에서는 전송 최적화가 피어 검색, 콘텐츠 교환 및 확인 단계를 결합하여 요청된 콘텐츠를 안전하고 효율적으로 배달하는 방법을 요약합니다.

  1. 다운로드가 시작되면 배달 최적화 클라이언트에서 콘텐츠 메타데이터를 가져오려고 시도합니다. 이 콘텐츠 메타데이터는 파일 내 각 조각의 SHA-256 블록 수준 해시를 포함하는 해시 파일입니다(일반적으로 1조각 = 1MB).
  2. 콘텐츠 메타데이터 파일 자체의 신뢰성은 전송 최적화 서비스에서 SSL 채널을 통해 가져온 해시를 사용하여 콘텐츠를 다운로드하기 전에 확인됩니다. 콘텐츠가 큐레이팅되고 피어 투 피어를 사용할 수 있는 권한이 부여되었는지 확인하는 데 동일한 채널이 사용됩니다.
  3. 전송 최적화가 다른 피어에서 해시의 특정 부분을 가져올 때 콘텐츠 메타데이터 파일의 알려진 해시에 대해 해시를 확인합니다.
  4. 피어가 잘못된 조각을 제공하는 경우 해당 조각은 삭제됩니다. 피어가 여러 잘못된 부분을 보내면 금지되며 다운로드를 수행하는 전송 최적화 클라이언트에서 더 이상 원본으로 사용되지 않습니다.
  5. 전송 최적화에서 콘텐츠 메타데이터 파일을 가져올 수 없거나 해시 파일 자체의 확인에 실패하면 다운로드가 단순 모드로 대체됩니다. 단순 모드는 HTTP 원본에서만 콘텐츠를 가져오며 피어 투 피어는 허용되지 않습니다.
  6. 다운로드가 완료되면 전송 최적화는 검색된 모든 콘텐츠를 사용하여 요청된 파일을 어셈블합니다.

피어 투 피어에 대한 네트워크 요구 사항

필수 포트

Port 프로토콜 용도
443 TCP(HTTPS) 전송 최적화 클라우드 서비스 통신(검색, 피어 매칭, 지역, 구성)
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%
최소 디스크 크기 32GB
최소 RAM 4GB

캐시된 콘텐츠는 파일이 DOMinFileSizeToCache 임계값(기본값 50MB)을 초과하고, 만료되지 않았으며, 장치에 충분한 디스크, 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 부트스트랩 서비스는 다른 모든 서비스 및 장치 구성에 대한 엔드포인트를 제공합니다. 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
디스크*.prod.do.dsp.mp.microsoft.com 443 검색 클라이언트를 피어 매칭 서비스(배열)의 특정 instance로 안내하여 클라이언트가 콘텐츠, 그룹ID 및 외부 IP와 같은 요소에 의해 배치됩니다. 프로필: 장치 유형(예: PC 또는 Xbox)
ContentID: 콘텐츠 식별자입니다.
doClientVersion: DoSvc 클라이언트의 버전
partitionID: 클라이언트 분할 힌트
altCatalogID: ContentID를 사용할 수 없는 경우 다운로드 URL을 대신 사용합니다.
eID: 클라이언트 그룹화 ID
배열*.prod.do.dsp.mp.microsoft.com 443 배열 클라이언트에게 동일한 콘텐츠를 가지며 동일한 피어 그룹에 속하는 피어 목록을 제공합니다. 프로필: 장치 유형(예: PC 또는 Xbox)
ContentID: 콘텐츠 식별자입니다.
doClientVersion: DoSvc 클라이언트의 버전
altCatalogID: ContentID를 사용할 수 없는 경우 다운로드 URL을 대신 사용합니다.
PeerID: DO 클라이언트를 실행하는 디바이스의 ID
ReportedIp: 내부/개인 IP 주소
IsBackground: 다운로드가 대화형 또는 백그라운드인지 여부
업로드됨: 피어에 업로드된 총 바이트
다운로드됨: 피어에서 다운로드한 총 바이트
DownloadedCdn: CDN에서 다운로드한 총 바이트
왼쪽: 다운로드할 바이트 수
피어 구인: 원하는 피어 총 수
그룹 ID: 장치가 속한 그룹(DownloadMode 2 + 그룹 ID GP/MDM 정책을 통해 설정)
범위: 다운로드 모드
UploadedBPS: 초당 바이트의 업로드 속도
DownloadBPS: 다운로드 속도(초당 바이트)입니다.
eID: 클라이언트 그룹화 ID
dl.delivery.mp.microsoft.com
*.windowsupdate.com
80 배달 최적화 메타데이터 파일 호스팅 배달 최적화 콘텐츠 메타데이터 파일에 대한 CDN 호스트 이름 메타데이터 다운로드는 서로 다른 호스트 이름에서 가져올 수 있지만 피어 투 피어에는 필요합니다.