陳健法
摘 ? 要:隨著互聯(lián)網(wǎng)的快速發(fā)展,當(dāng)前互聯(lián)網(wǎng)的用戶數(shù)量快速增加,隨之帶來的是網(wǎng)絡(luò)服務(wù)器負(fù)載的增加,進而導(dǎo)致互聯(lián)網(wǎng)服務(wù)器響應(yīng)速率下降,為此需要從整體上提升互聯(lián)網(wǎng)數(shù)據(jù)傳輸?shù)姆?wù)質(zhì)量,并進一步提高互聯(lián)網(wǎng)服務(wù)器的響應(yīng)效率,從而更好地滿足互聯(lián)網(wǎng)發(fā)展的需要。文章所研究的CDN技術(shù)正是在這樣的基礎(chǔ)上發(fā)展起來的,能夠通過增加新的網(wǎng)絡(luò)構(gòu)建,實現(xiàn)流媒體內(nèi)容有效分送,從而降低服務(wù)器負(fù)載,是一種新興互聯(lián)網(wǎng)技術(shù)。
關(guān)鍵詞:內(nèi)容分發(fā)網(wǎng)絡(luò)技術(shù);主要機制;關(guān)鍵技術(shù);負(fù)載均衡;流媒體;未來網(wǎng)絡(luò)
隨著互聯(lián)網(wǎng)信息技術(shù)的快速發(fā)展,圖像、視頻、音頻等互聯(lián)網(wǎng)內(nèi)容的數(shù)量和體積快速增大;同時,互聯(lián)網(wǎng)服務(wù)覆蓋的用戶群及用戶區(qū)域也將全球化作為一個標(biāo)配。由于受到服務(wù)器處理能力局限、用戶訪問距離影響以及網(wǎng)絡(luò)擁塞導(dǎo)致的網(wǎng)絡(luò)波動等,用戶在互聯(lián)網(wǎng)使用體驗方面將面臨較大的挑戰(zhàn)。這對傳統(tǒng)的交互技術(shù)與傳輸結(jié)構(gòu),都提出了新的需求。此外,由于用戶與網(wǎng)站之間的交互質(zhì)量是直接影響到用戶體驗的重要因素,自然也成為急需解決的問題。
1 ? ?CDN技術(shù)主要機制
1.1 ?CDN體系結(jié)構(gòu)
內(nèi)容分發(fā)網(wǎng)絡(luò)(Content Delivery Network,CDN)技術(shù)本質(zhì)上是一種提升網(wǎng)絡(luò)訪問速度的技術(shù),能夠通過網(wǎng)絡(luò)流量特征和帶寬分布、復(fù)制內(nèi)容以及用戶的訪問特征等因素,對用戶的請求進行數(shù)字化的定量分析,從而實現(xiàn)對于網(wǎng)絡(luò)內(nèi)容的全網(wǎng)高質(zhì)量分送,主要通過4個網(wǎng)絡(luò)體系結(jié)構(gòu)進行運作[1]:
首先,內(nèi)容緩存系統(tǒng)。系統(tǒng)分散與世界各地各個運營商的IDC機房,主要負(fù)責(zé)緩存互聯(lián)網(wǎng)訪問內(nèi)容以及對用戶請求作出響應(yīng)。在CDN中也叫作服務(wù)節(jié)點。這些節(jié)點由服務(wù)器集群組成,通過設(shè)備負(fù)載均衡及應(yīng)用負(fù)載均衡保障單節(jié)點負(fù)載能力及可擴展性,以滿足大規(guī)模用戶訪問的需求。這些節(jié)點往往非常靠近互聯(lián)網(wǎng)用戶,互聯(lián)網(wǎng)用戶在這些節(jié)點獲得請求響應(yīng),減少了回源訪問源站服務(wù)器的次數(shù),并避免遠(yuǎn)距離獲取數(shù)據(jù),從而降低源站負(fù)載,并縮短了網(wǎng)絡(luò)傳輸距離所需要的時間,從而提升了互聯(lián)網(wǎng)服務(wù)的響應(yīng)速度,并提升了源站的穩(wěn)定性及服務(wù)能力。
其次,日志系統(tǒng)。分布于各個節(jié)點,并通過節(jié)點緩存軟件,將流量日志及訪問日志定時吐出,然后通過數(shù)據(jù)同步,將數(shù)據(jù)同步到中心的日志處理服務(wù)器,數(shù)據(jù)統(tǒng)計后用于CDN服務(wù)計費,并可以根據(jù)訪問日志排查故障、監(jiān)測服務(wù)質(zhì)量、預(yù)警服務(wù)故障[2]。
再次,監(jiān)控系統(tǒng)。包括設(shè)備監(jiān)控、網(wǎng)絡(luò)監(jiān)控及應(yīng)用監(jiān)控,實時將監(jiān)控狀態(tài)匯總到中央監(jiān)控中心,并通過監(jiān)控中心設(shè)置的閾值發(fā)出告警。這些告警數(shù)據(jù),實時為CDN運營提供支撐數(shù)據(jù),運營人員根據(jù)告警數(shù)據(jù)及時排除故障,并將服務(wù)器切換到正常的服務(wù)器上去執(zhí)行。監(jiān)控中心的告警數(shù)據(jù)也作為調(diào)度中心的自動調(diào)度依據(jù),以保障CDN服務(wù)的連續(xù)性。
最后,調(diào)度中心。主要是實現(xiàn)對于用戶訪問路徑的管理和實施。主要通過預(yù)設(shè)的節(jié)點覆蓋方案、故障調(diào)度方案以及路徑探測結(jié)果,根據(jù)用戶IP地址屬性等信息,將不同用戶請求分別導(dǎo)向不同的分支節(jié)點,從而實現(xiàn)用戶就近訪問及最優(yōu)路徑訪問,縮短響應(yīng)時間[1]。
1.2 ?CDN技術(shù)的工作流程
當(dāng)用戶訪問到已經(jīng)使用了CDN技術(shù)架構(gòu)的服務(wù)網(wǎng)站時,能夠通過域名系統(tǒng)(Domain Name System,DNS)的重定向技術(shù)實現(xiàn)對于用戶節(jié)點的導(dǎo)向,最終將用戶的請求指向最佳的CDN節(jié)點,而當(dāng)用戶的請求實現(xiàn)與CDN節(jié)點接觸時,CDN的服務(wù)器能夠?qū)⒂脩粽埱蟮膬?nèi)容分送給不同的用戶,詳細(xì)流程如下:
(1)CDN一般在提供服務(wù)的時候,會根據(jù)服務(wù)網(wǎng)站提供域名配置調(diào)度策略及覆蓋策略,并提供一個服務(wù)域名A。服務(wù)網(wǎng)站將自身的服務(wù)域名(包括子域名),通過配置CNAME到這個服務(wù)域名A的方式將解析權(quán)交到CDN調(diào)度中心上。
(2)當(dāng)用戶發(fā)出請求,瀏覽器接收到用戶請求,并向本地的DNS請求域名解析,如果本地DNS有緩存該域名,則直接響應(yīng)CDN節(jié)點IP;如果沒有緩存該域名的DNS解析信息,則進行遞歸解析。遞歸時會發(fā)現(xiàn)解析權(quán)在CDN的調(diào)度中心,則去CDN調(diào)度中心解析這個域名地址,而CDN調(diào)度中心根據(jù)來訪的本地DNS服務(wù)器的歸屬地及運營商屬性,判斷用戶的歸屬地及運營商屬性,并根據(jù)預(yù)先配置的覆蓋策略,返回最優(yōu)CDN節(jié)點的IP地址。這時候,本地DNS服務(wù)器獲得IP地址后,以DNS解析結(jié)果形式響應(yīng)給請求用戶,同時緩存該域名的DNS解析。
(3)用戶端獲得CDN節(jié)點IP后,向該IP發(fā)起網(wǎng)絡(luò)訪問請求,相應(yīng)的CDN服務(wù)器對用戶請求的響應(yīng)。
2 ? ?CDN解決的問題
當(dāng)前CDN技術(shù)的應(yīng)用能夠較好地提升服務(wù)器的響應(yīng)速率,這主要是由于它能夠解決以下問題:首先,能夠解決源站網(wǎng)絡(luò)成本過高的問題,即利用CDN使得回源量下降到1%~10%左右,還能夠降低回源帶寬成本。其次,能夠使得源站負(fù)載降低,即將大部分的訪問負(fù)載由CDN技術(shù)進行必要的邊緣節(jié)點處理,從而使得源站服務(wù)器架構(gòu)能夠?qū)崿F(xiàn)簡化、輕量化。再次,能夠?qū)崿F(xiàn)就近訪問,使得運行和服務(wù)速度加快,從而提升用戶的體驗,還能夠通過監(jiān)控整個訪問質(zhì)量進行調(diào)度,并使用不同的節(jié)點服務(wù)器為客戶提供必需的服務(wù),從而提升用戶的訪問成功率。此外,能夠?qū)崿F(xiàn)動態(tài)調(diào)度節(jié)點,即通過動態(tài)加速技術(shù)彈性地進行帶寬輸出,進而可以降低網(wǎng)絡(luò)攻擊的可能性。最后,能夠通過內(nèi)容緩存實現(xiàn)全局負(fù)載均衡(DNS調(diào)度)、設(shè)備負(fù)載均衡、應(yīng)用負(fù)載均衡等多層調(diào)度保障系統(tǒng)軟件服務(wù)能力。
3 ? ?CDN技術(shù)的關(guān)鍵技術(shù)
3.1 ?CDN靜態(tài)內(nèi)容緩存技術(shù)
當(dāng)前靜態(tài)內(nèi)容緩存技術(shù)的主要內(nèi)容是通過反向代理,將用戶經(jīng)常訪問的互聯(lián)網(wǎng)靜態(tài)內(nèi)容預(yù)先緩存到邊緣節(jié)點,當(dāng)用戶發(fā)出請求時,就近發(fā)放內(nèi)容,從而將網(wǎng)絡(luò)遠(yuǎn)距離傳輸中的各種不確定因素進行排除,從而更好地利用用戶的本地高帶寬,達到提高用戶響應(yīng)速率的目的。
關(guān)鍵技術(shù)包含:內(nèi)容切片分段緩存、內(nèi)容熱度管理、內(nèi)容存儲位置管理、預(yù)取技術(shù)、數(shù)據(jù)壓縮、協(xié)議轉(zhuǎn)換與優(yōu)化、負(fù)載均衡等。其中,負(fù)載均衡技術(shù)用于均衡互聯(lián)網(wǎng)訪問量,主要分為服務(wù)器負(fù)載均衡技術(shù)和全局負(fù)載均衡技術(shù)兩種,從而整合服務(wù)器資源及帶寬資源。負(fù)載均衡技術(shù)是將網(wǎng)絡(luò)流量盡可能均勻地分配到相同服務(wù)器去執(zhí)行和處理任務(wù)的主要技術(shù),通過該技術(shù)能夠?qū)崿F(xiàn)對于網(wǎng)絡(luò)節(jié)點的均勻利用,避免過載造成部分節(jié)點過載或者服務(wù)器過載,導(dǎo)致整體服務(wù)器癱瘓或成本出現(xiàn)突發(fā)、不可控等不利狀況。
3.2 ?CDN動態(tài)加速技術(shù)
當(dāng)前動態(tài)加速技術(shù)包括實時網(wǎng)絡(luò)探測、最優(yōu)路徑算法、網(wǎng)絡(luò)協(xié)議優(yōu)化、長連接池的連接復(fù)用、數(shù)據(jù)壓縮等,主要是為了通過動態(tài)的內(nèi)容分發(fā),實現(xiàn)對于互聯(lián)網(wǎng)內(nèi)容的及時響應(yīng)。這主要是由于網(wǎng)站的訪問響應(yīng)速率往往會受到帶寬瓶頸、骨干網(wǎng)擁塞、網(wǎng)絡(luò)波動、網(wǎng)站服務(wù)器的處理能力以及訪問距離等因素的影響,而這些制約因素的優(yōu)化方法,主要是采用CDN動態(tài)加速技術(shù)實現(xiàn)的。簡而言之便是CDN技術(shù)能夠?qū)崿F(xiàn)對于數(shù)據(jù)傳輸路徑的智能管理,通過“驛站”方式將數(shù)據(jù)以最快速度遞送至目的地。主要流程如下:
當(dāng)用戶進行CDN網(wǎng)站服務(wù)訪問時,通過域名解析獲取就近的CDN服務(wù)節(jié)點,讓用戶能夠以最快的速度獲取服務(wù)。而動態(tài)加速技術(shù),由于實時探測節(jié)點間的訪問速率,并通過動態(tài)路徑算法計算出了最佳的轉(zhuǎn)發(fā)節(jié)點路徑,存儲于邊緣節(jié)點,當(dāng)請求到達時,將通過這個最優(yōu)路徑進行數(shù)據(jù)轉(zhuǎn)發(fā)回源;到達源站后,也將原路返回響應(yīng)。在節(jié)點到節(jié)點的傳輸過程中,使用數(shù)據(jù)壓縮、私有協(xié)議、共享的長連接通道等進行轉(zhuǎn)發(fā),從而提升傳輸速度,實現(xiàn)動態(tài)加速。
4 ? ?結(jié)語
CDN技術(shù)作為一種新型的網(wǎng)絡(luò)架構(gòu),能夠通過負(fù)載均衡、內(nèi)容緩存、動態(tài)分發(fā)以及動態(tài)內(nèi)容路由等技術(shù),實現(xiàn)對于互聯(lián)網(wǎng)訪問速度和質(zhì)量的快速提升,并保證互聯(lián)網(wǎng)服務(wù)器的高質(zhì)量運行,特別是在流媒體的內(nèi)容傳輸過程中,仍然能夠?qū)崿F(xiàn)高性能的提升。因此,CDN技術(shù)已經(jīng)逐漸成了當(dāng)前互聯(lián)網(wǎng)研究的重點內(nèi)容之一,更是組建未來網(wǎng)絡(luò)高速公路的重要技術(shù)。
[參考文獻]
[1]甘士成.內(nèi)容分發(fā)網(wǎng)絡(luò)負(fù)載均衡技術(shù)研究[D].廣州:華南理工大學(xué),2017.
[2]何騰蛟.基于CDN的視頻流媒體內(nèi)容分發(fā)策略的研究[D].深圳:深圳大學(xué),2017.