Microsoft eCDN の技術的な概要

概要

Microsoft eCDN は、HLS および MPEG-DASH ビデオ ストリームを配信する WebRTC ベースのピアツーピア (P2P) CDN を運用しています。 ソリューションを動作させるために追加のソフトウェア/クライアント プラグインやハードウェアは必要ありません。 必要なのは、HTML5 準拠の Web ブラウザーまたは Teams Desktop アプリケーションです。

Microsoft eCDN は、オールハンズ 会議などの大規模なストリーミング イベント中に発生するネットワーク輻輳の問題を解決します。 すべての従業員が同じストリームを同時にwatchしようとすると、オフィス ISP リンクが飽和状態になります。 ただし、Microsoft eCDN をデプロイすると、これらの大規模なストリーミング イベント中に効率的な P2P メッシュ ネットワークが形成されるため、ISP リンクの負荷が大幅に軽減されます。

100% 標準ベースおよび SaaS 専用サービスであることも意味します。

  1. Microsoft eCDN のテストと展開にかかる時間はわずか数日です。

  2. Microsoft eCDN は、すべての Microsoft O365 セキュリティ標準に従っており、標準 Web ブラウザーまたはストリーミング プラットフォームのクライアントの限られたサンドボックス環境で実行される JavaScript コードで構成されているため、本質的に安全です。

システムの概要

Microsoft eCDN は、分析と制御を提供しながらピアを調整するサービスとして動作します。 システムは既存の業界標準および技術と互換性がある設計されている。 これは、次のように動作するように設計されていることを意味します。

  • HLS や MPEG-DASH などの HTTP ベースのストリーミング プロトコル。

  • HTML5 ベースのビデオ プレーヤー (JWPlayer、Video.js、Clappr、Kaltura など) とネイティブ 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 に送信します。 ピアは、ネットワーク近接性、キャッシュ割り当て、ストリームの関連性、その他のパラメーターに基づいて選択されます。

    • Client SDK は、スイッチボードの助けを借りて、指定されたピア セットとの WebRTC データ チャネル接続を確立します。

    • ビデオ プレーヤーによって生成された HTTP 要求はプレイヤー プラグインによってインターセプトされ、Microsoft eCDN Client SDK に転送されます。これは、リアルタイムの測定値に基づいて、P2P ネットワークから目的のリソースをフェッチするか、HTTP から、またはその両方から同時にそのリソースをプレーヤーに最も効率的かつタイムリーに返すかを決定します。

    • マニフェスト要求、DRM ライセンス、暗号化は、最新のコピーを取得し、承認メカニズムに準拠するために、常に HTTP エッジ サーバーから取得されます。

    • クライアント SDK は個別に、Microsoft eCDN バックエンドからピア接続を作成するための承認を要求します。 承認されると、クライアント SDK は HTTP と P2P からリソースのダウンロードを開始します。

クライアント ロジックの概要

クライアント SDK は、HTTP ソースと P2P ソースからコンテンツを同時にフェッチします。 つまり、ユーザー エクスペリエンスは、時間内にフェッチされていないセグメントや、P2P ソースの接続速度が不十分なため、悪影響を受けることはありません。

セキュリティ

Microsoft eCDN は、Microsoft O365 セキュリティ標準に準拠しています。

このサービスは、従来のサーバー ベースの CDN サービスと同じくらい安全です。 従来の HTTP サーバーと組み合わせて eCDN を使用するハイブリッド ソリューションであるため、お客様が既に用意している既存のセキュリティ インフラストラクチャ (トークン、キー、Cookie など) を活用します。

通信面では、ピアは WebRTC データ チャネルを介して相互に接続されます。これは、DTLS 暗号化経由で SCTP プロトコルを使用するセキュリティで保護されたパイプです。 さらに、各ビューアーは、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 はライセンスまたはキーの配布を妨げないため、ライセンスやキーを侵害しません。