• <ul id="k6mek"><pre id="k6mek"></pre></ul>
      <ul id="k6mek"></ul>
      <ul id="k6mek"></ul>
    • <blockquote id="k6mek"><fieldset id="k6mek"></fieldset></blockquote>
    • <samp id="k6mek"><tbody id="k6mek"></tbody></samp><ul id="k6mek"><tbody id="k6mek"></tbody></ul>
      <th id="k6mek"></th>
    • <samp id="k6mek"></samp>
    • CDN是什么?與DNS有什么關(guān)系?及其原理

      1.什么是cdn

             cdn全稱是內(nèi)容分發(fā)網(wǎng)絡(luò)。其目的是讓用戶能夠更快速的得到請求的數(shù)據(jù)。簡單來講,cdn就是用來加速的,他能讓用戶就近訪問數(shù)據(jù),這樣就更更快的獲取到需要的數(shù)據(jù)。舉個例子,現(xiàn)在服務(wù)器在北京,深圳的用戶想要獲取服務(wù)器上的數(shù)據(jù)就需要跨越一個很遠(yuǎn)的距離,這顯然就比北京的用戶訪問北京的服務(wù)器速度要慢。但是現(xiàn)在我們在深圳建立一個cdn服務(wù)器,上面緩存住一些數(shù)據(jù),深圳用戶訪問時先訪問這個cdn服務(wù)器,如果服務(wù)器上有用戶請求的數(shù)據(jù)就可以直接返回,這樣速度就大大的提升了。
      2.dns服務(wù)
               要了解cdn就先要了解一下dns。當(dāng)我們在瀏覽器中輸入一個域名時,首先需要將域名轉(zhuǎn)換為ip地址,再將ip地址轉(zhuǎn)換為mac地址,這樣才能在網(wǎng)絡(luò)上找到該服務(wù)器。我們先不看ip轉(zhuǎn)換mac地址的過程,先來看看是怎么將一個域名轉(zhuǎn)換為ip的。

              當(dāng)我們向dns服務(wù)器發(fā)起解析域名的請求時,dns服務(wù)器首先會查詢自己的緩存中有沒有該域名,如果緩存中存在該域名,則可以直接返回ip地址。如果緩存中沒有,服務(wù)器則會以遞歸的方式層層訪問。例如,我們要訪問www.baidu.com,首先我們會先向全球13個根服務(wù)器發(fā)起請求,詢問com域名的地址,然后再向負(fù)責(zé)com域名的名稱服務(wù)器發(fā)送請求,找到baidu.com,這樣層層遞歸,最終找到我們需要的ip地址。

      3.dns與cdn的關(guān)系

              剛才說到cdn實(shí)際上是一個就近訪問,那么現(xiàn)在有一個問題是,我們怎么知道用戶的所在位置從而給他分配最佳的cdn節(jié)點(diǎn)呢。這就需要dns服務(wù)來進(jìn)行定位了。當(dāng)我們通過使用dns服務(wù)的時候,可以根據(jù)他使用的LDNS服務(wù)器來進(jìn)行一個定位,例如我們的調(diào)度服務(wù)器看到他是來自深圳電信的LDNS服務(wù)器,那么我們就認(rèn)為該用戶來自深圳電信,然后調(diào)度服務(wù)器可以讓該用戶去訪問深圳電信的CDN服務(wù)器,這樣就讓用戶訪問到了最優(yōu)的cdn節(jié)點(diǎn)。

               通過dns服務(wù)我們可以很快的定位到用戶的位置,然后給用戶分配最佳cdn節(jié)點(diǎn),但是這種調(diào)度方式存在一個問題,例如,當(dāng)我 是北京聯(lián)通的用戶但是使用的卻是深圳電信的ldns的話,調(diào)度服務(wù)器會給我分配到深圳電信的cdn服務(wù)器,這樣就產(chǎn)生了錯誤的調(diào)度。


      4.http調(diào)度方式

          針對上面的問題,我們還有另一種調(diào)度方式——http調(diào)度。

          當(dāng)用戶訪問我們的服務(wù)器時,服務(wù)器先分析用戶的ip地址,然后服務(wù)器給用戶返回一個302重定向,將離用戶最近的服務(wù)器存在location中,用戶再去請求這個cdn服務(wù)器就能得到最佳的cdn節(jié)點(diǎn)。

          這種調(diào)度方式的優(yōu)點(diǎn)是他的定位更加準(zhǔn)確,不會因?yàn)殄e誤的ldns造成訪問偏差。但是他的缺點(diǎn)就是需要一次額外的http訪問,這樣首次訪問的延時就會比較高。所以如果是對大文件的請求,顯然采用http的調(diào)度方式比較合適,因?yàn)榇笪募恼埱笮枰嗟臅r間,相比之下可以忽略這次http請求的時間,但是如果是一些小文件的請求,花費(fèi)這個時間有時就有些得不償失了。

          當(dāng)然我們也可以將這兩種方式結(jié)合起來使用,先通過dns的方式來定位,然后通過http的方式來糾正偏差。

      5.緩存的兩種方式

          cdn中緩存了服務(wù)器上的部分資源。那么服務(wù)器怎么去更新cdn節(jié)點(diǎn)的緩存呢?這里有兩種方式,一種是服務(wù)器主動去更新緩存,cdn節(jié)點(diǎn)被動接受。另一種方式是當(dāng)用戶請求的資源不存在時,cdn服務(wù)器向上游服務(wù)器發(fā)起請求,更新緩存,然后將數(shù)據(jù)返回給用戶,這種方式是cdn服務(wù)器主動,源站服務(wù)器被動。顯然第一種方式存在很多問題,例如很容易產(chǎn)生404等,所以一般采用第二種緩存方式。

      6.cdn的整個工作過程

      當(dāng)用戶請求一個文件時,cdn的工作過程如下:


          1.dns請求當(dāng)?shù)豯ocal DNS

          2.當(dāng)?shù)豯ocal DNS遞歸的查詢服務(wù)器的gslb

          3.服務(wù)器根據(jù)local DNS 分配最佳節(jié)點(diǎn),返回ip

          4.用戶獲得最佳接入ip,訪問最佳節(jié)點(diǎn)。

          5.如果該節(jié)點(diǎn)沒有用戶想要獲取的內(nèi)容,則通過內(nèi)部路由訪問上一節(jié)點(diǎn),直到找到文件或到達(dá)源站為止。

          6.cdn節(jié)點(diǎn)緩存該數(shù)據(jù),下次請求該文件時可以直接返回。
      原文鏈接:https://blog.csdn.net/hetoto/java/article/details/90509328

      返回觀點(diǎn)列表
      本文標(biāo)簽:

      相關(guān)專題

      體驗(yàn)從溝通開始,讓我們聆聽您的需求!

      開始您的數(shù)字化品牌體驗(yàn)! 0571-85815193 期待您的來電!

      [ 網(wǎng)站建設(shè)×品牌官網(wǎng)設(shè)計(jì)×大策略營銷門戶×微信小程序開發(fā)×微信公眾號開發(fā)]

      網(wǎng)站事業(yè)部產(chǎn)品經(jīng)理

      網(wǎng)站事業(yè)部產(chǎn)品經(jīng)理

      免費(fèi)獲取項(xiàng)目策劃

      項(xiàng)目開發(fā)部產(chǎn)品經(jīng)理

      項(xiàng)目開發(fā)部產(chǎn)品經(jīng)理

      免費(fèi)獲取項(xiàng)目策劃

      我們正使用 cookies 來改善您的訪問體驗(yàn)

      派迪科技非常重視您的個人隱私,當(dāng)您訪問我們的網(wǎng)站www.bmwdream.cn時,請同意使用所有cookies 。

      如果您想詳細(xì)了解我們?nèi)绾问褂胏ookies請?jiān)L問我們的 《隱私政策》

      Cookie 偏好

      如果您想詳細(xì)了解我們?nèi)绾问褂胏ookie請?jiān)L問我們的 《隱私政策》

      管理cookie偏好

      基本 cookies

      始終允許

      這些 cookies 是網(wǎng)站運(yùn)行所必需的,不能在我們的系統(tǒng)中關(guān)閉。它們通常僅針對您所做的相當(dāng)于服務(wù)請求的操作而設(shè)置,例如設(shè)置您的隱私首選項(xiàng)、登錄或填寫表格。您可以將瀏覽器設(shè)置為阻止或提醒您有關(guān)這些 cookies 的信息,但網(wǎng)站的某些部分將無法運(yùn)行。這些 cookies 不存儲任何個人身份信息。

      性能 cookies

      始終允許
      這些 cookies 使我們能夠計(jì)算訪問量和流量來源,以便我們可以衡量和改進(jìn)我們網(wǎng)站的性能。它們幫助我們了解哪些頁面受歡迎和不受歡迎,并了解訪問者如何在網(wǎng)站上移動。這些 cookies 收集的所有信息都是匯總的,而且是匿名的。如果您不允許這些 cookies,我們將不知道您何時訪問了我們的網(wǎng)站,也無法監(jiān)控其性能。

      功能性 cookies

      這些 cookies 收集信息用于分析和個性化您的定向廣告體驗(yàn)。您可以使用此撥動開關(guān)來行使選擇不獲取個人信息的權(quán)利。如果您選擇關(guān)閉,我們將無法向您提供個性化廣告,也不會將您的個人信息交給任何第三方。

      定位 Cookies

      這些 cookies 可能由我們的廣告合作伙伴通過我們的網(wǎng)站設(shè)置。這些公司可能會使用它們來建立您的興趣檔案,并在其他網(wǎng)站上向您展示相關(guān)廣告。它們不直接存儲個人信息,而是基于唯一標(biāo)識您的瀏覽器和互聯(lián)網(wǎng)設(shè)備。如果您不允許使用這些 cookie,您將體驗(yàn)到較少針對性的廣告。
      • <ul id="k6mek"><pre id="k6mek"></pre></ul>
        <ul id="k6mek"></ul>
        <ul id="k6mek"></ul>
      • <blockquote id="k6mek"><fieldset id="k6mek"></fieldset></blockquote>
      • <samp id="k6mek"><tbody id="k6mek"></tbody></samp><ul id="k6mek"><tbody id="k6mek"></tbody></ul>
        <th id="k6mek"></th>
      • <samp id="k6mek"></samp>