CDN的工作原理和解決了什么問題?
Admin 2023-06-03 群英技術(shù)資訊 1916 次瀏覽
這篇文章主要講解了“CDN的工作原理和解決了什么問題?”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“CDN的工作原理和解決了什么問題?”吧!《高可用系列文章》 已收錄在專欄,歡迎關(guān)注!
CDN 全稱 Content Delivery Network,即內(nèi)容分發(fā)網(wǎng)絡(luò)。其基本思路是盡可能避開互聯(lián)網(wǎng)上有可能影響數(shù)據(jù)傳輸速度和穩(wěn)定性的瓶頸和環(huán)節(jié),使內(nèi)容傳輸?shù)母?、更穩(wěn)定
CDN 的
工作原理就是將源站的資源緩存CDN各個(gè)節(jié)點(diǎn)上,當(dāng)請求命中了某個(gè)節(jié)點(diǎn)的資源緩存時(shí),立即返回客戶端,避免每個(gè)請求的資源都通過源站獲取,避免網(wǎng)絡(luò)擁塞、緩解源站壓力,保證用戶訪問資源的速度和體驗(yàn)。
舉一個(gè)生活中的例子,我們在某東上購買商品,快遞能做到當(dāng)日送達(dá),其根本原理是通過在全國各地建設(shè)本地倉庫。當(dāng)用戶購買商品時(shí),通過智能倉配模式,為消費(fèi)者選擇就近倉庫發(fā)貨,從而縮短物流配送時(shí)間。

而商品庫存的分配,流程可以參考下圖,從 工廠(源站) -> 地域倉庫(二級緩存) -> 本地倉庫 (一級緩存)

內(nèi)容分發(fā)網(wǎng)絡(luò) 就像前面提到的 智能倉配網(wǎng)絡(luò) 一樣,解決了因分布、帶寬、服務(wù)器性能帶來的訪問延遲問題,適用于站點(diǎn)加速、點(diǎn)播、直播等場景。使用戶可就近取得所需內(nèi)容,解決 Internet網(wǎng)絡(luò)擁擠的狀況,提高用戶訪問網(wǎng)站的響應(yīng)速度和成功率。


CDN 誕生于二十多年前,為解決內(nèi)容源服務(wù)器和傳輸骨干網(wǎng)絡(luò)壓力過大的問題,在 1995 年,麻省理工學(xué)院教授,互聯(lián)網(wǎng)發(fā)明者之一 Tom Leighton 帶領(lǐng)著研究生 Danny Lewin 和其他幾位頂級研究人員一起嘗試用數(shù)學(xué)問題解決網(wǎng)絡(luò)擁堵問題。
他們使用數(shù)學(xué)算法,處理內(nèi)容的動態(tài)路由安排,并最終解決了困擾 Internet 使用者的難題。后來,史隆管理學(xué)院的 MBA 學(xué)生 Jonathan Seelig 加入了 Leighton 的隊(duì)伍中,從那以后他們開始實(shí)施自己的商業(yè)計(jì)劃,最終于 1998 年 8 月 20 日正式成立公司,命名為 Akamai。Akamai 公司通過智能化的互聯(lián)網(wǎng)分發(fā),結(jié)束了 “World Wide Wait” 的尷尬局面。
同年 1998 年,中國第一家 CDN 公司 ChinaCache 成立
在接入CDN前,當(dāng)我們訪問某個(gè)域名,直接拿到第一個(gè)真實(shí)服務(wù)器的IP地址,整個(gè)流程如下(圖有點(diǎn)簡陋)

當(dāng)我們需要加速網(wǎng)站時(shí),通過向運(yùn)營商注冊自己加速域名,源站域名,然后進(jìn)入到自己域名的DNS配置信息,將 A 記錄修改成 CNAME 記錄即可。群英智防CDN加速申請參考如下:


