卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

CDN

CDN 內(nèi)容分發(fā)網(wǎng)絡(luò)董洋(信通9班 2013140052)概念和優(yōu)勢:CDN 是在現(xiàn)代網(wǎng)絡(luò)的基礎(chǔ)上把內(nèi)容緩存到代理服務(wù)器,使用戶下載所需內(nèi)容時可以不用經(jīng)過骨干網(wǎng),或不用再到源服務(wù)器來獲取資料,它的

CDN 內(nèi)容分發(fā)網(wǎng)絡(luò)

董洋

(信通9班 2013140052)

概念和優(yōu)勢:CDN 是在現(xiàn)代網(wǎng)絡(luò)的基礎(chǔ)上把內(nèi)容緩存到代理服務(wù)器,使用戶下載所需內(nèi)容時可以不用經(jīng)過骨干網(wǎng),或不用再到源服務(wù)器來獲取資料,它的優(yōu)勢在于可以使用戶的內(nèi)容訪問更加便捷。

提綱:本文第一部分先對支持CDN 的關(guān)鍵技術(shù)進(jìn)行分析。第二部分對CDN 的工作方式和工作原理進(jìn)行梳理。第三部分對目前國內(nèi)外在CDN 方向的進(jìn)展進(jìn)行總結(jié)。第四部分預(yù)測CDN 可能的發(fā)展趨勢。第五部分補充CDN 存在的問題和有價值的研究點。

一、CDN 的關(guān)鍵技術(shù)

CDN 的緩存控制方法的技術(shù)包括HTTP 協(xié)議、URL 、萬維網(wǎng)文檔和Cookie 。局部負(fù)載均衡的技術(shù)有DNAT ,IP 隧道方式。全局負(fù)載均衡技術(shù)有基于DNS 解析的方式、基于應(yīng)用層協(xié)議重定向的方式。下面分別分析這幾項關(guān)鍵技術(shù)。

1.HTTP 協(xié)議特點

與FTP 的區(qū)別:只使用一條TCP 連接。沒有分開的控制連接;在客戶和服務(wù)器之間只有數(shù)據(jù)傳送。雖然HTTP 使用TCP 的服務(wù),但HTTP 本身是無狀態(tài)的協(xié)議。與SMTP 的區(qū)別:①HTTP 不是給人看的,這些報文是給HTTP 服務(wù)器和HTTP 客戶(瀏覽器)讀取和解釋的,命令和請求都是嵌入在報文中。②SMTP 報文采用存儲轉(zhuǎn)發(fā)方式,但HTTP 是立即交付的。

HTTP 的報文: 請求報文:

響應(yīng)報文:

狀態(tài)碼:

100系列的代碼只是提供信息的,200系列的代碼則提示成功的請求。300系列的代碼是把客戶重新定向到另一個URL ,400系列的代碼指示在客戶端的差錯。500系列代碼指示在服務(wù)器端的差錯。

2.統(tǒng)一資源定位符

為方便地訪問在世界范圍的文檔,HTTP 使用統(tǒng)一資源定位符(URL )。URL 定義了5樣元素如下:

協(xié)議://主機(jī):端口/路徑 ? 表單信息 從瀏覽器輸入到服務(wù)器的參數(shù)是使用表單(form)來發(fā)送的。若表單中的信息很少(如一個字),則它可在URL 的后面的問號之后。

3. 萬維網(wǎng)文檔 分類: 靜態(tài)的、動態(tài)地和活動的。這種分類基于文檔內(nèi)容被確定的時間。

⑴靜態(tài)文檔是固定內(nèi)容的文檔,

它由服

,

務(wù)器創(chuàng)建,并存儲在服務(wù)器中。即文件的內(nèi)容是在文件被創(chuàng)建時就確定的,而不是在它被使用時。

⑵動態(tài)文檔是在瀏覽器請求該文檔時才由萬維網(wǎng)服務(wù)器創(chuàng)建出來。因為對每一個請求都創(chuàng)建出新的文檔,因此每一個請求得到的動態(tài)文檔的內(nèi)容就會不同。

①通用網(wǎng)關(guān)接口(CGI)

