CDN百科第七期 | 關於CDN的原理、術語和應用場景那些事

關於CDN,想必你必定看過不少官方的解釋。今天,CDN百科第七期,將用一篇3844字的文章,來帶你瞭解CDN的誕生、術語、原理、特徵以及應用場景,看完這篇文章,相信你將會對CDN這項互聯網基礎設施有更加透徹的瞭解。php

CDN的全稱是Content Delivery Network,即內容分發網絡。它是構建在現有網絡基礎之上的智能虛擬網絡,依靠部署在各地的邊緣服務器,經過中心平臺的負載均衡、內容分發、調度等功能模塊,使用戶就近獲取所需內容,下降網絡擁塞,提升用戶訪問響應速度和命中率。css

簡單來講,CDN就是爲了網絡內容訪問速度「更快「而生的。那麼現在的網絡自己四通八達,爲何還須要CDN呢?html

1、爲何須要CDN?

舉個簡單的例子,假設咱們忽略網絡傳輸的損耗、設備延時,網絡傳輸速度接近光速,是30萬千米每秒,從東京到美國硅谷的距離大概爲1萬千米,也就是說,若是你的服務器在東京,你上傳了一張很小的圖片,美國用戶訪問至少須要60毫秒。並且,這只是理論數據,現實世界中,網絡環境是十分複雜的,跨地域、跨運營商、網絡擁塞、抖動等問題,都會聚沙成塔,使得延時成倍增長,還有可能訪問失敗,最終影響訪問體驗。前端

CDN的出現,正是爲了解決這個問題。咱們將這張圖片分發並緩存在美國的CDN節點之上,美國用戶就無需從東京獲取數據,直接從就近的美國本地CDN節點獲取到圖片,這大大節省了傳輸時間,提高訪問效率。CDN的節點一般會遍及全球,源站的文件會被被緩存到世界各地,這樣全球用戶均可以實現快速訪問。算法

它有點像分佈於各地的倉儲物流點,不少品牌會預先在倉儲物流點儲備一些爆款商品(靜態文件使用CDN進行緩存),當用戶從電商平臺下單購買貨物的時候(用戶發起請求),平臺根據用戶的收穫地址就近匹配到最近的倉儲物流點並直接進行派貨(就近分發),讓用戶以最快的速度拿到快遞包裹(分發的內容)。咱們能夠用實際的生活經驗來作個對比,若是從江浙滬包郵區寄給杭州的用戶,通常次日就能到,若是是從北京、深圳發貨,通常須要2-3天!緩存

CDN百科第七期 | 關於CDN的原理、術語和應用場景那些事

這就是CDN的緣起。簡單來講,它就是一個分佈式的緩存服務器,主要做用就是儘量減小資源在轉發、傳輸、鏈路抖動等狀況下的時延,保障信息的連貫與極速。當下,咱們生活在互聯網世界,視頻和直播在數據上有巨大的吞吐量,CDN扮演着護航者和加速者的角色,更快速、穩定地將信息觸達每個用戶。安全

2、CDN的工做原理

