CDN加速原理

一、什么是 CDN

CDN的全稱是(Content Delivery Network)已添,即內(nèi)容分發(fā)網(wǎng)絡(luò)妥箕。其目的是通過在現(xiàn)有的Internet中增加一層新的CACHE(緩存)層,將網(wǎng)站的內(nèi)容發(fā)布到最接近用戶的網(wǎng)絡(luò)”邊緣“的節(jié)點(diǎn)更舞,使用戶可以就近取得所需的內(nèi)容畦幢,提高用戶訪問網(wǎng)站的響應(yīng)速度。從技術(shù)上全面解決由于網(wǎng)絡(luò)帶寬小缆蝉、用戶訪問量大宇葱、網(wǎng)點(diǎn)分布不均等原因,提高用戶訪問網(wǎng)站的響應(yīng)速度刊头。
簡(jiǎn)單的說黍瞧,CDN的工作原理就是將您源站的資源緩存到位于全球各地的CDN節(jié)點(diǎn)上,用戶請(qǐng)求資源時(shí)芽偏,就近返回節(jié)點(diǎn)上緩存的資源雷逆,而不需要每個(gè)用戶的請(qǐng)求都回您的源站獲取,避免網(wǎng)絡(luò)擁塞污尉、緩解源站壓力膀哲,保證用戶訪問資源的速度和體驗(yàn)

CDN節(jié)點(diǎn)

CDN對(duì)網(wǎng)絡(luò)的優(yōu)化作用主要體現(xiàn)在如下幾個(gè)方面

  • 解決服務(wù)器端的“第一公里”問題
  • 緩解甚至消除了不同運(yùn)營(yíng)商之間互聯(lián)的瓶頸造成的影響
  • 減輕了各省的出口帶寬壓力
  • 緩解了骨干網(wǎng)的壓力
  • 優(yōu)化了網(wǎng)上熱點(diǎn)內(nèi)容的分布

二、CDN工作原理

傳統(tǒng)訪問過程

傳統(tǒng)訪問過程

由上圖可見被碗,用戶訪問未使用CDN緩存網(wǎng)站的過程為:

1.用戶輸入訪問的域名,操作系統(tǒng)向 LocalDns 查詢域名的ip地址.
2.LocalDns向 ROOT DNS 查詢域名的授權(quán)服務(wù)器(這里假設(shè)LocalDns緩存過期)
3.ROOT DNS將域名授權(quán)dns記錄回應(yīng)給 LocalDns
4.LocalDns得到域名的授權(quán)dns記錄后,繼續(xù)向域名授權(quán)dns查詢域名的ip地址
5.域名授權(quán)dns 查詢域名記錄后某宪,回應(yīng)給 LocalDns
6.LocalDns 將得到的域名ip地址,回應(yīng)給 用戶端
7.用戶得到域名ip地址后锐朴,訪問站點(diǎn)服務(wù)器
8.站點(diǎn)服務(wù)器應(yīng)答請(qǐng)求兴喂,將內(nèi)容返回給客戶端.

CDN訪問過程

CDN訪問過程

通過上圖,我們可以了解到焚志,使用了CDN緩存后的網(wǎng)站的訪問過程變?yōu)椋?/strong>

1.用戶輸入訪問的域名,操作系統(tǒng)向 LocalDns 查詢域名的ip地址.
2.LocalDns向 ROOT DNS 查詢域名的授權(quán)服務(wù)器(這里假設(shè)LocalDns緩存過期)
3.ROOT DNS將域名授權(quán)dns記錄回應(yīng)給 LocalDns
4.LocalDns得到域名的授權(quán)dns記錄后,繼續(xù)向域名授權(quán)dns查詢域名的ip地址
5.域名授權(quán)dns 查詢域名記錄后(一般是CNAME)衣迷,回應(yīng)給 LocalDns
6.LocalDns 得到域名記錄后,向智能調(diào)度DNS查詢域名的ip地址
7.智能調(diào)度DNS 根據(jù)一定的算法和策略(比如靜態(tài)拓?fù)洌萘康?,將最適合的CDN節(jié)點(diǎn)ip地址回應(yīng)給 LocalDns
8.LocalDns 將得到的域名ip地址酱酬,回應(yīng)給 用戶端
9.用戶得到域名ip地址后壶谒,訪問站點(diǎn)服務(wù)器
10.CDN節(jié)點(diǎn)服務(wù)器應(yīng)答請(qǐng)求,將內(nèi)容返回給客戶端.(緩存服務(wù)器一方面在本地進(jìn)行保存膳沽,以備以后使用汗菜,二方面把獲取的數(shù)據(jù)返回給客戶端,完成數(shù)據(jù)服務(wù)過程)

