다음을 통해 공유


Microsoft eCDN 기술 개요

소개

Microsoft eCDN은 HLS 및 MPEG-DASH 비디오 스트림을 제공하는 WebRTC 기반 P2P(피어 투 피어) CDN을 운영합니다. 솔루션이 작동하려면 추가 소프트웨어/클라이언트 플러그 인 또는 하드웨어가 필요하지 않습니다. HTML5 규격 웹 브라우저 또는 Teams 데스크톱 애플리케이션만 있으면 됩니다.

Microsoft eCDN은 모든 사용자 모임과 같은 대규모 스트리밍 이벤트 중에 발생하는 네트워크 정체 문제를 해결합니다. 모든 직원이 동시에 동일한 스트림을 watch 경우 사무실 ISP 링크가 포화 상태가 됩니다. 그러나 Microsoft eCDN이 배포되면 이러한 대규모 스트리밍 이벤트 중에 효율적인 P2P 메시 네트워크가 형성되어 ISP 링크의 부하가 크게 줄어듭니다.

100% 표준 기반 및 SaaS 전용 서비스인 것도 다음을 의미합니다.

  1. Microsoft eCDN을 테스트하고 배포하는 데 걸리는 시간은 며칠에 불과합니다.

  2. Microsoft eCDN은 모든 Microsoft O365 보안 표준을 따르고 표준 웹 브라우저 또는 스트리밍 플랫폼 클라이언트의 제한된 샌드박스 환경에서 실행되는 JavaScript 코드로 구성되므로 기본적으로 안전합니다.

시스템 개요

Microsoft eCDN은 분석 및 제어를 제공하면서 피어를 오케스트레이션하는 서비스로 작동합니다. 이 시스템은 기존 산업 표준 및 기술과 호환되도록 설계되었습니다. 즉, 다음과 같이 작동하도록 설계되었습니다.

  • HLS 및 MPEG-DASH와 같은 HTTP 기반 스트리밍 프로토콜.

  • HTML5 기반 비디오 플레이어(JWPlayer, Video.js, 클래퍼, 칼투라 등) 및 모든 네이티브 Android 또는 iOS 플레이어(ExoPlayer, AVPlayer 등)

  • HTTP 기반 CDN: Akamai, Fastly, CloudFront, Cloudflare, Azure CDN 등

  • 스트리밍 서버: Wowza, Nimble, Nginx rtmp 모듈 등

  • DRM 기술: Widevine, PlayReady, FairPlay 등

  • 기존 기술과 인프라를 완전히 호환하면서도 보강할 수 있도록 Microsoft eCDN에서 사용하는 콘텐츠 배달 모델은 하이브리드 모델입니다. 즉, 각 뷰어는 P2P 네트워크와 HTTP 네트워크 모두에서 동시에 리소스를 다운로드할 수 있습니다.

eCDN 인프라의 개요 다이어그램

높은 수준에서 eCDN 시스템은 다음으로 구성됩니다.

  • 피어링 검색 서비스: 피어 검색을 담당합니다.

  • 스위치보드: 뷰어 간의 초기 P2P 연결을 만드는 역할을 담당합니다.

  • 데이터 파이프라인: 모든 서비스 원격 분석을 사용하고 분석 사용을 위해 데이터 웨어하우스에 저장합니다.

  • 플레이어 플러그 인: 클라이언트 SDK에 비디오 관련 요청을 가로채고 전달하는 역할을 담당합니다.

  • 클라이언트 SDK: HTTP/P2P에서 비디오 리소스를 지능적으로 요청하고 데이터 버퍼를 실시간으로 연결합니다.

    • 클라이언트 SDK는 백 엔드(피어링 검색 서비스, 스위치보드, 데이터 파이프라인)와 연결됩니다.

    • 검색 서비스는 클라이언트 SDK에 이 특정 뷰어에 도움이 될 것으로 생각되는 일련의 피어를 보냅니다. 피어는 다른 매개 변수 중 네트워크 근접성, 캐시 할당, 스트림 관련성에 따라 선택됩니다.

    • 클라이언트 SDK는 Switchboard의 도움을 받아 지정된 피어 집합을 사용하여 WebRTC 데이터 채널 연결을 설정합니다.

    • 비디오 플레이어에 의해 생성된 HTTP 요청은 플레이어 플러그 인에 의해 가로채서 Microsoft eCDN 클라이언트 SDK로 전달됩니다. 이 SDK는 실시간 측정값에 따라 P2P 네트워크에서 원하는 리소스를 가져올지 HTTP에서 가져올지, 아니면 두 리소스를 플레이어에게 가장 효율적이고 시기 적절한 방식으로 다시 제공할지 여부를 결정합니다.

    • 매니페스트 요청, DRM 라이선스 및 암호화는 항상 HTTP 에지 서버에서 검색되어 최신 복사본을 가져와서 권한 부여 메커니즘을 준수합니다.

    • 독립적으로 클라이언트 SDK는 Microsoft eCDN 백 엔드에서 피어 연결을 만들기 위한 권한 부여를 요청합니다. 권한이 부여되면 클라이언트 SDK가 HTTP 및 P2P에서 리소스를 다운로드하기 시작합니다.

클라이언트 논리 개요

