內容交付網路(CDN)是流媒體工作流不可或缺的組成部分,可實現全球範圍內的高質量影片體驗。 儘管大多數流媒體服務利用CDN來增強影片性能,但它們可能錯失了利用CDN的全部功能來保護其OTT流媒體基礎設施的機會。 本文將回顧如何將CDN部署為OTT流式基礎設施中的安全層,以緩解DDoS攻擊和其他漏洞。 我們也分享CDN組態最佳實務,以提升串流基礎架構的效能與彈性。
清單伺服器
在流式傳輸工作流中,一旦客戶端進行身份驗證並推送播放,客戶端/播放器就會與清單服務器建立會話。 清單伺服器會將播放機導向視訊商店或CDN,以擷取視訊檔案。 清單伺服器在整個回放過程中與客戶端保持持續通信。 在某些流工作流中(例如Verizon Media,現在是Edgio,Platform),我們的清單伺服器為每個查看者創建一個會話。
在一對一串流工作流程中,每位使用者都會取得自己的工作階段。 由於清單是個性化的且不斷變化,因此當指示播放器獲取視流比特率和廣告中斷而變化的視頻文件時,清單無法從CDN緩存中受益。 正如我們將在本文稍後討論的那樣,您必須配置CDN暫存,以便它不會對清單伺服器的性能造成負面影響。
高性能清單伺服器依賴於水平擴展。 例如,我們在流媒體服務中構建了清單伺服器基礎架構,可在多個地理區域實時擴展,為NBA決賽和超級碗等流行直播流媒體提供數百萬個會話。
在清單工作流前面添加CDN層是否仍能為性能和安全性帶來優勢? 這就是我們在將清單伺服器移到CDN之後時所尋求的確認。 我們發現了此工作流程的三大優點。
圖1. CDN通常用於增強影片文件交付(圖表 A),但也可以利用它來增強清單伺服器的安全性和性能(圖 b)。
Benefit 1:自動化DDoS防護
Because Web伺服器可在線上公開訪問,它們是DDoS攻擊的開放,有吸引力的目標。 雖然清單伺服器URL通常不會通告,但它們是可以公開訪問的。 只需花很少的時間,就可以讓熟悉網路的人,並對瀏攬器的Web開發人員工具進行一些基本探測,就可以發現您的URL。
鑑於識別攻擊面相對容易,DDoS攻擊是黑客武器庫中最常見的工具之一。 在黑網上使用低成本服務,攻擊者可以騷擾全球任何Web伺服器,包括清單伺服器。 儘管DDoS對策相對普遍,但Verizon在2020年發現超過13,000次DDoS攻擊。
許多Web服務都部署了DDoS防禦技術。 數據中心和第三方淨化中心服務中的專用硬體是常見的。 但是隨著應用程式轉移到雲端,將DDoS防護移轉到雲端型DDoS供應商的做法越來越普遍。
我們的CDN整合了Stonefish,這是一款靈活的智能DDoS抵禦平臺,可自動阻止99%的第3層和第4層攻擊。 Stonefish旨在提供大規模DDoS防護。 Stonefish內置於我們的250 Tbps以上網路中,跨越300個POP,提供應對最大規模DDoS攻擊所需的雲規模容量。 Stonefish每秒分析數百萬個數據包,對其進行威脅評分,並在必要時自動採取行動,或將攻擊提交給網路營運中心進行升級。
圖2 Stonefish對遍佈全球網絡的流量進行採樣和評分,並在DDoS攻擊影響客戶的Web基礎架構之前自動阻止這些攻擊。
優點2:通過IP Anycast分發請求
DDoS防護也透過內建於Verizon Media Platform Delivery網路的IP Anycast強化。 它允許多臺伺服器共享同一IP地址。 路由器根據用戶請求的位置將其發送到最近的端點,從而減少延遲並增加冗餘。 IP Anycast利用CDN的規模來抵禦大型容量或DDoS攻擊。 CDN中的每臺伺服器都吸收了部分攻擊,從而減少了伺服器和網路的壓力。
優點3:減少清單客戶端延遲
儘管清單伺服器會話具有不可暫存的特性,CDN仍然提供一些性能優勢。 典型的清單到客戶端到伺服器的路徑在公共Internet中最多可以有20個躍點。 相比之下,CDN利用其分散的邊緣伺服器來縮小這一差距,消除了跳數,從而減少了可能發生擁塞的鍊路數量,連接到最接近的入網點(POP)(最多可能只有一個或兩個跳)。 然後,CDN通過POP之間高度優化的連接路由流量。
優化CDN以實現清單伺服器性能
爲了證實這些優勢,Edgio的性能工程團隊創建了一個測試環境,以確保HLS和DASH清單的結果在CDN後面(包括錯誤率,響應時間和上線時間)都相同或更好。
測試比較:
- 具有CDN前端AWS區域的非CDN前端AWS區域
- 具有CDN前端Microsoft Azure區域的非CDN前端Azure區域
每個區域的目標是同時類比實時觀眾250,000人,總計100萬人,其中500,000人通過CDN進行。 HLS與DASH的比例為10:1,這意味著每生成10個HLS查看器,就會有一個DASH查看器。 頻道觀眾使用的廣告間隔頻繁,高於正常水平,旨在過度壓力系統—每分鐘30秒的廣告間隔,結果是30秒的內容,然後是30秒的廣告。 最初的觀眾人數增加為每秒700多名觀眾,類比直播活動的快速啟動。
我們的初始測試顯示CDN後面的區域性能有所下降,導致客戶遇到更長的響應時間和超時錯誤。 為了解決這些問題,我們做了兩項更改。
首先,我們將CDN配置爲不分發清單。 如上所述,由於清單是在一對一會話級別上個性化的,因此沒有必要對清單進行CDN暫存,並且可能會降低性能。
其次,我們研究了HTTP保持活動設定的配置,以便CDN與清單伺服器建立更優的握手頻率。 使用清單伺服器的保持活動狀態設定作為基準,我們將CDN保持活動狀態設定設定為略低於12秒。 為什麼不讓連線無限期地保持開啟? 這與在效率和性能之間取得最佳平衡有關。 就像可寬延會議在過載之前只能維持最大線程數一樣,需要針對伺服器可以處理的內容配置清單/CDN通信。 12秒的設定優化了交互頻率,允許CDN和清單以最佳級別進行通信。
在這些更改之後,我們發現CDN背後的表現性能與CDN背後的表現幾乎沒有區別。 AWS和Microsoft Azure在兩個設定中的執行方式相等。 CDN未報告任何性能和負載問題。
整合一切
The CDN對於任何媒體服務的成功至關重要,可大規模提供高質量的觀眾體驗。 儘管幾乎所有OTT服務都依賴CDN來分發內容,但許多服務都錯失了利用CDN的能力來保護其服務免受DDoS攻擊的機會。 CDN有兩種強大的幫助方式。 首先,CDN的大規模規模可以與最大規模DDoS攻擊的規模相匹配。 其次,IP Anycast會將任何DDoS攻擊分散到多個伺服器。 除了提高安全性之外,CDN還可在減少清單客戶端延遲方面發揮作用。
DDoS攻擊的數量和嚴重性每年都在增長。 全面了解您的所有基礎架構可能會發現提高性能和增強安全性的機會。 OTT服務必須採取措施抵禦服務中斷型DDoS攻擊,同時保持最佳性能。 將清單伺服器移到CDN後面可以實現此目標。
讓我們評估您在OTT基礎結構中的安全需求,並建議提高保護和性能級別的方法。 立即與我們聯繫以了解更多資訊。