通過以上的分析我們可以得到挑社,為了實(shí)現(xiàn)對(duì)普通用戶透明(使用緩存后用戶客戶端無需進(jìn)行任何設(shè)置)訪問陨界,需要使用DNS(域名解析)來引導(dǎo)用戶來訪問Cache服務(wù)器,以實(shí)現(xiàn)透明的加速服務(wù). 由于用戶訪問網(wǎng)站的第一步就是域名解析,所以通過修改dns來引導(dǎo)用戶訪問是最簡(jiǎn)單有效的方式.

CDN網(wǎng)絡(luò)的組成要素

對(duì)于普通的Internet用戶痛阻,每個(gè)CDN節(jié)點(diǎn)就相當(dāng)于一個(gè)放置在它周圍的網(wǎng)站服務(wù)器. 通過對(duì)dns的接管菌瘪,用戶的請(qǐng)求被透明地指向離他最近的節(jié)點(diǎn),節(jié)點(diǎn)中CDN服務(wù)器會(huì)像網(wǎng)站的原始服務(wù)器一樣阱当,響應(yīng)用戶的請(qǐng)求. 由于它離用戶更近麻车,因而響應(yīng)時(shí)間必然更快.

從上面圖中 虛線圈起來的那塊缀皱,就是CDN層,這層是位于 用戶端 和 站點(diǎn)服務(wù)器 之間.

  • 智能調(diào)度DNS(比如f5的3DNS)
    智能調(diào)度DNS是CDN服務(wù)中的關(guān)鍵系統(tǒng).當(dāng)用戶訪問加入CDN服務(wù)的網(wǎng)站時(shí)斗这,域名解析請(qǐng)求將最終由 “智能調(diào)度DNS”負(fù)責(zé)處理动猬。它通過一組預(yù)先定義好的策略,將當(dāng)時(shí)最接近用戶的節(jié)點(diǎn)地址提供給用戶表箭,使用戶可以得到快速的服務(wù)赁咙。同時(shí)它需要與分布在各地的CDN節(jié)點(diǎn)保持通信,跟蹤各節(jié)點(diǎn)的健康狀態(tài)免钻、容量等信息彼水,確保將用戶的請(qǐng)求分配到就近可用的節(jié)點(diǎn)上.
  • 緩存功能服務(wù)
    負(fù)載均衡設(shè)備(如lvs,F5的BIG/IP)
    內(nèi)容Cache服務(wù)器(如squid)
    共享存儲(chǔ)

三、名詞解釋

CNAME記錄(CNAME record)

CNAME即別名( Canonical Name )极舔;可以用來把一個(gè)域名解析到另一個(gè)域名凤覆,當(dāng) DNS 系統(tǒng)在查詢 CNAME 左面的名稱的時(shí)候,都會(huì)轉(zhuǎn)向 CNAME 右面的名稱再進(jìn)行查詢拆魏,一直追蹤到最后的 PTR 或 A 名稱盯桦,成功查詢后才會(huì)做出回應(yīng),否則失敗渤刃。
例如拥峦,你有一臺(tái)服務(wù)器上存放了很多資料,你使用docs.example.com去訪問這些資源卖子,但又希望通過documents.example.com也能訪問到這些資源略号,那么你就可以在您的DNS解析服務(wù)商添加一條CNAME記錄,將documents.example.com指向docs.example.com洋闽,添加該條CNAME記錄后玄柠,所有訪問documents.example.com的請(qǐng)求都會(huì)被轉(zhuǎn)到docs.example.com,獲得相同的內(nèi)容诫舅。

CNAME域名

接入CDN時(shí)羽利,在CDN提供商控制臺(tái)添加完加速域名后,您會(huì)得到一個(gè)CDN給您分配的CNAME域名骚勘, 您需要在您的DNS解析服務(wù)商添加CNAME記錄铐伴,將自己的加速域名指向這個(gè)CNAME域名,這樣該域名所有的請(qǐng)求才會(huì)都將轉(zhuǎn)向CDN的節(jié)點(diǎn)俏讹,達(dá)到加速效果当宴。

DNS

DNS即Domain Name System,是域名解析服務(wù)的意思泽疆。它在互聯(lián)網(wǎng)的作用是:把域名轉(zhuǎn)換成為網(wǎng)絡(luò)可以識(shí)別的ip地址户矢。人們習(xí)慣記憶域名,但機(jī)器間互相只認(rèn)IP地址殉疼,域名與IP地址之間是一一對(duì)應(yīng)的梯浪,它們之間的轉(zhuǎn)換工作稱為域名解析捌年,域名解析需要由專門的域名解析服務(wù)器來完成,整個(gè)過程是自動(dòng)進(jìn)行的挂洛。比如:上網(wǎng)時(shí)輸入的www.baidu.com會(huì)自動(dòng)轉(zhuǎn)換成為220.181.112.143礼预。
常見的DNS解析服務(wù)商有:阿里云解析,萬網(wǎng)解析虏劲,DNSPod托酸,新網(wǎng)解析,Route53(AWS)柒巫,Dyn励堡,Cloudflare等。

