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