下面,咱們來進一步瞭解下CDN的工做原理。首先,關於CDN的那些名詞,須要掃個盲
Origin Server源站:作 CDN 以前的客戶真正的服務器。
User:訪問者,也就是要訪問網站的網民。
Last Mile:最後一千米,也就是網民到他所訪問到的 CDN 服務器之間的路徑。
域名:域名是Internet網絡上的一個服務器或一個網絡系統的名字,全世界,沒有重複的域名。
CNAME記錄:它是一個別名記錄( Canonical Name );當 DNS 系統在查詢 CNAME 左面的名稱的時候,都會轉向 CNAME 右面的名稱再進行查詢,一直追蹤到最後的 PTR 或 A 名稱,成功查詢後纔會作出迴應,不然失敗。
CNAME域名:CDN的域名加速須要用到CNAME記錄,在阿里雲控制檯配置完成CDN加速後,您會獲得一個加速後的域名,稱之爲CNAME域名(該域名必定是.kunlun.com), 用戶須要將本身的域名做CNAME指向這個.kunlun.com的域名後,域名解析的工做就正式轉向阿里雲,該域名全部的請求都將轉向阿里雲CDN的節點。
DNS:DNS即Domain Name System,是域名解析服務的意思。它在互聯網的做用是:把域名轉換成爲網絡能夠識別的ip地址。人們習慣記憶域名,但機器間互相只認IP地址,域名與IP地址之間是一一對應的,它們之間的轉換工做稱爲域名解析,域名解析須要由專門的域名解析服務器來完成,整個過程是自動進行的。好比:上網時輸入的www.baidu.com會自動轉換成爲220.181.112.143
邊緣節點:也稱CDN節點、Cache節點等;是相對於網絡的複雜結構而提出的一個概念,指距離最終用戶接入具備較少的中間環節的網絡節點,對最終接入用戶有較好的響應能力和鏈接速度。其做用是將訪問量較大的網頁內容和對象保存在服務器前端的專用cache設備上,以此來提升網站訪問的速度和質量。
Cache:cache高速緩衝存儲器一種特殊的存儲器子系統,其中複製了頻繁使用的數據以利於快速訪問。存儲器的高速緩衝存儲器存儲了頻繁訪問的RAM位置的內容及這些數據項的存儲地址。當處理器引用存儲器中的某地址時,高速緩衝存儲器便檢查是否存有該地址。若是存有該地址,則將數據返回處理器;若是沒有保存該地址,則進行常規的存儲器訪問。由於高速緩衝存儲器老是比主RAM存儲器速度快,因此當RAM的訪問速度低於微處理器的速度時,常使用高速緩衝存儲器。服務器

接下來是CDN的工做原理,最簡單的CDN網絡由一個DNS服務器和幾臺緩存服務器組成,以下圖所示:
CDN百科第七期 | 關於CDN的原理、術語和應用場景那些事網絡

①當用戶點擊網站頁面上的內容URL,通過本地DNS系統解析,DNS系統會最終將域名的解析權交給CNAME指向的CDN專用DNS服務器。
②CDN的DNS服務器將CDN的全局負載均衡設備IP地址返回用戶。
③用戶向CDN的全局負載均衡設備發起內容URL訪問請求。
④CDN全局負載均衡設備根據用戶IP地址,以及用戶請求的內容URL,選擇一臺用戶所屬區域的區域負載均衡設備,告訴用戶向這臺設備發起請求。
⑤區域負載均衡設備會爲用戶選擇一臺合適的緩存服務器提供服務,選擇的依據包括:根據用戶IP地址,判斷哪一臺服務器距用戶最近;根據用戶所請求的URL中攜帶的內容名稱,判斷哪一臺服務器上有用戶所需內容;查詢各個服務器當前的負載狀況,判斷哪一臺服務器尚有服務能力。基於以上這些條件的綜合分析以後,區域負載均衡設備會向全局負載均衡設備返回一臺緩存服務器的IP地址。
⑥全局負載均衡設備把服務器的IP地址返回給用戶。
⑦用戶向緩存服務器發起請求,緩存服務器響應用戶請求,將用戶所需內容傳送到用戶終端。若是這臺緩存服務器上並無用戶想要的內容,而區域均衡設備依然將它分配給了用戶,那麼這臺服務器就要向它的上一級緩存服務器請求內容,直至追溯到網站的源服務器將內容拉到本地。架構

3、CDN的關鍵技術組件

看似複雜龐大的CDN系統,其中有幾個關鍵技術組件:調度、緩存和安全。
一、 調度是 CDN 中的重中之重,流量接入、流量牽引、選擇合適的 CDN 節點服務器等工做,都是在調度環節完成的。具體調度的解釋,能夠參考阿里雲高級技術專家白金撰寫的《CDN 之我見》系列一:原理篇(由來、調度)

