天天看點

内容分發網絡介紹 CDNCDN 的工作過程CDN 的應用參考資料

介紹 CDN

内容分發網絡(英語:Content Delivery Network 或 Content Distribution Network,縮寫:CDN)是建立并覆寫在承載網上,由不同區域的伺服器組成的分布式網絡。将源站資源緩存到全國各地的邊緣伺服器,供使用者就近擷取,降低源站壓力。

CDN 基于這樣的原理:

  • 挑選最優的裝置為使用者提供服務;
  • 如果某個内容被很多使用者所需要,那麼就将它緩存到距離使用者最近的節點中。

CDN 公司在整個網際網路上部署數以百計的 CDN 伺服器(Cache),這些伺服器通常在營運商的網際網路資料中心(Internet Data Center,IDC)中,盡量靠近接入網絡和使用者。CDN 在 Cache 中複制内容,當内容的提供者更新内容時,CDN 向 Cache 重新分發這些被重新整理的内容。

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

CDN 的工作過程

使用 CDN 服務的網站是如何向使用者提供服務的呢?

基于 DNS 解析的 GSLB 系統是目前 CDN 服務商采用比較多的 GSLB 方案。基于 DNS 解析的 GSLB 系統的實作又有幾種不同的方式:

  • 通過 CNAME 方式實作負載均衡;
  • 負載均衡器作為權威 DNS 伺服器;
  • 負載均衡器作為代理 DNS 伺服器。

其中通過 CNAME 方式實作負載均衡是目前業界使用最多的方式。

通過 CNAME 方式實作負載均衡,一個使用者的通路流程為:

内容分發網絡介紹 CDNCDN 的工作過程CDN 的應用參考資料

當使用者在浏覽器的位址欄中輸入 URL 并點選回車後,浏覽器首先判斷 URL 中的是 IP 位址,還是域名。如果 URL 中的是域名,那麼首先要做的就是域名解析。

域名解析的過程:首先是浏覽器檢視浏覽器的緩存。

  • 1、2、3:如果浏覽器中沒有該域名的緩存,那麼浏覽器詢問【本地 DNS 解析器】,【本地 DNS 解析器】首先檢視本地 DNS 緩存。如果本地 DNS 緩存中沒有該域名的緩存,那麼【本地 DNS 解析器】請求【本地 DNS 伺服器】進行域名解析。
  • 4、5、6:如果【本地 DNS 伺服器】中沒有該域名的緩存,那麼【本地 DNS 伺服器】向 DNS 系統中的其他遠端 DNS 伺服器發送查詢請求。

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

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

這樣就将網站域名的解析權交給了 CDN 專用的域名伺服器,由 CDN 專用的域名伺服器進行網站域名的解析。

  • 9、10:【本地 DNS 伺服器】收到域名的解析結果後,【本地 DNS 伺服器】緩存資料,并将解析結果傳回給【本地 DNS 解析器】。【本地 DNS 解析器】緩存資料,并将解析結果傳回給【用戶端】。
  • 11:【用戶端】緩存資料,并向緩存伺服器發送請求,緩存伺服器響應【用戶端】的請求,将使用者所需的内容傳回給【用戶端】。如果這台緩存伺服器上并沒有使用者想要的内容,那麼這台緩存伺服器就要向它的上一級緩存伺服器請求内容,直至追溯到網站的源伺服器将内容拉到本地。

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

CDN 使用者的任務:使用 CDN 服務的網站,将網站域名的解析權交給 CDN 專用的域名伺服器,再将需要分發的内容注入 CDN(或者由 CDN 拉取),就可以實作内容加速了。

CDN 的應用

CDN 可完成:内容緩存、負載均衡、流媒體加速、動态内容加速 等任務。

參考資料

《CDN 技術詳解》

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

内容分發網絡 | 鳳凰架構 (icyfenix.cn)

繼續閱讀