一種創(chuàng)建和處理動態(tài)文檔的技術(shù)。CGI 是一組標(biāo)準(zhǔn),它定義動態(tài)文檔應(yīng)如何寫,輸入數(shù)據(jù)應(yīng)如何加到程序上,以及輸出結(jié)果應(yīng)如何使用。

從瀏覽器輸入到服務(wù)器是使用表單來發(fā)送的。在服務(wù)器端執(zhí)行CGI 程序,并把輸出發(fā)送給客戶(瀏覽器)。輸出通常是普通正文或HTML 結(jié)構(gòu)的正文。

②動態(tài)文檔的腳本技術(shù)

使用CGI 對每一次的請求這個程序必須生成整個的文檔。解決這個問題的方法就是使用HTML 來生成包含固定部分的文件,同時嵌入一個腳本源代碼,它可以由服務(wù)器來運行提供變化的內(nèi)容。

常用的是超文本預(yù)處理器(PHP),它使用Perl 語言;JSP(Java Server Pages),它使用Java 語言進(jìn)行編排;以及使用VB 語言的ASP 、和嵌入SQL 數(shù)據(jù)庫查詢的ColdFusion 。

⑶活動文檔 對于許多應(yīng)用,我們需要程序能夠在客戶端運行。如在屏幕上產(chǎn)生動畫圖形或與用戶進(jìn)行交互的程序。這就叫做活動文檔。 ①Java 小應(yīng)用程序 小應(yīng)用程序是在服務(wù)器端用Java 編寫的程序。它被編譯后就準(zhǔn)備運行。這個文檔的格式是字節(jié)碼(二進(jìn)制) 。 ②JavaScript 如果在文檔中的活動部分不大,那么它就可以用腳本語言來編寫;然后它就可以在客戶端在同一時間被解釋和運行。腳本是源代碼(文本) 而不是二進(jìn)制形式。

4.Cookie 的運用 創(chuàng)建和存儲:

⑴當(dāng)服務(wù)器收到來自客戶的請求后,它就把有關(guān)客戶的信息存儲在一個文件或字

符串中。這個信息可以包含客戶的域名、cookie 的內(nèi)容、時間戳,以及其他與實現(xiàn)有關(guān)的信息。

⑵服務(wù)器向客戶發(fā)送的響應(yīng)包含這個cookie 。

⑶當(dāng)客戶收到響應(yīng)時,瀏覽器把這個cookie 存儲在cookie 目錄中,它是按域名服務(wù)器的名字來分類的。 使用:

當(dāng)一個客戶向服務(wù)器發(fā)送請求時,瀏覽器就查找在cookie 目錄中是否有那個服務(wù)器發(fā)送的cookie 。如果找到了,就把這個cookie 包含在請求中。當(dāng)服務(wù)器收到這個請求時,它就知道這是一個老客戶,而不是一個新客戶。請注意,這個cookie 的內(nèi)容從來沒有被瀏覽器讀過,也沒有暴露給用戶。cookie 是服務(wù)器制作的,也是被服務(wù)器吃掉的。例如電子商務(wù)的購物車就能用cookie 來實現(xiàn)。

5. 目標(biāo)NAT(DNAT) 概念:

網(wǎng)絡(luò)地址轉(zhuǎn)換NAT 中,專用網(wǎng)使用專用地址。專用網(wǎng)地址看Internet 是透明的;Internet 看見的只是NAT 路由器的一個Public IP。所以由專用網(wǎng)到Internet 時要修改源地址,由Internet 到專用網(wǎng)時要修改目的地址。按照使用方式分兩種,其中DNAT 則主要用在為內(nèi)部主機(jī)架設(shè)可以讓Internet 訪問的服務(wù)器。

6.IP 隧道 概念: 將一個IP 報文封裝到另一個IP 報文中的技術(shù),這使得目標(biāo)為一個IP 地址的數(shù)據(jù)報文能被封裝和轉(zhuǎn)發(fā)到另一個IP 地址。 7.DNS 解析 特點: 主機(jī)名的管理分配在不同層次的DNS 服務(wù)器當(dāng)中,并進(jìn)行分層管理,所以每一臺DNS 服務(wù)器記憶的信息就不會很多。

每個上一層的DNS 服務(wù)器所記錄的信息,其實只有其下一層的主機(jī)名而已。至于

,

再下一層,則直接授權(quán)給下層的某臺主機(jī)來管理。

