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

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

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

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

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

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

  CDN的應(yīng)用

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

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

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



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

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



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

  用戶向?yàn)g覽器提供要訪問(wèn)的域名;   

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

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

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

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

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

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

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

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

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

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

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

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

  對(duì)于普通的Internet用戶來(lái)講,每個(gè)CDN節(jié)點(diǎn)就相當(dāng)于一個(gè)放置在它周圍的WEB。通過(guò)全局負(fù)載均衡DNS的控制,用戶的請(qǐng)求被透明地指向離他最近的節(jié)點(diǎn),節(jié)點(diǎn)中CDN服務(wù)器會(huì)像網(wǎng)站的原始服務(wù)器一樣,響應(yīng)用戶的請(qǐng)求。由于它離用戶更近,因而響應(yīng)時(shí)間必然更快。

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

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

  高速緩存服務(wù)器(Cache)負(fù)責(zé)存儲(chǔ)客戶網(wǎng)站的大量信息,就像一個(gè)靠近用戶的網(wǎng)站服務(wù)器一樣響應(yīng)本地用戶的訪問(wèn)請(qǐng)求。

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

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

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