本地DNS 解析,如果 LDNS 命中,直接返回給用戶。LDNS MISS,轉(zhuǎn)發(fā) 授權(quán)DNS 查詢CNAME picwebws.pstatp.com.wsglb0.com. 對應(yīng)IP地址(實(shí)際就是DNS調(diào)度系統(tǒng)的ip地址)DNS調(diào)度系統(tǒng),DNS調(diào)度系統(tǒng)為請求分配最佳節(jié)點(diǎn)IP地址。IP地址緩存服務(wù)器發(fā)起請求,緩存服務(wù)器響應(yīng)用戶請求,將用戶所需內(nèi)容傳送到用戶終端。圖:群英鷹云全站加速示意圖
Tom Leighton在 1995 年, 帶領(lǐng)團(tuán)隊(duì)嘗試用數(shù)學(xué)問題解決網(wǎng)絡(luò)擁堵問題,從而解決骨干網(wǎng)絡(luò)壓力過大的問題。由于上網(wǎng)沖浪 的少年越來越多,造成骨干網(wǎng)的核心節(jié)點(diǎn)流量吞吐不足以支撐互聯(lián)網(wǎng)用戶的增長,通過CDN可以避免用戶流量流經(jīng)骨干網(wǎng)。
骨干網(wǎng)是一個(gè)全球性的局域網(wǎng),一級互聯(lián)網(wǎng)服務(wù)提供商(ISP)將其高速光纖網(wǎng)絡(luò)連接在一起,形成互聯(lián)網(wǎng)的骨干網(wǎng),實(shí)現(xiàn)在不同地理區(qū)域之間高效地傳輸流量。
1、局域網(wǎng)
局域網(wǎng)(Local Area Network,LAN)是指在某一區(qū)域內(nèi)由多臺計(jì)算機(jī)互聯(lián)成的計(jì)算機(jī)組,比如:在大學(xué)時(shí)期,晚上12點(diǎn)后斷網(wǎng)了,我們?nèi)匀荒軌蛲ㄟ^路由器開黑打CS,魔獸。那就是基于局域網(wǎng)互聯(lián),實(shí)現(xiàn)資料共享與信息之間的通信。

2、骨干網(wǎng)
這里引用一下中國電信全網(wǎng)架構(gòu),骨干網(wǎng)可以理解成是一個(gè)全國性的局域網(wǎng),通過核心節(jié)點(diǎn)的流量互通,實(shí)現(xiàn)全網(wǎng)網(wǎng)絡(luò)的互通。這也是為什么我們稱為互聯(lián)網(wǎng) 的原因。
北京、上海、廣州,是ChinaNet的超級核心。除了超級核心之外,ChinaNet還有天津、西安、南京、杭州、武漢、成都等普通核心。

通常網(wǎng)絡(luò)訪問中會有"三公里"路程
CDN網(wǎng)絡(luò)層主要用來加速第二公里(middlemile),
在 CDN 的基礎(chǔ)架構(gòu)中,通常使用兩級 server 做加速:


最接近用戶的節(jié)點(diǎn)地址提供給用戶,使用戶可以得到快速的服務(wù)。緩存服務(wù)器主要的功能就是緩存熱點(diǎn)數(shù)據(jù),數(shù)據(jù)類型包括:靜態(tài)資源(html,js,css等),多媒體資源(img,mp3,mp4等),以及動態(tài)數(shù)據(jù)(邊緣渲染)等。
眾所周知耳熟能詳?shù)呐c CDN 有關(guān)的開源軟件有:
具體對比可參考:https://blog.csdn.net/joeyon1985/article/details/46573281
CDN的分層架構(gòu)

