◆李俊杰
(廣東省電信規劃設計院有限公司 廣東 510630)
CDN技術應用研究
◆李俊杰
(廣東省電信規劃設計院有限公司 廣東 510630)
隨著互聯網業務的快速發展,網絡訪問質量直接影響業務訪問效果,CDN作為網絡優化技術,對運營商業務發展和用戶體驗起關鍵作用。本文從業務發展、關鍵技術等方面分析了CDN的業務和技術特點,并通過案例分析研究了CDN的實際應用場景。
CDN
隨著移動互聯網、云計算、大數據等互聯網新技術、新業務的快速發展,內容分發網絡(CDN)作為緩解互聯網網絡擁塞、提高互聯網業務響應速度、改善用戶業務體驗的重要手段,已經成為互聯網基礎設施中不可或缺的重要組成部分。傳統企業的互聯化、商務與交易的電子化、移動互聯網以及視頻、游戲業務的極速增長,已經成為拉動CDN增長的持續動力。從Cisco VNI預測顯示,從2015年到2020年,全球IP流量幾乎增加近兩倍。到2020年,總體IP流量預計從2015年的每月72.5EB增長到每月194 EB,復合年均增長率為22%。此增長率僅略微低于2014年到2019年的預計增長率23%。似乎全球IP流量增長穩定在20-25%的范圍內。在數據傳送中地位越來越重要的內容分發網絡(CDN)正在改變流量拓撲結構。到2020年,CDN將傳輸互聯網總流量的64.5%。

圖1 思科VNI預測全球IP流量及CDN互聯網流量(EB/月)
為應對CDN市場的爆發式增長需求,專業CDN 服務提供商積極進行業務拓展,加快開展新的網絡建設和節點部署,強化針對大型客戶的服務定制能力,同時,由于互聯網企業的積極介入,CDN市場格局加速調整。一方面,大型互聯網公司出于管理及成本的考慮,紛紛開始自建 CDN,在服務于自有業務的同時,逐步加強面向商用的 CDN 布局,并積極探索免費提供 CDN服務的市場拓展新模式;另一方面,由于云計算、大數據等新技術大大降低了CDN的建設成本和周期,不斷有新興的互聯網企業借助于技術創新來實現不同架構的CDN 服務,并面向中小企業推出個性化服務。這些在給CDN行業帶來新的生機和活力的同時,也使得傳統CDN服務提供商面臨前所未有的挑戰。
(1)解決高流量、大并發的問題:任何一個物理設備都有一個負載極限。為了應對訪問量突增,可使用CDN服務以提升服務能力。
(2)解決南北互聯:我國的網絡是劃江而治的格局,因為利益之爭,各網絡服務商之間并不是通力協作,而是采取各種手段相互限制。這就導致各網之間的互聯互通存在很大的問題,具體表現為:電信的用戶訪問放置在聯通機房的服務器,響應時間特別長,反之亦然。使用CDN技術,可以讓電信的用戶訪問電信的內容緩存服務器,聯通的用戶訪問聯通的內容緩存服務器。通過這樣一種策略,繞開了網絡運營商之間人為設置的障礙。
(3)提升訪問速度:CDN采用緩存技術,把訪問對象緩存起來,以提高訪問加速。
(4)降低總體運營成本:把源站放在一線城市的BGP機房,而把緩存服務器放置在帶寬費用較低的二三線城市。CDN的大部分流量被轉移到緩存服務器上,源站只有較小的訪問請求,因此總體運營成本大幅降低。
(1)內容分發技術
內容分發包含從內容源到CDN邊緣的Cache的過程。從實現上看,有兩種主流的內容分發技術:PUSH和PULL。
PUSH是一種主動分發的技術。通常,PUSH由內容管理系統發起,將內容從源或者中心媒體資源庫分發到各邊緣的Cache節點。分發的協議可以采用 HTTP/FTP等。通過PUSH分發的內容一般是比較熱點的內容,這些內容通過PUSH方式預分發到邊緣Cache,可以有針對的選擇內容。對于PUSH分發需要考慮的主要問題是分發策略,即在什么時候分發什么內容。一般來說,內容分發可以由內容管理員人工確定,也可以通過智能的方式決定,即所謂的智能分發。它根據用戶訪問的統計信息,以及預定義的內容分發的規則,確定內容分發的過程。
PULL是一種被動的分發技術,PULL分發通常由用戶請求驅動。當用戶請求的內容在本地的邊緣Cache上不存在時,Cache啟動PULL方法從內容源或者其他CDN 節點實時獲取內容。在PULL方式下,內容的分發是按需的。
(2)多級網絡結構CDN節點設置:中心節點:作為全網的內容發布中心,存儲全部內容;服務區域中心未命中的用戶,并提供全網的冗余功能。
區域中心節點:服務邊緣節點未命中的用戶,并承擔部分冗余功能。
邊緣節點:就近部署,存儲熱點內容,服務絕大部分用戶。
在網絡建設初期,用戶規模較小,可采用二級架構(中心節點+邊緣節點),在保證用戶服務質量的基礎上盡量節約系統建設成本。隨著用戶的逐步增加,二級架構在系統容量、可靠性等方便已不能滿足需要的情況下,可采用三級架構(中心節點+區域中心節點+邊緣節點)。

圖2 CDN節點設置示意
(3)內容路由技術
CDN負載均衡系統實現CDN的內容路由功能。它的作用是將用戶的請求導向整個CDN網絡中的最佳節點。最佳節點的選定可以根據多種策略,例如距離最近、節點負載最輕等。負載均衡系統是整個CDN的核心,負載均衡的準確性和效率直接決定了整個CDN的效率和性能。
通常負載均衡可以分為兩個層次:全局負載均衡(GSLB)和本地負載均衡(SLB)。全局負載均衡(GSLB)主要的目的是在整個網絡范圍內將用戶的請求定向到最近的節點(或者區域)。因此,就近性判斷是全局負載均衡的主要功能。本地負載均衡一般局限于一定的區域范圍內,其目標是在特定的區域范圍內尋找一臺最適合的節點提供服務,因此,CDN節點的健康性、負載情況、支持的媒體格式等運行狀態是本地負載均衡進行決策的主要依據。
下面以某視頻網站的視頻點播采用的遞歸式查詢+緩存方式進行介紹:
Step1、用戶端的播放器向邊緣節點發出視頻數據請求,邊緣節點判斷是否有相關視頻數據,如果有數據,直接發送給播放器;如果沒有,進行setp2。
Step2、邊緣CDN節點向與其連接的區域中心節點發出視頻請求,如果區域中心節點有相關視頻數據,則發送至邊緣節點,邊緣節點再發送至播放器;如果區域中心沒有相關視頻數據則進行Step3。
Step3、區域中心向與其連接的中心節點發出視頻請求,如果中心節點有相關視頻數據,則發送至區域中心,再通過區域中心發送至邊緣節點,邊緣節點再發送至播放器;如果中心節點沒有相關視頻數據則進行Step4。
Step4、中心節點向直播源服務器發出視頻請求,直播源服務器將視頻數據發送至中心節點,通過中心節點發送至區域節點,通過區域中心發送至邊緣節點,邊緣節點再發送至播放器。

圖3 CDN應用案例網絡圖示意
CDN可在架構上打破傳統運營商骨干網互通相對封閉的控制體系,改善視頻、游戲、社交和電子商務等網上應用的訪問質量,提升用戶的信息化水平,降低網絡通信成本。隨著CDN技術不斷完善,CDN將會以高質量網絡匹配業務應用發展對網絡的需求,大大提升用戶體驗,為業務規模化運營打下良好基礎。