您現(xiàn)在的位置:首頁 >關(guān)于我們 >行業(yè)新聞 >談什么是CDN以及CDN技術(shù)的相關(guān)知識

談什么是CDN以及CDN技術(shù)的相關(guān)知識

時間:2006年10月30日
CDN的全稱是Content Delivery Network,即內(nèi)容分發(fā)網(wǎng)絡(luò)。其目的是通過在現(xiàn)有的Internet中增加一層新的網(wǎng)絡(luò)架構(gòu),將網(wǎng)站的內(nèi)容發(fā)布到最接近用戶的網(wǎng)絡(luò)”邊緣”,使用戶可以就近取得所需的內(nèi)容,解決Internet網(wǎng)絡(luò)擁擠的狀況,提高用戶訪問網(wǎng)站的響應速度。從技術(shù)上全面解決由于網(wǎng)絡(luò)帶寬小、用戶訪問量大、網(wǎng)點分布不均等原因所造成的用戶訪問網(wǎng)站響應速度慢的問題。

  實際上,內(nèi)容分發(fā)布網(wǎng)絡(luò)(CDN)是一種新型的網(wǎng)絡(luò)構(gòu)建方式,它是為能在傳統(tǒng)的IP網(wǎng)發(fā)布寬帶豐富媒體而特別優(yōu)化的網(wǎng)絡(luò)覆蓋層;而從廣義的角度, CDN代表了一種基于質(zhì)量與秩序的網(wǎng)絡(luò)服務模式。簡單地說,內(nèi)容發(fā)布網(wǎng)(CDN)是一個經(jīng)策略性部署的整體系統(tǒng),包括分布式存儲、負載均衡、網(wǎng)絡(luò)請求的重定向和內(nèi)容管理4個要件,而內(nèi)容管理和全局的網(wǎng)絡(luò)流量管理(Traffic Management)是CDN的核心所在。通過用戶就近性和服務器負載的判斷,CDN確保內(nèi)容以一種極為高效的方式為用戶的請求提供服務?偟膩碚f,內(nèi)容服務基于緩存服務器,也稱作代理緩存(Surrogate),它位于網(wǎng)絡(luò)的邊緣,距用戶僅有”一跳”(Single Hop)之遙。同時,代理緩存是內(nèi)容提供商源服務器(通常位于CDN服務提供商的數(shù)據(jù)中心)的一個透明鏡像。這樣的架構(gòu)使得CDN服務提供商能夠代表他們客戶,即內(nèi)容供應商,向最終用戶提供盡可能好的體驗,而這些用戶是不能容忍請求響應時間有任何延遲的。據(jù)統(tǒng)計,采用CDN技術(shù),能處理整個網(wǎng)站頁面的 70%~95%的內(nèi)容訪問量,減輕服務器的壓力,提升了網(wǎng)站的性能和可擴展性。

  與目前現(xiàn)有的內(nèi)容發(fā)布模式相比較,CDN強調(diào)了網(wǎng)絡(luò)在內(nèi)容發(fā)布中的重要性。通過引入主動的內(nèi)容管理層的和全局負載均衡,CDN從根本上區(qū)別于傳統(tǒng)的內(nèi)容發(fā)布模式。在傳統(tǒng)的內(nèi)容發(fā)布模式中,內(nèi)容的發(fā)布由ICP的應用服務器完成,而網(wǎng)絡(luò)只表現(xiàn)為一個透明的數(shù)據(jù)傳輸通道,這種透明性表現(xiàn)在網(wǎng)絡(luò)的質(zhì)量保證僅僅停留在數(shù)據(jù)包的層面,而不能根據(jù)內(nèi)容對象的不同區(qū)分服務質(zhì)量。此外,由于IP網(wǎng)的”盡力而為”的特性使得其質(zhì)量保證是依靠在用戶和應用服務器之間端到端地提供充分的、遠大于實際所需的帶寬通量來實現(xiàn)的。在這樣的內(nèi)容發(fā)布模式下,不僅大量寶貴的骨干帶寬被占用,同時ICP的應用服務器的負載也變得非常重,而且不可預計。當發(fā)生一些熱點事件和出現(xiàn)浪涌流量時,會產(chǎn)生局部熱點效應,從而使應用服務器過載退出服務。這種基于中心的應用服務器的內(nèi)容發(fā)布模式的另外一個缺陷在于個性化服務的缺失和對寬帶服務價值鏈的扭曲,內(nèi)容提供商承擔了他們不該干也干不好的內(nèi)容發(fā)布服務。

  縱觀整個寬帶服務的價值鏈,內(nèi)容提供商和用戶位于整個價值鏈的兩端,中間依靠網(wǎng)絡(luò)服務提供商將其串接起來。隨著互聯(lián)網(wǎng)工業(yè)的成熟和商業(yè)模式的變革,在這條價值鏈上的角色越來越多也越來越細分。比如內(nèi)容/應用的運營商、托管服務提供商、骨干網(wǎng)絡(luò)服務提供商、接入服務提供商等等。在這一條價值鏈上的每一個角色都要分工合作、各司其職才能為客戶提供良好的服務,從而帶來多贏的局面。從內(nèi)容與網(wǎng)絡(luò)的結(jié)合模式上看,內(nèi)容的發(fā)布已經(jīng)走過了ICP的內(nèi)容(應用)服務器和IDC這兩個階段。IDC的熱潮也催生了托管服務提供商這一角色。但是,IDC并不能解決內(nèi)容的有效發(fā)布問題。內(nèi)容位于網(wǎng)絡(luò)的中心并不能解決骨干帶寬的占用和建立IP網(wǎng)絡(luò)上的流量秩序。因此將內(nèi)容推到網(wǎng)絡(luò)的邊緣,為用戶提供就近性的邊緣服務,從而保證服務的質(zhì)量和整個網(wǎng)絡(luò)上的訪問秩序就成了一種顯而易見的選擇。而這就是內(nèi)容發(fā)布網(wǎng)(CDN)服務模式。CDN的建立解決了困擾內(nèi)容運營商的內(nèi)容”集中與分散”的兩難選擇,無疑對于構(gòu)建良好的互聯(lián)網(wǎng)價值鏈是有價值的,也是不可或缺的最優(yōu)網(wǎng)站加速服務。

  CDN的應用

  目前的CDN服務主要應用于證券、金融保險、ISP、ICP、網(wǎng)上交易、門戶網(wǎng)站、大中型公司、網(wǎng)絡(luò)教學等領(lǐng)域。另外在行業(yè)專網(wǎng)、互聯(lián)網(wǎng)中都可以用到,甚至可以對局域網(wǎng)進行網(wǎng)絡(luò)優(yōu)化。利用CDN,這些網(wǎng)站無需投資昂貴的各類服務器、設(shè)立分站點,特別是流媒體信息的廣泛應用、遠程教學課件等消耗帶寬資源多的媒體信息,應用CDN網(wǎng)絡(luò),把內(nèi)容復制到網(wǎng)絡(luò)的最邊緣,使內(nèi)容請求點和交付點之間的距離縮至最小,從而促進Web站點性能的提高,具有重要的意義。CDN 網(wǎng)絡(luò)的建設(shè)主要有企業(yè)建設(shè)的CDN網(wǎng)絡(luò),為企業(yè)服務;IDC的CDN網(wǎng)絡(luò),主要服務于IDC和增值服務;網(wǎng)絡(luò)運營上主建的CDN網(wǎng)絡(luò),主要提供內(nèi)容推送服務;CDN網(wǎng)絡(luò)服務商,專門建設(shè)的CDN用于做服務,用戶通過與CDN機構(gòu)進行合作,CDN負責信息傳遞工作,保證信息正常傳輸,維護傳送網(wǎng)絡(luò),而網(wǎng)站只需要內(nèi)容維護,不再需要考慮流量問題。

  CDN能夠為網(wǎng)絡(luò)的快速、安全、穩(wěn)定、可擴展等方面提供保障。

  IDC建立CDN網(wǎng)絡(luò),IDC運營商一般需要有分布各地的多個IDC中心,服務對象是托管在IDC中心的客戶,利用現(xiàn)有的網(wǎng)絡(luò)資源,投資較少,容易建設(shè)。例如某IDC全國有10個機房,加入IDC的CDN網(wǎng)絡(luò),托管在一個節(jié)點的Web服務器,相當于有了10個鏡像服務器,就近供客戶訪問。寬帶城域網(wǎng),域內(nèi)網(wǎng)絡(luò)速度很快,出城帶寬一般就會瓶頸,為了體現(xiàn)城域網(wǎng)的高速體驗,解決方案就是將Internet網(wǎng)上內(nèi)容高速緩存到本地,將Cache部署在城域網(wǎng)各POP點上,這樣形成高效有序的網(wǎng)絡(luò),用戶僅一跳就能訪問大部分的內(nèi)容,這也是一種加速所有網(wǎng)站CDN的應用。
  
   CDN的技術(shù)原理
   
  在描述CDN的實現(xiàn)原理,讓我們先看傳統(tǒng)的未加緩存服務的訪問過程,以便了解CDN緩存訪問方式與未加緩存訪問方式的差別:



  由上圖可見,用戶訪問未使用CDN緩存網(wǎng)站的過程為:

  用戶向瀏覽器提供要訪問的域名;   
  瀏覽器調(diào)用域名解析函數(shù)庫對域名進行解析,以得到此域名對應的IP地址;   
  瀏覽器使用所得到的IP地址,域名的服務主機發(fā)出數(shù)據(jù)訪問請求;   
  瀏覽器根據(jù)域名主機返回的數(shù)據(jù)顯示網(wǎng)頁的內(nèi)容。
  
  通過以上四個步驟,瀏覽器完成從用戶處接收用戶要訪問的域名到從域名服務主機處獲取數(shù)據(jù)的整個過程。CDN網(wǎng)絡(luò)是在用戶和服務器之間增加Cache 層,如何將用戶的請求引導到Cache上獲得源服務器的數(shù)據(jù),主要是通過接管DNS實現(xiàn),下面讓我們看看訪問使用CDN緩存后的網(wǎng)站的過程:



  通過上圖,我們可以了解到,使用了CDN緩存后的網(wǎng)站的訪問過程變?yōu)?   

  用戶向瀏覽器提供要訪問的域名;   

  瀏覽器調(diào)用域名解析庫對域名進行解析,由于CDN對域名解析過程進行了調(diào)整,所以解析函數(shù)庫一般得到的是該域名對應的CNAME記錄,為了得到實際IP地址,瀏覽器需要再次對獲得的CNAME域名進行解析以得到實際的IP地址;在此過程中,使用的全局負載均衡DNS解析,如根據(jù)地理位置信息解析對應的IP 地址,使得用戶能就近訪問。

  此次解析得到CDN緩存服務器的IP地址,瀏覽器在得到實際的IP地址以后,向緩存服務器發(fā)出訪問請求;

  緩存服務器根據(jù)瀏覽器提供的要訪問的域名,通過Cache內(nèi)部專用DNS解析得到此域名的實際IP地址,再由緩存服務器向此實際IP地址提交訪問請求;

  緩存服務器從實際IP地址得得到內(nèi)容以后,一方面在本地進行保存,以備以后使用,二方面把獲取的數(shù)據(jù)返回給客戶端,完成數(shù)據(jù)服務過程;

  客戶端得到由緩存服務器返回的數(shù)據(jù)以后顯示出來并完成整個瀏覽的數(shù)據(jù)請求過程。 通過以上的分析我們可以得到,為了實現(xiàn)既要對普通用戶透明(即加入緩存以后用戶客戶端無需進行任何設(shè)置,直接使用被加速網(wǎng)站原有的域名即可訪問),又要在為指定的網(wǎng)站提供加速服務的同時降低對ICP的影響,只要修改整個訪問過程中的域名解析部分,以實現(xiàn)透明的加速服務,下面是CDN網(wǎng)絡(luò)實現(xiàn)的具體操作過程。

  作為ICP,只需要把域名解釋權(quán)交給CDN運營商,其他方面不需要進行任何的修改;操作時,ICP修改自己域名的解析記錄,一般用cname方式指向CDN網(wǎng)絡(luò)Cache服務器的地址。

  作為CDN運營商,首先需要為ICP的域名提供公開的解析,為了實現(xiàn)sortlist,一般是把ICP的域名解釋結(jié)果指向一個CNAME記錄;

  當需要進行sorlist時,CDN運營商可以利用DNS對CNAME指向的域名解析過程進行特殊處理,使DNS服務器在接收到客戶端請求時可以根據(jù)客戶端的IP地址,返回相同域名的不同IP地址;

  由于從cname獲得的IP地址,并且?guī)в衕ostname信息,請求到達Cache之后,Cache必須知道源服務器的IP地址,所以在CDN運營商內(nèi)部維護一個內(nèi)部DNS服務器,用于解釋用戶所訪問的域名的真實IP地址;

  在維護內(nèi)部DNS服務器時,還需要維護一臺授權(quán)服務器,控制哪些域名可以進行緩存,而哪些又不進行緩存,以免發(fā)生開放代理的情況。
  
  CDN的網(wǎng)絡(luò)架構(gòu)

  CDN網(wǎng)絡(luò)架構(gòu)主要由兩大部分,分為中心和邊緣兩部分,中心指CDN網(wǎng)管中心和DNS重定向解析中心,負責全局負載均衡,設(shè)備系統(tǒng)安裝在管理中心機房,邊緣主要指異地節(jié)點,CDN分發(fā)的載體,主要由Cache和負載均衡器等組成。

  當用戶訪問加入CDN服務的網(wǎng)站時,域名解析請求將最終交給全局負載均衡DNS進行處理。全局負載均衡DNS通過一組預先定義好的策略,將當時最接近用戶的節(jié)點地址提供給用戶,使用戶能夠得到快速的服務。同時,它還與分布在世界各地的所有CDNC節(jié)點保持通信,搜集各節(jié)點的通信狀態(tài),確保不將用戶的請求分配到不可用的CDN節(jié)點上,實際上是通過DNS做全局負載均衡。

  對于普通的Internet用戶來講,每個CDN節(jié)點就相當于一個放置在它周圍的WEB。通過全局負載均衡DNS的控制,用戶的請求被透明地指向離他最近的節(jié)點,節(jié)點中CDN服務器會像網(wǎng)站的原始服務器一樣,響應用戶的請求。由于它離用戶更近,因而響應時間必然更快。

  每個CDN節(jié)點由兩部分組成:負載均衡設(shè)備和高速緩存服務器

  負載均衡設(shè)備負責每個節(jié)點中各個Cache的負載均衡,保證節(jié)點的工作效率;同時,負載均衡設(shè)備還負責收集節(jié)點與周圍環(huán)境的信息,保持與全局負載DNS的通信,實現(xiàn)整個系統(tǒng)的負載均衡。

  高速緩存服務器(Cache)負責存儲客戶網(wǎng)站的大量信息,就像一個靠近用戶的網(wǎng)站服務器一樣響應本地用戶的訪問請求。

  CDN的管理系統(tǒng)是整個系統(tǒng)能夠正常運轉(zhuǎn)的保證。它不僅能對系統(tǒng)中的各個子系統(tǒng)和設(shè)備進行實時監(jiān)控,對各種故障產(chǎn)生相應的告警,還可以實時監(jiān)測到系統(tǒng)中總的流量和各節(jié)點的流量,并保存在系統(tǒng)的數(shù)據(jù)庫中,使網(wǎng)管人員能夠方便地進行進一步分析。通過完善的網(wǎng)管系統(tǒng),用戶可以對系統(tǒng)配置進行修改。

  理論上,最簡單的CDN網(wǎng)絡(luò)有一個負責全局負載均衡的DNS和各節(jié)點一臺Cache,即可運行。DNS支持根據(jù)用戶源IP地址解析不同的IP,實現(xiàn)就近訪問。為了保證高可用性等,需要監(jiān)視各節(jié)點的流量、健康狀況等。一個節(jié)點的單臺Cache承載數(shù)量不夠時,才需要多臺Cache,多臺Cache同時工作,才需要負載均衡器,使Cache群協(xié)同工作。

Copyright© 2004-2020 河南海騰電子技術(shù)有限公司 版權(quán)所有   經(jīng)營性ICP/ISP證 備案號:B1-20180452   豫公網(wǎng)安備 41019702002018號    電子營業(yè)執(zhí)照