因為你如果已經(jīng)申請到主機(jī)名解析的授權(quán),那么在你自己的DNS 服務(wù)器中,就能夠修改全世界都可以查詢到的主機(jī)名了,而不用通過上層ISP 的維護(hù)。

8.HTTP 應(yīng)用層協(xié)議重定向 原理: 應(yīng)用層重定向主要利用了HTTP 、MMS 、RTSP 等協(xié)議本身的重定向機(jī)制來實現(xiàn),由于各種應(yīng)用層協(xié)議的重定向機(jī)制基本相同,因此以HTTP 協(xié)議為例來說明。 在HTTP 協(xié)議中,有三類重定向狀態(tài)碼:301永久性轉(zhuǎn)移、302暫時性轉(zhuǎn)移或特定時間后重定向到新的網(wǎng)頁。

二、CDN 的工作方式和工作原理

本小節(jié)來梳理CDN 部署的兩個重點,分別是緩存策略和負(fù)載均衡。 1. 緩存策略: ①靜態(tài)文檔的緩存策略:

靜態(tài)文檔是由apache 吐出的,緩存策略主要通過HTTP 響應(yīng)消息首部行中的兩項來控制,即Last-modified 和cache-control :max-age 。它們是由apache 的expire 和header 模塊控制的。Apache 缺省配置,所有靜態(tài)文件在CDN 中只緩存3600s (需要我們按需求調(diào)整被加速服務(wù)器的apache 設(shè)置)。3600s 后CDN 失效,用戶訪問時會重新請求原帖,如果沒有變化,緩存失效周期自動延長10。 ②動態(tài)內(nèi)容的緩存策略(URL 形式必須是靜態(tài)的):

動態(tài)內(nèi)容可以由嵌入在HTML 中的腳本語言生成,是由源站jsp 或php 生成的,由這些程序控制last-modified, cache-control :max-age 、public 。 apache 的設(shè)置將不起作用,CDN 根據(jù)這兩項判斷是否需要到源站更新內(nèi)容。 ③CDN 和應(yīng)用的結(jié)合策略:

⑴變化不頻繁的頁面(例如圖吧圖片顯示頁):在原站生成靜態(tài)頁面,原站apache 上定義過期時間,例如1天。原站上靜態(tài)文件

更新后,可以等待CDN 過期?;蛘咧鲃油ㄖ狢DN 更新(隨著CDN 節(jié)點越來越多,代價會非常高)。

⑵變化頻繁的頁面(正在進(jìn)行的比賽對陣頁):

不生成靜態(tài)頁面,由jsp 或php 定義過期時間,例如5s 或60s 。CDN 過期后,如果有用戶訪問就從原站上抓取。優(yōu)點:相關(guān)頁面過期后,不需要主動通知CDN 節(jié)點都來抓取,有效降低原站的壓力。如果頁面內(nèi)容沒有變化,返回lastmodified 不變,這樣原站會直接返回304給cdn ,cdn 也會返回304給用戶。減少網(wǎng)絡(luò)傳輸和速度,比賽結(jié)束后,“正在進(jìn)行的比賽對陣頁”轉(zhuǎn)換為第一類情況,再生成靜態(tài)文件。 ⑶特殊靜態(tài)資源(圖片庫和某些大型產(chǎn)品庫中的評論,或賽事庫的比分文件):

通過apache nocache 告訴IE 不緩存,html 中就不需要使用pinglun.js?123456這樣的代碼形式,然后用max-age 告訴cdn 緩存1s ,這樣避免每次用戶請求都轉(zhuǎn)到原站。 2. 負(fù)載均衡

負(fù)載均衡可以分為全局負(fù)載均衡和局部負(fù)載均衡。 1. 局部負(fù)載均衡:

①用LVS 負(fù)載均衡服務(wù)器實現(xiàn)四層負(fù)載均衡的關(guān)鍵模塊是IPVS ,支持NAT (網(wǎng)絡(luò)地址轉(zhuǎn)換)、YUN (IP 隧道)、DR (直接路由)等多種方式。因為后臺服務(wù)器節(jié)點向用戶返回其所需內(nèi)容時,采用DR 方式將無須再經(jīng)負(fù)載均衡節(jié)點對返回內(nèi)容進(jìn)行處理,具有較高性能,也是LVS 四層負(fù)載均衡實現(xiàn)方式的默認(rèn)選項。