回源host

回源host:回源host決定回源請(qǐng)求訪問到源站上的具體某個(gè)站點(diǎn)堡掏。

例子1:源站是域名源站為www.a.com,回源host為www.b.com,那么實(shí)際回源是請(qǐng)求到www.a.com解析到的IP,對(duì)應(yīng)的主機(jī)上的站點(diǎn)www.b.com

例子2:源站是IP源站為1.1.1.1, 回源host為www.b.com,那么實(shí)際回源的是1.1.1.1對(duì)應(yīng)的主機(jī)上的站點(diǎn)www.b.com

協(xié)議回源

指回源時(shí)使用的協(xié)議和客戶端訪問資源時(shí)的協(xié)議保持一致应结,即如果客戶端使用 HTTPS 方式請(qǐng)求資源,當(dāng)CDN節(jié)點(diǎn)上未緩存該資源時(shí)泉唁,節(jié)點(diǎn)會(huì)使用相同的 HTTPS 方式回源獲取資源鹅龄;同理如果客戶端使用 HTTP 協(xié)議的請(qǐng)求,CDN節(jié)點(diǎn)回源時(shí)也使用HTTP協(xié)議游两。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末砾层,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子贱案,更是在濱河造成了極大的恐慌肛炮,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,509評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件宝踪,死亡現(xiàn)場(chǎng)離奇詭異侨糟,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)瘩燥,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門秕重,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人厉膀,你說我怎么就攤上這事溶耘。” “怎么了服鹅?”我有些...
    開封第一講書人閱讀 163,875評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵凳兵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我企软,道長(zhǎng)庐扫,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,441評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮形庭,結(jié)果婚禮上铅辞,老公的妹妹穿的比我還像新娘。我一直安慰自己萨醒,他們只是感情好斟珊,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,488評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著验靡,像睡著了一般倍宾。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上胜嗓,一...
    開封第一講書人閱讀 51,365評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音钩乍,去河邊找鬼辞州。 笑死,一個(gè)胖子當(dāng)著我的面吹牛寥粹,可吹牛的內(nèi)容都是我干的变过。 我是一名探鬼主播,決...
    沈念sama閱讀 40,190評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼涝涤,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼媚狰!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起阔拳,我...
    開封第一講書人閱讀 39,062評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤崭孤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后糊肠,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體辨宠,經(jīng)...
    沈念sama閱讀 45,500評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,706評(píng)論 3 335
  • 正文 我和宋清朗相戀三年货裹,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了嗤形。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,834評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡弧圆,死狀恐怖赋兵,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情搔预,我是刑警寧澤霹期,帶...
    沈念sama閱讀 35,559評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站斯撮,受9級(jí)特大地震影響经伙,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,167評(píng)論 3 328
  • 文/蒙蒙 一帕膜、第九天 我趴在偏房一處隱蔽的房頂上張望枣氧。 院中可真熱鬧,春花似錦垮刹、人聲如沸达吞。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽酪劫。三九已至,卻和暖如春寺董,著一層夾襖步出監(jiān)牢的瞬間覆糟,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工遮咖, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留滩字,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,958評(píng)論 2 370
  • 正文 我出身青樓御吞,卻偏偏與公主長(zhǎng)得像麦箍,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子陶珠,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,779評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 本想自己寫這個(gè)主題的文章挟裂,但網(wǎng)上已經(jīng)有人寫了一篇非常好的文章,覺得難以望其項(xiàng)背揍诽。就沒有必要再寫诀蓉,直接轉(zhuǎn)載如下: 在...
    K丶Aionro閱讀 2,164評(píng)論 1 23
  • 什么是CDN? CDN即內(nèi)容分發(fā)網(wǎng)絡(luò)。其目的是在現(xiàn)有Internet中增加一層新的網(wǎng)絡(luò)架構(gòu)寝姿,將網(wǎng)站內(nèi)容發(fā)布到最接近...
    bjennyzhen閱讀 1,262評(píng)論 0 0
  • 目錄: 一些基本概念主機(jī)名DNS名稱解析DNS 解析的后端存儲(chǔ)名稱解析總結(jié) 大規(guī)模域名解析的體系架構(gòu)DNS 解析需...
    C86guli閱讀 12,495評(píng)論 3 34
  • 限速才能確保生命安全交排,那,在愛情里,什么速度才不會(huì)傷害別人,也傷了自己彬呻? 雨過天晴后又是艷陽高照刺彩,可患了偏執(zhí)癥的人...
    大天使早就死掉了閱讀 855評(píng)論 11 16
  • 20171013晚上 刷花瑩瑩的朋友圈,忽然內(nèi)心很渴望去學(xué)習(xí),我發(fā)現(xiàn)我最近特別想學(xué)習(xí)認(rèn)知自我,向內(nèi)尋求的一些課程。...
    信時(shí)光閱讀 171評(píng)論 0 0