CDN加速的工作原理

? ? ? ? ?在描述CDN的加速原理時(shí),讓我們先看看傳統(tǒng)的非緩存服務(wù)訪問(wèn)過(guò)程,了解CDN緩存訪問(wèn)模式和非緩存訪問(wèn)模式的區(qū)別:

用戶訪問(wèn)非CDN緩存網(wǎng)站的過(guò)程如下:

(1)用戶提供瀏覽器要訪問(wèn)的域名;

(2)瀏覽器調(diào)用域名解析函數(shù)庫(kù)解析域名,得到相應(yīng)的IP地址;

(3)瀏覽器使用獲取的IP地址和域名的服務(wù)主機(jī)發(fā)出數(shù)據(jù)訪問(wèn)請(qǐng)求;

(4)瀏覽器根據(jù)域主機(jī)返回的數(shù)據(jù)顯示web內(nèi)容。

? ? ? ?通過(guò)上面四個(gè)步驟,瀏覽器完成了從接收用戶希望訪問(wèn)的域名到從域名服務(wù)主機(jī)獲取數(shù)據(jù)的整個(gè)過(guò)程。CDN網(wǎng)絡(luò)是在用戶和服務(wù)器之間添加緩存層。如何將用戶的請(qǐng)求直接指向緩存以獲取源服務(wù)器的數(shù)據(jù),主要是通過(guò)接管DNS,下面讓我們看看訪問(wèn)使用CDN緩存后的網(wǎng)站的過(guò)程:

? ? ? ?我們可以了解到,使用了CDN緩存后的網(wǎng)站的訪問(wèn)過(guò)程變?yōu)椋?/p>

(1)用戶向?yàn)g覽器提供要訪問(wèn)的域名;

(2)瀏覽器調(diào)用域名解析庫(kù)對(duì)域名進(jìn)行解析,由于CDN對(duì)域名解析過(guò)程進(jìn)行了調(diào)整,所以解析函數(shù)庫(kù)一般得到的是該域名對(duì)應(yīng)的CNAME記錄,為 了得到實(shí)際IP地址,瀏覽器需要再次對(duì)獲得的CNAME域名進(jìn)行解析以得到實(shí)際的IP地址;在此過(guò)程中,使用的全局負(fù)載均衡DNS解析,如根據(jù)地理位置信 息解析對(duì)應(yīng)的IP地址,使得用戶能就近訪問(wèn);

(3)此次解析得到CDN緩存服務(wù)器的IP地址,瀏覽器在得到實(shí)際的IP地址以后,向緩存服務(wù)器發(fā)出訪問(wèn)請(qǐng)求;

(4)緩存服務(wù)器根據(jù)瀏覽器提供的要訪問(wèn)的域名,通過(guò)Cache內(nèi)部專用DNS解析得到此域名的實(shí)際IP地址,再由緩存服務(wù)器向此實(shí)際IP地址提交訪問(wèn)請(qǐng)求;

(5)緩存服務(wù)器從實(shí)際IP地址得得到內(nèi)容以后,一方面在本地進(jìn)行保存,以備以后使用,二方面把獲取的數(shù)據(jù)返回給客戶端,完成數(shù)據(jù)服務(wù)過(guò)程;

(6)客戶端得到由緩存服務(wù)器返回的數(shù)據(jù)以后顯示出來(lái)并完成整個(gè)瀏覽的數(shù)據(jù)請(qǐng)求過(guò)程。

? ? ? ?通過(guò)以上的分析我們可以得到,為了實(shí)現(xiàn)既要對(duì)普通用戶透明(即加入緩存以后用戶客戶端無(wú)需進(jìn)行任何設(shè)置,直接使用被加速網(wǎng)站原有的域名即可訪問(wèn)),又要在為指定的網(wǎng)站提供加速服務(wù)的同時(shí)降低對(duì)ICP的影響,只要修改整個(gè)訪問(wèn)過(guò)程中的域名解析部分,以實(shí)現(xiàn)透明的加速服務(wù),下面是CDN網(wǎng)絡(luò)實(shí)現(xiàn)的 具體操作過(guò)程。

(1)作為ICP,只需要把域名解釋權(quán)交給CDN運(yùn)營(yíng)商,其他方面不需要進(jìn)行任何的修改;操作時(shí),ICP修改自己域名的解析記錄,一般用cname方式指向CDN網(wǎng)絡(luò)Cache服務(wù)器的地址;

(2)作為CDN運(yùn)營(yíng)商,首先需要為ICP的域名提供公開(kāi)的解析,為了實(shí)現(xiàn)sortlist,一般是把ICP的域名解釋結(jié)果指向一個(gè)CNAME記錄;

(3)當(dāng)需要進(jìn)行sorlist時(shí),CDN運(yùn)營(yíng)商可以利用DNS對(duì)CNAME指向的域名解析過(guò)程進(jìn)行特殊處理,使DNS服務(wù)器在接收到客戶端請(qǐng)求時(shí)可以根據(jù)客戶端的IP地址,返回相同域名的不同IP地址;

(4)由于從cname獲得的IP地址,并且?guī)в衕ostname信息,請(qǐng)求到達(dá)Cache之后,Cache必須知道源服務(wù)器的IP地址,所以在CDN運(yùn)營(yíng)商內(nèi)部維護(hù)一個(gè)內(nèi)部DNS服務(wù)器,用于解釋用戶所訪問(wèn)的域名的真實(shí)IP地址;

(5)在維護(hù)內(nèi)部DNS服務(wù)器時(shí),還需要維護(hù)一臺(tái)授權(quán)服務(wù)器,控制哪些域名可以進(jìn)行緩存,而哪些又不進(jìn)行緩存,以免發(fā)生開(kāi)放代理的情況。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 概念: 域名系統(tǒng)(英文:Domain Name System,縮寫:DNS)是互聯(lián)網(wǎng)的一項(xiàng)服務(wù)。它作為將域名和IP...
    ZZELLIOTT閱讀 797評(píng)論 0 1
  • 本想自己寫這個(gè)主題的文章,但網(wǎng)上已經(jīng)有人寫了一篇非常好的文章,覺(jué)得難以望其項(xiàng)背。就沒(méi)有必要再寫,直接轉(zhuǎn)載如下: 在...
    K丶Aionro閱讀 2,250評(píng)論 1 23
  • DNS & CDN & HTTPDNS 原理簡(jiǎn)析 背景:域名系統(tǒng) DNS (Domain Name System ...
    蕪園樓主香獨(dú)秀閱讀 14,465評(píng)論 4 51
  • 專注力就是一個(gè)分解任務(wù),進(jìn)而行云流水地執(zhí)行任務(wù)的游戲過(guò)程。 在面對(duì)一個(gè)新的任務(wù)的時(shí)候,如果不分解它,就會(huì)出現(xiàn)像狗咬...
    此身o越重洋閱讀 245評(píng)論 0 0
  • 今天成績(jī)很差,約了2節(jié)課,每次約的課挺多,就是覺(jué)得成交率不高,不知道哪里需要再努力一把,提高成交率
    喻芬_4636閱讀 117評(píng)論 1 1

友情鏈接更多精彩內(nèi)容