DR 工作方式除了要對負(fù)載均衡服務(wù)器進(jìn)行必要的配置外,還需要修改各臺真實服務(wù)器的配置(主要是禁止它們響應(yīng)ARP 報文),要對負(fù)載均衡服務(wù)器配置虛擬IP ,設(shè)置相應(yīng)路由,創(chuàng)建虛擬服務(wù)及其相應(yīng)端口選擇調(diào)度算法,最后建立虛擬服務(wù)與后臺真實服務(wù)器的HTTP 服務(wù)的鏈接,并使用DR 工作方式。實現(xiàn)以IP 地址為單位來進(jìn)行負(fù)載均衡的調(diào)度。

②用Nginx 實現(xiàn)七層負(fù)載均衡。需要配置nginx.conf 文件。設(shè)置HTTP 服務(wù)器并利

,

用其反向代理功能實現(xiàn)負(fù)載均衡。定義負(fù)載均衡服務(wù)器列表,設(shè)置默認(rèn)的輪詢方式。

為了體現(xiàn)出Nginx 的七層負(fù)載均衡能力(例如對用戶訪問請求中的域名信息進(jìn)行分析),需要為Nginx 服務(wù)器配置相應(yīng)的域名(www.cdn.com )并作為它被訪問時進(jìn)行用戶請求負(fù)載調(diào)度的依據(jù),因此部署環(huán)境中還包括了一臺用于安裝BIND DNS 服務(wù)器的虛擬機(jī)。

2. 全局負(fù)載均衡: 全局負(fù)載均衡有兩種方式,分別為:DNS 解析和HTTP 重定向。

①DNS 域名解析:

當(dāng)網(wǎng)站使用CDN 提供服務(wù)并用GSLB 來解析其原站域名時,通常會由權(quán)威DNS 設(shè)置一個GSLB 認(rèn)可的域名作為原域名的別名(CNAME)。有了別名,GSLB 就可以將它唯一映射成一個由多個虛擬服務(wù)器組成的服務(wù)池,這些服務(wù)器就是用戶輸入網(wǎng)站URL 后經(jīng)負(fù)載均衡調(diào)度直接提供服務(wù)的服務(wù)器。GSLB 在解析域名的時候會直接返回其中一個虛擬服務(wù)器的IP 地址。比如www.netitv.com.cn 域名CNAME 設(shè)置為www.netitv.cdn.com.cn 。如果需要GSLB 來進(jìn)行解析www.netitv.com.cn 的IP 地址,那么就需要在GSLB 上面設(shè)定域組www.netitv.cdn.com.cn ,這樣GSLB 就會按照內(nèi)部設(shè)置的負(fù)載均衡策略,選擇相關(guān)聯(lián)的Pool 以及虛擬服務(wù)器來提供服務(wù)了。 ②HTTP 重定向:

⑴用戶首先向網(wǎng)站的本地DNS 請求域名(www.CDNbook.com )解析。

⑵由于網(wǎng)站已經(jīng)預(yù)先進(jìn)行了域名CNAME 指向服務(wù)CDN 的GSLB 域名和IP ,所以本地DNS 會向用戶返回GSLB 設(shè)備的IP 地址。(注意,是一個具體IP 地址,這樣DNS 解析過程就終結(jié)了。)

⑶用戶向這臺GSLB 設(shè)備發(fā)起HTTP GET請求,請求該網(wǎng)站某個網(wǎng)頁的內(nèi)容。應(yīng)該注意的是,在用戶瀏覽一個完整的網(wǎng)頁時,事實上是發(fā)起了多個HTTP 請求,針對某個獨立的對象,比如一張圖片、一段視頻、一段文字,都會存在這樣一個獨立的HTTP 請求。 ⑷GSLB 設(shè)備將綜合分析用戶IP 、內(nèi)容分布、

設(shè)備負(fù)載、鏈路狀況等實時信息,為用戶選

擇一個合適的服務(wù)單元?!皢卧笔侵笇⒂脩粼L問請求調(diào)度到一個合適的服務(wù)區(qū),或者一個集群,再由區(qū)域均衡或本地均衡設(shè)備做下一步負(fù)載均衡工作。

