
為了緩解互聯網用戶增加與服務等待時間增長的矛盾,在增加互聯網核心交換網、匯聚網與接入網帶寬同時,MIT研究者于1998年提出了內容分發網絡(ContentDelivery Network,CDN)的概念,開始了CDN技術及其應用的研究。CDN系統設計的基本思路可以歸納為兩點:
(資料圖片)
CDN主要提供四項基本功能:分布式存儲、負載均衡、網絡請求的重定向、內容管理等。CDN內容服務是基于緩存節點的代理緩存功能。代理緩存是互聯網內容提供商(ICP)源服務器內容的一個透明鏡像。網站維護人員只需將內容注入CDN系統,就可自動通過部署在不同物理位置的緩存節點,實現跨運營商、跨地域的內容分發服務。
CDN系統能實時根據網絡流量和各節點的連接、負載狀況,以及到用戶的距離、響應時間等因素,避開可能影響傳輸速度和穩定性的瓶頸位置,將用戶的服務請求導向離用戶最近的緩存節點,以便用戶可以就近取得所需內容,盡可能使內容傳輸速度更快、等待時間短,使互聯網服務更方便和穩定。CDN的工作過程對于用戶是透明的,用戶能感到訪問互聯網資源的時間縮短,并不會感到CDN系統的存在。
典型的CDN功能結構由三個部分組成:分發服務系統、均衡負荷系統與運營管理系統。
分發服務系統分發服務系統主要的功能是:完成內容從源服務器向邊緣的推送與存儲,將內容數據流分發到分布在全網的緩存服務器中,由緩存服務器為最終用戶提供服務。因此,分發服務系統的基本服務單元是大量的緩存服務器。根據承載的內容與服務類型的不同,分發服務系統可進一步分為網頁(靜態、動態)內容加速子系統、流媒體加速子系統與應用協議加速子系統。
均衡負荷系統均衡負荷系統是CDN的核心單元,它的主要功能是為用戶的服務請求進行優化的訪問調度,為用戶提供最終訪問的緩存服務器IP地址。均衡負荷系統一般分為兩級:全局/區域負荷均衡系統、本地負荷均衡系統。全局/區域負荷均衡系統一般采用DNS解析與應用層重定向的方法,根據用戶就近訪問的原則選擇緩存服務器節點。本地負荷均衡系統負責緩存服務器節點內部的調度。
運營管理系統運營管理系統由兩個子系統組成:運營管理與網絡管理。運營管理子系統是CDN系統的業務管理實體,主要由客戶管理、業務管理、計費管理與數據采集等模塊組成。網絡管理子系統實現對CDN系統的網絡設備、拓撲結構、鏈路與故障的管理,以及對源站、流量與服務質量的監控任務。
用戶通過瀏覽器訪問Web網站的過程如下:
1)用戶在瀏覽器中輸入要訪問的網站域名,瀏覽器向本地DNS服務器發出域名解析請求。
2)如果本地DNS服務器沒有該域名的解析結果,本地DNS服務器可采用遞歸方法向整個DNS系統請求解析。
3)DNS服務器將解析結果中的該網站的Web服務器IP地址發送給瀏覽器。
4)瀏覽器使用這個IP地址向Web服務器發出URL訪問請求。
5)Web服務器將用戶請求的內容發送給瀏覽器。
引入CDN之后的互聯網訪問模式用戶通過瀏覽器訪問CDN系統的過程如下:
1)用戶在瀏覽器中輸入要訪問的網站域名,瀏覽器向本地DNS服務器發出域名解析請求。
2)本地DNS服務器將域名的解析權轉交給CDN專用的DNS服務器,并請求解析該域名。
3)CDN專用的DNS服務器將域名解析請求發送給CDN全局負載均衡器。
4)CDN全局負載均衡器將自己的IP地址發送給瀏覽器。
5)瀏覽器向CDN全局負載均衡器發送URL訪問請求。
6)CDN全局負載均衡器根據用戶的IP地址與請求訪問的URL,選擇一臺位于用戶所屬區域的負載均衡器,并轉交用戶發出的URL請求。
7)CDN區域負載均衡器根據用戶的IP地址與請求訪問的URL,判斷哪個緩存節點有該請求內容、離用戶最近、可提供服務,并將該緩存節點的IP地址發送給瀏覽器。
8)瀏覽器使用該IP地址向CDN緩存節點發出URL訪問請求。
9)CDN緩存服務器將用戶請求的內容發送給瀏覽器。如果這臺緩存服務器沒有用戶請求的內容,而區域負載均衡器仍然將用戶請求分配給該緩存服務器,那么該緩存服務器需要向它上一級的緩存服務器請求該內容,直至追溯到原服務器并將內容“拉”到本地。