前言:CDN 網絡是内容分(fēn)發網絡。大型網站(zhàn),尤其是直播、視(shì)頻平台一(yī)般都會使用 CDN 加速技術。其原理(lǐ)類似于京東物流利用當地倉庫加速物流效率,本文講解的不錯。
---------- 正文 ----------
如(rú)今這(zhè)個(gè)移動互聯網時(shí)代,越來(lái)越多的人(rén)使用手機觀看視(shì)頻,豐富自己的娛樂(yuè)生(shēng)活。
可是,大家在追劇(jù)的時(shí)候,有沒有想過一(yī)個(gè)問題——為(wèi)什(shén)麽有時(shí)候明明自己手機的網速很快(kuài),但(dàn)觀看視(shì)頻時(shí),仍然卡頓?
回答(dá)這(zhè)個(gè)問題之前,我們先來(lái)做一(yī)道算(suàn)術題。
以之前很火(huǒ)的“延禧攻略”為(wèi)例,當時(shí)曾經在某視(shì)頻APP實現(xiàn)了(le)1千萬用戶同時(shí)在線觀看。
如(rú)果大家觀看的是1080p清晰度的視(shì)頻(理(lǐ)論上(shàng)需要4Mbps帶寬),那麽,累計需要的流量帶寬是10,000,000×4Mbps=40,000,000Mbps=40Tbps。
對于優酷、愛奇藝這(zhè)樣的互聯網視(shì)頻内容提供商(shāng)來(lái)說(shuō),這(zhè)無疑是非常巨大的流量壓力。
我們普通計算(suàn)機的網卡,是1Gbps的帶寬。如(rú)果優酷有一(yī)台超級服務(wù)器(qì),那麽,這(zhè)台超級服務(wù)器(qì)就(jiù)需要4萬塊網卡,而且必須百分(fēn)之百跑滿速度,才能(néng)夠實現(xiàn)這(zhè)1千萬用戶的流暢觀看。
對于一(yī)些(xiē)實力不夠的服務(wù)商(shāng),或者突發流量陡增的情況,就(jiù)會造成擁塞,從而導緻卡頓和延時(shí)。
有這(zhè)麽一(yī)個(gè)說(shuō)法:當用戶打開一(yī)個(gè)頁面,等待超過4秒(miǎo),他就(jiù)會關(guān)閉這(zhè)個(gè)頁面。也(yě)就(jiù)是說(shuō),這(zhè)個(gè)用戶就(jiù)會流失。
▼這(zhè)應該是大家最討(tǎo)厭的符号
用戶的流失,就(jiù)意味着金(jīn)錢(qián)的流失。沒有任何一(yī)家互聯網服務(wù)提供商(shāng)希望這(zhè)樣的情況發生(shēng)。所以,它們必須想方設法讓自己的内容盡快(kuài)呈現(xiàn),縮短用戶的等待時(shí)間(jiān),提升用戶的體(tǐ)驗。
而CDN,就(jiù)是一(yī)項非常有效的縮短時(shí)延的技術。
CDN的誕生(shēng)
上(shàng)世紀80年代,互聯網技術剛剛走入民(mín)用領域。
人(rén)們主要通過撥号來(lái)訪問網絡,帶寬很低(dī),用戶也(yě)很少,所以,沒有對骨幹網以及服務(wù)器(qì)帶來(lái)壓力。
随着互聯網的爆炸式發展,用戶越來(lái)越多,加上(shàng)寬帶接入網的出現(xiàn),内容源服務(wù)器(qì)和骨幹網絡的壓力越來(lái)越大,無法及時(shí)響應用戶的訪問需求。
1995年,麻省理(lǐ)工學院教授、互聯網的發明者之一(yī),Tim Berners-Lee博士發現(xiàn),網絡擁塞越來(lái)越嚴重,将會成為(wèi)互聯網發展的最大障礙。
Tim Berners-Lee
于是,他提出一(yī)個(gè)學術難題,希望有人(rén)能(néng)發明一(yī)種全新(xīn)的、從根本上(shàng)解決問題的方法,來(lái)實現(xiàn)互聯網内容的無擁塞分(fēn)發。
當時(shí)Tim Berners-Lee博士的隔壁,是Tom Leighton教授的辦公室。他是一(yī)位麻省理(lǐ)工學院應用數學教授。
Tom Leighton
他被Berners-Lee的挑戰激起了(le)興趣,于是他請研究生(shēng)Danny C. Lewin和其他幾位頂級研究人(rén)員(yuán)一(yī)起破解這(zhè)個(gè)技術難題。
Danny C. Lewin
最終,他們開發了(le)利用數學運算(suàn)法則來(lái)處理(lǐ)内容的動态路(lù)由算(suàn)法技術,有效地解決了(le)這(zhè)個(gè)難題。這(zhè)個(gè)技術,就(jiù)是CDN。
他們還為(wèi)此專門成立了(le)公司,發揮其商(shāng)業價值。這(zhè)個(gè)公司,就(jiù)是後來(lái)鼎鼎大名的CDN服務(wù)鼻祖——Akamai公司。
CDN的原理(lǐ)
CDN這(zhè)個(gè)技術其實說(shuō)起來(lái)并不複雜,最初的核心理(lǐ)念,就(jiù)是将内容緩存在終端用戶附近。
内容源不是遠(yuǎn)麽?那麽,我們就(jiù)在靠近用戶的地方,建一(yī)個(gè)緩存服務(wù)器(qì),把遠(yuǎn)端的内容,複制一(yī)份,放(fàng)在這(zhè)裏,不就(jiù)OK了(le)?
因為(wèi)這(zhè)項技術是把内容進行了(le)分(fēn)發,所以,它的名字就(jiù)叫做CDN——Content Delivery Network,内容分(fēn)發網絡。
具體(tǐ)來(lái)說(shuō),CDN就(jiù)是采用更多的緩存服務(wù)器(qì)(CDN邊緣節點),布放(fàng)在用戶訪問相對集中的地區或網絡中。當用戶訪問網站(zhàn)時(shí),利用全局負載技術,将用戶的訪問指向距離最近的緩存服務(wù)器(qì)上(shàng),由緩存服務(wù)器(qì)響應用戶請求。(有點像電商(shāng)的本地倉吧(ba)?)
大家可能(néng)覺得,這(zhè)個(gè)不就(jiù)是“鏡像服務(wù)器(qì)”嘛?其實不一(yī)樣。鏡像服務(wù)器(qì)是源内容服務(wù)器(qì)的完整複制。而CDN,是部分(fēn)内容的緩存,智能(néng)程度更高。
确切地說(shuō),CDN=更智能(néng)的鏡像+緩存+流量導流。
而且還需要注意的是,CDN并不是隻能(néng)緩存視(shì)頻内容,它還可以對網站(zhàn)的靜态資源(例如(rú)各類型圖片、html、css、js等)進行分(fēn)發,對移動應用APP的靜态内容(例如(rú)安裝包apk文件、APP内的圖片視(shì)頻等)進行分(fēn)發。
我們來(lái)舉個(gè)例子(zǐ),看看CDN的具體(tǐ)工作(zuò)流程。
如(rú)果某個(gè)用戶想要訪問優酷的視(shì)頻點播内容,那麽:
具體(tǐ)步驟:
①、當用戶點擊APP上(shàng)的内容,APP會根據URL地址去本地DNS(域名解析系統)尋求IP地址解析。
②、本地DNS系統會将域名的解析權交給CDN專用DNS服務(wù)器(qì)。
③、CDN專用DNS服務(wù)器(qì),将CDN的全局負載均衡設備IP地址返回用戶。
④、用戶向CDN的負載均衡設備發起内容URL訪問請求。
⑤、CDN負載均衡設備根據用戶IP地址,以及用戶請求的内容URL,選擇一(yī)台用戶所屬區域的緩存服務(wù)器(qì)。
⑥、負載均衡設備告訴用戶這(zhè)台緩存服務(wù)器(qì)的IP地址,讓用戶向所選擇的緩存服務(wù)器(qì)發起請求。
⑦、用戶向緩存服務(wù)器(qì)發起請求,緩存服務(wù)器(qì)響應用戶請求,将用戶所需内容傳送到用戶終端。
⑧、如(rú)果這(zhè)台緩存服務(wù)器(qì)上(shàng)并沒有用戶想要的内容,那麽這(zhè)台緩存服務(wù)器(qì)就(jiù)要網站(zhàn)的源服務(wù)器(qì)請求内容。
⑨、源服務(wù)器(qì)返回内容給緩存服務(wù)器(qì),緩存服務(wù)器(qì)發給用戶,并根據用戶自定義的緩存策略,判斷要不要把内容緩存到緩存服務(wù)器(qì)上(shàng)。
CDN的好(hǎo)(hǎo)處
采用CDN技術,最大的好(hǎo)(hǎo)處,就(jiù)是加速了(le)網站(zhàn)的訪問——用戶與内容之間(jiān)的物理(lǐ)距離縮短,用戶的等待時(shí)間(jiān)也(yě)得以縮短。
而且,分(fēn)發至不同線路(lù)的緩存服務(wù)器(qì),也(yě)讓跨運營商(shāng)之間(jiān)的訪問得以加速。
例如(rú)中國移動手機用戶訪問中國電信網絡的内容源,可以通過在中國移動架設CDN服務(wù)器(qì),進行加速。效果是非常明顯的。
此外,CDN還有安全方面的好(hǎo)(hǎo)處。内容進行分(fēn)發後,源服務(wù)器(qì)的IP被隐藏,受到攻擊的概率會大幅下(xià)降。而且,當某個(gè)服務(wù)器(qì)故障時(shí),系統會調用臨近的健康服務(wù)器(qì) 進行服務(wù),避免對用戶造成影響。
正因為(wèi)CDN的好(hǎo)(hǎo)處很多,所以,目前所有主流的互聯網服務(wù)提供商(shāng),都采用了(le)CDN技術。所有的雲服務(wù)提供商(shāng),也(yě)都提供了(le)CDN服務(wù)(價格也(yě)不算(suàn)貴,按流量計費)。
某某雲的CDN服務(wù)
CDN和通信行業
CDN是從傳統IT行業發展起來(lái)的一(yī)項服務(wù)。但(dàn)是,對于我們通信行業來(lái)說(shuō),CDN也(yě)有非常大的商(shāng)業價值。
互聯網服務(wù)提供商(shāng)采用CDN,是以存儲換時(shí)延。花錢(qián)購(gòu)置CDN服務(wù)器(qì)或雲計算(suàn)服務(wù),以此換取更好(hǎo)(hǎo)的用戶體(tǐ)驗。
通信運營商(shāng)也(yě)追捧CDN,但(dàn)它們的目的,是以存儲換帶寬——通過服務(wù)“下(xià)沉”,減輕上(shàng)層骨幹網絡的流量壓力,避免硬件擴容,降低(dī)網絡建設成本。
這(zhè)個(gè)很好(hǎo)(hǎo)理(lǐ)解啊,如(rú)果大量的業務(wù)流量數據在骨幹網跑來(lái)跑去,骨幹網肯定吃不消,要拼命擴容。如(rú)果這(zhè)些(xiē)業務(wù)流量數據在底層就(jiù)被解決了(le),那麽,骨幹網的帶寬壓力自然就(jiù)減輕了(le)。不是麽?
很多運營商(shāng)已經将CDN下(xià)沉到地市(shì)級,以此減輕壓力,同時(shí)可以提升用戶體(tǐ)驗。
講到這(zhè)裏,廣大通信汪們是不是想到了(le)什(shén)麽?
沒錯,這(zhè)個(gè)和前幾天介紹過的移動邊緣計算(suàn),有異曲同工之妙。
一(yī)直以來(lái),随着網絡能(néng)力的不斷提升,内容資源和計算(suàn)能(néng)力都在不斷“往上(shàng)走”,走到雲計算(suàn)中心。由一(yī)個(gè)核心雲計算(suàn)中心,對所有終端節點提供服務(wù)。
結果,人(rén)們回過頭來(lái)發現(xiàn),對于非常大的面積區域,非常多的用戶數量,尤其是國家級或世界級的服務(wù),不管你把這(zhè)個(gè)中心設在哪裏,也(yě)不管你這(zhè)個(gè)中心的能(néng)力有多強大,都無法克服物理(lǐ)距離上(shàng)的障礙,會導緻無法忍受的延時(shí)和網絡擁塞。
于是乎,人(rén)們就(jiù)開始把雲計算(suàn)中心進行部分(fēn)“下(xià)沉”,這(zhè)才有了(le)霧計算(suàn)、霾計算(suàn)。甚至人(rén)們開始質疑,集中式計算(suàn)是否會最終被分(fēn)布式計算(suàn)所取代?
區塊鏈,就(jiù)是分(fēn)布式計算(suàn)的代表
在小棗君看來(lái),不存在誰完全取代誰的問題。不同的場(chǎng)景帶來(lái)不同的需求,不同的需求需要不同的網絡架構。場(chǎng)景的多樣化(huà)是現(xiàn)實存在的,所以,網絡架構的靈活化(huà),也(yě)是必然的選擇。
即将到來(lái)的5G,提出三大場(chǎng)景和切片,用同一(yī)張網絡,滿足不同的需求,就(jiù)體(tǐ)現(xiàn)了(le)這(zhè)樣的設計思想,順應了(le)潮流的發展方向。
總而言之,對于網絡技術來(lái)說(shuō),不管是黑貓、白貓,總之,能(néng)抓到老鼠的,就(jiù)是好(hǎo)(hǎo)貓。難道不是麽?
Copyright © 2013-2016 WWW.VZIDC.COM . All Rights Reserved. 微子(zǐ)網絡 版權所有 江蘇微子(zǐ)網絡科技有限公司