CDN加速原理

2022-06-21 16:12:09 字數 2873 閱讀 1566

原文:

隨著網際網路的發展,使用者在使用網路時對**的瀏覽速度和效果愈加重視,但由於網民數量激增,網路訪問路徑過長,從 而使使用者的訪問質量受到嚴重影響。特別是當使用者與**之間的鏈路被突發的大流量資料擁塞時,對於異地網際網路使用者急速增加的地區來說,訪問質量不良更是乙個 急待解決的問題。

很多時候,大家都在談cdn,那麼何為cdn,原理是什麼,今天就給大家普及普及。

cdn的全稱是content delivery network,即內容分發網路。其目的是通過在現有的internet中增加一層新的網路架構,將**的內容發布到最接近使用者的網路「邊緣」,使使用者可以就近取得所需的內容,提高使用者訪問**的響應速度。cdn有別於映象,因為它比映象更智慧型,或者可以做這樣乙個比喻:cdn=更智慧型的映象+快取+流量導流。因而,cdn可以明顯提高internet網路中資訊流動的效率。從技術上全面解決由於網路頻寬小、使用者訪問量大、網點分布不均等問題,提高使用者訪問**的響應速度。

如上圖所示,是cdn乙個常見的架構示意圖,其工作流程可以總結為:當使用者訪問已經加入cdn服務的**時,首先通過dns重定向技術確定最接近使用者的最佳cdn節點,同時將使用者的請求指向該節點。當使用者的請求到達指定節點時,cdn的伺服器(節點上的快取記憶體)負責將使用者請求的內容提供給使用者。具體流程為: 使用者在自己的瀏覽器中輸入要訪問的**的網域名稱,瀏覽器向本地dns請求對該網域名稱的解析,本地dns將請求發到**的主dns,主dns根據一系列的策略確定當時最適當的cdn節點,並將解析的結果(ip位址)發給使用者,使用者向給定的cdn節點請求相應**的內容。

cdn的實現需要依賴多種網路技術的支援,其中最主要的包括負載均衡技術、動態內容分發與複製技術、快取技術等。

負載均衡技術不僅僅應用於cdn中,在網路的很多領域都得到了廣泛的應用,如伺服器的負載均衡、網路流量的負載均衡。顧名思義,網路中的負載均衡就是將網路的流量盡可能均勻分配到幾個能完成相同任務的伺服器或網路節點上,由此來避免部分網路節點過載。這樣既可以提高網路流量,又提高了網路的整體效能。在cdn中,負載均衡又分為伺服器負載均衡和伺服器整體負載均衡(也有的稱為伺服器全域性負載均衡)。伺服器負載均衡是指能夠在效能不同的伺服器之間進行任務分配,既能保證效能差的伺服器不成為系統的瓶頸,又能保證效能高的伺服器的資源得到充分利用。而伺服器整體負載均衡允許web網路託管商、門戶站點和企業根據地理位置分配內容和服務。通過使用多站點內容和服務來提高容錯性和可用性,防止因本地網或區域網路中斷、斷電或自然災害而導致的故障。在cdn的方案中伺服器整體負載均衡將發揮重要作用,其效能高低將直接影響整個cdn的效能。

眾所周知,**訪問響應速度取決於許多因素,如網路的頻寬是否有瓶頸、傳輸途中的路由是否有阻塞和延遲、**伺服器的處理能力及訪問距離等。多數情況下,**響應速度和訪問者與**伺服器之間的距離有密切的關係。如果訪問者和**之間的距離過遠的話,它們之間的通訊一樣需要經過重重的路由**和處理,網路延誤不可避免。乙個有效的方法就是利用內容分發與複製技術,將佔**主體的大部分靜態網頁、影象和流**資料分發複製到各地的加速節點上。所以動態內容分發與複製技術也是cdn所需的乙個主要技術。

快取技術已經不是一種新鮮技術。web快取服務通過幾種方式來改善使用者的響應時間,如**快取服務、透明**快取服務、使用重定向服務的透明**快取服務等。通過web快取服務,使用者訪問網頁時可以將廣域網的流量降至最低。對於公司內聯網使用者來說,這意味著將內容在本地快取,而無須通過專用的廣域網來檢索網頁。對於internet使用者來說,這意味著將內容儲存在他們的isp的快取器中,而無須通過internet來檢索網頁。這樣無疑會提高使用者的訪問速度。cdn的核心作用正是提高網路的訪問速度,所以,快取技術將是cdn所採用的又乙個主要技術。

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

首先,讓我們看一下傳統的未加快取服務的訪問過程:

如圖可以看出,傳統的網路訪問的流程如下:

使用者輸入訪問的網域名稱,作業系統向 localdns 查詢網域名稱的ip位址;

localdns向 root dns 查詢網域名稱的授權伺服器(這裡假設localdns快取過期);

root dns將網域名稱授權dns記錄回應給 localdns;

localdns得到網域名稱的授權dns記錄後,繼續向網域名稱授權dns查詢網域名稱的ip位址;

網域名稱授權dns 查詢網域名稱記錄後,回應給 localdns;

localdns 將得到的網域名稱ip位址,回應給使用者端;

使用者得到網域名稱ip位址後,訪問站點伺服器;

站點伺服器應答請求,將內容返回給客戶端.

下面讓我們看一下使用cdn快取後的**的訪問過程:

如上圖,是使用cdn快取後的網路訪問流程:

使用者輸入訪問的網域名稱,作業系統向 localdns 查詢網域名稱的ip位址;

localdns向 root dns 查詢網域名稱的授權伺服器(這裡假設localdns快取過期);

root dns將網域名稱授權dns記錄回應給 localdns;

localdns得到網域名稱的授權dns記錄後,繼續向網域名稱授權dns查詢網域名稱的ip位址;

網域名稱授權dns 查詢網域名稱記錄後(一般是cname),回應給 localdns;

localdns 得到網域名稱記錄後,向智慧型排程dns查詢網域名稱的ip位址;

智慧型排程dns 根據一定的演算法和策略(比如靜態拓撲,容量等),將最適合的cdn節點ip位址回應給 localdns;

localdns 將得到的網域名稱ip位址,回應給使用者端;

使用者得到網域名稱ip位址後,訪問站點伺服器。

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

CDN加速原理

cdn的全稱content delivery network,縮寫 cdn 即內容分發網路。cdn是乙個經策略性部署的整體系統,從技術上全面解決由於網路頻寬小 使用者訪問量大 網點分布不均而產生的使用者訪問 響應速度慢的根本原因。cdn目的是通過在現有的internet中增加一層新的網路架構,將 的...

cdn 加速原理

參考文章1 參考文章2 什麼是cdn cdn顧名思義是乙個英文縮寫,全稱是content delivery network 內容分發網路 即服務商通過在世界各地部署大量伺服器節點,快取源站靜態資源 目標伺服器 當使用者訪問時返回最優線路的資源,提高網頁響應速度,給使用者帶來更好的體驗。有什麼好處 原...

CDN 加速原理

一 什麼是 cdn cdn 的全稱是 content delivery network 即內容分發網路。其目的是通過在現有的internet中增加一層新的cache 快取 層,將 的內容發布到最接近使用者的網路 邊緣 的節點,使使用者可以就近取得所需的內容,提高使用者訪問 的響應速度。從技術上全面解...