CDN( Content Delivery Network , 內(nèi)容分發(fā)網(wǎng)絡(luò) )是構(gòu)建在現(xiàn)有互聯(lián)網(wǎng)基礎(chǔ)之上的一層智能 虛擬網(wǎng)絡(luò) ,通過在網(wǎng)絡(luò)各處部署節(jié)點服務(wù)器,實現(xiàn)將源站內(nèi)容分發(fā)至所有CDN節(jié)點,使用戶可以就近獲得所需的內(nèi)容。CDN服務(wù)縮短了用戶查看內(nèi)容的訪問延遲,提高了用戶訪問網(wǎng)站的響應(yīng)速度與網(wǎng)站的可用性,解決了網(wǎng)絡(luò)帶寬小、用戶訪問量大、網(wǎng)點分布不均等問題。
加速原理
當(dāng)用戶訪問使用CDN服務(wù)的網(wǎng)站時,本地DNS服務(wù)器通過CNAME方式將最終域名請求重定向到CDN服務(wù)。CDN通過一組預(yù)先定義好的策略(如內(nèi)容類型、地理區(qū)域、網(wǎng)絡(luò)負(fù)載狀況等),將當(dāng)時能夠最快響應(yīng)用戶的CDN節(jié)點IP地址提供給用戶,使用戶可以以最快的速度獲得網(wǎng)站內(nèi)容。使用CDN后的HTTP請求處理流程如下:
CDN節(jié)點有緩存場景
圖1 HTTP請求處理流程(節(jié)點有緩存場景)
HTTP請求流程說明:
1、用戶在瀏覽器輸入要訪問的網(wǎng)站域名,向本地DNS發(fā)起 域名解析 請求。
2、域名解析的請求被發(fā)往網(wǎng)站授權(quán)DNS服務(wù)器。
3、網(wǎng)站DNS服務(wù)器解析發(fā)現(xiàn)域名已經(jīng)CNAME到了www.example.com.c.cdnhwc1.com。
4、請求被指向CDN服務(wù)。
5、CDN對域名進(jìn)行智能解析,將響應(yīng)速度最快的CDN節(jié)點IP地址返回給本地DNS。
6、用戶獲取響應(yīng)速度最快的CDN節(jié)點IP地址。
7、瀏覽器在得到速度最快節(jié)點的IP地址以后,向CDN節(jié)點發(fā)出訪問請求。
8、CDN節(jié)點將用戶所需資源返回給用戶。
CDN節(jié)點無緩存場景
圖2 HTTP請求處理流程(節(jié)點無緩存場景)
HTTP請求流程說明:
1、用戶在瀏覽器輸入要訪問的網(wǎng)站域名,向本地DNS發(fā)起域名解析請求。
2、域名解析的請求被發(fā)往網(wǎng)站授權(quán)DNS服務(wù)器。
3、網(wǎng)站DNS服務(wù)器解析發(fā)現(xiàn)域名已經(jīng)CNAME到了www.example.com.c.cdnhwc1.com。
4、請求被指向CDN服務(wù)。
5、CDN對域名進(jìn)行智能解析,將響應(yīng)速度最快的CDN節(jié)點IP地址返回給本地DNS。
6、用戶獲取響應(yīng)速度最快的CDN節(jié)點IP地址。
7、瀏覽器在得到速度最快節(jié)點的IP地址以后,向CDN節(jié)點發(fā)出訪問請求。
8、CDN節(jié)點回源站拉取用戶所需資源。
9、將回源拉取的資源緩存至節(jié)點。
10將用戶所需資源返回給用戶。