源站指發(fā)布內(nèi)容的原始站點(diǎn)。添加、刪除和更改網(wǎng)站的文件,都是在源站上進(jìn)行的;另外緩存服務(wù)器所抓取的對象也全部來自于源站。
基于請求端 local DNS 的出口 IP 歸屬地以及運(yùn)營商的 DNS 調(diào)度。
DNS 調(diào)度的問題:
客戶端請求固定的 HTTP DNS 地址,根據(jù)返回獲取解析結(jié)果??梢蕴岣呓馕龅臏?zhǔn)確性(不像DNS調(diào)度,只能通過local DNS IP來做決策),能很好的避免劫持等問題。
當(dāng)然這種模式也有一些問題,例如客戶端每次加載URL都可能產(chǎn)生一次HTTP DNS查詢,這就對性能和網(wǎng)絡(luò)接入要求很高。
基于客戶端 IP 和 302 調(diào)度集群進(jìn)行實(shí)時(shí)的流量調(diào)度。
我們來看一個(gè)例子:
302 調(diào)度的優(yōu)勢:
302 調(diào)度的劣勢:
基于 BGP AnyCast 路由策略,只提供極少的對外 IP,路由策略可以很快的調(diào)整。
目前 AWS CloudFront、CloudFlare 都使用了這種方式,在路由層面進(jìn)行調(diào)度。
這種方式可以很好地抵御 DDOS 攻擊,降低網(wǎng)絡(luò)擁塞。
當(dāng)然這種方式的成本和方案設(shè)計(jì)都比較復(fù)雜,所以國內(nèi)的 CDN 目前還都是用 UniCast 的方式。
本地緩存的數(shù)據(jù),通過key-value 的形式,將url 和本地緩存進(jìn)行映射,存儲結(jié)構(gòu)與 Map相似,采用 hash+鏈表形式進(jìn)行緩存。