如果GSLB 在自己的靜態(tài)路徑表中沒有查到用戶IP 所在網(wǎng)段的信息,可以通過兩種方式完成路由策略。方式一,GSLB 將用戶請求通過輪詢的方式定向到其他節(jié)點。方式二,GSLB 會以同樣方式去查動態(tài)最近路徑表,如仍沒有記錄,GSLB 會通知各POP 點的SLB 一同去測各POP 點離用戶的距離及時延,并報告核心節(jié)點確定最優(yōu)站點,該IP 地址所在的網(wǎng)段會被添加至動態(tài)最近路徑表,供今后用戶直接與最優(yōu)的分配層節(jié)點的SLB 設(shè)備建立連接。

⑸用戶根據(jù)得到的IP 地址向CDN 的POP 節(jié)點發(fā)出媒體訪問請求。

⑹如果這個IP 地址的節(jié)點設(shè)備仍然是一個負(fù)載均衡設(shè)備,則通過負(fù)載均衡把請求轉(zhuǎn)發(fā)給選擇一臺合適的服務(wù)設(shè)備。

⑺響應(yīng)報文能從后端服務(wù)器直接返回給客戶。

三、國內(nèi)外CDN 方向進(jìn)展

1.NBA 成立于1946年,是一個包括美國和加拿大30支球隊在內(nèi)的全球性體育和娛樂品牌。NBA 采用Akamai 的流媒體播放和管理系統(tǒng),Akamai 為每場NBA 現(xiàn)場球賽進(jìn)行音頻和視頻編碼,因而該機(jī)構(gòu)僅需要一到兩名員工就可以實現(xiàn)每年網(wǎng)播1500多場賽事,使網(wǎng)上廣告收入增加500。NBA.com 網(wǎng)站的流量已實現(xiàn)每月成倍增長,每月有分布在222個國家的3500多萬獨立用戶訪問NBA 網(wǎng)站內(nèi)容。

2. 中國電信自2004年開始建設(shè)CDN ,在CDN 的研發(fā)和建設(shè)過程中,采用自主研發(fā)與合作相結(jié)合的方式,在保持自身網(wǎng)絡(luò)技術(shù)優(yōu)勢的同時,迅速擴(kuò)大規(guī)模和引用新技術(shù),成為國內(nèi)CDN 市場的新興強大力量。到目前為止,中國電信CDN 已經(jīng)建成79個節(jié)點,網(wǎng)絡(luò)容量達(dá)到1TB 規(guī)模。建設(shè)初期主要用于自營的互聯(lián)星空網(wǎng)站和IPTV 等業(yè)務(wù)的分發(fā)服務(wù),隨著網(wǎng)絡(luò)不斷擴(kuò)容,能力也獲得提升,

,

逐漸對外提供服務(wù)。目前,中國電信CDN 能夠提供流媒體加速(包括點播和直播)、網(wǎng)頁加速、下載加速和應(yīng)用加速等各種服務(wù),主要用于加速互聯(lián)網(wǎng)網(wǎng)站在中國電信網(wǎng)絡(luò)范圍內(nèi)的分發(fā)服務(wù)。

中國電信CDN 網(wǎng)絡(luò)已為奇藝、樂視、鳳凰等多家網(wǎng)站提供CDN 服務(wù)。

3.ChinaCache(藍(lán)汛) 是中國第一家專業(yè)CDN 服務(wù)提供商。2000年ChinaCache 獲得信息產(chǎn)業(yè)部CDN 服務(wù)許可。截止2011年上半年,ChinaCache 在全國113個城市的機(jī)房中部署了節(jié)點,同時管理400GB 帶寬資源。其CDN 網(wǎng)絡(luò)覆蓋國內(nèi)各大運營商,其客戶包括搜狐、網(wǎng)易、eBay 、易趣、淘寶、慧聰、攜程、新華網(wǎng)等幾十家,另外還有“國網(wǎng)”等政府網(wǎng)站,以及寶馬、可口可樂等企業(yè)網(wǎng)站。2006~2009年,藍(lán)汛凈收入從7000萬元增長到2.72億元;2010年全年收入4.034億元,比2009年增長48.1,藍(lán)汛的最大客戶變成了中國移動,占藍(lán)汛2010年上半年總營收入的12.8。