二、 緩存也叫 Cache,是 CDN 領域最重要的一個組成部分,對於靜態內容分發,大至視頻點播、文件下載,小至 html 頁面、jpg/gif/png 圖片、css/js 等,均可以緩存到本地,最終用戶(網民)訪問時,沒必要回到原始服務器拿取數據,從而節省了時間、下降了源站服務器的網絡帶寬支出和負載。對於 CDN 來講,每臺 Cache 機器天天的請求量是十分驚人的,磁盤上所存儲的內容量也多得可怕,十幾塊 TB 級的硬盤被塞滿數據也是很正常的事情,所以當一個請求到來時,能迅速檢索出磁盤上的文件並讀取、吐給最終用戶成了一件很重要的事情。具體的緩存,能夠參考阿里雲高級技術專家白金撰寫的《CDN 之我見》系列二:原理篇(緩存、安全)

CDN百科第七期 | 關於CDN的原理、術語和應用場景那些事

三、 針對各種網絡***,好比帶寬飽和***、反射***等蠻力型***,還有XSS跨站、SQL注入、漏洞利用等技巧型***,CDN能夠從隱藏源站、分佈式架構、安全防禦三個層面進行安全防禦。首先,當網站接入CDN後,源站信息會被隔離,***者就沒法直接對源站進行直接***,其次,CDN自然分佈式架構能夠當某些節點被***的時候,很快察覺異常並智能調度至正常節點,確保業務穩定,再次,對於技巧性***,在CDN邊緣節點前置安全防禦能力,與中心聯動造成更完整、更貼近邊緣的防禦策略,有利於安全隱患的攔截。

4、CDN能夠應用在哪些場景?

一、網站與應用加速
網站或者應用中大量靜態資源的加速分發,如各種型圖片、html、css、js文件等,能夠經過CDN緩存到邊緣節點上,當用戶訪問便可就近獲取。網站內容也存在至關一部分動態內容,好比電子商務、遊戲和企業應用類網站,會存在不少如.aspx、.asp、.jsp、.php等爲後綴的動態請求加速。一般緩存對靜態內容支持得較好,而當面臨動態內容請求的時候,通常會回源,源站再將內容傳節點,進而傳給用戶,傳輸鏈路步驟增多,這勢必會影響傳輸質量與效率。因此針對動態內容,CDN也提出了新的加速方法,就是利用智能選路、傳輸協議優化等算法尋找最快的傳輸路徑,自動躲避擁堵和不穩定線路,以此來提高回源效率,實現動、靜混合網站的加速效果保障。

二、視頻、大文件下載分發加速
CDN能夠針對各種文件、在線點播視頻提供下載、分發加速,好比mp四、flv視頻文件或者單個文件大小在20M以上的安裝包等文件,CDN能夠搭配對象存儲OSS使用,提高回源速度,節約近2/3回源帶寬成本。

三、直播加速
在體育或者遊戲賽事直播中,一般成千上萬的用戶瞬間涌入,直播平臺要承擔高併發訪問,一旦帶寬不足,用戶的觀看就會產生卡頓、延時、評論刷不出來、連麥不成功,甚至最後直播直接癱瘓,用戶沒法觀看。CDN結合彈性伸縮服務,及時調整服務器帶寬,應對突發訪問流量。能夠爲直播分發提供流暢的播放下行鏈路,藉助負載均衡系統將將主播端採集的音視頻數據推送到接近用戶的數千個邊緣節點,當觀衆端發起請求,就能夠就近取得資源,減小網絡抖動風險,增長直播鏈路穩定性和流暢性。

四、移動應用加速
CDN能夠爲移動APP更新文件(apk文件)分發,移動APP內圖片、頁面、短視頻、UGC等內容的優化提供加速分發效果。提供httpDNS服務,避免DNS劫持並得到實時精確的DNS解析結果,有效縮短用戶訪問時間,提高用戶體驗。

阿里雲CDN全民加速節活動火熱啓動,爆款產品限時優惠,還有9850元的代金券免費領取,感興趣的用戶能夠在阿里雲官網搜索「全民加速節」瞭解活動詳情!

在全民加速節期間,阿里雲CDN也推出系列直播課程,包括《CDN最全省心選購指南》、《CDN快速上手指南》、《CDN產品與技術揭祕》、《CDN四大場景最佳實踐》等,但願經過分享積累多年的經驗、飽經實戰檢驗的解決方案和最佳實踐,來幫助用戶解決使用CDN過程當中最受關注的問題,歡迎你們在全民加速節活動頁面預定觀看!

相關文章
相關標籤/搜索