◆李俊杰
(廣東省電信規(guī)劃設(shè)計院有限公司 廣東 510630)
CDN技術(shù)應(yīng)用研究
◆李俊杰
(廣東省電信規(guī)劃設(shè)計院有限公司 廣東 510630)
隨著互聯(lián)網(wǎng)業(yè)務(wù)的快速發(fā)展,網(wǎng)絡(luò)訪問質(zhì)量直接影響業(yè)務(wù)訪問效果,CDN作為網(wǎng)絡(luò)優(yōu)化技術(shù),對運營商業(yè)務(wù)發(fā)展和用戶體驗起關(guān)鍵作用。本文從業(yè)務(wù)發(fā)展、關(guān)鍵技術(shù)等方面分析了CDN的業(yè)務(wù)和技術(shù)特點,并通過案例分析研究了CDN的實際應(yīng)用場景。
CDN
隨著移動互聯(lián)網(wǎng)、云計算、大數(shù)據(jù)等互聯(lián)網(wǎng)新技術(shù)、新業(yè)務(wù)的快速發(fā)展,內(nèi)容分發(fā)網(wǎng)絡(luò)(CDN)作為緩解互聯(lián)網(wǎng)網(wǎng)絡(luò)擁塞、提高互聯(lián)網(wǎng)業(yè)務(wù)響應(yīng)速度、改善用戶業(yè)務(wù)體驗的重要手段,已經(jīng)成為互聯(lián)網(wǎng)基礎(chǔ)設(shè)施中不可或缺的重要組成部分。傳統(tǒng)企業(yè)的互聯(lián)化、商務(wù)與交易的電子化、移動互聯(lián)網(wǎng)以及視頻、游戲業(yè)務(wù)的極速增長,已經(jīng)成為拉動CDN增長的持續(xù)動力。從Cisco VNI預(yù)測顯示,從2015年到2020年,全球IP流量幾乎增加近兩倍。到2020年,總體IP流量預(yù)計從2015年的每月72.5EB增長到每月194 EB,復(fù)合年均增長率為22%。此增長率僅略微低于2014年到2019年的預(yù)計增長率23%。似乎全球IP流量增長穩(wěn)定在20-25%的范圍內(nèi)。在數(shù)據(jù)傳送中地位越來越重要的內(nèi)容分發(fā)網(wǎng)絡(luò)(CDN)正在改變流量拓撲結(jié)構(gòu)。到2020年,CDN將傳輸互聯(lián)網(wǎng)總流量的64.5%。
圖1 思科VNI預(yù)測全球IP流量及CDN互聯(lián)網(wǎng)流量(EB/月)
為應(yīng)對CDN市場的爆發(fā)式增長需求,專業(yè)CDN 服務(wù)提供商積極進行業(yè)務(wù)拓展,加快開展新的網(wǎng)絡(luò)建設(shè)和節(jié)點部署,強化針對大型客戶的服務(wù)定制能力,同時,由于互聯(lián)網(wǎng)企業(yè)的積極介入,CDN市場格局加速調(diào)整。一方面,大型互聯(lián)網(wǎng)公司出于管理及成本的考慮,紛紛開始自建 CDN,在服務(wù)于自有業(yè)務(wù)的同時,逐步加強面向商用的 CDN 布局,并積極探索免費提供 CDN服務(wù)的市場拓展新模式;另一方面,由于云計算、大數(shù)據(jù)等新技術(shù)大大降低了CDN的建設(shè)成本和周期,不斷有新興的互聯(lián)網(wǎng)企業(yè)借助于技術(shù)創(chuàng)新來實現(xiàn)不同架構(gòu)的CDN 服務(wù),并面向中小企業(yè)推出個性化服務(wù)。這些在給CDN行業(yè)帶來新的生機和活力的同時,也使得傳統(tǒng)CDN服務(wù)提供商面臨前所未有的挑戰(zhàn)。
(1)解決高流量、大并發(fā)的問題:任何一個物理設(shè)備都有一個負載極限。為了應(yīng)對訪問量突增,可使用CDN服務(wù)以提升服務(wù)能力。
(2)解決南北互聯(lián):我國的網(wǎng)絡(luò)是劃江而治的格局,因為利益之爭,各網(wǎng)絡(luò)服務(wù)商之間并不是通力協(xié)作,而是采取各種手段相互限制。這就導(dǎo)致各網(wǎng)之間的互聯(lián)互通存在很大的問題,具體表現(xiàn)為:電信的用戶訪問放置在聯(lián)通機房的服務(wù)器,響應(yīng)時間特別長,反之亦然。使用CDN技術(shù),可以讓電信的用戶訪問電信的內(nèi)容緩存服務(wù)器,聯(lián)通的用戶訪問聯(lián)通的內(nèi)容緩存服務(wù)器。通過這樣一種策略,繞開了網(wǎng)絡(luò)運營商之間人為設(shè)置的障礙。
(3)提升訪問速度:CDN采用緩存技術(shù),把訪問對象緩存起來,以提高訪問加速。
(4)降低總體運營成本:把源站放在一線城市的BGP機房,而把緩存服務(wù)器放置在帶寬費用較低的二三線城市。CDN的大部分流量被轉(zhuǎn)移到緩存服務(wù)器上,源站只有較小的訪問請求,因此總體運營成本大幅降低。
(1)內(nèi)容分發(fā)技術(shù)
內(nèi)容分發(fā)包含從內(nèi)容源到CDN邊緣的Cache的過程。從實現(xiàn)上看,有兩種主流的內(nèi)容分發(fā)技術(shù):PUSH和PULL。
PUSH是一種主動分發(fā)的技術(shù)。通常,PUSH由內(nèi)容管理系統(tǒng)發(fā)起,將內(nèi)容從源或者中心媒體資源庫分發(fā)到各邊緣的Cache節(jié)點。分發(fā)的協(xié)議可以采用 HTTP/FTP等。通過PUSH分發(fā)的內(nèi)容一般是比較熱點的內(nèi)容,這些內(nèi)容通過PUSH方式預(yù)分發(fā)到邊緣Cache,可以有針對的選擇內(nèi)容。對于PUSH分發(fā)需要考慮的主要問題是分發(fā)策略,即在什么時候分發(fā)什么內(nèi)容。一般來說,內(nèi)容分發(fā)可以由內(nèi)容管理員人工確定,也可以通過智能的方式?jīng)Q定,即所謂的智能分發(fā)。它根據(jù)用戶訪問的統(tǒng)計信息,以及預(yù)定義的內(nèi)容分發(fā)的規(guī)則,確定內(nèi)容分發(fā)的過程。
PULL是一種被動的分發(fā)技術(shù),PULL分發(fā)通常由用戶請求驅(qū)動。當(dāng)用戶請求的內(nèi)容在本地的邊緣Cache上不存在時,Cache啟動PULL方法從內(nèi)容源或者其他CDN 節(jié)點實時獲取內(nèi)容。在PULL方式下,內(nèi)容的分發(fā)是按需的。
(2)多級網(wǎng)絡(luò)結(jié)構(gòu)CDN節(jié)點設(shè)置:中心節(jié)點:作為全網(wǎng)的內(nèi)容發(fā)布中心,存儲全部內(nèi)容;服務(wù)區(qū)域中心未命中的用戶,并提供全網(wǎng)的冗余功能。
區(qū)域中心節(jié)點:服務(wù)邊緣節(jié)點未命中的用戶,并承擔(dān)部分冗余功能。
邊緣節(jié)點:就近部署,存儲熱點內(nèi)容,服務(wù)絕大部分用戶。
在網(wǎng)絡(luò)建設(shè)初期,用戶規(guī)模較小,可采用二級架構(gòu)(中心節(jié)點+邊緣節(jié)點),在保證用戶服務(wù)質(zhì)量的基礎(chǔ)上盡量節(jié)約系統(tǒng)建設(shè)成本。隨著用戶的逐步增加,二級架構(gòu)在系統(tǒng)容量、可靠性等方便已不能滿足需要的情況下,可采用三級架構(gòu)(中心節(jié)點+區(qū)域中心節(jié)點+邊緣節(jié)點)。
圖2 CDN節(jié)點設(shè)置示意
(3)內(nèi)容路由技術(shù)
CDN負載均衡系統(tǒng)實現(xiàn)CDN的內(nèi)容路由功能。它的作用是將用戶的請求導(dǎo)向整個CDN網(wǎng)絡(luò)中的最佳節(jié)點。最佳節(jié)點的選定可以根據(jù)多種策略,例如距離最近、節(jié)點負載最輕等。負載均衡系統(tǒng)是整個CDN的核心,負載均衡的準確性和效率直接決定了整個CDN的效率和性能。
通常負載均衡可以分為兩個層次:全局負載均衡(GSLB)和本地負載均衡(SLB)。全局負載均衡(GSLB)主要的目的是在整個網(wǎng)絡(luò)范圍內(nèi)將用戶的請求定向到最近的節(jié)點(或者區(qū)域)。因此,就近性判斷是全局負載均衡的主要功能。本地負載均衡一般局限于一定的區(qū)域范圍內(nèi),其目標是在特定的區(qū)域范圍內(nèi)尋找一臺最適合的節(jié)點提供服務(wù),因此,CDN節(jié)點的健康性、負載情況、支持的媒體格式等運行狀態(tài)是本地負載均衡進行決策的主要依據(jù)。
下面以某視頻網(wǎng)站的視頻點播采用的遞歸式查詢+緩存方式進行介紹:
Step1、用戶端的播放器向邊緣節(jié)點發(fā)出視頻數(shù)據(jù)請求,邊緣節(jié)點判斷是否有相關(guān)視頻數(shù)據(jù),如果有數(shù)據(jù),直接發(fā)送給播放器;如果沒有,進行setp2。
Step2、邊緣CDN節(jié)點向與其連接的區(qū)域中心節(jié)點發(fā)出視頻請求,如果區(qū)域中心節(jié)點有相關(guān)視頻數(shù)據(jù),則發(fā)送至邊緣節(jié)點,邊緣節(jié)點再發(fā)送至播放器;如果區(qū)域中心沒有相關(guān)視頻數(shù)據(jù)則進行Step3。
Step3、區(qū)域中心向與其連接的中心節(jié)點發(fā)出視頻請求,如果中心節(jié)點有相關(guān)視頻數(shù)據(jù),則發(fā)送至區(qū)域中心,再通過區(qū)域中心發(fā)送至邊緣節(jié)點,邊緣節(jié)點再發(fā)送至播放器;如果中心節(jié)點沒有相關(guān)視頻數(shù)據(jù)則進行Step4。
Step4、中心節(jié)點向直播源服務(wù)器發(fā)出視頻請求,直播源服務(wù)器將視頻數(shù)據(jù)發(fā)送至中心節(jié)點,通過中心節(jié)點發(fā)送至區(qū)域節(jié)點,通過區(qū)域中心發(fā)送至邊緣節(jié)點,邊緣節(jié)點再發(fā)送至播放器。
圖3 CDN應(yīng)用案例網(wǎng)絡(luò)圖示意
CDN可在架構(gòu)上打破傳統(tǒng)運營商骨干網(wǎng)互通相對封閉的控制體系,改善視頻、游戲、社交和電子商務(wù)等網(wǎng)上應(yīng)用的訪問質(zhì)量,提升用戶的信息化水平,降低網(wǎng)絡(luò)通信成本。隨著CDN技術(shù)不斷完善,CDN將會以高質(zhì)量網(wǎng)絡(luò)匹配業(yè)務(wù)應(yīng)用發(fā)展對網(wǎng)絡(luò)的需求,大大提升用戶體驗,為業(yè)務(wù)規(guī)模化運營打下良好基礎(chǔ)。