4. 網(wǎng)宿科技在2010年網(wǎng)宿科技總收入為3.623億元,比2009年增長26.22,其中CDN 業(yè)務(wù)收入1.88億元。網(wǎng)宿科技CDN 包含200多個節(jié)點,可承載帶寬(峰值)高達(dá)600GB 。

四、CDN 可能發(fā)展趨勢

CDN 與P2P 是經(jīng)常被拿來進(jìn)行對比的兩

種技術(shù),原因是兩者都是數(shù)字媒體文件的重要傳送機(jī)制,大部分用戶會同時使用到這兩種機(jī)制,從而產(chǎn)生體驗對比。應(yīng)該說兩種技術(shù)各有所長,在不同場景和需求下具有另一種技術(shù)所不具備的優(yōu)勢。然而,技術(shù)的發(fā)展總是盛衰相繼,分分合合,并沒有非此即彼的絕對性。

正當(dāng)業(yè)界普遍認(rèn)為P2P 將是未來的互聯(lián)網(wǎng)發(fā)展趨勢并預(yù)測P2P 流量還會不斷增長時,在2007年后,P2P 流量的增長勢頭出人意料地開始減緩,特別是在近幾年其流量占比在持續(xù)下降。

一方面,源自P2P 系統(tǒng)本身存在的缺點。 ⑴P2P 系統(tǒng)的可用性問題很難解決。盡管從整個系統(tǒng)而言,P2P 是可靠的,但是對于單

個內(nèi)容或者單個任務(wù)而言,P2P 是不穩(wěn)定的。每個Peer 可以隨時終止服務(wù),甚至退出系統(tǒng),因此系統(tǒng)中的交換內(nèi)容隨時可能被刪除或者被終止共享。

⑵P2P 一直沒有找到良好的商業(yè)模式。P2P 在安全、管理和版權(quán)等方面存在很多問題,主要體現(xiàn)在P2P 技術(shù)缺乏有效的管理,并且具有匿名發(fā)布的特性,所以大多數(shù)P2P 服務(wù)都將不可避免地和知識產(chǎn)權(quán)發(fā)生沖突。

⑶用戶對P2P 客戶端的安裝存在抵觸情緒。 依據(jù)P2P 和CDN 技術(shù)融合層面的不同,目前有三種主流的融合方案:控制層面融合方案、網(wǎng)絡(luò)疊加融合方案和設(shè)備層面融合方案。

五、CDN 存在的挑戰(zhàn)

挑戰(zhàn)有兩點:光纖時代CDN 的挑戰(zhàn)、后http1.1時代的CDN 。 1. 光纖時代的CDN 的挑戰(zhàn)

用戶帶寬大:很多城市已經(jīng)推行10-20M 帶寬。在線時間長:3G 手持設(shè)備如Ipad 等可以提供更長的在線能力。交互數(shù)據(jù)多:頁面豐富程度高。移動客戶端流行:Andoid 和IOS 設(shè)備大行其道。CDN 的發(fā)展:容量更大,單 個數(shù)據(jù)文件更大,命中率更低,業(yè)務(wù)邏輯需求增多。 2.Ajax 的大量使用,促成了框架頁面靜態(tài)化:有更多內(nèi)容可以做cache 啦。Html V5 的普及,更多的視頻等媒體展示:文件、流量變更大啦。http/2.0 來了,服務(wù)器該怎樣支持。

參考文獻(xiàn):

【1】雷葆華 孫穎 王峰 陳曉益《CDN 技術(shù)詳解》[M]北京:電子工業(yè)出版社 2012.6

【2】徐珩《動態(tài)網(wǎng)頁緩存技術(shù)研究》[J] 華南理工大學(xué) 2006.10.20

【3】余洪春《構(gòu)建高可用Linux 服務(wù)器》[M] 北京:機(jī)械工業(yè)出版社 2012.7

【4】Behrouz A.Forouzan Sophia Chung Fegan 《TCP/IP協(xié)議族》清華大學(xué)出版社 2006.5

【5】平臺化CDN 基礎(chǔ)架構(gòu) 趙永明 【6】CDN 緩存策略 網(wǎng)絡(luò)

標(biāo)簽: