CDN網路究竟是怎麼加速的?

roc_guo發表於2021-08-12
導讀 CDN的全稱是Content Delivery Network,即內容分發網路。其目的是通過在現有的Internet中增加一層新的網路架構,將網站的內容釋出到最接近使用者的網路“邊緣”,使使用者可以就近取得所需的內容,提高使用者訪問網站的響應速度。

CDN網路究竟是怎麼加速的?CDN網路究竟是怎麼加速的?

CDN

CDN的全稱是Content Delivery Network,即內容分發網路。其目的是通過在現有的Internet中增加一層新的網路架構,將網站的內容釋出到最接近使用者的網路“邊緣”,使使用者可以就近取得所需的內容,提高使用者訪問網站的響應速度。CDN有別於映象,因為它比映象更智慧,或者可以做這樣一個比喻:CDN=更智慧的映象+快取+流量導流。因而,CDN可以明顯提高Internet網路中資訊流動的效率。從技術上全面解決由於網路頻寬小、使用者訪問量大、網點分佈不均等問題,提高使用者訪問網站的響應速度。下面是一個簡單的CND示意圖
CDN網路究竟是怎麼加速的?CDN網路究竟是怎麼加速的?
如上圖所示,是CDN一個常見的架構示意圖,其工作流程可以總結為:當使用者訪問已經加入CDN服務的網站時,首先通過DNS重定向技術確定最接近使用者的最佳CDN節點,同時將使用者的請求指向該節點。當使用者的請求到達指定節點時,CDN的伺服器(節點上的快取記憶體)負責將使用者請求的內容提供給使用者。具體流程為: 使用者在自己的瀏覽器中輸入要訪問的網站的域名,瀏覽器向本地DNS請求對該域名的解析,本地DNS將請求發到網站的主DNS,主DNS根據一系列的策略確定當時最適當的CDN節點,並將解析的結果(IP地址)發給使用者,使用者向給定的CDN節點請求相應網站的內容

工作原理

CDN網路是在使用者和伺服器之間增加Cache層,主要是通過接管DNS實現,將使用者的請求引導到Cache上獲得源伺服器的資料,從而降低網路的訪問時間。

未加快取服務的訪問過程

首先,讓我們看一下傳統的未加快取服務的訪問過程:
CDN網路究竟是怎麼加速的?CDN網路究竟是怎麼加速的?
如圖可以看出,傳統的網路訪問的流程如下:

1:使用者輸入訪問的域名,作業系統向 LocalDns 查詢域名的ip地址;2:LocalDns向 ROOT DNS 查詢域名的授權伺服器(這裡假設LocalDns快取過期);3:ROOT DNS將域名授權dns記錄回應給 LocalDns;4:LocalDns得到域名的授權dns記錄後,繼續向域名授權dns查詢域名的ip地址;5:域名授權dns 查詢域名記錄後,回應給 LocalDns;6:LocalDns 將得到的域名ip地址,回應給使用者端;7:使用者得到域名ip地址後,訪問站點伺服器;8:站點伺服器應答請求,將內容返回給客戶端.

使用CDN快取後的網站的訪問過程

CDN網路究竟是怎麼加速的?CDN網路究竟是怎麼加速的?
如上圖,是使用CDN快取後的網路訪問流程:

1:使用者輸入訪問的域名,作業系統向 LocalDns 查詢域名的ip地址;

2:LocalDns向 ROOT DNS 查詢域名的授權伺服器(這裡假設LocalDns快取過期);

3:ROOT DNS將域名授權dns記錄回應給 LocalDns;

4:LocalDns得到域名的授權dns記錄後,繼續向域名授權dns查詢域名的ip地址;

5:域名授權dns 查詢域名記錄後(一般是CNAME),回應給 LocalDns;

6:LocalDns 得到域名記錄後,向智慧排程DNS查詢域名的ip地址;

7:智慧排程DNS 根據一定的演算法和策略(比如靜態拓撲,容量等),將最適合的CDN節點ip地址回應給 LocalDns;

8:LocalDns 將得到的域名ip地址,回應給使用者端;

9:使用者得到域名ip地址後,訪問站點伺服器。宗上,CDN網路是在使用者和伺服器之間增加Cache層,主要是通過接管DNS實現,將使用者的請求引導到Cache上獲得源伺服器的資料,從而降低網路的訪問的速度。

原文來自:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2786916/,如需轉載,請註明出處,否則將追究法律責任。

相關文章