趙紅??
【摘要】CDN是構建在網絡之上的內容分發(fā)網絡,依靠部署在各地的邊緣服務器,通過中心平臺的負載均衡、內容分發(fā)、調度等功能模塊,使用戶就近獲取所需內容,降低網絡擁塞,提高用戶訪問響應速度和命中率。CDN的關鍵技術主要有內容存儲和分發(fā)技術。基本原理是廣泛采用各種緩存服務器,將這些緩存服務器分布到用戶訪問相對集中的地區(qū)或網絡中,在用戶訪問網站時,利用全局負載技術將用戶的訪問指向距離最近的工作正常的緩存服務器上,由緩存服務器直接響應用戶請求。
【關鍵詞】CDN(內容分發(fā)網絡;Content Delivery Network);內容存儲;分發(fā)技術
CDN content distribution network technology principle
Zhao Hong
(Tianyuan Ruixin Communication Technology Co., LtdXi'anShaanxi710075)
【Abstract】CDN is a content distribution network built on the network, relying on the deployment of the edge of the server, through the central platform load balancing, content distribution, scheduling and other functional modules, so that users get the necessary content, reduce network congestion, improve user access Response speed and hit rate. CDN's key technologies are mainly content storage and distribution technology. The basic principle is widely used in a variety of cache servers, these cache servers distributed to the user to visit the relative concentration of the region or the network, the user access to the site, the use of global load technology to the user's visit to the nearest working cache server , The cache server directly respond to user requests.
【Key words】CDN (Content Delivery Network);Content storage;Distribution technology
1. 前言
(1)CDN能夠幾乎涵蓋國內所有線路;而在可靠性上, CDN 在結構上實現了多點的冗余,即使某一個節(jié)點由于意外發(fā)生故障,對網站的訪問能夠被自動導向其他的健康節(jié)點進行響應。CDN能輕松實現網站的全國鋪設,不必考慮服務器的投入與托管、不必考慮新增帶寬的成本、不必考慮多臺服務器的鏡像同步、不必考慮更多的管理維護技術人員(CDN內容分發(fā)示意圖見圖1,CDN對網絡的優(yōu)化作用見圖2)。
(2)三個發(fā)展浪潮:CDN技術自1999年首次提出經過了三個發(fā)展時期:第一個發(fā)展時期是1999年到2008年,主要是海外CDN技術的摸索和發(fā)展并逐漸商用,國內傳統(tǒng)CDN廠商開始興起。第二個發(fā)展時期主要是2010年到2014年,隨著網絡游戲、網絡視頻、電子電商等在線業(yè)務的興起以及國外LimeLight、Level3、Amazon國內藍汛、網宿、帝聯等均對CDN網絡進行升級,掀起動態(tài)頁面加速產品;此時BAT開始介入,CDN技術但老牌CDN廠商主要靠豐富的網絡節(jié)點資源來驅動,形成行業(yè)壁壘。第三個發(fā)展時期是為2015年6月以來,一方面是行業(yè)攪局者網心科技等創(chuàng)業(yè)公司憑借著技術創(chuàng)新、顛覆價格、創(chuàng)新模式改變CDN市場格局,另一方面是下游網絡直播視頻、VR/AR、競技游戲、大數據、4K高清視頻等需求的井噴,徹底引燃CDN尤其是動態(tài)CDN的爆發(fā)(CDN技術歷史進程見圖3)。
2. 什么是CDN?
(1)CDN的全稱是Content Delivery Network,即內容分發(fā)網絡。其目的是通過在現有的Internet中增加一層新的網絡架構,將網站的內容發(fā)布到最接近用戶的網絡“邊緣”,使用戶可以就近取得所需的內容,解決Internet網絡擁塞狀況,提高用戶訪問網站的響應速度。從技術上全面解決由于網絡帶寬小、用戶訪問量大、網點分布不均等原因,解決用戶訪問網站的響應速度慢的根本原因。
(2)內容分發(fā)布網絡(CDN)是一種新型的網絡構建方式,它是為能在傳統(tǒng)的IP網發(fā)布寬帶豐富媒體而特別優(yōu)化的網絡覆蓋層;而從廣義的角度,CDN代表了一種基于質量與秩序的網絡服務模式。簡單地說,內容發(fā)布網(CDN)是一個經策略性部署的整體系統(tǒng),包括分布式存儲、負載均衡、網絡請求的重定向和內容管理4個要件,而內容管理和全局的網絡流量管理(Traffic Management)是CDN的核心所在。通過用戶就近性和服務器負載的判斷,CDN確保內容以一種極為高效的方式為用戶的請求提供服務。總的來說,內容服務基于緩存服務器,也稱作代理緩存(Surrogate),它位于網絡的邊緣,距用戶僅有“一跳”(Single Hop)之遙。同時,代理緩存是內容提供商源服務器(通常位于CDN服務提供商的數據中心)的一個透明鏡像。這樣的架構使得CDN服務提供商能夠代表他們客戶,即內容供應商,向最終用戶提供盡可能好的體驗,而這些用戶是不能容忍請求響應時間有任何延遲的。據統(tǒng)計,采用CDN技術,能處理整個網站頁面的70%~95%的內容訪問量,減輕服務器的壓力,提升了網站的性能和可擴展性。endprint
3. CDN 的工作原理
3.1在描述CDN的實現原理,讓我們先看傳統(tǒng)的未加緩存服務的訪問過程,以便了解CDN緩存訪問方式與未加緩存訪問方式的差別(見圖4):
3.2由上圖可見,用戶訪問未使用CDN緩存網站的過程為:
(1)用戶向瀏覽器提供要訪問的域名;
(2)瀏覽器調用域名解析函數庫對域名進行解析,以得到此域名對應的IP地址;
(3)瀏覽器使用所得到的IP地址,域名的服務主機發(fā)出數據訪問請求;
(4)瀏覽器根據域名主機返回的數據顯示網頁的內容。
3.3通過以上四個步驟,瀏覽器完成從用戶處接收用戶要訪問的域名到從域名服務主機處獲取數據的整個過程。CDN網絡是在用戶和服務器之間增加Cache層,如何將用戶的請求引導到Cache上獲得源服務器的數據,主要是通過接管DNS實現,下面讓我們看看訪問使用CDN緩存后的網站的過程(見圖5):
3.4通過上圖,我們可以了解到,使用了CDN緩存后的網站的訪問過程變?yōu)椋?/p>
(1)用戶向瀏覽器提供要訪問的域名;
(2)瀏覽器調用域名解析庫對域名進行解析,由于CDN對域名解析過程進行了調整,所以解析函數庫一般得到的是該域名對應的CNAME記錄,為了得到實際IP地址,瀏覽器需要再次對獲得的CNAME域名進行解析以得到實際的IP地址;在此過程中,使用的全局負載均衡DNS解析,如根據地理位置信息解析對應的IP地址,使得用戶能就近訪問。
(3)此次解析得到CDN緩存服務器的IP地址,瀏覽器在得到實際的IP地址以后,向緩存服務器發(fā)出訪問請求;
(4)緩存服務器根據瀏覽器提供的要訪問的域名,通過Cache內部專用DNS解析得到此域名的實際IP地址,再由緩存服務器向此實際IP地址提交訪問請求;
(5)緩存服務器從實際IP地址得得到內容以后,一方面在本地進行保存,以備以后使用,二方面把獲取的數據返回給客戶端,完成數據服務過程;
(6)客戶端得到由緩存服務器返回的數據以后顯示出來并完成整個瀏覽的數據請求過程。
4. CDN的技術手段
(1)實現CDN的主要技術手段是高速緩存、鏡像服務器。可工作于DNS解析或HTTP重定向兩種方式,通過Cache服務器,或異地的鏡像站點 完成內容的傳送與同步更新。DNS方式用戶位置判斷準確率大于85%,HTTP方式準確率為99%以上;一般情況,各Cache服務器群的用戶訪問流入數據量與Cache服務器到原始網站取內容的數據量之比在2:1到3:1之間,即分擔50%到70%的到原始網站重復訪問數據量(主要是圖片,流媒體文件等內容);對于鏡像,除數據同步的流量,其余均在本地完成,不訪問原始服務器。
(2)鏡像站點(Mirror Site)服務器是我們經常可以看到的,它讓內容直截了當地進行分布,適用于靜態(tài)和準動態(tài)的數據同步。但是購買和維護新服務器的費用較高,另外還必須在各個地區(qū)設置鏡像服務器,配備專業(yè)技術人員進行管理與維護。大型網站在隨時更新各地服務器的同時,對帶寬的需求也會顯著增加,因此一般的互聯網公司不會建立太多的鏡像服務器。
(3)高速緩存手段的成本較低,適用于靜態(tài)內容。Internet的統(tǒng)計表明,超過80%的用戶經常訪問的是20%的網站的內容,在這個規(guī)律下,緩存服務器可以處理大部分客戶的靜態(tài)請求,而原始的WWW服務器只需處理約20%左右的非緩存請求和動態(tài)請求,于是大大加快了客戶請求的響應時間,并降低了原始WWW服務器的負載。
5. CDN的網絡架構
(1)CDN網絡架構主要由兩大部分,分為中心和邊緣兩部分,中心指CDN網管中心和DNS重定向解析中心,負責全局負載均衡,設備系統(tǒng)安裝在管理中心機房,邊緣主要指異地節(jié)點,CDN分發(fā)的載體,主要由Cache和負載均衡器等組成。
(2)當用戶訪問加入CDN服務的網站時,域名解析請求將最終交給全局負載均衡DNS進行處理。全局負載均衡DNS通過一組預先定義好的策略,將當時最接近用戶的節(jié)點地址提供給用戶,使用戶能夠得到快速的服務。同時,它還與分布在世界各地的所有CDNC節(jié)點保持通信,搜集各節(jié)點的通信狀態(tài),確保不將用戶的請求分配到不可用的CDN節(jié)點上,實際上是通過DNS做全局負載均衡。
6. 結束語
“寬帶中國”戰(zhàn)略的推進和“互聯網+”行動計劃的實施,各類新型“互聯網服務”們向CDN提出了更高需求。CDN行業(yè)自去年邁開的變革步伐正在踏入2016年,盡管最終變數未知,但可以確定的是,行業(yè)發(fā)展方向正朝往振奮人心的良性預期,值得各方期待。endprint