클라이언트 SDK는 HTTP 및 P2P 원본에서 동시에 콘텐츠를 가져옵니다. 즉, 시간 내에 페치되지 않았거나 P2P 원본의 연결 속도가 부족하기 때문에 사용자 환경이 부정적인 영향을 받지 않습니다.

보안

Microsoft eCDN은 Microsoft O365 보안 표준을 준수합니다.

이 서비스는 기존 서버 기반 CDN 서비스만큼 안전합니다. 기존 HTTP 서버와 함께 eCDN을 사용하는 하이브리드 솔루션이므로 고객이 이미 보유하고 있는 기존 보안 인프라(토큰, 키, 쿠키 등)를 활용합니다.

통신 측면에서 피어는 DTLS 암호화를 통해 SCTP 프로토콜을 사용하는 보안 파이프인 WebRTC 데이터 채널을 통해 서로 연결됩니다. 또한 각 뷰어는 TLS 암호화를 사용하는 보안 Websocket 연결을 통해 백 엔드에 연결됩니다. 따라서 뷰어 간에 전송된 데이터나 각 뷰어와 백 엔드 간에 전송된 메타데이터는 손상될 수 없습니다.

스트림 보안 측면에서 다음과 같은 몇 가지 시나리오가 있습니다.

세션 시작 시 인증

이 경우 모든 세션은 서버에서 뷰어에게 사용자 ID 및 암호를 요청하는 것으로 시작합니다. 이러한 자격 증명이 유효한 경우 서버는 뷰어에 매니페스트 파일을 보내고 비디오 플레이어는 그에 따라 HTTP 서버에서 세그먼트 및 추가 매니페스트를 요청하기 시작합니다. Microsoft eCDN은 유효성 검사 프로세스에 자신을 삽입하지 않으며, 뷰어는 Microsoft eCDN이 배포되었는지 여부에 관계없이 동일한 인증 게이트를 통과해야 합니다. 스트림에 대한 권한이 있는 뷰어만 해당 스트림에 대한 P2P 공유에 참여할 수 있으며 실제로 스트림을 시청하는 동안에만 공유할 수 있습니다.

URL 시간 제한 토큰화

이 경우 매니페스트 URL에는 뷰어의 사용자 에이전트(IP 주소, 만료 시간 등)에 대한 몇 가지 세부 정보를 인코딩하는 추가 토큰이 있습니다. 로그인을 통해 또는 다른 방법으로 매니페스트 URL을 가져오는 악의적인 사용자는 권한이 없는 뷰어에게 배포할 수 있지만, 매니페스트 URL이 토큰화되고 HTTP 서버가 IP 주소 또는 다른 사용자 에이전트 불일치 또는 시간 만료로 인해 유효성 검사 시도를 거부하므로 해당 뷰어는 스트림에 액세스할 수 없습니다. Microsoft eCDN을 사용하면 모든 매니페스트 요청이 HTTP 서버로 직접 전송되므로 유효성 검사를 손상할 수 없습니다.

비디오 세그먼트 콘텐츠 보호

스트림 URL에 액세스하는 권한이 없는 사용자는 다른 피어를 통해 비디오 세그먼트의 콘텐츠에 계속 액세스하려고 시도할 수 있습니다. 세그먼트가 암호화되지 않은 경우 권한이 없는 사용자는 다른 사용자로부터 세그먼트의 URL을 받고, 관련 리소스가 있는 다른 피어를 찾고, 이러한 사용자로부터 직접 이 리소스를 요청할 수 있습니다(미디어 서버/CDN에서 이 리소스에 대한 액세스를 허용하지 않더라도).

콘텐츠 토큰화를 사용하도록 설정하면 다른 피어가 해당 사용자에게 데이터를 보내기 전에 사용자가 리소스 수준에서 인증되었는지 확인합니다. 이는 특정 리소스에 대한 액세스 권한을 부여하고 동일한 세션의 다른 리소스에 대한 액세스를 거부할 수 있는 세분화된 메커니즘입니다.

추가 보호 조치에는 암호화가 포함됩니다.

암호화

예를 들어 AES-128 암호화로 보호되는 HLS 스트림을 살펴보겠습니다. 악의적인 사용자는 권한 없는 뷰어 또는 비디오 세그먼트 자체에 매니페스트 URL을 보낼 수 있지만 권한이 없는 뷰어에게 암호 해독 키에 대한 액세스 권한이 없는 한 스트림을 watch 수 없습니다. 키는 기본 매니페스트 또는 HTML 페이지 또는 다른 경로를 통해 다양한 방법으로 최종 사용자에게 보낼 수 있습니다. 어쨌든 서비스는 이 프로세스에 자신을 삽입하지 않으며, 서비스는 배포 여부에 관계없이 동일한 메커니즘을 사용하여 비디오 플레이어에게 전달됩니다. 즉, Microsoft eCDN을 사용하거나 사용하지 않고도 키가 안전합니다.

Drm

DRM 사용 사례는 암호화 사용 사례와 유사합니다. 유일한 차이점은 라이선스와 키가 브로드캐스터가 아닌 DRM 메커니즘에 의해 배포된다는 것입니다. 여기서도 Microsoft eCDN은 라이선스 또는 키의 배포를 방해하지 않으므로 손상되지 않습니다.