CDN 是怎么工作的?你知道嗎?
內容分發網絡(CDN)是指分布在不同地理位置的服務器(也稱為邊緣服務器),可快速分發靜態和動態內容。讓我們來看看它是如何工作的。
假設住在紐約的 Bob 想訪問一個部署在倫敦的電子商務網站。如果請求發送到位于倫敦的服務器,響應速度會相當慢。因此,我們在 Bob 居住地附近部署 CDN 服務器,內容將從附近的 CDN 服務器加載。
下圖說明了這一過程。
圖片
第一步
鮑勃在瀏覽器中輸入 www.myshop.com ,瀏覽器在本地 DNS 緩存中查找域名。
第二步
如果本地 DNS 緩存中不存在該域名,瀏覽器會轉到 DNS 解析器解析該域名。DNS 解析器通常位于互聯網服務提供商 (ISP) 中。
第三步
DNS 解析器對域名進行遞歸解析。最后,它會請求權威名稱服務器解析域名。
第四步
如果不使用 CDN,權威名稱服務器會返回 www.myshop.com 的 IP 地址。但使用 CDN 后,權威名稱服務器會有一個別名指向 www.myshop.cdn.com(CDN 服務器的域名)。
第五步
DNS 解析器要求權威名稱服務器解析 www.myshop.cdn.com。
第六步
權威名稱服務器返回 CDN 負載平衡器的域名 www.myshop.lb.com。
第七步
DNS 解析器要求 CDN 負載平衡器解析 www.myshop.lb.com。負載平衡器根據用戶的 IP 地址、用戶的 ISP、請求的內容和服務器負載選擇最佳 CDN 邊緣服務器。
第八步
CDN 負載均衡器將 CDN 邊緣服務器的 IP 地址返回 www.myshop.lb.com。
第九步
現在我們終于得到了要訪問的實際 IP 地址 DNS 解析器會將 IP 地址返回給瀏覽器。
第十步
瀏覽器訪問 CDN 邊緣服務器加載內容 緩存在 CDN 服務器上的內容有兩種:靜態內容和動態內容。前者包括靜態頁面、圖片和視頻;后者包括邊緣計算的結果。
第十一步
如果邊緣 CDN 服務器緩存中沒有該內容,則上傳到區域 CDN 服務器。如果仍未找到內容,則向上轉到中央 CDN 服務器,甚至轉到原點 -- 倫敦網絡服務器。這就是所謂的 CDN 分配網絡,其中的服務器按地理位置部署。
如何防止緩存在 CDN 上的視頻被盜版?
- 視頻加密和水印
加密:對視頻文件進行加密,只有通過授權的客戶端才能解密和播放。可以采用 AES 等標準加密算法。
動態水印:在視頻中加入可追蹤的動態水印,這些水印會隨著視頻播放而變化,從而可以追溯到盜版來源。
- 簽名和令牌驗證
使用簽名和令牌(Token)來確保每個請求都是經過驗證的。例如,在視頻鏈接中加入時間戳和加密簽名,確保只有在特定時間段內有效,且未經授權的請求會被拒絕。
- 限制緩存時長
設置較短的緩存過期時間,避免視頻內容長時間存儲在 CDN 節點上。通過控制 TTL(Time To Live)或緩存清除策略,減少視頻的緩存存活時間,從而降低盜版的風險。
- 防盜鏈
配置 CDN 和服務器,限制視頻內容的訪問來源。例如,使用 HTTP Referer 頭部檢查,確保只有來自合法網站或應用的請求能夠訪問視頻。




































