CDN技術(shù)原理
首先,讓我們來看一下傳統(tǒng)的Internet 網(wǎng)絡(luò)的基本結(jié)構(gòu)和數(shù)據(jù)傳輸情況,如下圖所示。Internet 網(wǎng)絡(luò)基本結(jié)構(gòu)及數(shù)據(jù)傳輸方式根據(jù)傳統(tǒng)的網(wǎng)絡(luò)結(jié)構(gòu), 用戶的訪問流程基本如下:用戶在自己的瀏覽器中輸入
首先,讓我們來看一下傳統(tǒng)的Internet 網(wǎng)絡(luò)的基本結(jié)構(gòu)和數(shù)據(jù)傳輸情況,如下圖所示。

Internet 網(wǎng)絡(luò)基本結(jié)構(gòu)及數(shù)據(jù)傳輸方式
根據(jù)傳統(tǒng)的網(wǎng)絡(luò)結(jié)構(gòu), 用戶的訪問流程基本如下:
用戶在自己的瀏覽器中輸入要訪問的網(wǎng)站的域名
瀏覽器向本地DNS 請求對該域名的解析
本地DNS 將請求發(fā)到網(wǎng)站授權(quán)的DNS 服務(wù)器
授權(quán)DNS 將服務(wù)器的IP 地址作為解析結(jié)果送給本地DNS
本地DNS 將解析結(jié)果返還給用戶,同時將該解析結(jié)果保存在自己的緩存中,直到相應(yīng)的TTL (生存周期)過期,才再向網(wǎng)站的授權(quán)DNS 請求解析
用戶在得到IP 地址后,向該地址所指向的網(wǎng)站的服務(wù)器進行訪問; 上述傳統(tǒng)的訪問模式存在著如下幾個嚴(yán)重影響互聯(lián)網(wǎng)用戶的訪問效率和質(zhì)量的環(huán)節(jié):
首先,傳統(tǒng)的DNS 解析過程在將網(wǎng)站主機域名轉(zhuǎn)換為IP 地址時,并不預(yù)先判斷該服務(wù)器是否正常工作;即使該服務(wù)器已經(jīng)宕機不能提供服務(wù)了,用戶的請求仍將被發(fā)往這臺服務(wù)器,造成服務(wù)的中斷。
其次,互聯(lián)網(wǎng)從誕生的第一天起,就缺乏一個專門的中央管理結(jié)構(gòu),也缺乏統(tǒng)一的產(chǎn)品和技術(shù)標(biāo)準(zhǔn)。這一點曾是互聯(lián)網(wǎng)得以迅速發(fā)展的優(yōu)勢。但是,隨著互聯(lián)網(wǎng)的規(guī)模越來越大,這一點造成了眾多不同網(wǎng)絡(luò)結(jié)構(gòu)并存的局面。不同網(wǎng)絡(luò)間的兼容以及不同網(wǎng)絡(luò)運營商/ISP之間的傳輸瓶頸等問題使得數(shù)據(jù)的流通受到限制。據(jù)統(tǒng)計,現(xiàn)有互聯(lián)網(wǎng)上的平均傳輸速率不高于30Kbps 。
另外,現(xiàn)有的互聯(lián)網(wǎng)以數(shù)據(jù)包傳輸為基礎(chǔ),任何一個數(shù)據(jù)包的丟失或出錯都必須重新發(fā)送,而平均一個重傳過程需要3秒鐘,從而導(dǎo)致延遲。并且現(xiàn)有的
,HTTP 協(xié)議也有誘發(fā)延遲的因素,據(jù)調(diào)查,完整下載一個網(wǎng)頁,需要在用戶和服
務(wù)器之間往返20~100次。
最后,現(xiàn)有的路由技術(shù)以路由器工作狀態(tài)的歷史數(shù)據(jù)為依據(jù)來確定當(dāng)前數(shù)據(jù)包的傳輸路徑,無法真實反應(yīng)當(dāng)前的路由和網(wǎng)絡(luò)連接狀況。這往往會導(dǎo)致數(shù)據(jù)傳輸所經(jīng)過的路徑并不是當(dāng)前的最佳路徑。而且,眾多的路由器和交換機不但使數(shù)據(jù)傳輸?shù)臅r間延遲增大,還會增加出錯的幾率,因為任何一個路由器出現(xiàn)問題都會影響到整個傳輸過程。
內(nèi)容分發(fā)網(wǎng)絡(luò)(CDN )采用智能路由和流量管理技術(shù),及時發(fā)現(xiàn)能夠給訪問者提供最快響應(yīng)的加速節(jié)點,并將訪問者的請求導(dǎo)向到該加速節(jié)點,由該加速節(jié)點提供內(nèi)容服務(wù)。利用內(nèi)容分發(fā)與復(fù)制機制,CDN 客戶不需要改動原來的網(wǎng)站結(jié)構(gòu),只需修改少量的DNS 配置,就可以加速網(wǎng)絡(luò)的響應(yīng)速度。
當(dāng)用戶訪問了使用CDN 服務(wù)的網(wǎng)站時,DNS 域名服務(wù)器通過CNAME 方式將最終域名請求重定向到CDN 系統(tǒng)中的智能DNS 負載均衡系統(tǒng)。智能DNS 負載均衡系統(tǒng)通過一組預(yù)先定義好的策略(如內(nèi)容類型、地理區(qū)域、網(wǎng)絡(luò)負載狀況等),將當(dāng)時能夠最快響應(yīng)用戶的節(jié)點地址提供給用戶,使用戶可以得到快速的服務(wù)。
同時,它還與分布在不同地點的所有CDN 節(jié)點保持通信,搜集各節(jié)點的健康狀態(tài),確保不將用戶的請求分配到任何一個已經(jīng)不可用的節(jié)點上。而網(wǎng)宿CDN 還具有在網(wǎng)絡(luò)擁塞和失效情況下,能擁有自適應(yīng)調(diào)整路由的能力。
使用了CDN 服務(wù)后,用戶的訪問流程如下圖所示:

