共用方式為


Microsoft eCDN 技術概觀

簡介

Microsoft eCDN 會操作 WebRTC 型點對點 (P2P) CDN,以提供 HLS 和 MPEG-DASH 視訊串流。 解決方案不需要額外的軟體/用戶端外掛程式或硬體即可運作。 您只需要 HTML5 相容的網頁瀏覽器或 Teams 桌面應用程式。

Microsoft eCDN 可解決大型串流事件期間發生的網路壅塞問題,例如全手會議。 如果每位員工同時嘗試watch相同的資料流程,辦公室 ISP 連結就會變得飽和。 不過,部署 Microsoft eCDN 時,在這些大型串流事件期間會形成有效率的 P2P 網格網路,這可大幅降低 ISP 連結的負載。

以 100% 標準為基礎且僅限 SaaS 的服務也表示:

  1. 測試和部署 Microsoft eCDN 只需要幾天的時間。

  2. Microsoft eCDN 原本就是安全的,因為它遵循所有 Microsoft O365 安全性標準,並包含 JavaScript 程式碼,其會在標準網頁瀏覽器或串流平臺用戶端的有限沙箱化環境中執行。

系統概觀

Microsoft eCDN 是以服務方式運作,可協調對等,同時提供分析和控制。 系統的設計目的是要與現有的產業標準和技術相容。 這表示它是設計來處理:

  • HTTP 型串流通訊協定,例如 HLS 和 MPEG-DASH。

  • 以 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,它認為這些對等會讓這個特定檢視器受益。 會根據網路鄰近性、快取配置、串流相關性以及其他參數來選取對等。

    • 用戶端 SDK 會在 Switchboard 的協助下,使用指定的對等集建立 WebRTC 資料通道連線。

    • 播放機外掛程式會攔截視訊播放程式所產生的 HTTP 要求,並轉送到 Microsoft eCDN 用戶端 SDK,這會根據即時度量來決定要從 P2P 網路或 HTTP 擷取所需的資源,還是同時從兩者擷取所需的資源,以便以最有效率且及時的方式將該資源提供給播放機。

    • 資訊清單要求、DRM 授權和加密一律會從 HTTP Edge Server 擷取,以取得最新的複本並遵守授權機制。

    • 用戶端 SDK 會獨立要求授權,以從 Microsoft eCDN 後端建立對等連線。 授權之後,用戶端 SDK 就會開始從 HTTP 和 P2P 下載資源。

用戶端邏輯概觀

用戶端 SDK 會同時從 HTTP 和 P2P 來源擷取內容。 這表示使用者體驗不會受到未及時擷取的區段或因為 P2P 來源的連線速度不足而造成負面影響。

安全性

Microsoft eCDN 符合 Microsoft O365 安全性標準。

此服務與任何傳統伺服器型 CDN 服務一樣安全。 因為它是混合式解決方案,其中一個搭配傳統 HTTP 伺服器使用 eCDN 的解決方案,所以我們會利用現有的安全性基礎結構 (客戶已備妥的權杖、金鑰、Cookie 等 ) 。

就通訊而言,對等會透過 WebRTC 資料通道彼此連線,這是透過 DTLS 加密使用 SCTP 通訊協定的安全管道。 此外,每個檢視器都會透過使用 TLS 加密的安全 Websocket 連線連線到後端。 因此,在檢視者之間傳送的資料,或在每個檢視器與後端之間傳送的中繼資料,都無法遭到入侵。

就串流安全性而言,有幾個案例:

會話啟動時的驗證

在此情況下,每個會話都是從要求檢視器輸入使用者識別碼和密碼的伺服器開始。 如果這些認證有效,伺服器會將資訊清單檔案傳送給檢視器,而視訊播放程式會據此開始向 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 也不會干擾授權或金鑰的散發,因此不會危害它們。