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