圖 CDN用戶訪問流程圖
用戶向瀏覽器提供要訪問網(wǎng)站的域名,域名解析的請求被發(fā)往網(wǎng)站的DNS 域名解析服務(wù) 器;
由于網(wǎng)站的DNS 域名解析服務(wù)器對此域名的解析設(shè)置了CNAME ,請求被指向CDN 網(wǎng)絡(luò)中的智能DNS 負載均衡系統(tǒng);
智能DNS 負載均衡系統(tǒng)對域名進行智能解析,將響應(yīng)速度最快的節(jié)點IP 返回給用戶; 瀏覽器在得到速度最快節(jié)點的IP 地址以后,向CDN 節(jié)點發(fā)出訪問請求;
由于是第一次訪問,CDN 節(jié)點將回到源站取用戶請求的數(shù)據(jù)并發(fā)給用戶;
當(dāng)有其他用戶再次訪問同樣內(nèi)容時,CDN 將直接將數(shù)據(jù)返回給客戶,完成請求/服務(wù)過程。
,通過以上的分析我們可以看出,CDN 服務(wù)對網(wǎng)站訪問提供加速的同時,可以實現(xiàn)對普通訪問用戶透明,即加入緩存以后用戶客戶端無需進行任何設(shè)置,直接輸入被加速網(wǎng)站原有的域名即可訪問。
CDN 工作原理示意圖

:
CDN 對網(wǎng)絡(luò)的優(yōu)化作用:
CDN系統(tǒng)通過在網(wǎng)絡(luò)各處放置節(jié)點服務(wù)器,從而將網(wǎng)站的內(nèi)容放置到離用
戶最近的地方,避免了上述影響互聯(lián)網(wǎng)傳輸性能的“第一公里”和“網(wǎng)間互聯(lián)瓶頸”等各個環(huán)節(jié),為改善中國的互聯(lián)網(wǎng)環(huán)境、解決網(wǎng)站的服務(wù)質(zhì)量和提高用戶的上網(wǎng)速度提供了有效的解決方案。
CDN 對網(wǎng)絡(luò)的優(yōu)化作用主要體現(xiàn)在如下幾個方面:
解決服務(wù)器端的“第一公里”問題
緩解甚至消除了不同運營商之間互聯(lián)的瓶頸造成的影響
減輕了各省的出口帶寬壓力
緩解了骨干網(wǎng)的壓力
優(yōu)化了網(wǎng)上熱點內(nèi)容的分布
CDN 對網(wǎng)絡(luò)的優(yōu)化作用原理圖如下:
,