<strike id="g1ugu"></strike>
    <nobr id="g1ugu"><ruby id="g1ugu"><tr id="g1ugu"></tr></ruby></nobr>

  1. <font id="g1ugu"></font>
    <b id="g1ugu"></b>

  2. 
    

      <tt id="g1ugu"></tt>

        <rp id="g1ugu"></rp>
        首頁 - 網站建設 - 網站CDN加速技術原理

        網站CDN加速技術原理 返回列表

        笑笑2018-11-21編輯發布,已經有1249個小可愛看過這篇文章啦

        CDN全稱Content Delivery Network,即內容分發網絡。其基本思路是盡可能避開互聯網上有可能影響數據傳輸速度和穩定性的瓶頸和環節,使內容傳輸的更快、更穩定。通過在網絡各處放置節點服務器所構成的在現有的互聯網基礎之上的一層智能虛擬網絡,CDN系統能夠實時地根據網絡流量和各節點的連接、負載狀況以及到用戶的距離和響應時間等綜合信息將用戶的請求重新導向離用戶最近的服務節點上。其目的是使用戶可就近取得所需內容,解決 Internet網絡擁擠的狀況,提高用戶訪問網站的響應速度。

        在不同地域的用戶訪問網站的響應速度存在差異,為了提高用戶訪問的響應速度、優化現有Internet中信息的流動,需要在用戶和服務器間加入中間層CDN. 使用戶能以最快的速度,從最接近用戶的地方獲得所需的信息,徹底解決網絡擁塞,提高響應速度,是目前大型網站使用的流行的應用方案.

        CDN 概述

        CDN的全稱是Content Delivery Network,即內容分發網絡。其目的是通過在現有的Internet中增加一層新的CACHE(緩存)層,將網站的內容發布到最接近用戶的網絡"邊緣"的節點,使用戶可以就近取得所需的內容,提高用戶訪問網站的響應速度。從技術上全面解決由于網絡帶寬小、用戶訪問量大、網點分布不均等原因,提高用戶訪問網站的響應速度。

        Cache層的技術,消除數據峰值訪問造成的結點設備阻塞。Cache服務器具有緩存功能,所以大部分網頁對象(Web page object),如html, htm, php等頁面文件,gif,tif,png,bmp等圖片文件,以及其他格式的文件,在有效期(TTL)內,對于重復的訪問,不必從原始網站重新傳送文件實體, 只需通過簡單的認證(Freshness Validation)- 傳送幾十字節的Header,即可將本地的副本直接傳送給訪問者。由于緩存服務器通常部署在靠近用戶端,所以能獲得近似局域網的響應速度,并有效減少廣域帶寬的消耗。不僅能提高響應速度,節約帶寬,對于加速Web服務器,有效減輕源服務器的負載是非常有效的。

        根據加速對象不同,分為 客戶端加速 和 服務器加速。

        客戶端加速 : Cache部署在網絡出口處,把常訪問的內容緩存在本地,提高響應速度和節約帶寬;

        服務器加速 : Cache部署在服務器前端,作為Web服務器的代理緩存機,提高Web服務器的性能,加速訪問速度

        如果多臺Cache加速服務器且分布在不同地域,需要通過有效地機制管理Cache網絡,引導用戶就近訪問(比如通過DNS引導用戶),全局負載均衡流量,這是CDN內容傳輸網絡的基本思想.

        CDN對網絡的優化作用主要體現在如下幾個方面

        - 解決服務器端的“第一公里”問題  

        - 緩解甚至消除了不同運營商之間互聯的瓶頸造成的影響  

        - 減輕了各省的出口帶寬壓力  

        - 緩解了骨干網的壓力  

        - 優化了網上熱點內容的分布


        CDN 的工作原理

        傳統訪問過程(未加速緩存服務)

        我們先看傳統的未加緩存服務的訪問過程,以便了解CDN緩存訪問方式與未加緩存訪問方式的差別:


        由上圖可見,用戶訪問未使用CDN緩存網站的過程為:

        - 用戶輸入訪問的域名,操作系統向 LocalDns 查詢域名的ip地址.

        - LocalDns向 ROOT DNS 查詢域名的授權服務器(這里假設LocalDns緩存過期)

        - ROOT DNS將域名授權dns記錄回應給 LocalDns

        - LocalDns得到域名的授權dns記錄后,繼續向域名授權dns查詢域名的ip地址

        - 域名授權dns 查詢域名記錄后,回應給 LocalDns

        - LocalDns 將得到的域名ip地址,回應給 用戶端

        - 用戶得到域名ip地址后,訪問站點服務器

        - 站點服務器應答請求,將內容返回給客戶端.


        2.2. CDN訪問過程(使用緩存服務)

        CDN網絡是在用戶和服務器之間增加Cache層,主要是通過接管DNS實現,將用戶的請求引導到Cache上獲得源服務器的數據

        下面讓我們看看訪問使用CDN緩存后的網站的過程:

        通過上圖,我們可以了解到,使用了CDN緩存后的網站的訪問過程變為:

        - 用戶輸入訪問的域名,操作系統向 LocalDns 查詢域名的ip地址.

        - LocalDns向 ROOT DNS 查詢域名的授權服務器(這里假設LocalDns緩存過期)

        - ROOT DNS將域名授權dns記錄回應給 LocalDns

        - LocalDns得到域名的授權dns記錄后,繼續向域名授權dns查詢域名的ip地址

        - 域名授權dns 查詢域名記錄后(一般是CNAME),回應給 LocalDns

        - LocalDns 得到域名記錄后,向智能調度DNS查詢域名的ip地址

        - 智能調度DNS 根據一定的算法和策略(比如靜態拓撲,容量等),將最適合的CDN節點ip地址回應給 LocalDns

        - LocalDns 將得到的域名ip地址,回應給 用戶端

        - 用戶得到域名ip地址后,訪問站點服務器

        - CDN節點服務器應答請求,將內容返回給客戶端.(緩存服務器一方面在本地進行保存,以備以后使用,二方面把獲取的數據返回給客戶端,完成數據服務過程)

        通過以上的分析我們可以得到,為了實現對普通用戶透明(使用緩存后用戶客戶端無需進行任何設置)訪問,需要使用DNS(域名解析)來引導用戶來訪問Cache服務器,以實現透明的加速服務. 由于用戶訪問網站的第一步就是 域名解析 ,所以通過修改dns來引導用戶訪問是最簡單有效的方式.


        2.3. CDN網絡的組成要素

        對于普通的Internet用戶,每個CDN節點就相當于一個放置在它周圍的網站服務器.

        通過對dns的接管,用戶的請求被透明地指向離他最近的節點,節點中CDN服務器會像網站的原始服務器一樣,響應用戶的請求.

        由于它離用戶更近,因而響應時間必然更快.

        從上面圖中 虛線圈起來的那塊,就是CDN層,這層是位于 用戶端 和 站點服務器之間.

        智能調度DNS(比如f5的3DNS)

        智能調度DNS是CDN服務中的關鍵系統.當用戶訪問加入CDN服務的網站時,域名解析請求將最終由 智能調度DNS 負責處理.

        它通過一組預先定義好的策略,將當時最接近用戶的節點地址提供給用戶,使用戶可以得到快速的服務.

        同時它需要與分布在各地的CDN節點保持通信,跟蹤各節點的健康狀態,容量等,確保將用戶的請求分配到就近可用的節點上.

        緩存功能服務

        - 負載均衡設備(如lvs,F5的BIG/IP)

        - 內容Cache服務器(如squid)

        - 共享存儲(根據緩存數據量多少決定是否需要)



        【文章來源自網絡】


        • CDN
        • 網站加速
        • Cache

        相關新聞

        來電咨詢 4146.com牛彩彩票
        <strike id="g1ugu"></strike>
          <nobr id="g1ugu"><ruby id="g1ugu"><tr id="g1ugu"></tr></ruby></nobr>

        1. <font id="g1ugu"></font>
          <b id="g1ugu"></b>

        2. 
          

            <tt id="g1ugu"></tt>

              <rp id="g1ugu"></rp>
              <strike id="g1ugu"></strike>
                <nobr id="g1ugu"><ruby id="g1ugu"><tr id="g1ugu"></tr></ruby></nobr>

              1. <font id="g1ugu"></font>
                <b id="g1ugu"></b>

              2. 
                

                  <tt id="g1ugu"></tt>

                    <rp id="g1ugu"></rp>