CDN原理

要了解CDN的實現原理,首先讓我們來回顧一下網站傳統的訪問過程,以便理解其與CDN訪問方式之間的差別:
由上圖可見,傳統的網站訪問過程爲:
1. 用戶在瀏覽器中輸入要訪問的域名;
2. 瀏覽器向域名解析服務器發出解析請求,獲得此域名對應的IP地址;
3. 瀏覽器利用所得到的IP地址,向該IP對應的服務器發出訪問請求;

4. 服務器對此響應,將數據回傳至用戶瀏覽器端顯示出來。

與傳統訪問方式不同,CDN網絡則是在用戶和服務器之間增加Cache層,將用戶的訪問請求引導到Cache節點而不是服務器源站點,要實現這一目的,主要是通過接管DNS實現,下圖爲使用CDN緩存後的網站訪問過程:
由上圖可見,使用CDN緩存後的網站訪問過程演變爲:
1.  用戶在瀏覽器中輸入要訪問的域名; 
2.  瀏覽器向域名解析服務器發出解析請求,由於CDN對域名解析過程進行了調整,所以用戶端一般得到的是該域名對應的CNAME記錄,此時瀏覽器需要再次對獲得的CNAME域名進行解析才能得到緩存服務器實際的IP地址。
注:在此過程中,全局負載均衡DNS解析服務器會根據用戶端的源IP地址,如地理位置(深圳還是上海)、接入網類型(電信還是網通)將用戶的訪問請求定位到離用戶路由最短、位置最近、負載最輕的Cache節點(緩存服務器)上,實現就近定位。定位優先原則可按位置、可按路由、也可按負載等。 
3. 再次解析後瀏覽器得到該域名CDN緩存服務器的實際IP地址,向緩存服務器發出訪問請求; 
4.  緩存服務器根據瀏覽器提供的域名,通過Cache內部專用DNS解析得到此域名源服務器的真實IP地址,再由緩存服務器向此真實IP地址提交訪問請求; 
5.  緩存服務器從真實IP地址得到內容後,一方面在本地進行保存,以備以後使用,同時把得到的數據發送到客戶端瀏覽器,完成訪問的響應過程; 
6.  用戶端得到由緩存服務器傳回的數據後顯示出來,至此完成整個域名訪問過程。

通過以上分析可以看到,不論是否使用CDN網絡,普通用戶客戶端設置不需做任何改變,直接使用被加速網站原有域名訪問即可。對於要加速的網站,只需修改整個訪問過程中的域名解析部分,便能實現透明的網絡加速服務。 

例如:客戶端要訪問www.xxx.com,無論該站是否使用CDN技術,都是一樣的訪問方式。如果要通過客戶端看某個網站是否使用CDN,這裏有個粗略的方法,看網站的發向客戶端的

HEADER信息,如果header信息裏面有X-Cache MISS from cache.xxx.com.cn, MISS from cache.xxx.com.cn類似這樣的頭部,就可能使用了CDN,不過也不好說,因爲服務器使用了反向代理技術(如squid)也會發出這樣的頭部。

轉載自:CDN原理

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章