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