內容分發(fā)網(wǎng)絡 CDN

介紹 CDN

內容分發(fā)網(wǎng)絡(英語:Content Delivery Network 或 Content Distribution Network,縮寫:CDN)是建立并覆蓋在承載網(wǎng)上,由不同區(qū)域的服務器組成的分布式網(wǎng)絡。將源站資源緩存到全國各地的邊緣服務器,供用戶就近獲取,降低源站壓力。


CDN 基于這樣的原理:

  • 挑選最優(yōu)的設備為用戶提供服務;
  • 如果某個內容被很多用戶所需要,那么就將它緩存到距離用戶最近的節(jié)點中。

CDN 公司在整個互聯(lián)網(wǎng)上部署數(shù)以百計的 CDN 服務器(Cache),這些服務器通常在運營商的互聯(lián)網(wǎng)數(shù)據(jù)中心(Internet Data Center,IDC)中,盡量靠近接入網(wǎng)絡和用戶。CDN 在 Cache 中復制內容,當內容的提供者更新內容時,CDN 向 Cache 重新分發(fā)這些被刷新的內容。

CDN 提供一種機制,當用戶請求內容時,該內容能夠由以最快速度交付的 Cache 來向用戶提供,這個挑選 “最優(yōu)” 的過程就叫做負載均衡。被選中的最優(yōu) Cache 可能最靠近用戶,或者有一條與用戶之間條件最好的路徑。

CDN 的工作過程

使用 CDN 服務的網(wǎng)站是如何向用戶提供服務的呢?

基于 DNS 解析的 GSLB 系統(tǒng)是目前 CDN 服務商采用比較多的 GSLB 方案?;?DNS 解析的 GSLB 系統(tǒng)的實現(xiàn)又有幾種不同的方式:

  • 通過 CNAME 方式實現(xiàn)負載均衡;
  • 負載均衡器作為權威 DNS 服務器;
  • 負載均衡器作為代理 DNS 服務器。

其中通過 CNAME 方式實現(xiàn)負載均衡是目前業(yè)界使用最多的方式。


通過 CNAME 方式實現(xiàn)負載均衡,一個用戶的訪問流程為:

image-20230301143452601.png

當用戶在瀏覽器的地址欄中輸入 URL 并點擊回車后,瀏覽器首先判斷 URL 中的是 IP 地址,還是域名。如果 URL 中的是域名,那么首先要做的就是域名解析。

域名解析的過程:首先是瀏覽器查看瀏覽器的緩存。

  • 1、2、3:如果瀏覽器中沒有該域名的緩存,那么瀏覽器詢問【本地 DNS 解析器】,【本地 DNS 解析器】首先查看本地 DNS 緩存。如果本地 DNS 緩存中沒有該域名的緩存,那么【本地 DNS 解析器】請求【本地 DNS 服務器】進行域名解析。
  • 4、5、6:如果【本地 DNS 服務器】中沒有該域名的緩存,那么【本地 DNS 服務器】向 DNS 系統(tǒng)中的其他遠程 DNS 服務器發(fā)送查詢請求。

在 domain.com 域的域名服務器中,將 host.domain.com 域名的 CNAME 記錄設置為其他的域名(CDN 服務商的域名的子域名),比如設置為 host.domain.com.cdn.dnsv1.com。

  • 7:【本地 DNS 服務器】獲取到 domain.com 域的域名服務器,向其發(fā)送 host.domain.com 域名解析請求, domain.com 域的域名服務器返回 CNAME 記錄,該 CNAME 記錄的值為 host.domain.com.cdn.dnsv1.com(CDN 服務商的域名的子域名)。
  • 8:【本地 DNS 服務器】獲取到 cdn.dnsv1.com 域的域名服務器(CDN 專用的域名服務器),向其發(fā)送 host.domain.com.cdn.dnsv1.com 域名解析請求。

這樣就將網(wǎng)站域名的解析權交給了 CDN 專用的域名服務器,由 CDN 專用的域名服務器進行網(wǎng)站域名的解析。

  • 9、10:【本地 DNS 服務器】收到域名的解析結果后,【本地 DNS 服務器】緩存數(shù)據(jù),并將解析結果返回給【本地 DNS 解析器】?!颈镜?DNS 解析器】緩存數(shù)據(jù),并將解析結果返回給【客戶端】。
  • 11:【客戶端】緩存數(shù)據(jù),并向緩存服務器發(fā)送請求,緩存服務器響應【客戶端】的請求,將用戶所需的內容返回給【客戶端】。如果這臺緩存服務器上并沒有用戶想要的內容,那么這臺緩存服務器就要向它的上一級緩存服務器請求內容,直至追溯到網(wǎng)站的源服務器將內容拉到本地。

CDN 服務商的職責:CDN 專用的域名服務器將域名解析成緩存服務器的 IP 地址。

CDN 使用者的任務:使用 CDN 服務的網(wǎng)站,將網(wǎng)站域名的解析權交給 CDN 專用的域名服務器,再將需要分發(fā)的內容注入 CDN(或者由 CDN 拉?。涂梢詫崿F(xiàn)內容加速了。

CDN 的應用

CDN 可完成:內容緩存、負載均衡、流媒體加速、動態(tài)內容加速 等任務。

參考資料

《CDN 技術詳解》

CDN技術詳解-雷葆華著-微信讀書 (qq.com)

內容分發(fā)網(wǎng)絡 | 鳳凰架構 (icyfenix.cn)

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容