楊 林 海
(云南國土資源職業(yè)學院,652501,昆明)
互聯網是一個不斷變化和創(chuàng)新的機制,不斷有新形式的數據和內容。在將其商業(yè)化后的同進,必須解決將大量數據盡快推向最終用戶的問題。CDN自出現以來,學術界和商業(yè)開發(fā)人員一直在針對該技術進行大量研究,CDN被認為是影響Web體驗的最先進的技術之一。
CDN是構建在現有互聯網基礎之上的一層智能虛擬網絡,是由主服務器和全球范圍內分布式網絡各處部署節(jié)點組成,其目的是縮短訪問延遲,提高響應速度與網站可用性,解決網點分布不均等問題[1],實現將源站內容分發(fā)至所有CDN節(jié)點并存儲,使用戶訪問存儲在地理位置最接近用戶的位置上的數據[2]。這與所有用戶端訪問一個服務器或單個節(jié)點上存儲內容的傳統(tǒng)方法模式不同,用戶端訪問的是用戶端附近的數據副本。位置是內容交付速度的關鍵,用戶離服務器越遠,內容到達用戶所花費的時間就越長,對用戶體驗影響就越大。CDN訪問過程中避免了接近服務器端由于連接集中導致的瓶頸問題,快速的內容加載速度等于更好的用戶體驗,其訪問的效率更高。
使用CDN可以減少網站的加載時間,由于CDN具有遍布全球全網絡性,網站在更廣泛的范圍內表現得更出色。在點到點網絡中,CDN在拓撲上更接近用戶,用戶在訪問時得到的數據比實際要短得多,網絡延遲比從原始服務器第一個軟件包到達之前的時間還要小,訪問最后通過原始服務器進行交付[3],因此,網站的訪問速度明顯加快,改善了用戶體驗并為用戶提供更有效的網絡資源利用率,有無CDN的網絡分發(fā)比較如圖1。
圖1 CDN使用比較圖
CDN的功能主要為以下2個方面。
1)保持重要內容分發(fā)到多個分布式的數據中心,數據中心是全球全網絡范圍內的,以便更接近最終用戶,因此下載和訪問速度更快。
2)使用基于內容類型的服務器優(yōu)化將內容最有效地提供給用戶。除了更好的性能外,CDN減輕了直接從內容提供商的原始基礎結構提供服務的流量[4],同時CDN還有效地抵抗DDoS攻擊,因為CDN提供了大型分布式服務器基礎結構來吸收攻擊量。
CDN的模型如圖2。
圖2 CDN使用模型圖
CDN的關鍵組件作用描述如表1。
表1 組成及其描述表
大多數CDN架構都是使用傳遞節(jié)點、存儲節(jié)點、關鍵組件、原始節(jié)點和控制節(jié)點來作為關鍵組件模型來設計(圖3)。
圖3 CDN體系結構的模型
關鍵組件描述如表2。
表2 關鍵組件描述表
CDN分為主動和被動2種類型,當用戶首次請求內容時,傳遞速度將與內容提供者未使用CDN時相同(表3)。但是,在此初始請求之后,位于同一地理位置或與發(fā)出請求的原始用戶接近的所有其他用戶將能夠立即訪問內容,因為內容將被緩存在傳遞節(jié)點中。
表3 主動CDN和被動CDN比較表
CDN減少帶寬成本,縮短頁面加載時間或增加內容的全局可用性。組成CDN的節(jié)點和服務器的數量根據體系結構而有所不同,有些達到數以千計的節(jié)點,有的則建立了全球性的CDN網絡,在地理上只擁有少量PoP節(jié)點(表4)。
表4 CDN內容加速類型
內容大小各不相同,各個數據從服務器的原始點傳輸到最終用戶所花費的時間為“等待時間”,以毫秒為單位。對于移動Web瀏覽,延遲表現得更為明顯。移動內容交付需要更好的,更積極的優(yōu)化策略。利用CDN技術大大減少了延遲,并以更優(yōu)化的方式為終端提供快速的訪問。
Web系統(tǒng)永遠把用戶的體驗是放在第一位的,這是運營網站系統(tǒng)的一切。一方面期望是巨大的,網站應該提供交互性、多媒體和盡量多的信息;另一方面,由于互聯網內容不斷增加,要提供良好的用戶體驗型網站越來越難。當在考慮網站速度同時,也會考慮各種方法來優(yōu)化不同元素的加載速度,包括網頁、圖片、視頻、應用程序以及用戶保存到計算機或通過Internet瀏覽器下載的其他元素(圖4)。
圖4 CDN數據分發(fā)示意圖
在電子商務中,銷售數量與網站內容的交付速度直接相關,Akamai于2017年進行了一項研究,用數據說明了網站性能優(yōu)化和速度的重要性,證明網站速度與銷售數量之間的聯系(表5、表6)。
表5 網站加載速度與用戶體驗表
表6 網站速度與銷售數量之間聯系表
2.2.1 用戶滿意度 較長的加載時間等于較高的跳失率。跳失率指的是用戶進入站點后當即離開站點的次數,以及用戶訪問該站點總次數的百分比。網站跳失率是評論網站功能的重要原則,網站跳失率高,說明網站用戶體驗做的不好,用戶進入網站后很快就會出來,跳失率是任何網站負責人都應始終考慮的重要因素。考慮到當今技術的改進,簡單內容的網站應在2 s內完全加載,加載時間是至關重要的,加載時間會直接影響訪問者的滿意度或不滿意程度。
2.2.2 改善搜索排名 縮短頁面加載時間是一種改善搜索排名有效的方法,幫助訪問者更快地到達搜索頁面,幫助系統(tǒng)保持搜索結果的領先地位,這是被潛在用戶發(fā)現的最佳途徑。無論網站訪問用戶關注的是網站的界面、隱私等,還是僅僅因為用戶已經在網站上找到了他們真正想要的內容,用戶都首先必須迅速加載并能查詢到結果,如果縮短到網站的訪問的物理路徑,將大大提高加載結果。
2.2.3 移動用戶 相比之下移動用戶比PC用戶更有耐心,主要原因是移動用戶習慣于較慢移動終端訪問速度??紤]到當今的4G/5G等的高速高帶寬連接,對移動設備支持和快速加載也成了一個重要因素,因此移動頁面優(yōu)化比以往任何時候都更為重要,因為Web瀏覽現在主要通過移動設備完成。在統(tǒng)計過程中發(fā)現:用戶中93%的是在移動設備上購買了產品,66%的電子郵件是在移動設備上打開的,所以通過選擇CDN,確保從最靠近節(jié)點到最終用戶的服務器傳送內容,不一定要增加服務器或購買相應的軟件。
使用CDN技術最重要的因素之一很可能是速度和可靠性。適用于有加速需求的網站,包括門戶網站、電商平臺、資訊APP、UGC應用等。CDN支持自定義緩存規(guī)則,用戶可以根據數據需求設置緩存過期時間,緩存包括但不限于zip、exe、wmv、gif、png、bmp、wma、rar、jpeg、jpg等。衡量速度和可靠性有3種最重要的方法如表7。
表7 衡量速度和可靠性
選擇的CDN服務提供商應具有較大的網絡容量,擁有的服務器越多,可以更快、更可靠地交付內容,更多的服務器等于更少的緩沖,更大的冗余,更大的可伸縮性(圖5)。由于最終用戶通過CDN連接到站點,因此需要確保最大的正常運行時間和網站系統(tǒng)的可用性。
圖5 網站加速原理示意圖
DDoS攻擊是最常見的網站系統(tǒng)攻擊方式,為了系統(tǒng)的安全性,需要有適當的緩解措施。CDN網絡體系架構防御在網絡層發(fā)生的DoS攻擊需要,該體系架構吸收大量攻擊流量,并過濾所有主要攻擊流量,以便僅讓正確的Web流量進入網站系統(tǒng),在實際應用過程中,每個業(yè)務內容有所不同,需要不同的解決方法。
網站的安全問題主要考慮以下幾個方面,如表8。
表8 視頻內容2種分類
電子商務和流媒體對網站的性能要求更高。流量越多攻擊類型越多,則需要的規(guī)則越多,所需的硬件也就越多。需要針對不同的性能和安全性而設計的不同的解決方案。
現在的網絡中,網上機器人自動訪問的數量仍然超過在線實際用戶人數,占互聯網流量的56%,而真實用戶只占44%。惡意或惡意網上機器人程序所占流量比有用的機器人程序要多,占網站流量的29%。有利機器人訪問占網站訪問量的27%。由于機器人程序造成的虛假廣告流量的流行,廣告客戶每年因欺詐而損失的廣告收入占據了較大比重。
由于CDN使用位于全球不同地區(qū)不同數據中心的代理服務器,因此這種分散的基礎架構提供了更安全的網絡。在反DDOS方案中,基于云的服務位于企業(yè)數據中心之外,在流量到達企業(yè)基礎架構之前對其進行保護[4]?;谠频姆碊oS / DDoS服務主要有2種類型:一是將可疑流量路由到可過濾掉惡意流量的集中式位置,利用CDN吸收和檢查跨分布式網絡的惡意流量的網站保護服務;二是用服務器來屏蔽網站和應用程序,這種方案的另一個優(yōu)點是顯著減少對設備和基礎設施的投資,也減少硬件解決方案的管理成本[5]。由DDoS攻擊引起的過載將根據其來源在不同的PoP上進行處理,這有助于防止服務器連接過載。許多CDN提供程序還將阻止威脅并限制濫用的暴力搜索器和爬蟲工具來浪費業(yè)務帶寬和服務器資源,這將減少垃圾郵件和黑客攻擊。
視頻流是當今最大的大趨勢之一,是最受歡迎的內容格式。視頻作為信息的表現形式與其它網頁內容的本質是不同的(表9),因為用戶(通常)想要立即觀看而不希望以后下載和觀看(不同于必須先下載和安裝應用才能使用)。
表9 視頻內容2種分類
與分發(fā)其他類型的內容相比,使用CDN分發(fā)視頻方法有所不同,點播加速原理如圖6。
圖6 點播加速原理示意圖
用戶希望立即觀看視頻,較小的信息塊是幾秒長的視頻內容,可以以不同的質量(高、中、低比特率流)下載,畫質會影響傳輸媒體的大小,下載塊的大小取決于檢測用戶的帶寬以及用戶用于流式傳輸視頻的設備的技術規(guī)格,確定可下載塊的大小和質量的過程將由系統(tǒng)自動完成。
圖7 直播加速示意圖
ABR的主要優(yōu)勢在于基于HTTP,針對http在Internet上的出色性能進行了優(yōu)化,同時與CDN兼容,視頻內容可以存儲在CDN交付節(jié)點中,用戶訪問起來更加快捷[6]。ABR已實現在各種平臺和操作系統(tǒng)上使用,其中MPEG-DASH是跨不同設備和移動網絡使用的國際標準化比特率流技術(表10)[7]。
表10 視頻流CDN實現技術
盡管ABR和HTTP流的出現,但仍需要實時視頻傳遞,因為實時視頻無法像以前記錄的內容一樣被緩存。與直接下載相比,漸進式下載是一個不錯的選擇,在直接下載中,整個視頻片段需要先下載到查看者的計算機上才能觀看。對于下載游戲或計算機應用程序是可以接受的,但是等待看內容的觀眾的容忍度較低,尤其是電影之類。
迄今為止,最好的解決方案是HTTP流傳輸,它與自適應比特率(ABR)編碼和傳輸緊密結合。HTTP流使用通用HTTP服務器(通?;贏pache或Windows Server)來提供點播視頻文件,其方式與傳遞其他HTTP網站內容(例如圖像和文本文件)的方式相同。將自適應比特率添加到CDN,該CDN會將視頻流轉換為片段或塊,長度通常為2-10 s。ABR以各種比特率創(chuàng)建離散流,然后使用來自互聯網用戶視頻播放器的反饋來動態(tài)檢測用于交付視頻剪輯的最佳網絡速度。流服務器在請求時傳送內容,但僅傳送請求的塊而不是整個長度,這對于按節(jié)點來交付的網站系統(tǒng)很有用,因為不管觀看者的網速如何,用戶中途放棄播放片段不會下載整個文件。
4K Ultra HD作為技術的最新趨勢之一影響越來越廣。新的分辨率格式正在開始重新構建視覺媒體行業(yè)在未來幾年的發(fā)展方向,消費者希望獲得高質量和高分辨率,而媒體公司則希望在任何地方都能獲得他們的超高清錄像和現場直播。目前移動用戶瀏覽是增長最快的,也是以后視頻傳輸的大趨勢,正在取代臺式PC(圖8)。
圖8 HD與4K圖像比較圖
高帶寬連接對于4K的廣泛普及至關重要,4K視頻流的數據負載很大,持續(xù)覆蓋可靠的超高清4K流所需的最低25 Mbps,隨著4K的快速擴展和高分辨率流傳輸,CDN的應用會不斷增長。
“前沿市場”一詞用于經濟發(fā)展水平低于“新興市場”的發(fā)展中國家,在這些國家,中國和印度被認為是最大的經濟體。中國擁有超過8億互聯網用戶,是世界上最大的互聯網用戶國家,占全球20%的用戶比重,其中98%的是移動用戶。向移動用戶提供在線內容面臨許多挑戰(zhàn),包括獨特的互聯網基礎設施和日益增長的移動用戶群,通過部署CDN可以解決這些問題。
據國際公司預測,到2026年,印度的電子商務市場預計將增長到2 000億美元。該行業(yè)的大部分增長是由互聯網和智能手機普及率的提高引起的,到2021年,印度正在進行的數字化轉型將使印度的總互聯網用戶群從2018年12月的60 421萬增加到8.29億。
CDN允許訪問提供Web數據和Web內容的各種服務器,對于向IT基礎設施不完善的國家/地區(qū)提供最佳的內容非常有用,同時可以從源服務器到最終用戶提供最大的用戶體驗,內容及時可靠。
通過在云上加載各種服務器輕松平衡網站的可用性和性能,使用多個CDN優(yōu)勢更為明顯,因為提供商在不同的地理區(qū)域表現不同,同時提供不同優(yōu)勢的功能和策略。
多CDN技術優(yōu)點主要表現在以下幾個方面。
1)擴展到新地區(qū)新市場:通過使用位于不同數據中心的整個服務器網絡的不同位置,可以讓所有Web用戶迅速訪問,不管用戶地理位置上在哪里,只要通過切換到性能最好的CDN[8]。
2)系統(tǒng)永遠不會崩潰:網站的停機對業(yè)務造成了嚴重損害。1/4的用戶將離開,再也不會回來,其余的人極不可能再次信任,如果使用單個云提供商,可能面臨斷電導致的短時間或更長時間的系統(tǒng)中斷。
3)業(yè)務控制:通過協(xié)調多個CDN提供商,可以設置確切的標準(例如1天中的時間),以確保用戶始終能快速搜索到所尋找的內容,多CDN會自動切換到最佳性能的CDN節(jié)點。
4)無需抑制業(yè)務:在使用多CDN提供多媒體內容時,不必花過多的時間在業(yè)務抑制方面,把時間用在設計既有吸引力又可以立即為用戶使用,通過協(xié)調不同的CDN業(yè)務,將能夠管理所有流量高峰,消除帶寬壓力和內存密集型業(yè)務。
將DNS與CDN配合為網站提供更好的性能、可靠性和靈活性。DNS是通過將人性化的計算機主機名轉換為IP地址。用戶訪問網站首次一般都是從DNS開始的,但是如果DNS查詢失敗,則無法訪問該網站。DNS解析可能占初始頁面加載時間的29%。DNS較差意味著頁面加載緩慢,導致用戶不滿意,最終導致業(yè)務損失。
組合的DNS / CDN解決方案可確保網站的最佳性能,將其配對交換到新的CDN實現端點之間的負載平衡,將流量分布在多個CDN和端點上以優(yōu)化網站的性能,確保系統(tǒng)可用。大多數CDN提供商都部署獨立的DNS基礎架構,但是在靈活性、性能和可伸縮性方面,CDN提供商無法與專業(yè)DNS相比較,只能作為完善補充。托管DNS解決方案專門設計用于擴展網站的性能和可靠性,非常適合各種規(guī)模的系統(tǒng),可提供全球化的服務,并使用高級負載平衡和路由技術來最大程度地減少延遲(圖9、圖10)。
圖9 節(jié)點有緩存場景HTTP請求處理流程圖
圖10 節(jié)點無緩存場景HTTP請求處理流程圖
CDN提高網站性能,提供了改善網站用戶體驗的加速服務。分析網站特定性能方法很多,最重要的基準如下。
1)服務器端性能監(jiān)控:這種測試方法模擬最終用戶的數據請求,然后測量網頁響應請求的速度。盡管這對于確定響應速度很有用,但并不是完美的。因為這種方法通常只測量傳遞初始文檔文件所花費的時間,而忽略了諸如圖像,CSS文件和JavaScript之類的文件,這種類型的測量非常不可靠,并且在許多情況下可能比實際的加載速度快幾秒。
2)綜合交易監(jiān)控:為了克服服務器端監(jiān)視缺陷,使用綜合交易監(jiān)控的方法,結合了仿真和真實的瀏覽器,測試來自許多不同位置的預定義數據請求,雖然這被認為是盡可能接近實際終端用戶性能的一種方法,但也因準確性而受到困擾,因為不能從特定用戶所在的確切位置準確地發(fā)出請求[9]。
3)衡量部分用戶的性能:這種方法是衡量網站性能的更準確的方法,尤其是與前2種方法相比,通過選擇最終用戶并測量最終用戶訪問頁面所花費的時間,使用這些結果的平均值來概括CDN的速度。
4)評估每個最終用戶的性能:這是衡量網站性能的最準確方法。通過測量整個網絡和所有用戶的所有實際事務處理時間,從服務器、網絡和應用程序角度記錄響應時間[10]。使用“最后一英里”的測試來衡量最終用戶的真實體驗和CDN性能,測量內容從CDN服務器到最終用戶設備的傳輸速度,結合交付內容所需的最后一站連接服務,提供有關最終用戶體驗的更準確的數據,測量更現實。
網站和頁面速度測試用于確定特定頁面或整個網站的速度,頁面速度衡量的是URL上的內容加載所花費的時間,是網站的整體效果的集中體現[11]。搜索引擎渠道也會對加載緩慢的網站造成一些不利影響。網站速度是獲得良好用戶體驗的關鍵因素,對每個網站系統(tǒng)都很重要,尤其是對于電子商務網站和具有國際影響力的大品牌。CDN通過在世界各地的多個位置緩存內容來提高網站的速度,其緩存服務器通常比主機或原始服務器更靠近最終用戶。
下一代CDN,可以加速Web和移動應用程序,將內容推向最前沿以獲得最佳的最終用戶體驗,網站系統(tǒng)數據中心的分布到全球網絡中,通過智能緩存、內容和網絡優(yōu)化提供了完整的站點加速[12],同時通過與不同的服務提供商合作,提供功能強大的CDN,利用策略定位到全球網絡中的服務器,通過使用戶訪問內容與網站訪問者保持更近的距離,從而縮短內容往返時間(RTT)[13]。CDN還可以壓縮文件以確保優(yōu)先訪問最常見的文件并將其直接提取到用戶瀏覽器中。
視頻流需求以及內容提供商的數量不斷增長,CDN的發(fā)展試圖應對極端的帶寬壓力。隨著云計算的出現,CDN已成為涉及云計算所有層的持續(xù)趨勢[14],CDN未來的主要目標是性能、可用性和安全性。CDN的未來目標之一是開發(fā)可預測基于機器學習的行為模式的預測分析和算法。
網站或系統(tǒng)通過CDN服務來加快圖像、文件和其他媒體等內容的傳輸,提高搜索排名?,F在流媒體時代已經開始,用戶希望獲得最高質量、完美的視頻圖像和快速的處理速度。搜索引擎會對加載時間太長的網站造成不利影響,按地理位置優(yōu)化投放速度不僅提高加載速度,還提高查看者的質量,并保護網站免受服務中斷的影響。目前,網站的性能和移動友好性已成為一切,系統(tǒng)唯一的選擇就是提高系統(tǒng)訪問質量,確保網站最重要的方面始終處于運行狀態(tài),并以可交付性、速度、可用性、故障轉移和Web安全性作為網站系統(tǒng)加速的主要推動力。