一、CDN是什么?
---- CDN的全稱是Content Delivery Network,即內容分發網絡。其目的是通過在現有的Inte.net中增加一層新的網絡架構,將網站的內容發布到最接近用戶的網絡“邊緣”,使用戶可以就近取得所需的內容,提高用戶訪問網站的響應速度。CDN有別于鏡像,因為它比鏡像更智能,或者可以做這樣一個比喻:CDN=更智能的鏡像+緩存+流量導流。因而,CDN可以明顯提高Internet網絡中信息流動的效率。從技術上全面解決由于網絡帶寬小、用戶訪問量大、網點分布不均等問題,提高用戶訪問網站的響應速度。
---- 為更好地理解CDN,讓我們看一下CDN的工作流程。當用戶訪問已經加入CDN服務的網站時,首先通過DNS重定向技術確定最接近用戶的最佳CDN節點,同時將用戶的請求指向該節點。當用戶的請求到達指定節點時,CDN的服務器(節點上的高速緩存)負責將用戶請求的內容提供給用戶。具體流程為: 用戶在自己的瀏覽器中輸入要訪問的網站的域名,瀏覽器向本地DNS請求對該域名的解析,本地DNS將請求發到網站的主DNS,主DNS根據一系列的策略確定當時最適當的CDN節點,并將解析的結果(IP地址)發給用戶,用戶向給定的CDN節點請求相應網站的內容。
二、CDN的相關技術
---- CDN的實現需要依賴多種網絡技術的支持,其中負載均衡技術、動態內容分發與復制技術、緩存技術是比較主要的幾個,下面讓我們簡單看一下這幾種技術。
---- 負載均衡技術 ---- 動態內容分發與復制技術 ---- 緩存技術 三、誰需要CDN?
---- 既然CDN的核心作用是提高網絡的訪問速度,那么其用戶也就是訪問量很大的網站,例如ICP 、ISP、大型企業、電子商務網站和政府網站等。利用CDN技術,這些網站無需投資昂貴的各類服務器,設立分站點。通過采用CDN,CDN將負責信息傳遞工作,保證信息正常傳輸,而技術人員只需要維護網站內容,不需要考慮流量問題。這樣,網站可保證用戶得到更多的新業務,可以快速訪問網絡上的內容,獲得更好的服務質量。舉個例子來講,對于訪問量比較大,而被訪問內容更新周期比較長的網站,如政府網站,用戶往往進行大量的查詢工作。這類網站比較適合采用CDN。還有,大家是否注意到,在所謂的寬帶社區中,瓶頸是社區的對外出口。這樣,如果采用CDN無疑對社區用戶使用視頻點播、網絡教育等寬帶應用提供了保證。
四、CDN的不足
---- 任何一個新事物,在給現有模式帶來改進的同時,也必然存在一定的局限,CDN也是這樣。據互聯通網絡有限公司的技術經理郭廣中講,實時性不太好是CDN的致命缺陷。隨著對CDN需求的逐漸升溫,這一缺陷將得到改進,使來自于遠程服務器的網絡內容網頁與復本服務器或緩存器中的網頁保持同步。解決方法是在網絡內容發生變化時將新的網絡內容從服務器端直接傳送到緩存器,或者當對網絡內容的訪問增加時將數據源服務器的網絡內容盡可能實時地復制到緩存服務器。
五、CDN產品
---- 目前,推出比較成熟的CDN產品的廠家有Cisco、F5和互聯通公司等,前兩者的CDN是以硬件系統為主,而后者的CDN是以軟件為主的通用平臺,很好地結合了線路和服務優勢。下面簡單分析一下互聯通的CDN——Smart CDN。
---- 互聯通采用整體負載均衡(GSLB)、緩存技術(Cache)及鏡像技術(Mirror)相結合的方法,為客戶提供異地網絡加速服務。具體方案是在網站主站點以外的用戶集中城市、地區使用互聯通的網絡加速服務,互聯通智能GSLB系統通過互聯通專網,引導網站用戶訪問“最佳”Cache/Mirror服務器,從而繞過互聯網擁堵鏈路,減輕主站點服務器負載,實現異地網絡加速,并解決了單純Cache/Mirror不能解決的難題。
---- Smart CDN通過DNS解析或HTTP重定向兩種方式工作,通過Cache服務器或異地的鏡像站點完成內容的傳送與同步更新。DNS方式用戶位置判斷準確率大于85%,HTTP方式準確率為99%以上。經實際測算,各Cache服務器群的用戶訪問流入數據量與Cache服務器到原始網站取內容的數據量之比在2:1到3:1之間,即分擔50%~70%的到原始網站重復訪問數據量(主要是圖片、流媒體文件等內容)。對于鏡像,除數據同步的流量,其余均在本地完成,不訪問原始服務器。
---- Smart CDN系統基于用戶實際訪問的IP地址判斷用戶位置,直接將用戶訪問指向響應速度最快的站點。整個系統管理簡單,用戶可通過GUI確定有哪些內容需要做分布式分發,系統會自動完成內容的復制、更新及數據庫同步的全過程。并且,系統具有自診斷、負載均衡的能力,任何環節發生故障,不會影響整個系統的可訪問性。
---- 可以說,負載均衡技術在CDN中發揮著重要的作用,其能力高低對CDN的性能產生直接影響。Smart CDN所采用的負載均衡具有一定的優勢,主要體現在如下幾個方面。
---- 1. 高智能化 ---- 2. 高可靠性 ---- 3. 高可用性 ---- 4. 高冗余性 ---- 另外,Smart CDN在服務上的優勢體現在: 通過互聯通專有鏈路系統,可提高用戶訪問的響應速度;保證了兩岸三地區域內多點多地服務器內容同步;消除了峰值訪問(Peak Load)對出口鏈路及服務器性能的壓力;提高了租用鏈路的帶寬利用率; 降低了原始Web/FTP網站的負載等。
隨著互聯網的發展,用戶在使用網絡時對網站的瀏覽速度和效果愈加重視,但由于網民數量激增,網絡訪問路徑過長,從而使用戶的訪問質量受到嚴重影響。特別是當用戶與網站之間的鏈路被突發的大流量數據擁塞時,對于異地互聯網用戶急速增加的地區來說,訪問質量不良更是一個急待解決的問題。如何才能讓各地的用戶都能夠進行高質量的訪問,并盡量減少由此而產生的費用和網站管理壓力呢?內容發布網絡(Content Delivery Network,CDN)誕生了。
---- 負載均衡技術不僅僅應用于CDN中,在網絡的很多領域都得到了廣泛的應用,如服務器的負載均衡、網絡流量的負載均衡。顧名思義,網絡中的負載均衡就是將網絡的流量盡可能均勻分配到幾個能完成相同任務的服務器或網絡節點上,由此來避免部分網絡節點過載。這樣既可以提高網絡流量,又提高了網絡的整體性能。在CDN中,負載均衡又分為服務器負載均衡和服務器整體負載均衡(也有的稱為服務器全局負載均衡)。服務器負載均衡是指能夠在性能不同的服務器之間進行任務分配,既能保證性能差的服務器不成為系統的瓶頸,又能保證性能高的服務器的資源得到充分利用。而服務器整體負載均衡允許Web網絡托管商、門戶站點和企業根據地理位置分配內容和服務。通過使用多站點內容和服務來提高容錯性和可用性,防止因本地網或區域網絡中斷、斷電或自然災害而導致的故障。在CDN的方案中服務器整體負載均衡將發揮重要作用,其性能高低將直接影響整個CDN的性能。
---- 大家都知道,網站訪問響應速度取決于許多因素,如網絡的帶寬是否有瓶頸、傳輸途中的路由是否有阻塞和延遲、網站服務器的處理能力及訪問距離等。多數情況下,網站響應速度和訪問者與網站服務器之間的距離有密切的關系。如果訪問者和網站之間的距離過遠的話,它們之間的通信一樣需要經過重重的路由轉發和處理,網絡延誤不可避免。一個有效的方法就是利用內容分發與復制技術,將占網站主體的大部分靜態網頁、圖像和流媒體數據分發復制到各地的加速節點上。所以動態內容分發與復制技術也是CDN所需的一個主要技術。
---- 緩存技術已經不是一種新鮮技術。Web緩存服務通過幾種方式來改善用戶的響應時間,如代理緩存服務、透明代理緩存服務、使用重定向服務的透明代理緩存服務等。通過Web緩存服務,用戶訪問網頁時可以將廣域網的流量降至最低。對于公司內聯網用戶來說,這意味著將內容在本地緩存,而無須通過專用的廣域網來檢索網頁。對于Internet用戶來說,這意味著將內容存儲在他們的ISP的緩存器中,而無須通過Internet來檢索網頁。這樣無疑會提高用戶的訪問速度。CDN的核心作用正是提高網絡的訪問速度,所以,緩存技術將是CDN所采用的又一個主要技術。
---- 運用虛擬IP(VIP)地址代表目標服務器和應用,Smart CDN將會話分配到最高可用性的服務器,全程監控每個會話。服務恢復后自動重新登記,并在轉發客戶機和服務器信息包時提供全地址轉換。Smart CDN采用了包括循環法、最少連接法、散列法或最少失誤法等多種不同的負載均衡方法,并對個別服務器配置最大連接數量閾值和加權值,這樣可以有效避免服務器超載。
---- Smart CDN架構在互聯通專用的高速骨干網之上,該主干網絡提供延遲極小的網絡連通性,從而保障GSLB的功能正常發揮和高性能,優于基于公網的GSLB。并且,當主站點機房的Internet出口出現故障時,Smart CDN還能將用戶自動、透明地從其他分站點Internet入口導向主站點服務器,從而提高了網絡的可靠性。
---- 采用熱備份方法,在極短時間內對服務器鏈路、交換端口和交換機進行檢測和故障轉移,使應用免受故障影響。一旦任何一個服務器或服務器群發生故障或阻塞,用戶將被自動引導到下一個最佳備份服務器或站點,從而更進一步提高了服務和內容的可用性。
---- Smart CDN運行在互聯通“三環嵌套”網絡主干架構之上,具有高冗余特點,從而保證了高可靠性和高可用性,這一點和其他基于公網的GSLB解決方案有很大差別。