CDN加速流程和加速的優點

一·.CDN闡述

CDN的全稱是(Content DeliveryNetwork),即內容分發網絡。其目的是通過在現有的Internet中增加一層新的CACHE(緩存)層,將網站的內容發佈到最接近用戶的網絡”邊緣“的節點,使用戶可以就近取得所需的內容,提高用戶訪問網站的響應速度。從技術上全面解決由於網絡帶寬小、用戶訪問量大、網點分佈不均等原因,提高用戶訪問網站的響應速度。

簡單的說,CDN的工作原理就是將您源站的資源緩存到位於全球各地的CDN節點上,用戶請求資源時,就近返回節點上緩存的資源,而不需要每個用戶的請求都回您的源站獲取,避免網絡擁塞、緩解源站壓力,保證用戶訪問資源的速度和體驗。

在這裏插入圖片描述
圖1

CDN對網絡的優化作用主要體現在如下幾個方面

解決服務器端的“第一公里”問題
緩解甚至消除了不同運營商之間互聯的瓶頸造成的影響
減輕了各省的出口帶寬壓力 緩解了骨幹網的壓力
優化了網上熱點內容的分佈

二、CDN工作原理

傳統的網絡訪問形式爲:

在這裏插入圖片描述
圖2

由上圖可見,用戶訪問未使用CDN緩存網站的過程爲:

用戶向瀏覽器提供要訪問的域名;
瀏覽器調用域名解析函數庫對域名進行解析,以得到此域名對應的IP地址;
瀏覽器使用所得到的IP地址,域名的服務主機發出數據訪問請求;
瀏覽器根據域名主機返回的數據顯示網頁的內容。

通過以上四個步驟,瀏覽器完成從用戶處接收用戶要訪問的域名到從域名服務主機處獲取數據的整個過程

CDN網絡是在用戶和服務器之間增加Cache層,如何將用戶的請求引導到Cache上獲得源服務器的數據,主要是通過接管DNS實現

CDN訪問流程

在這裏插入圖片描述
圖3

使用CDN的方法:

對於用戶來說,不需要改動網站架構,只需要修改自己的DNS解析,設置一個CNAME指向CDN服務商即可。原理在下面會解釋

通過上圖,我們可以瞭解到,使用了CDN緩存後的網站的訪問過程變爲:
  1. 用戶向瀏覽器提供要訪問的域名;
  2. 瀏覽器調用域名解析庫對域名進行解析,由於CDN對域名解析過程進行了調整,所以解析函數庫得到的是該域名對應的CNAME記錄(由於現在已經是使用了CDN服務,CNAME爲CDN服務商域名),爲了得到實際IP地址,瀏覽器需要再次對獲得的CNAME域名進行解析以得到實際的IP地址;在此過程中,使用的全局負載均衡DNS解析,如根據地理位置信息解析對應的IP地址,使得用戶能就近訪問。(CDN服務來提供最近的機器)
  3. 此次解析得到CDN緩存服務器的IP地址,瀏覽器在得到實際的IP地址以後,向緩存服務器發出訪問請求;
  4. 緩存服務器根據瀏覽器提供的要訪問的域名,通過Cache內部專用DNS解析得到此域名的實際IP地址,再由緩存服務器向此實際IP地址提交訪問請求;
  5. 緩存服務器從實際IP地址得得到內容以後,一方面在本地進行保存,以備以後使用,二方面把獲取的數據返回給客戶端,完成數據服務過程;
  6. 客戶端得到由緩存服務器返回的數據以後顯示出來並完成整個瀏覽的數據請求過程。

CDN網絡的組成要素

對於普通的Internet用戶,每個CDN節點就相當於一個放置在它周圍的網站服務器.通過對dns的接管,用戶的請求被透明地指向離他最近的節點,節點中CDN服務器會像網站的原始服務器一樣,響應用戶的請求.由於它離用戶更近,因而響應時間必然更快.

從上面(圖1)中,CDN層,這層是位於 用戶端 和 站點服務器 之間.

智能調度DNS(比如f5的3DNS)

智能調度DNS是CDN服務中的關鍵系統.當用戶訪問加入CDN服務的網站時,域名解析請求將最終由“智能調度DNS”負責處理。它通過一組預先定義好的策略,將當時最接近用戶的節點地址提供給用戶,使用戶可以得到快速的服務。同時它需要與分佈在各地的CDN節點保持通信,跟蹤各節點的健康狀態、容量等信息,確保將用戶的請求分配到就近可用的節點上.
緩存功能服務
負載均衡設備(如lvs,F5的BIG/IP)
內容Cache服務器(如squid)
共享存儲

名詞解釋

CNAME記錄(CNAME record)

CNAME即別名( Canonical Name );可以用來把一個域名解析到另一個域名,當 DNS 系統在查詢 CNAME
左面的名稱的時候,都會轉向 CNAME 右面的名稱再進行查詢,一直追蹤到最後的 PTR 或 A 名稱,成功查詢後纔會做出迴應,否則失敗。
例如,你有一臺服務器上存放了很多資料,你使用docs.example.com去訪問這些資源,但又希望通過documents.example.com也能訪問到這些資源,那麼你就可以在您的DNS解析服務商添加一條CNAME記錄,將documents.example.com指向docs.example.com,添加該條CNAME記錄後,所有訪問documents.example.com的請求都會被轉到docs.example.com,獲得相同的內容。

CNAME域名

接入CDN時,在CDN提供商控制檯添加完加速域名後,您會得到一個CDN給您分配的CNAME域名,您需要在您的DNS解析服務商添加CNAME記錄,將自己的加速域名指向這個CNAME域名,這樣該域名所有的請求才會都將轉向CDN的節點,達到加速效果。

DNS

DNS即Domain NameSystem,是域名解析服務的意思。它在互聯網的作用是:把域名轉換成爲網絡可以識別的ip地址。人們習慣記憶域名,但機器間互相只認IP地址,域名與IP地址之間是一一對應的,它們之間的轉換工作稱爲域名解析,域名解析需要由專門的域名解析服務器來完成,整個過程是自動進行的。比如:上網時輸入的www.baidu.com會自動轉換成爲220.181.112.143。常見的DNS解析服務商有:阿里雲解析,萬網解析,DNSPod,新網解析,Route53(AWS),Dyn,Cloudflare等。

回源host

回源host:回源host決定回源請求訪問到源站上的具體某個站點。.
例子1:源站是域名源站爲www.av.com,回源host爲www.bv.com,那麼實際回源是請求到www.av.com解析到的IP,對應的主機上的站點www.bv.com

例子2:源站是IP源站爲111.10.12.1,
回源host爲www.bv.com,那麼實際回源的是111.10.12.1對應的主機上的站點www.bv.com

協議回源.

指回源時使用的協議和客戶端訪問資源時的協議保持一致,即如果客戶端使用 HTTPS方式請求資源,當CDN節點上未緩存該資源時,節點會使用相同的 HTTPS 方式回源獲取資源;同理如果客戶端使用 HTTP協議的請求,CDN節點回源時也使用HTTP協議。

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章