衡量我們CDN服務(wù)質(zhì)量的一個(gè)核心標(biāo)準(zhǔn),當(dāng)用戶訪問的資源恰好在緩存系統(tǒng)里,可以直接返回給用戶,說明CDN命中;如果CDN緩存中,沒有命中資源,那么會觸發(fā)回源動作。
當(dāng)CDN本地緩存沒有命中時(shí),觸發(fā)回源動作,
一級緩存 訪問二級緩存是否有相關(guān)數(shù)據(jù),如果有,返回一級緩存。二級緩存 Miss,觸發(fā) 二級緩存 回源請求,請求源站對應(yīng)數(shù)據(jù)。獲取結(jié)果后,緩存到本地緩存,返回?cái)?shù)據(jù)到一級緩存。一級緩存 獲取數(shù)據(jù),緩存本地后,返回給用戶。上面說的訪問模式,都是基于Pull模式,由用戶決策哪部分熱點(diǎn)數(shù)據(jù)會最終存留在CDN緩存中;對于大促場景,我們往往需要預(yù)先將活動相關(guān)資源預(yù)熱 到 邊緣節(jié)點(diǎn)(L1),避免大促開啟后,大量用戶訪問,造成源站壓力過大。這時(shí)候采用的是 Push模式。
1、資源訪問加速: 本地Cache加速,提高了企業(yè)站點(diǎn)(尤其含有大量圖片和靜態(tài)頁面站點(diǎn))的訪問速度,并大大提高以上性質(zhì)站點(diǎn)的穩(wěn)定性
2、消除運(yùn)營商間網(wǎng)絡(luò)互聯(lián)的瓶頸問題: 鏡像服務(wù)消除了不同運(yùn)營商之間互聯(lián)的瓶頸造成的影響,實(shí)現(xiàn)了跨運(yùn)營商的網(wǎng)絡(luò)加速,保證不同網(wǎng)絡(luò)中的用戶都能得到良好的訪問質(zhì)量。
3、遠(yuǎn)程加速: 遠(yuǎn)程訪問用戶根據(jù)DNS負(fù)載均衡技術(shù) 智能自動選擇Cache服務(wù)器,選擇最快的Cache服務(wù)器,加快遠(yuǎn)程訪問的速度
4、帶寬優(yōu)化: 自動生成服務(wù)器的遠(yuǎn)程Mirror(鏡像)cache服務(wù)器,遠(yuǎn)程用戶訪問時(shí)從cache服務(wù)器上讀取數(shù)據(jù),減少遠(yuǎn)程訪問的帶寬、分擔(dān)網(wǎng)絡(luò)流量、減輕原站點(diǎn)WEB服務(wù)器負(fù)載等功能。
5、集群抗攻擊: 廣泛分布的CDN節(jié)點(diǎn)加上節(jié)點(diǎn)之間的智能冗余機(jī)制,可以有效地預(yù)防黑客入侵以及降低各種D.D.o.S攻擊對網(wǎng)站的影響,同時(shí)保證較好的服務(wù)質(zhì)量 。
到此這篇關(guān)于“CDN的工作原理和解決了什么問題?”的文章就介紹到這了,更多相關(guān)內(nèi)容請搜索群英網(wǎng)絡(luò)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持群英網(wǎng)絡(luò)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:[email protected]進(jìn)行舉報(bào),并提供相關(guān)證據(jù),查實(shí)之后,將立刻刪除涉嫌侵權(quán)內(nèi)容。
猜你喜歡
隨著互聯(lián)網(wǎng)的快速發(fā)展和廣泛的應(yīng)用,黑客進(jìn)行網(wǎng)絡(luò)攻擊的手段也越來越多,互聯(lián)網(wǎng)安全面臨眾多威脅,網(wǎng)絡(luò)安全問題不得不引起重視。這篇文章就主要介紹十大常見網(wǎng)絡(luò)攻擊行為,希望對大家做好有效的安全防御有幫助。
SQL注入攻擊是什么?SQL注入攻擊是注入攻擊的常見類型,是黑客對對數(shù)據(jù)庫進(jìn)行攻擊的常用手段之一。黑客可以通過將任意惡意SQL代碼插入數(shù)據(jù)查詢,是攻擊者能夠完全控制web應(yīng)用程序后面的數(shù)據(jù)庫服務(wù)器。而SQL注入攻擊類型也有很多,了解SQL注入攻擊種類能幫助我們更好的做好防范。
隨著互聯(lián)的繼續(xù)發(fā)展和廣泛應(yīng)用,網(wǎng)絡(luò)安全問題逐漸得到人們的重視,現(xiàn)在很多網(wǎng)站都面臨網(wǎng)絡(luò)攻擊的威脅,因此提高網(wǎng)絡(luò)意識和做好安全防御至關(guān)重要。這篇文章就主要介紹一下Sniffer攻擊以及工作原理,希望能幫助大家更有效的做好防御。
阿里云CDN刷新預(yù)熱接口
現(xiàn)在服務(wù)器的攻擊的事件越來越多,為了確?;ヂ?lián)網(wǎng)業(yè)務(wù)的穩(wěn)定和正常運(yùn)行,網(wǎng)絡(luò)安全問題大家都應(yīng)該重視起來,那么我們究竟該如何應(yīng)對網(wǎng)絡(luò)攻擊呢?服務(wù)器安全防御的手段有什么?對此,我們能夠以下這些各方面入手。
推薦內(nèi)容
成為群英會員,開啟智能安全云計(jì)算之旅
立即注冊關(guān)注或聯(lián)系群英網(wǎng)絡(luò)
7x24小時(shí)售前:400-678-4567
7x24小時(shí)售后:0668-2555666
24小時(shí)QQ客服
群英微信公眾號
CNNIC域名投訴舉報(bào)處理平臺
服務(wù)電話:010-58813000
服務(wù)郵箱:[email protected]
投訴與建議:0668-2555555
Copyright ? QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版權(quán)所有
增值電信經(jīng)營許可證 : B1.B2-20140078 ICP核準(zhǔn)(ICP備案)粵ICP備09006778號 域名注冊商資質(zhì) 粵 D3.1-20240008