CDN – Content distribution network(內容傳遞網路)其實存在已久,而對於普羅大眾而言,近年來因為眾多針對政治組織、新聞媒體機構的 DDoS 攻擊而令 CDN 服務逐漸被大眾所認識。

其實甚麼是 CDN?

要了解 CDN,大家便要先知道現今的互聯網傳遞是怎樣的。就以網頁內容為例,普遍來說網頁都會儲存在一些網頁伺服器之中,當我們需要瀏覽指定的網站時,傳統上我們所接收到的網頁內容是位於置放在地球某一角落的伺服器之中所傳送出來的,而傳送的路徑當然並非由 A 到 B 點這樣直接,反而會經過很多不同的骨幹網絡的伺服器 (Backbone servers) 以及一些公用的網絡電纜 (Public network cables),而就跟大家所知的一樣,IP 封包經過愈多的傳送路徑,速度上便會愈慢及愈不穩定。

例如筆者使用 traceroute 指令查看從公司電腦連到 Google 時,得出結果如下。

從圖中大家可以見到原來連接到 www.google.com 是需要經過這麼多的傳送點的。

當然,Google 本身的速度都十分流暢,只不過你的公司能像 Google 一樣在全球擁有數以千計的數據中心嗎?答案相信是大部份都不能與 Google 相比吧!於是要加快訪客瀏覽你網站時的速度,這時候 CDN 服務便幫到你了。

CDN 之所以被稱為 Content distribution network,其原理是通過預先將不同的網站內容進行緩存 (Cache),並將這些內容分散的儲存在全球的訪問點(Points of Presence)之中,當用戶需要瀏覽網頁時,請求會通過 DNS 智能判斷,並把內容從最接近的訪問點向用戶傳送,由於內容是由最接近用戶的訪問點進行傳送的關係,因而令路由的節點較少,從而加快瀏覽速度。

由此可見,CDN 伺服器位置、全球分佈、PoPs 的規模,絕對會影響 CDN 服務的速度及質素,因此在選擇 CDN 時,這些亦是需要考慮到的。

在文初筆者都有提及過現時的 CDN 服務分別有針對靜態網頁內容(Static Content)的、針對動態的內容(Dynamic Content)、針對串流(Streaming Content) 等等,稍後將會詳細講解。

為甚麼需要 CDN?

現時全球化已經是必需的,就好像我們 HKITBLOG 亦非單單針對香港用戶一樣,而在全球化之下,瀏覽網站的主要用户群已非只有單一地區,因而令以往傳送的方式 (通過自己租用機櫃架設自家伺服器) 已不足以應付,而且對於海外用户來說,要跨國存取位於香港、台灣的伺服器,絕對會降低了其瀏覽速度。

曾經有一份來自 Forbes 的文章指出,網頁載入延遲一秒鐘,將會令 Pageview 降低 11%,因此當你的網站愈來愈多瀏覽量時,便需要多加考慮使用 CDN 服務以確保用户無論來自本地還是海外,均可極速、穩定地瀏覽你的網站。

另一方面,通過 CDN 你亦將能夠有效的預防一些網絡攻擊,例如大家常見的 DDoS 攻擊;大約於半年多前,便有幾次超級大規模的 DDoS 攻擊,而這些攻擊亦帶動了某幾家 CDN 服務的生意額呢!

待續……

 


 切勿被美麗的服務名稱蒙蔽!動態、靜態、串流 CDN 服務選購攻略

 https://www.facebook.com/hkitblog