談什么是CDN以及CDN技術的相關知識

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

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

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

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

  CDN的應用

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

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

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



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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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