<rp id="cqt9d"></rp>

<ruby id="cqt9d"></ruby>
  • <tbody id="cqt9d"></tbody>
    1. <th id="cqt9d"></th>
      <em id="cqt9d"><acronym id="cqt9d"><input id="cqt9d"></input></acronym></em>

      當前位置:高防服務器 > 高防CDN加速 > CDN內容分發網絡架構與四大關鍵技術

      CDN內容分發網絡架構與四大關鍵技術

      來源:未知 編輯:admin 2018-11-21 21049

      摘要:  隨著寬帶網絡和寬帶流媒體應用的興起,CDN(通常被稱為內容分發網絡Content distribution network,有時也被稱作內容傳遞網絡Contentdeliverynetwork)作為一種提高網絡內容,特別是提高流媒體

        隨著寬帶網絡和寬帶流媒體應用的興起,CDN(通常被稱為內容分發網絡Content distribution network,有時也被稱作內容傳遞網絡Contentdeliverynetwork)作為一種提高網絡內容,特別是提高流媒體內容傳輸的服務質量、節省骨干網絡帶寬的技術,在國內外得到越來越廣泛的應用。

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

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

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

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

        負載均衡設備負責每個節點中各個Cache的負載均衡,保證節點的工作效率;同時,負載均衡設備還負責收集節點與周圍環境的信息,保持與全局負載DNS的通信,實現整個系統的負載均衡。

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

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

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

        而CDN的關鍵技術主要有內容路由技術、內容分發技術、內容存儲技術、內容管理技術等。

        內容路由技術

        CDN負載均衡系統實現CDN的內容路由功能。它的作用是將用戶的請求導向整個CDN網絡中的最佳節點。最佳節點的選定可以根據多種策略,例如距離最近、節點負載最輕等。負載均衡系統是整個CDN的核心,負載均衡的準確性和效率直接決定了整個CDN的效率和性能。

        通常負載均衡可以分為兩個層次:全局負載均衡(GSLB)和本地負載均衡(SLB)。全局負載均衡(GSLB)主要的目的是在整個網絡范圍內將用戶的請求定向到最近的節點(或者區域)。因此,就近性判斷是全局負載均衡的主要功能。本地負載均衡一般局限于一定的區域范圍內,其目標是在特定的區域范圍內尋找一臺最適合的節點提供服務,因此,CDN節點的健康性、負載情況、支持的媒體格式等運行狀態是本地負載均衡進行決策的主要依據。

        負載均衡可以通過多種方法實現,主要的方法包括DNS、應用層重定向、傳輸層重定向等等。

        對于全局負載均衡而言,為了執行就近性判斷,通??梢圆捎脙煞N方式,一種是靜態的配置,例如根據靜態的IP地址配置表進行IP地址到CDN節點的映射。另一種方式是動態的檢測,例如實時地讓CDN節點探測到目標IP的距離(可以采用RRT,Hops作為度量單位),然后比較探測結果進行負載均衡。當然,靜態和動態的方式也可以綜合起來使用。

        對于本地負載均衡而言,為了執行有效的決策,需要實時地獲取Cache設備的運行狀態。獲取的方法一般有兩種,一種是主動探測,一種是協議交互。主動探測針對SLB設備和Cache設備沒有協議交互接口的情況,通過ping等命令主動發起探測,根據返回結果分析狀態。另一種是協議交互,即SLB和Cache根據事先定義好的協議實時交換運行狀態信息,以便進行負載均衡。比較而言,協議交互比探測方式要準確可靠,但是目前尚沒有標準的協議,各廠家的實現一般僅是私有協議,互通比較困難。

        內容分發技術

        內容分發包含從內容源到CDN邊緣的Cache的過程。從實現上看,有兩種主流的內容分發技術:PUSH和PULL.

        PUSH是一種主動分發的技術。通常,PUSH由內容管理系統發起,將內容從源或者中心媒體資源庫分發到各邊緣的Cache節點。分發的協議可以采用HTTP/FTP等。通過PUSH分發的內容一般是比較熱點的內容,這些內容通過PUSH方式預分發(Preload)到邊緣Cache,可以實現有針對的內容提供。對于PUSH分發需要考慮的主要問題是分發策略,即在什么時候分發什么內容。一般來說,內容分發可以由CP(內容提供商)或者CDN內容管理員人工確定,也可以通過智能的方式決定,即所謂的智能分發。它根據用戶訪問的統計信息,以及預定義的內容分發的規則,確定內容分發的過程。

        PULL是一種被動的分發技術,PULL分發通常由用戶請求驅動。當用戶請求的內容在本地的邊緣Cache上不存在(未命中)時,Cache啟動PULL方法從內容源或者其他CDN節點實時獲取內容。在PULL方式下,內容的分發是按需的。

        在實際的CDN系統中,一般兩種分發方式都支持,但是根據內容的類型和業務模式的不同,在選擇主要的內容分發方式時會有所不同。通常,PUSH的方式適合內容訪問比較集中的情況,如熱點的影視流媒體內容;PULL方式比較適合內容訪問分散的情況。

        在內容分發的過程中,對于Cache設備而言,關鍵的是需要建立內容源URL、內容發布的URL、用戶訪問的URL,以及內容在Cache中存儲的位置之間的映射關系。

        內容存儲技術

        對于CDN系統而言,需要考慮兩個方面的內容存儲問題。一個是內容源的存儲,一個是內容在Cache節點中的存儲。

        對于內容源的存儲,由于內容的規模比較大(通??梢赃_到幾個甚至幾十個TB),而且內容的吞吐量較大,因此,通常采用海量存儲架構。如NAS和SON.

        對于在Cache節點中的存儲,是Cache設計的一個關鍵問題。需要考慮的因素包括功能和性能兩個方面:在功能上包括對各種內容格式的支持、對部分緩存的支持,在性能上包括支持的容量、多文件吞吐率、可靠性、穩定性。

        其中,多種內容格式的支持要求存儲系統根據不同文件格式的讀寫特點進行優化,以提高文件內容讀寫的效率,特別是對流媒體文件的讀寫。

        部分緩存能力指流媒體內容可以以不完整的方式存儲和讀取。部分緩存的需求來自用戶訪問行為的隨機性,因為許多用戶并不會完整地收看整個流媒體節目,事實上,許多用戶訪問單個流媒體節目的時間不超過10分鐘。因此,部分緩存能力能夠大大提高存儲空間的利用率,并有效地提高用戶請求的響應時間。但是部分緩存可能導致內容出現碎片問題,需要進行良好的設計和控制。

        Cache存儲的另一個重要因素是存儲的可靠性,目前,多數存儲系統都采用了RAID技術進行可靠存儲。但是不同設備使用的RAID方式各有不同。

        內容管理技術

        內容管理在廣義上涵蓋了從內容的發布、注入、分發、調整、傳遞等一系列過程。在這里,內容管理重點強調內容進入Cache點后的內容管理,我們稱為本地內容管理。

        本地內容管理主要針對一個CDN節點(由多個CDN Cache設備和一個SLB設備構成)進行。本地內容管理的主要目標是提高內容服務的效率,提高本地節點的存儲利用率。通過本地內容管理,可以在CDN節點實現基于內容感知的調度,通過內容感知的調度,可以避免將用戶重定向到沒有該內容的Cache設備上,從而提高負載均衡的效率。通過本地內容管理還可以有效地實現在CDN節點內容的存儲共享,提高存儲空間的利用率。

        在實現上,本地內容管理主要包括如下幾個方面。

        一是本地內容索引。本地內容管理首先依賴于對本地內容的了解。包括每個Cache設備上內容的名稱、URL、更新時間、內容信息等。本地內容索引是實現基于內容感知的調度的關鍵。

        二是本地內容拷貝。通常,為了提高存儲效率,同一個內容在一個CDN節點中僅存儲一份,即僅存儲在某個特定的Cache上。但是一旦對該內容的訪問超過該Cache的服務提供能力,就需要在本地(而不是通過PUSL的方式)實現內容的分發。這樣可以大大提高效率。

        三是本地內容訪問狀態信息收集。搜集各個Cache設備上各個內容訪問的統計信息,Cache設備的可用服務提供能力及內容變化的情況。

        可以看出,通過本地內容管理,可以將內容的管理從原來的Cache設備一級,提高到CDN節點一級,從而大大增加了CDN的可擴展性和綜合能力。

        綜上所述,CDN作為一種支持大規模高質量的流媒體服務的關鍵技術,目前已經基本成熟,具備了廣泛應用的能力。

        銳速云主要經營高防CDN,海外高防CDN,高防CDN服務器,高防CDN加速 免備案高防CDN,抗D云WAF下一代Web類業務DDoS防御服務,自研DDoS清洗系統,ddos清洗中心覆蓋全球主要國家,千萬級CC攻擊防御能力

        官網:http://www.sildenafil-coupons.com/

      相關文章

      關注我們

      版權所有:Copyright @ 2016-2017 深圳市銳速云計算有限公司 增值電信業務經營許可證
      粵B1-20171508
      粵ICP備16119720號-1 粵公網安備11010802009023號