共享自適應(yīng)內(nèi)容數(shù)據(jù)鏈路快取緩存網(wǎng)絡(luò)技術(shù)(SADCN)(英文名稱:Shared Adaptive Content Data Cache Network)是屬于通信技術(shù)領(lǐng)域?qū)nternet互聯(lián)網(wǎng)基礎(chǔ)設(shè)施的一種新型改進(jìn)方案和新型網(wǎng)絡(luò)體系結(jié)構(gòu)擴(kuò)展。用于提高網(wǎng)絡(luò)服務(wù)的質(zhì)量,降低網(wǎng)絡(luò)通信延遲,提高網(wǎng)絡(luò)數(shù)據(jù)鏈路的帶寬有效利用,整體降低網(wǎng)絡(luò)擁堵,防止網(wǎng)路服務(wù)器過(guò)載,避免通信鏈路相同數(shù)據(jù)的重復(fù)傳輸。同傳統(tǒng)內(nèi)容分發(fā)網(wǎng)絡(luò)技術(shù)(CDN)相比這項(xiàng)技術(shù)具有:更低的運(yùn)營(yíng)成本和組建成本,通信帶寬,網(wǎng)絡(luò)流量和通信設(shè)施資源根據(jù)用戶訪問(wèn)的頻率自適應(yīng)分配和避免資源閑置提高通信基礎(chǔ)設(shè)施利用效率,維護(hù)簡(jiǎn)易,服務(wù)器搭建簡(jiǎn)單,抗網(wǎng)絡(luò)攻擊的優(yōu)點(diǎn)。
背景技術(shù):
該技術(shù)以下列技術(shù)為背景:
TCP/IP協(xié)議:Internet互聯(lián)網(wǎng)廣泛使用的基礎(chǔ)網(wǎng)絡(luò)通信協(xié)議。同網(wǎng)絡(luò)通信的基礎(chǔ)模型OSI對(duì)比TCP/IP將通信過(guò)程分成3個(gè)層次,網(wǎng)絡(luò)層,傳輸層,應(yīng)用層。網(wǎng)絡(luò)層負(fù)責(zé)數(shù)據(jù)報(bào)的點(diǎn)到點(diǎn)轉(zhuǎn)發(fā),TCP/IP網(wǎng)絡(luò)層協(xié)議同數(shù)據(jù)鏈路的具體實(shí)現(xiàn)無(wú)關(guān)并讓上層對(duì)通信鏈路的具體實(shí)現(xiàn)透明。TCP/IP傳輸層負(fù)責(zé)提供端到端通信的可靠性封裝,傳輸層將TCP/IP通信劃分成了無(wú)連接的UDP通信和連接的TCP通信。應(yīng)用層定義了TCP/IP的一些共用應(yīng)用協(xié)議并為主機(jī)應(yīng)用程序訪問(wèn)TCP/IP提供接口規(guī)范。
服務(wù)器鏡像技術(shù):為了避免用戶集中訪問(wèn)一臺(tái)服務(wù)器對(duì)該服務(wù)器造成巨大的負(fù)荷。用額外的服務(wù)器鏡像站點(diǎn)服務(wù)器的WEB內(nèi)容,利用負(fù)載均衡技術(shù),并通過(guò)地址重定向,讓部分訪問(wèn)用戶轉(zhuǎn)向訪問(wèn)鏡像的服務(wù)器來(lái)降低單臺(tái)服務(wù)器的負(fù)荷的方法。
CDN(內(nèi)容分發(fā)網(wǎng)絡(luò))。CDN服務(wù)提供商利用其分布在各地的大量的邊緣網(wǎng)絡(luò)CDN節(jié)點(diǎn)服務(wù)器和服務(wù)器鏡像技術(shù),鏡像緩存WEB服務(wù)商的WEB站點(diǎn)的部分或全部?jī)?nèi)容數(shù)據(jù),在用戶訪問(wèn)WEB站點(diǎn)時(shí)候,利用全局負(fù)載均衡和智能域名解析技術(shù)將用戶的訪問(wèn)重定向到離用戶最近的工作正常的鏡像CDN節(jié)點(diǎn)服務(wù)器上,由該CDN節(jié)點(diǎn)服務(wù)器直接響應(yīng)用戶的請(qǐng)求??梢栽谝欢ǔ潭壬媳WC端到端的服務(wù)質(zhì)量。在CDN模式下,WEB的數(shù)據(jù)需要定時(shí)的向CDN服務(wù)器的CDN內(nèi)容分發(fā)主機(jī)發(fā)送更新的WEB內(nèi)容,再由CDN內(nèi)容分發(fā)主機(jī)將數(shù)據(jù)分發(fā)給處于網(wǎng)絡(luò)邊緣的CDN節(jié)點(diǎn)服務(wù)器。根據(jù)實(shí)現(xiàn)方式的不同可以有推送模式和下拉模式。推送模式是Web服務(wù)的數(shù)據(jù)通過(guò)主動(dòng)的推送分發(fā)到CDN站點(diǎn)上,下拉模式是CDN站點(diǎn)定時(shí)主動(dòng)的下載Web服務(wù)的數(shù)據(jù)進(jìn)行緩存。
CPU多級(jí)緩存技術(shù):在CPU設(shè)計(jì)中由于存儲(chǔ)芯片和性能和成本差異,和CPU訪問(wèn)數(shù)據(jù)的局域性,CPU多級(jí)緩存技術(shù)用于減少處理器訪問(wèn)內(nèi)存所需平均時(shí)間的部件。在金字塔式存儲(chǔ)體系中它位于自頂向下的第二層,僅次于CPU寄存器。其容量遠(yuǎn)小于內(nèi)存,但速度卻可以接近處理器的頻率。當(dāng)處理器發(fā)出內(nèi)存訪問(wèn)請(qǐng)求時(shí),會(huì)先查看緩存內(nèi)是否有請(qǐng)求數(shù)據(jù)。如果存在(命中),則不經(jīng)訪問(wèn)內(nèi)存直接返回該數(shù)據(jù);如果不存在(失效),則要先把內(nèi)存中的相應(yīng)數(shù)據(jù)載入緩存,再將其返回處理器。 緩存之所以有效,主要是因?yàn)槌绦蜻\(yùn)行時(shí)對(duì)內(nèi)存的訪問(wèn)呈現(xiàn)局部性(Locality)特征。這種局部性既包括空間局部性(Spatial Locality),也包括時(shí)間局部性(Temporal Locality)。有效利用這種局部性,緩存可以達(dá)到極高的命中率。
數(shù)據(jù)簽名技術(shù):防止數(shù)字信息被篡改的技術(shù)。由于對(duì)稱加密算法的出現(xiàn),用私鑰加密的數(shù)據(jù)能夠用另外的公鑰解密,但不知道私鑰的情況下無(wú)法偽造出能被公鑰解密還原的數(shù)據(jù)。這使得可以通過(guò)使用私鑰加密的方法來(lái)確保加密數(shù)據(jù)來(lái)源于可信的數(shù)據(jù)源而無(wú)法被第三方偽造。
單播:本文指在TCP/IP協(xié)議框架下,兩臺(tái)網(wǎng)絡(luò)主機(jī)端對(duì)端,一對(duì)一的通信方式。
廣播:本為指在TCP/IP協(xié)議框架下,由一臺(tái)主機(jī)同時(shí)向子網(wǎng)內(nèi)所有主機(jī)發(fā)送數(shù)據(jù)的通信方式。
組播:本文指在TCP/IP協(xié)議框架下,由一臺(tái)主機(jī)同時(shí)向加入同一個(gè)組播組的多臺(tái)主機(jī)傳送數(shù)據(jù)的方式。
自適應(yīng):處理和分析過(guò)程中,根據(jù)處理數(shù)據(jù)的數(shù)據(jù)特征自動(dòng)調(diào)整處理方法、處理順序、處理參數(shù)、邊界條件或約束條件,使其與所處理數(shù)據(jù)的統(tǒng)計(jì)分布特征、結(jié)構(gòu)特征相適應(yīng),以取得最佳的處理效果。
共享:是指關(guān)鍵資源的在多個(gè)資源客戶間共同分享及利用,區(qū)別于獨(dú)占。
靜態(tài)數(shù)據(jù):本文指網(wǎng)絡(luò)上的特定地址指向的內(nèi)容數(shù)據(jù)本身不隨時(shí)間變動(dòng)也不隨訪問(wèn)的客戶變動(dòng)在很長(zhǎng)時(shí)間保持恒定的數(shù)據(jù),具有穩(wěn)定性和訪問(wèn)獨(dú)立性。比如視頻數(shù)據(jù),文件數(shù)據(jù)。靜態(tài)數(shù)據(jù)同網(wǎng)絡(luò)地址有唯一恒定的對(duì)應(yīng)關(guān)系。靜態(tài)數(shù)據(jù)訪問(wèn)只是一個(gè)單向取的傳輸過(guò)程而不需要執(zhí)行復(fù)雜的程序邏輯來(lái)根據(jù)分布式數(shù)據(jù)庫(kù)和客戶參數(shù)建立多變的數(shù)據(jù)輸出。所以靜態(tài)數(shù)據(jù)的訪問(wèn)不需要數(shù)據(jù)源有復(fù)雜的計(jì)算能力不消耗計(jì)算資源。只需要存取和傳輸?shù)哪芰Α?/p>
動(dòng)態(tài)數(shù)據(jù):本文指訪問(wèn)網(wǎng)絡(luò)上特定地址指向的內(nèi)容數(shù)據(jù)時(shí)內(nèi)容數(shù)據(jù)本身在不同時(shí)間會(huì)發(fā)生變動(dòng)或根據(jù)訪問(wèn)用戶的不同或訪問(wèn)參數(shù)的不同數(shù)據(jù)的輸出也不相同。比如網(wǎng)絡(luò)數(shù)據(jù)庫(kù)查詢數(shù)據(jù)。郵件,即時(shí)通信和銷售數(shù)據(jù)庫(kù)數(shù)據(jù)。動(dòng)態(tài)數(shù)據(jù)對(duì)請(qǐng)求沒(méi)有唯一恒定的數(shù)據(jù)輸出,他會(huì)根據(jù)用戶參數(shù)和數(shù)據(jù)庫(kù)中存入數(shù)據(jù)的變化而輸出各不相同的數(shù)據(jù)。請(qǐng)求動(dòng)態(tài)數(shù)據(jù)服務(wù)器端必須執(zhí)行根據(jù)需求而準(zhǔn)備數(shù)據(jù)的程序邏輯。所以動(dòng)態(tài)數(shù)據(jù)的存取需要占用數(shù)據(jù)源的計(jì)算資源,數(shù)據(jù)源必須有一定的計(jì)算能力。
準(zhǔn)靜態(tài)數(shù)據(jù): 本文指訪問(wèn)網(wǎng)絡(luò)上特定地址指向的內(nèi)容數(shù)據(jù)時(shí)內(nèi)容數(shù)據(jù)在一定時(shí)段內(nèi)基本保持不變,但長(zhǎng)時(shí)段可能發(fā)生變化的動(dòng)態(tài)數(shù)據(jù),但這種數(shù)據(jù)的客戶對(duì)數(shù)據(jù)的變化不敏感可以當(dāng)成是靜態(tài)數(shù)據(jù)處理。
技術(shù)實(shí)現(xiàn)要素:
共享自適應(yīng)內(nèi)容數(shù)據(jù)鏈路快取緩存網(wǎng)絡(luò)技術(shù)SADCN(英文名稱:Shared Adaptive Content Data Cache Network)本技術(shù)發(fā)明創(chuàng)造的一種新型網(wǎng)路體系結(jié)構(gòu)。通過(guò)互聯(lián)網(wǎng)通信鏈路設(shè)備的改進(jìn),將互聯(lián)網(wǎng)通信過(guò)程中數(shù)據(jù)源站應(yīng)客戶請(qǐng)求而傳遞的特定數(shù)據(jù)信息在通信鏈路的中途節(jié)點(diǎn)中緩存起來(lái),該中途節(jié)點(diǎn)緩存數(shù)據(jù)后能把緩存的內(nèi)容直接轉(zhuǎn)發(fā)給通過(guò)該中途節(jié)點(diǎn)向數(shù)據(jù)源站點(diǎn)請(qǐng)求相同數(shù)據(jù)的其它客戶,而無(wú)需再向數(shù)據(jù)源站點(diǎn)上行這些客戶訪問(wèn)請(qǐng)求,來(lái)起到縮短通信鏈路減少通信延遲的互聯(lián)網(wǎng)通信改進(jìn)技術(shù)。
技術(shù)目的:
隨著Internet的發(fā)展,100M光纖接入的普及網(wǎng)絡(luò)傳輸受最后一公里的客戶的傳輸能力制約的瓶頸已經(jīng)消失了,互聯(lián)網(wǎng)傳輸?shù)臄?shù)據(jù)正變得越來(lái)越龐大,受限制于服務(wù)器端帶寬的容限,和主干網(wǎng)絡(luò)的擁堵,盡管大量用戶擁有100M的網(wǎng)絡(luò)接入能力,但多數(shù)網(wǎng)絡(luò)訪問(wèn)無(wú)法達(dá)到100Mbps的傳輸效率。
通過(guò)對(duì)網(wǎng)絡(luò)傳輸數(shù)據(jù)和網(wǎng)絡(luò)用戶行為的研究發(fā)現(xiàn),用戶峰值的數(shù)據(jù)傳輸往往發(fā)生在用戶下載靜態(tài)數(shù)據(jù)時(shí)產(chǎn)生,比如用戶下載文件,下載網(wǎng)絡(luò)視音頻,用戶下載網(wǎng)絡(luò)視頻,用戶訪問(wèn)IPTV服務(wù)網(wǎng)站這些訪問(wèn)行為約占整體網(wǎng)絡(luò)帶寬的80%。按現(xiàn)有的網(wǎng)絡(luò)協(xié)議和網(wǎng)絡(luò)基礎(chǔ)設(shè)施的設(shè)計(jì),多個(gè)同時(shí)訪問(wèn)相同來(lái)源相同靜態(tài)數(shù)據(jù)的用戶產(chǎn)生的數(shù)據(jù)傳輸是重復(fù)傳輸?shù)?。即使是處于同一子網(wǎng)或IP地址接近的用戶A和用戶B同時(shí)或接近同時(shí)訪問(wèn)同一IPTV提供商的同一部視頻,同樣的數(shù)據(jù)會(huì)重復(fù)分時(shí)的在接近相同的數(shù)據(jù)鏈路中重復(fù)傳輸。這產(chǎn)生了網(wǎng)絡(luò)傳輸帶寬的巨大浪費(fèi)。
網(wǎng)絡(luò)組播方案是解決數(shù)據(jù)傳輸浪費(fèi)的一項(xiàng)方案,但受限于特定的數(shù)據(jù)源和有限的服務(wù)網(wǎng)點(diǎn)。組播方式是事先通過(guò)協(xié)議確定了多個(gè)接受方和統(tǒng)一發(fā)送方的,并且只有幾乎同時(shí)接收的行為才能享受組播的便利性,組播方案要求用戶對(duì)中途數(shù)據(jù)丟失不敏感,多數(shù)只適合于網(wǎng)絡(luò)實(shí)時(shí)視音頻廣播頻道或視頻會(huì)議的情況,不適合于文件下載的情況。由于網(wǎng)絡(luò)組播在特定子網(wǎng)的傳播方式,他也會(huì)同時(shí)帶來(lái)一部份數(shù)據(jù)向非訪問(wèn)方的鏈路傳輸?shù)那闆r造成另外一種形式的傳輸帶寬浪費(fèi)行為。
對(duì)于文件下載的情況,P2P方案是另外一種有效緩解服務(wù)器的帶寬擁堵的解決訪問(wèn),在P2P下載方式中,用戶通過(guò)訪問(wèn)中心文件服務(wù)器發(fā)現(xiàn)同時(shí)下載有該文件的其它在線用戶,通過(guò)服務(wù)器代理的NAT穿透,直接向其他用戶的客戶端請(qǐng)求緩存的部分?jǐn)?shù)據(jù),然后將多個(gè)來(lái)源的數(shù)據(jù)通過(guò)剪接合成為原始數(shù)據(jù)。P2P傳輸方式的缺點(diǎn)在于,通常終端用戶對(duì)上傳得數(shù)據(jù)設(shè)置了人為的障礙,比如防火墻拒絕逆向傳輸,或?qū)ι蟼鲙捵鞒隽朔N種限制,而我國(guó)的終端用戶通常沒(méi)有固定的IP地址,處在子網(wǎng)中子網(wǎng)防火墻對(duì)于穿透行為作出了種種的限制,也減少了這種技術(shù)的便利性,通過(guò)對(duì)P2P下載文件時(shí)候的數(shù)據(jù)來(lái)源情況的統(tǒng)計(jì)發(fā)現(xiàn)我國(guó)P2P通信中來(lái)源于P2P客戶端的鏡像數(shù)據(jù)占總體從服務(wù)器下載的數(shù)據(jù)的比例的確不高,很說(shuō)明這項(xiàng)技術(shù)的局限性。同樣這種技術(shù)只適用于降低中心文件服務(wù)器的傳輸帶寬,并沒(méi)有降低網(wǎng)絡(luò)鏈路中的數(shù)據(jù)重復(fù)傳輸。
CDN(內(nèi)容分發(fā)網(wǎng)絡(luò))其目的是通過(guò)在現(xiàn)有的Internet中增加一層新的網(wǎng)絡(luò)架構(gòu),將網(wǎng)站的內(nèi)容發(fā)布到最接近用戶的網(wǎng)絡(luò)邊緣,使用戶可以就近取得所需的內(nèi)容,提高用戶訪問(wèn)網(wǎng)站的響應(yīng)速度。有效地防止數(shù)據(jù)在骨干網(wǎng)中擁堵傳輸?shù)那闆r,降低網(wǎng)絡(luò)延遲和提高網(wǎng)絡(luò)服務(wù)的質(zhì)量,防止長(zhǎng)數(shù)據(jù)鏈路突發(fā)和統(tǒng)計(jì)上不穩(wěn)定性造成的重傳影響通信質(zhì)量的情況。已經(jīng)成為了WEB網(wǎng)站采取的最主要的網(wǎng)絡(luò)加速手段。但CDN是一個(gè)非常昂貴的服務(wù),這注定了他只能成為少數(shù)資金雄厚的巨頭網(wǎng)絡(luò)服務(wù)商才能使用的技術(shù)。對(duì)于互聯(lián)網(wǎng)中小企業(yè),CDN的流量費(fèi)和帶寬費(fèi)還是一項(xiàng)巨大的準(zhǔn)入壁壘,即使像優(yōu)酷,土豆等資金雄厚的IPTV企業(yè)CDN的服務(wù)費(fèi)用也是一項(xiàng)巨大的必須成本占網(wǎng)絡(luò)視頻服務(wù)企業(yè)主要成本80%上,CDN巨額的成本也讓輸出流量巨大的網(wǎng)絡(luò)視頻服務(wù)很難受資本市場(chǎng)的青睞,即使這些視頻服務(wù)擁有巨大的用戶量。CDN的另外一個(gè)缺陷是,同數(shù)據(jù)源服務(wù)器的數(shù)據(jù)同步需要巨大的通信量,所以CDN具有上傳慢的缺點(diǎn)。CDN的同步需要占用很大的骨干網(wǎng)帶寬,通常CDN設(shè)定一個(gè)固定的同步時(shí)限,在時(shí)限到來(lái)時(shí)候再同步CDN節(jié)點(diǎn)和數(shù)據(jù)源節(jié)點(diǎn)的數(shù)據(jù),內(nèi)容緩存與同步周期限制,使的內(nèi)容不能夠及時(shí)發(fā)布,用戶瀏覽到的永遠(yuǎn)是相對(duì)滯后的信息。CDN通常在CDN節(jié)點(diǎn)上保持?jǐn)?shù)據(jù)源的完整鏡像,所以CDN服務(wù)提供商為保證對(duì)多個(gè)WEB服務(wù)商數(shù)據(jù)鏡像的服務(wù)質(zhì)量,必須為這些業(yè)務(wù)提供商預(yù)留資源,添置服務(wù)設(shè)備和預(yù)留接入帶寬。這也是CDN很難降低服務(wù)成本的制約因素。完整鏡像,定時(shí)同步,預(yù)留資源和預(yù)留帶寬同樣也是一種資源浪費(fèi)的行為。如果某些網(wǎng)站存在很多不常用服務(wù)和不常用的內(nèi)容數(shù)據(jù)或者在某個(gè)時(shí)段內(nèi)該網(wǎng)站在某個(gè)CDN站點(diǎn)的的訪問(wèn)不頻繁,預(yù)留的資源就會(huì)產(chǎn)生閑置,維持鏡像同步也會(huì)形成帶寬和流量黑洞。傳統(tǒng)CDN技術(shù)的設(shè)計(jì)缺陷也為一系列的CDN攻擊行為留下了漏洞。一種可行CDN攻擊行為是CDN流量放大,當(dāng)黑客攻陷了CDN的節(jié)點(diǎn)服務(wù)器,或者DNS服務(wù)器,就可能讓CDN將數(shù)據(jù)源指向其他的CDN節(jié)點(diǎn),從而在這個(gè)CDN節(jié)點(diǎn)的同步請(qǐng)求下,引起那個(gè)CDN節(jié)點(diǎn)的鏈路擁堵同時(shí)讓那個(gè)CDN的流量耗費(fèi)增加,如果CDN是以流量計(jì)費(fèi)的話,那么服務(wù)企業(yè)的網(wǎng)絡(luò)服務(wù)成本就會(huì)被白白損失。如果CDN鏈路中出現(xiàn)循環(huán)為源站的情況就更為嚴(yán)重。而這種攻擊會(huì)造成CDN服務(wù)站點(diǎn)的崩潰,必須要有管理員人為介入的情況下才能恢復(fù)。
隨著網(wǎng)絡(luò)通信接入客戶的增多,需求內(nèi)容的多媒體化,通信內(nèi)容的大流量化,上述傳統(tǒng)網(wǎng)絡(luò)服務(wù)已經(jīng)因?yàn)楣逃械娜毕莺茈y適應(yīng)新形勢(shì)變化。網(wǎng)絡(luò)技術(shù)需要不光是通信設(shè)施上的加速,也需要體系結(jié)構(gòu)上的優(yōu)化設(shè)計(jì)。“共享自適應(yīng)內(nèi)容數(shù)據(jù)鏈路快取緩存網(wǎng)絡(luò)技術(shù)(SADCN)”就為了避免傳統(tǒng)網(wǎng)絡(luò)服務(wù)缺陷,從網(wǎng)絡(luò)體系結(jié)構(gòu)上進(jìn)行對(duì)原有網(wǎng)絡(luò)設(shè)施和網(wǎng)絡(luò)設(shè)備布局做改動(dòng)很小的優(yōu)化設(shè)計(jì),以便于為網(wǎng)絡(luò)數(shù)據(jù)訪問(wèn)和內(nèi)容分發(fā),提供一種小成本,高性價(jià)比,高效能,自適應(yīng),設(shè)施共享的解決方案。從而降低整體通信企業(yè)互聯(lián)網(wǎng)設(shè)施有效利用率低帶來(lái)通信成本浪費(fèi),并且可以緩解服務(wù)器和骨干網(wǎng)絡(luò)帶寬不足對(duì)互聯(lián)網(wǎng)發(fā)展帶來(lái)的不利影響。同時(shí)避免重復(fù)傳輸節(jié)約成本和分散集中的通信負(fù)載節(jié)約主干帶寬,增強(qiáng)網(wǎng)絡(luò)抗攻擊能力,和提高日益增加的客戶端帶寬的有效利用率。
技術(shù)方案:
TCP/IP協(xié)議是目前Internet的標(biāo)準(zhǔn)協(xié)議,TCP/IP的通信過(guò)程如下:客戶端傳輸層和網(wǎng)絡(luò)層封裝通信數(shù)據(jù)為帶有目的網(wǎng)絡(luò)地址和端口的數(shù)據(jù)包,數(shù)據(jù)鏈路層向網(wǎng)關(guān)(路由器)發(fā)送該數(shù)據(jù)包,網(wǎng)關(guān)通過(guò)數(shù)據(jù)包獲取通信目的地址查詢路由表向其他網(wǎng)關(guān)傳輸數(shù)據(jù)包,數(shù)據(jù)包經(jīng)過(guò)多層的網(wǎng)絡(luò)鏈路轉(zhuǎn)發(fā)到服務(wù)器網(wǎng)絡(luò)層,服務(wù)器網(wǎng)絡(luò)層解析數(shù)據(jù)包將數(shù)據(jù)發(fā)送給服務(wù)器指定的端口監(jiān)聽(tīng)服務(wù)程序,服務(wù)程序解析數(shù)據(jù)包內(nèi)容并用同樣的過(guò)程將請(qǐng)求數(shù)據(jù)發(fā)送回客戶端。
傳統(tǒng)互聯(lián)網(wǎng)網(wǎng)絡(luò)拓?fù)涫纠龍D見(jiàn)說(shuō)明書(shū)附圖1:
不論上層采用何種通信協(xié)議,如果客戶1要訪問(wèn)B城服務(wù)器1上的視頻文件x,客戶1需要通過(guò)互聯(lián)網(wǎng)接入網(wǎng)關(guān)1-〉片區(qū)1路由器-〉A(chǔ)城區(qū)路由器-〉城際網(wǎng)絡(luò)的一系列路由器-〉B城區(qū)路由器-〉B城區(qū)機(jī)房路由器-〉 B城服務(wù)器1的鏈路向B城服務(wù)器1發(fā)送請(qǐng)求,而B(niǎo)城服務(wù)器1傳回視頻數(shù)據(jù)經(jīng)由相反的數(shù)據(jù)鏈路,這也就是互聯(lián)網(wǎng)訪問(wèn)模型中最常見(jiàn)的單播方式。
對(duì)于請(qǐng)求和應(yīng)答的數(shù)據(jù)不是恒定的而是隨時(shí)變化的動(dòng)態(tài)數(shù)據(jù),單播方式代表的傳輸過(guò)程是合理而必要的。但相對(duì)于視頻或文件數(shù)據(jù)這些幾乎不會(huì)發(fā)生變化的靜態(tài)內(nèi)容數(shù)據(jù)下載的情況,單播模型模型會(huì)在骨干網(wǎng)中傳遞同一數(shù)據(jù)的多個(gè)副本,造成數(shù)據(jù)的重復(fù)傳輸和數(shù)據(jù)通信帶寬的浪費(fèi),考慮這樣一種情況:A城客戶端2也請(qǐng)求相同的視頻文件,按單播方式,相同的視頻文件數(shù)據(jù)就會(huì)在鏈路中重復(fù)傳輸。
作為單播方式的補(bǔ)充,組播是一種處理單點(diǎn)發(fā)送多點(diǎn)接收避免鏈路數(shù)據(jù)重復(fù)傳輸?shù)挠行Ъ夹g(shù),組播技術(shù)允許單一的組播源向多個(gè)接收客戶端同時(shí)發(fā)送單一數(shù)據(jù)分包,在骨干網(wǎng)中只傳遞單一的數(shù)據(jù)副本,而支持組播技術(shù)的路由器,收到組播數(shù)據(jù)包時(shí)候根據(jù)組播路由協(xié)議向申請(qǐng)接收該組播的鄰接路由器復(fù)制分發(fā)該數(shù)據(jù)包,由于組播的任何接收客戶到組播源的數(shù)據(jù)鏈路中始終只有一份副本在傳遞,避免單播方式數(shù)據(jù)重復(fù)傳輸帶來(lái)帶寬的浪費(fèi)。但組播只適合于直播的情況,后加入的接收方必須對(duì)組播源發(fā)送的數(shù)據(jù)的完整性無(wú)太高要求。通常組播用于網(wǎng)絡(luò)直播的視音頻或視頻會(huì)議等應(yīng)用形式。組播不適合于非同時(shí)訪問(wèn)視頻的點(diǎn)播或文件下載的情形,如果考慮用組播方式實(shí)現(xiàn)視頻點(diǎn)播首先服務(wù)主機(jī)需要按接入時(shí)段將同一接入時(shí)段區(qū)間點(diǎn)播相同視頻的客戶端劃分為一組,并申請(qǐng)組播IP地址,并將該組播地址發(fā)回客戶端,讓客戶端組播網(wǎng)絡(luò)協(xié)議向網(wǎng)路路由器申請(qǐng)加入該組播組,建立組播連接。而任何在點(diǎn)播過(guò)程中出現(xiàn)的暫停的等行為都會(huì)退出該組播組,然后握手加入另外的同步組播組,這造成了服務(wù)器所需的組播地址數(shù)量巨大,并且通過(guò)專門的應(yīng)用來(lái)維護(hù)組播連接的切換和創(chuàng)建。用組播方式實(shí)現(xiàn)點(diǎn)播和文件下載是負(fù)荷巨大的。而組播地址表和網(wǎng)絡(luò)路徑的建立和管理的通信同時(shí)會(huì)造成另外的網(wǎng)絡(luò)帶寬浪費(fèi)。所以視頻點(diǎn)播網(wǎng)站和文件服務(wù)網(wǎng)站通常還采取單播的服務(wù)方式。另外組播不改變數(shù)據(jù)鏈路的長(zhǎng)度,而隨著數(shù)據(jù)鏈路中轉(zhuǎn)發(fā)環(huán)節(jié)的增加,網(wǎng)絡(luò)通信的可靠性就會(huì)降低,而長(zhǎng)鏈路的低的通信可靠性必然也會(huì)帶來(lái)大量的超時(shí)重發(fā),導(dǎo)致重復(fù)傳輸。
在現(xiàn)行互聯(lián)網(wǎng)實(shí)現(xiàn)中,不論單播,組播還是廣播模式中,數(shù)據(jù)鏈路設(shè)備(比如路由器,交換機(jī),網(wǎng)橋)只負(fù)責(zé)交換數(shù)據(jù)的工作,在互聯(lián)網(wǎng)發(fā)展的早期,互聯(lián)網(wǎng)的出發(fā)點(diǎn)主要是考慮滿足端對(duì)端傳輸需求來(lái)設(shè)計(jì)的,當(dāng)時(shí)假定端對(duì)端的對(duì)等傳輸是互聯(lián)網(wǎng)通信的主要模式。但互聯(lián)網(wǎng)發(fā)展到今天的實(shí)際情況卻是,互聯(lián)網(wǎng)通信的主機(jī)并非對(duì)等而是分化為了兩類,一是使用固定IP地址的服務(wù)器,一是使用動(dòng)態(tài)IP地址的客戶端,客戶端-服務(wù)器通信成為主要的通信模式。 作為為多個(gè)客戶服務(wù)器端將承受更大的通信壓力。受限于服務(wù)器輸出能力,客戶端的帶寬的利用率不高。同時(shí)互聯(lián)網(wǎng)實(shí)現(xiàn)的早期對(duì)于通信數(shù)據(jù)的類型是不加以劃分的,早期互聯(lián)網(wǎng)模型沒(méi)有考慮傳輸數(shù)據(jù)的集中性也并不區(qū)分動(dòng)態(tài)數(shù)據(jù)還是靜態(tài)數(shù)據(jù)。但現(xiàn)今隨著網(wǎng)絡(luò)多媒體服務(wù)的發(fā)展,靜態(tài)的相對(duì)不變的數(shù)據(jù)傳輸正成為數(shù)據(jù)鏈路中傳輸?shù)臄?shù)據(jù)的主要部分。通過(guò)對(duì)互聯(lián)網(wǎng)數(shù)據(jù)傳輸?shù)难芯靠梢园l(fā)現(xiàn),峰值的數(shù)據(jù)傳輸通常發(fā)生在用戶下載文件或視音頻的等靜態(tài)數(shù)據(jù)的情況下。而動(dòng)態(tài)的時(shí)變數(shù)據(jù)傳輸在互聯(lián)網(wǎng)中只是帶寬使用中卻相對(duì)占得比比例較小。為幾乎固定不變的大量的靜態(tài)數(shù)據(jù)傳輸還采用服務(wù)器端對(duì)端1對(duì)多的單播傳輸方式必然會(huì)造成大量的帶寬浪費(fèi)。
在傳統(tǒng)模型中訪問(wèn)異地服務(wù)器時(shí)候,跨區(qū)跨網(wǎng)通信的成本遠(yuǎn)高于區(qū)域內(nèi)和自治子網(wǎng)內(nèi)通信,同時(shí)受限于通信信號(hào)的理論傳輸極限光速,遠(yuǎn)程通信還會(huì)造成大的延遲,這種延遲同距離相關(guān)不會(huì)隨著通信鏈路和設(shè)備的升級(jí)而發(fā)生大的縮減。通信技術(shù)的提高只會(huì)提高數(shù)據(jù)傳輸帶寬容量,不會(huì)縮短網(wǎng)絡(luò)延遲。為減少鏈路延遲服務(wù)提供商可能采取的優(yōu)化手段是在A城機(jī)房服務(wù)器1上設(shè)置B城機(jī)房的服務(wù)器1的鏡像服務(wù),當(dāng)A城客戶的訪問(wèn)B城服務(wù)器時(shí)候,通過(guò)網(wǎng)絡(luò)地址重定向協(xié)議或直接通過(guò)區(qū)域內(nèi)的就近域名解析,讓客戶直接訪問(wèn)A城的鏡像服務(wù)器節(jié)點(diǎn),縮短通信鏈路,降低網(wǎng)絡(luò)延遲,而這種鏡像服務(wù)方式被擁有大量各區(qū)域服務(wù)器節(jié)點(diǎn)的通信服務(wù)商打包成一種通信服務(wù)提供給Web內(nèi)容服務(wù)商做內(nèi)容分發(fā)的加速服務(wù)就是CDN。內(nèi)容鏡像服務(wù)是加大了服務(wù)提供商的運(yùn)營(yíng)成本,并且由于互聯(lián)網(wǎng)訪問(wèn)的瞬發(fā)性和不均勻性,鏡像服務(wù)器也會(huì)存在大量的帶寬閑置和浪費(fèi),為保證節(jié)點(diǎn)和Web服務(wù)數(shù)據(jù)源的數(shù)據(jù)同步,這種方式需要定期的同步主機(jī)和節(jié)點(diǎn)的數(shù)據(jù),即使一個(gè)服務(wù)的最終客戶訪問(wèn)不頻繁,定時(shí)的數(shù)據(jù)同步一樣要消耗主干網(wǎng)的帶寬和流量。
在CPU研發(fā)的早期,CPU通常直接尋址所有的系統(tǒng)內(nèi)存區(qū)域,隨著CPU性能的集成度的指數(shù)倍增內(nèi)存的效率越來(lái)越難矣匹配CPU的運(yùn)行效率。在CPU設(shè)計(jì)中由于存儲(chǔ)芯片和性能和成本差異,和CPU訪問(wèn)數(shù)據(jù)的局域性,CPU多級(jí)緩存技術(shù)用于減少處理器訪問(wèn)內(nèi)存所需平均時(shí)間的部件。在金字塔式存儲(chǔ)體系中它位于自頂向下的第二層,僅次于CPU寄存器。其容量遠(yuǎn)小于內(nèi)存,但速度卻可以接近處理器的頻率。當(dāng)處理器發(fā)出內(nèi)存訪問(wèn)請(qǐng)求時(shí),會(huì)先查看緩存內(nèi)是否有請(qǐng)求數(shù)據(jù)。如果存在(命中),則不經(jīng)訪問(wèn)內(nèi)存直接返回該數(shù)據(jù);如果不存在(失效),則要先把內(nèi)存中的相應(yīng)數(shù)據(jù)載入緩存,再將其返回處理器。 緩存之所以有效,主要是因?yàn)槌绦蜻\(yùn)行時(shí)對(duì)內(nèi)存的訪問(wèn)呈現(xiàn)局部性(Locality)特征。這種局部性既包括空間局部性(Spatial Locality),也包括時(shí)間局部性(Temporal Locality)。有效利用這種局部性,緩存可以達(dá)到極高的命中率。
“共享自適應(yīng)內(nèi)容數(shù)據(jù)鏈路快取緩存網(wǎng)絡(luò)技術(shù)(SADCN)”參考了CPU內(nèi)存訪問(wèn)的體系結(jié)構(gòu)變遷歷史,認(rèn)為目前網(wǎng)絡(luò)也需要類似的體系結(jié)構(gòu)轉(zhuǎn)變才能適應(yīng)新形式下的網(wǎng)絡(luò)通信需求變化。在這種體系結(jié)構(gòu)類比下,網(wǎng)絡(luò)客戶端可以類比CPU,而存儲(chǔ)在網(wǎng)絡(luò)服務(wù)器上的內(nèi)容數(shù)據(jù)可以類比于計(jì)算機(jī)中內(nèi)存數(shù)據(jù)。當(dāng)網(wǎng)絡(luò)客戶端帶寬變得越來(lái)越大的時(shí)候,而主干網(wǎng)絡(luò)變得越來(lái)越擁擠的時(shí)候,客戶端從服務(wù)器直接取數(shù)據(jù)的低效率就會(huì)成為瓶頸,而彌補(bǔ)客戶端和服務(wù)通信帶寬失配消除瓶頸的方法,就是在客戶端和服務(wù)器之間構(gòu)建中間層緩存。
利用緩存分散訪問(wèn)服務(wù)器主干的帶寬壓力的同時(shí)保持客戶端的帶寬的利用效率。
為了實(shí)現(xiàn)這種體系結(jié)構(gòu)“共享自適應(yīng)內(nèi)容數(shù)據(jù)鏈路快取緩存網(wǎng)絡(luò)技術(shù)(SADCN)”引入一個(gè)新的網(wǎng)絡(luò)協(xié)議——內(nèi)容緩存協(xié)議。這一協(xié)議需要支持該協(xié)議的數(shù)據(jù)鏈路設(shè)備和存儲(chǔ)設(shè)備配合實(shí)施。
內(nèi)容緩存協(xié)義為網(wǎng)絡(luò)上轉(zhuǎn)發(fā)的數(shù)據(jù)包附加一些額外的標(biāo)識(shí),供網(wǎng)絡(luò)上的鏈路設(shè)備識(shí)別,從而讓支持該協(xié)議的鏈路設(shè)備將數(shù)據(jù)包緩存在通信鏈路的中間環(huán)節(jié)。從而當(dāng)客戶對(duì)相同數(shù)據(jù)的訪問(wèn)請(qǐng)求流經(jīng)這些中間環(huán)節(jié)能被鏈路設(shè)備截獲,并直接從中間環(huán)節(jié)返回緩存數(shù)據(jù)給客戶而不需要通過(guò)主干網(wǎng)絡(luò)訪問(wèn)具體的服務(wù)器。為支持TCP/IP協(xié)議,網(wǎng)絡(luò)的鏈路設(shè)備通常具有分拆和重組數(shù)據(jù)包的能力,該協(xié)議實(shí)現(xiàn)只需要為中間環(huán)節(jié)的鏈路設(shè)備添加緩存協(xié)議支持,通過(guò)增加鏈路設(shè)備的本地存儲(chǔ)或通過(guò)修改路由設(shè)備的軟件讓其具有訪問(wèn)所在子網(wǎng)的數(shù)據(jù)設(shè)備來(lái)實(shí)現(xiàn)。設(shè)備原有的計(jì)算能力不需要升級(jí),所以不需要太大的改造成本投入。
內(nèi)容緩存協(xié)義的服務(wù)對(duì)象是靜態(tài)數(shù)據(jù)和準(zhǔn)靜態(tài)數(shù)據(jù)不是動(dòng)態(tài)數(shù)據(jù),因?yàn)殪o態(tài)數(shù)據(jù)存在唯一確定的地址和數(shù)據(jù)配對(duì),只要數(shù)據(jù)地址不發(fā)生改變請(qǐng)求獲取的數(shù)據(jù)就不發(fā)生變化。這樣數(shù)據(jù)地址就可以成為數(shù)據(jù)訪問(wèn)的全局統(tǒng)一和穩(wěn)定的唯一標(biāo)志符。
內(nèi)容緩存協(xié)義不為動(dòng)態(tài)數(shù)據(jù)提供緩存服務(wù),因?yàn)閯?dòng)態(tài)數(shù)據(jù)在訪問(wèn)時(shí)訪問(wèn)地址和數(shù)據(jù)輸出沒(méi)有唯一確定的對(duì)應(yīng)關(guān)系,而且動(dòng)態(tài)數(shù)據(jù)的輸出需要消耗一定的服務(wù)器的計(jì)算能力。如果鏈路設(shè)備需要支持動(dòng)態(tài)數(shù)據(jù)的緩存,就需要鏈路設(shè)備擁有同數(shù)據(jù)源服務(wù)器類似的計(jì)算能力,這會(huì)加大鏈路設(shè)備的成本和性能消耗,而鏈路設(shè)備本身這種成本和性能消耗應(yīng)該用在更為緊迫的數(shù)據(jù)轉(zhuǎn)發(fā)上而不是具體計(jì)算上。
內(nèi)容緩存協(xié)議從客戶服務(wù)器通信的兩端改造通信數(shù)據(jù)的封裝,在數(shù)據(jù)源服務(wù)器端,數(shù)據(jù)源服務(wù)器需要將輸出的靜態(tài)數(shù)據(jù)做標(biāo)識(shí)以便緩存設(shè)備唯一的識(shí)別和區(qū)分?jǐn)?shù)據(jù)來(lái)源和是否需要緩存。附加頭標(biāo)的格式如下:<緩存選項(xiàng)標(biāo)志,服務(wù)商編號(hào),全局唯一請(qǐng)求地址,偏移量,數(shù)據(jù)版本號(hào)〉,由于IP數(shù)據(jù)包流經(jīng)具體通信鏈路時(shí)候可能發(fā)生分片的情況,所以該內(nèi)容緩存標(biāo)志最好放在IP頭標(biāo)的選項(xiàng)中以保證即使數(shù)據(jù)包被分片,每個(gè)分片依然有完整的標(biāo)志信息被轉(zhuǎn)發(fā)。緩存選項(xiàng)標(biāo)志標(biāo)識(shí)該頭標(biāo)選項(xiàng)存儲(chǔ)的是可以緩存的數(shù)據(jù)包,服務(wù)商編號(hào)是為了計(jì)費(fèi)和服務(wù)許可驗(yàn)證提供的標(biāo)識(shí),以標(biāo)明該數(shù)據(jù)報(bào)有無(wú)被緩存的資格。全局唯一地址用于唯一識(shí)別內(nèi)容,以便與緩存服務(wù)截獲客戶請(qǐng)求時(shí)找到緩存內(nèi)容。偏移量標(biāo)識(shí)數(shù)據(jù)包時(shí)數(shù)據(jù)源的哪一個(gè)部分,由于路徑中可能存在分片的情況所以緩存的數(shù)據(jù)包的偏移量可能不是實(shí)際數(shù)據(jù)的偏移量需要加上分片的偏移量才能確定數(shù)據(jù)包來(lái)源與內(nèi)容的那個(gè)部分。數(shù)據(jù)版本號(hào),用于準(zhǔn)靜態(tài)的數(shù)據(jù)緩存時(shí),數(shù)據(jù)源服務(wù)器廣播通知鏈路中緩存服務(wù)那些數(shù)據(jù)已經(jīng)過(guò)期和失效。
為利用內(nèi)容緩存的中間節(jié)點(diǎn)內(nèi)容分發(fā)的便捷效果,客戶端的訪問(wèn)也需要一定的規(guī)定,客戶端請(qǐng)求同樣需要額外的信息,對(duì)緩存內(nèi)容的請(qǐng)求需要指明訪問(wèn)的全局唯一請(qǐng)求地址,數(shù)據(jù)偏移,數(shù)據(jù)長(zhǎng)度。以便于命中緩存的識(shí)別和轉(zhuǎn)發(fā)。
由于網(wǎng)絡(luò)中數(shù)據(jù)通信的多路徑特點(diǎn),從服務(wù)器發(fā)往客戶的數(shù)據(jù)封包可能不是經(jīng)由同樣的路線傳輸,所以很可能路線上的設(shè)備無(wú)法緩存數(shù)據(jù)封包的完整映像,而是只有完整數(shù)據(jù)的部分封包。內(nèi)容緩存協(xié)議的處理方式也不將數(shù)據(jù)封包在緩存中組合為完整影響而是保持?jǐn)?shù)據(jù)封包的分散緩沖,同時(shí)構(gòu)造一張緩存數(shù)據(jù)映像的內(nèi)容數(shù)據(jù)緩存分布表。該表記錄了數(shù)據(jù)源的那些段數(shù)據(jù)被這個(gè)環(huán)節(jié)緩存,那些段的數(shù)據(jù)是缺失的。同時(shí)該表通過(guò)巧妙的構(gòu)造以便于設(shè)備快速查找,由于客戶上行的數(shù)據(jù)請(qǐng)求帶有唯一數(shù)據(jù)地址和數(shù)據(jù)偏移和請(qǐng)求的數(shù)據(jù)長(zhǎng)度,所以可以檢查數(shù)據(jù)偏移數(shù)據(jù)長(zhǎng)度是否同緩存的封包重疊,中間環(huán)節(jié)只是便捷回傳同請(qǐng)求數(shù)據(jù)快有覆蓋的數(shù)據(jù)部分,無(wú)法覆蓋的客戶請(qǐng)求部分將被中間環(huán)節(jié)繼續(xù)向數(shù)據(jù)源服務(wù)器方向轉(zhuǎn)發(fā)以便于從上行線路的其他環(huán)節(jié)獲取直到鏈路中均無(wú)緩存數(shù)據(jù)時(shí)從服務(wù)器獲取數(shù)據(jù)。
為了保證有限的鏈路設(shè)備的緩存為所有注冊(cè)的數(shù)據(jù)源共享式的提供服務(wù),而不是被少量的服務(wù)所獨(dú)占。鏈路設(shè)備緩存的內(nèi)容數(shù)據(jù)應(yīng)該同時(shí)記錄該數(shù)據(jù)的緩存開(kāi)始時(shí)間,和緩存時(shí)限。當(dāng)時(shí)限到來(lái)時(shí)候數(shù)據(jù)沒(méi)有被其他的客戶請(qǐng)求命中過(guò),證明該數(shù)據(jù)不是當(dāng)前時(shí)段繁忙請(qǐng)求的數(shù)據(jù),緩沖的數(shù)據(jù)應(yīng)該被移除以便騰出緩存設(shè)備資源給別的數(shù)據(jù)包,如果數(shù)據(jù)包在存活時(shí)間內(nèi)被命中應(yīng)該修改該數(shù)據(jù)包的緩存起始時(shí)間,以便為數(shù)據(jù)包續(xù)租一段保存時(shí)間。這樣支持內(nèi)容緩存協(xié)議鏈路設(shè)備就需要有一個(gè)針對(duì)內(nèi)容緩存的定時(shí)維護(hù)過(guò)程,以釋放一些不頻繁命中的數(shù)據(jù)包的緩存。
客戶請(qǐng)求的命中與否給緩存內(nèi)容的價(jià)值和緩存資源的分配提供了一個(gè)很好的自適應(yīng)標(biāo)準(zhǔn)。因?yàn)殒溌吩O(shè)備的緩存內(nèi)容的命中率取決于請(qǐng)求該內(nèi)容的客戶訪問(wèn)頻度和內(nèi)容的緩存時(shí)限,如果內(nèi)容的訪問(wèn)本身是不頻繁的,客戶對(duì)該內(nèi)容的請(qǐng)求間隔往往超出緩存時(shí)限。那么該內(nèi)容的緩存變得不那么必要,同訪問(wèn)中間環(huán)節(jié)的緩存相比,不頻繁的直接訪問(wèn)服務(wù)器也不會(huì)帶來(lái)大的擁堵。相反對(duì)于多客戶對(duì)于相同資源的密集訪問(wèn)請(qǐng)求,因?yàn)檫@些密集請(qǐng)求往往會(huì)導(dǎo)致緩存內(nèi)容在鏈路設(shè)備中的緩存數(shù)據(jù)被頻繁的命中,這些密集請(qǐng)求的內(nèi)容數(shù)據(jù)就會(huì)在鏈路緩存上存活較長(zhǎng)時(shí)間,客戶對(duì)這些內(nèi)容數(shù)據(jù)的訪問(wèn)請(qǐng)求就更容易的被中途截獲,并且隨著客戶對(duì)熱點(diǎn)數(shù)據(jù)訪問(wèn)的集中程程度和頻繁程度的增加,緩存的數(shù)據(jù)包的緩存區(qū)域就會(huì)自動(dòng)的向訪問(wèn)熱點(diǎn)地區(qū)集中,以及讓數(shù)據(jù)的訪問(wèn)從服務(wù)端的直接訪問(wèn)逐步遷移到靠近客戶端的數(shù)據(jù)鏈路中間環(huán)節(jié),而到服務(wù)器的主干網(wǎng)帶寬就會(huì)被節(jié)約下來(lái)。這種模式的好處顯而易見(jiàn),全網(wǎng)絡(luò)的負(fù)載和傳輸帶寬和緩存設(shè)施被自適應(yīng)的分配給了通信的實(shí)際所需。有效地避免了重復(fù)傳輸和資源的閑置和浪費(fèi)。
內(nèi)容緩存協(xié)義除了引入數(shù)據(jù)包緩存時(shí)限的概念還引入了優(yōu)先級(jí)的概念。優(yōu)先級(jí)是為了滿足這樣一個(gè)需求,就是通信服務(wù)商理應(yīng)根據(jù)客戶支付的服務(wù)代價(jià),為不同客戶提供不同的差異性服務(wù)。這一定義產(chǎn)生了內(nèi)容緩存服務(wù)的經(jīng)濟(jì)模式,就是在共享資源的基礎(chǔ)上提供差異性服務(wù)。一項(xiàng)通信技術(shù)如果沒(méi)有太強(qiáng)的經(jīng)濟(jì)職能,即使他具有再打的優(yōu)勢(shì)也很難得以推廣,通過(guò)差異化服務(wù)比如為購(gòu)買了更高優(yōu)先級(jí)的網(wǎng)絡(luò)服務(wù)商提供更大的緩存容量和更長(zhǎng)的緩存時(shí)間片,以及在設(shè)備資源緊缺時(shí)優(yōu)先保留優(yōu)先級(jí)高的內(nèi)容緩存。通信設(shè)施的建設(shè)和提供商能夠?qū)?yōu)質(zhì)服務(wù)優(yōu)先出售而獲取附加的經(jīng)濟(jì)效益。同時(shí)由于內(nèi)容緩存的低成本和共享性,這項(xiàng)服務(wù)相對(duì)于專有化的CDN更適合于較多考慮通信服務(wù)成本的中小互聯(lián)網(wǎng)企業(yè)采用,這項(xiàng)當(dāng)與在CDN的高成本面向大型客戶的情況下增加了一種新的產(chǎn)品用于不太可能選擇高成本CDN中小客戶,為通信服務(wù)增加了新的市場(chǎng)。
SADCN改進(jìn)的通信過(guò)程見(jiàn)說(shuō)明書(shū)附圖2:
支持內(nèi)容緩存協(xié)議的鏈路設(shè)備的工作流程圖見(jiàn)說(shuō)明書(shū)附圖3:
本案改進(jìn)后的網(wǎng)絡(luò)拓?fù)涫纠?jiàn)說(shuō)明書(shū)附圖4:
上圖中靜態(tài)數(shù)據(jù)包緩存設(shè)備,可以用多種形式實(shí)現(xiàn)比如:內(nèi)存芯片,閃存,硬盤,子網(wǎng)主機(jī),甚至相近區(qū)域的服務(wù)器,這取決于設(shè)備對(duì)內(nèi)容緩存協(xié)議的具體實(shí)現(xiàn)形式。由于很多數(shù)據(jù)鏈路設(shè)備實(shí)際上是可以進(jìn)行軟件升級(jí)的,所以對(duì)于內(nèi)容緩存協(xié)議甚至可以通過(guò)鏈路設(shè)備的軟件升級(jí)和利用鏈路設(shè)備鄰近的服務(wù)器作為數(shù)據(jù)緩存設(shè)備的實(shí)現(xiàn)形式,當(dāng)然最高效能的方式是通過(guò)直接對(duì)鏈路設(shè)備硬件的改造來(lái)實(shí)現(xiàn)。因?yàn)橥ㄟ^(guò)臨近服務(wù)器的實(shí)現(xiàn)形式在數(shù)據(jù)緩存和命中回傳過(guò)程中會(huì)產(chǎn)生中間環(huán)節(jié)到臨近服務(wù)器的命中查詢和數(shù)據(jù)存取額外通信,只是用外接服務(wù)器作為鏈路緩存設(shè)備來(lái)實(shí)現(xiàn)內(nèi)容緩存協(xié)議是對(duì)通信設(shè)備改造最少的實(shí)現(xiàn)方案。
通過(guò)通信案例我們可以了解SADCN典型的工作過(guò)程,以上圖網(wǎng)絡(luò)拓?fù)錇槔?,如果客戶?請(qǐng)求B城服務(wù)器1下載靜態(tài)數(shù)據(jù)文件,服務(wù)器1收到下載請(qǐng)求,將數(shù)據(jù)包封裝為內(nèi)容緩存協(xié)義規(guī)定的數(shù)據(jù)包,數(shù)據(jù)包通過(guò)網(wǎng)路鏈路流經(jīng)了支持內(nèi)容緩存協(xié)義的路由器比如片區(qū)1路由器,片區(qū)1的路由器就會(huì)將數(shù)據(jù)包緩存起來(lái),如果客戶端端3在路由器1對(duì)該數(shù)據(jù)包的緩存時(shí)限內(nèi)請(qǐng)求同樣的數(shù)據(jù),就不需要從B城服務(wù)器1傳輸數(shù)據(jù),片區(qū)1路由器就直接返回了客戶端3所需要的數(shù)據(jù)??梢钥闯鲮o態(tài)數(shù)據(jù)包緩存方案對(duì)靜態(tài)數(shù)據(jù)的下載,在單播傳輸模式下實(shí)現(xiàn)了組播模式所達(dá)到的節(jié)省數(shù)據(jù)鏈路帶寬效果,同時(shí)由于通信路徑的自適應(yīng)縮短也起到了降低傳輸延遲的效果。
本案同傳統(tǒng)方案的網(wǎng)絡(luò)拓?fù)浔容^除了可選一些數(shù)據(jù)鏈路設(shè)備增加支持內(nèi)容緩存服務(wù)協(xié)議外,同原網(wǎng)絡(luò)拓?fù)洳o(wú)太大的區(qū)別,并且并非所有的數(shù)據(jù)鏈路都需要支持靜態(tài)數(shù)據(jù)緩存協(xié)議,不支持的數(shù)據(jù)鏈路設(shè)備仍然可以將靜態(tài)數(shù)據(jù)包當(dāng)一般包作傳統(tǒng)路由傳遞處理。對(duì)鏈路設(shè)備的部分改進(jìn)一樣能起到一定的網(wǎng)絡(luò)加速效果。因?yàn)樵诳蛻舳说姆?wù)器的數(shù)據(jù)鏈路中任何一個(gè)環(huán)節(jié)采用本方案兼容的設(shè)備都會(huì)對(duì)到該服務(wù)器的靜態(tài)內(nèi)容數(shù)據(jù)訪問(wèn)產(chǎn)生減少延遲減少鏈路帶寬負(fù)荷的作用。
考慮內(nèi)容緩存協(xié)議的健壯性,對(duì)SADCN的一種可行攻擊方式是內(nèi)容偽造攻擊:攻擊者偽造成數(shù)據(jù)源服務(wù)器,傳輸偽造的數(shù)據(jù)包。而這些數(shù)據(jù)包可能被鏈路設(shè)備緩存下來(lái)而被客戶下載到。對(duì)于這種攻擊方式的可以通過(guò)數(shù)據(jù)源服務(wù)器對(duì)發(fā)送的數(shù)據(jù)包進(jìn)行數(shù)字簽名,緩存設(shè)備判決這些簽名有效性來(lái)避免。由于鏈路存在對(duì)IP數(shù)據(jù)包分片傳輸?shù)目赡苄?,并且分片后?shù)據(jù)包不會(huì)再鏈路中重新組合,所以簽名信息不能對(duì)整個(gè)原始分包進(jìn)行簽名。一種可行的驗(yàn)證方式是內(nèi)容緩存的服務(wù)的管理主機(jī)定期向Web內(nèi)容服務(wù)主機(jī)散布數(shù)據(jù)源附加標(biāo)識(shí),web數(shù)據(jù)源服務(wù)商發(fā)送的可緩存數(shù)據(jù)報(bào)需要附加該標(biāo)識(shí)和對(duì)該標(biāo)識(shí)提供簽名。另一重可行的簽名驗(yàn)證方法是對(duì)數(shù)據(jù)包進(jìn)行分段簽名,并將整塊數(shù)據(jù)的簽名都附加到IP頭標(biāo)選項(xiàng)域。分段的大俠選用網(wǎng)路最小MTU的1/2以保證不論如何分片,每個(gè)分片中必然至少可以存在一快可以驗(yàn)證的數(shù)據(jù)。
網(wǎng)絡(luò)傳輸?shù)亩嗝襟w數(shù)據(jù),由于數(shù)據(jù)量大,并發(fā)下載的用戶多,已經(jīng)成為網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)闹饕?fù)載,內(nèi)容緩存協(xié)議的應(yīng)用上的挑戰(zhàn)是其對(duì)多媒體流協(xié)議的兼容性。
常用的流媒體協(xié)議主要有 HTTP 漸進(jìn)下載和基于 實(shí)時(shí)流的媒體協(xié)議,這二種基本是完全不同的東西,HTTP漸近下載同內(nèi)容緩存體系結(jié)構(gòu)是完全兼容的方式。而基于流得協(xié)議則需要做出一定的改進(jìn)以利用內(nèi)容緩存的快取性??疾煜旅娴某S枚嗝襟w流協(xié)議和內(nèi)容緩存協(xié)議的兼容性和為兼容這些協(xié)議內(nèi)容緩存協(xié)議需要的兼容性改進(jìn):
HLS協(xié)議: HLS(HTTP Live Streaming),Apple的動(dòng)態(tài)碼率自適應(yīng)技術(shù)。主要用于PC和Apple終端的音視頻服務(wù)。包括一個(gè)m3u(8)的索引文件,TS媒體分片文件和key加密串文件,HLS將視頻流媒體分割成一個(gè)個(gè)小文件,用HTTP 漸進(jìn)下載的方式來(lái)傳輸流媒體,客戶端不需要關(guān)心小媒體分片文件的來(lái)源,這種方式同內(nèi)容緩存具有天然的兼容性。
RTP/RTCP/RTSP協(xié)議: RTP(Real-time Transport Protocol),是用于Internet上針對(duì)多媒體數(shù)據(jù)流的一種傳輸層協(xié)議。RTP協(xié)議詳細(xì)說(shuō)明了在互聯(lián)網(wǎng)上傳遞音頻和視頻的標(biāo)準(zhǔn)數(shù)據(jù)包格式。RTCP(Real-time Transport Control Protocol) 是實(shí)時(shí)傳輸協(xié)議(RTP)的一個(gè)姐妹協(xié)議RTCP為RTP媒體流提供信道外(out-of-band)控制。RTCP本身并不傳輸數(shù)據(jù),但和RTP一起協(xié)作將多媒體數(shù)據(jù)打包和發(fā)送。RTCP定期在流多媒體會(huì)話參加者之間傳輸控制數(shù)據(jù)。RTCP的主要功能是為RTP所提供的服務(wù)質(zhì)量(Quality of Service)提供反饋。RTSP(Real Time Streaming Protocol)用來(lái)控制聲音或影像的多媒體串流協(xié)議。RTP/RTCP/RTSP在傳輸層和應(yīng)用層相互配合構(gòu)建網(wǎng)絡(luò)鏈路上的實(shí)時(shí)多媒體傳輸。實(shí)時(shí)多媒體傳輸本質(zhì)上是端到端的,客戶首先通過(guò)RTSP與服務(wù)器協(xié)商建立多媒體傳輸?shù)臅?huì)話,建立會(huì)話后服務(wù)器將流數(shù)據(jù)封裝成一系列RTP包向客戶端傳輸。傳輸過(guò)程中客戶端和服務(wù)器端通過(guò)RTCP來(lái)保證通信的質(zhì)量。本質(zhì)上RTP封包可以被內(nèi)容緩存協(xié)議在數(shù)據(jù)鏈路中間環(huán)節(jié)中緩存起來(lái)。但緩存的數(shù)據(jù)因?yàn)槠湓诰W(wǎng)絡(luò)上分散性,上層 RTSP就必須做出一定的改變來(lái)適應(yīng)對(duì)網(wǎng)絡(luò)上多源的流訪問(wèn)和流控制。RTSP是一個(gè)應(yīng)用層的控制協(xié)議,所以其很容易做出某種擴(kuò)展讓其支持多來(lái)源Cache,首先中間節(jié)點(diǎn)截獲客戶端向服務(wù)器端的RTSP請(qǐng)求,并向客戶端回傳中間節(jié)點(diǎn)對(duì)請(qǐng)求資源的緩存信息,如緩存了多少偏移多少時(shí)長(zhǎng)的多媒體流信息。客戶端收到的HTTP回應(yīng)有可能是來(lái)源于中途節(jié)點(diǎn),所以客戶端會(huì)收到多份握手信息,客戶端的RTSP協(xié)議部分應(yīng)增加某種選擇判決來(lái)最終選擇最近的最合理的中途節(jié)點(diǎn)建立RTP/RTCP傳輸,在選擇傳輸?shù)闹虚g節(jié)點(diǎn)分段即將完成的時(shí)候應(yīng)該提前想服務(wù)器發(fā)出新的連接請(qǐng)求以建立下一段數(shù)據(jù)的傳輸。通過(guò)RTSP的協(xié)議擴(kuò)展內(nèi)容緩存協(xié)議可以不改變RTP和RTCP的實(shí)現(xiàn)細(xì)節(jié)的情況下實(shí)現(xiàn),對(duì)實(shí)時(shí)多媒體流的緩存快取支持。
MMS協(xié)議:MMS(Microsoft Media Server), 是一種串流媒體傳送協(xié)議,用來(lái)訪問(wèn)并流式接收WindowsMedia服務(wù)器中.asf文件的一種協(xié)議。MMS協(xié)議用于訪問(wèn)Windows Media發(fā)布點(diǎn)上的單播內(nèi)容。MMS是連接Windows Media單播服務(wù)的默認(rèn)方法。若觀眾在Windows Media Player中鍵入一個(gè)URL以連接內(nèi)容,而不是通過(guò)超級(jí)鏈接訪問(wèn)內(nèi)容,則他們必須使用MMS協(xié)議引用該流。MMS的預(yù)設(shè)埠(端口)是1755。本質(zhì)上MMS協(xié)議類似于RTSP,可以通過(guò)類似的方式改進(jìn)為支持內(nèi)容快取。
RTMP/RTMPS協(xié)議: RTMP(Real Time Messaging Protocol), 實(shí)時(shí)消息傳送協(xié)議是Adobe Systems公司為Flash播放器和服務(wù)器之間音頻、視頻和數(shù)據(jù)傳輸 開(kāi)發(fā)的開(kāi)放協(xié)議。RTMP本質(zhì)上是封裝在應(yīng)用層的會(huì)話協(xié)議,他的實(shí)現(xiàn)與具體的封包和來(lái)源無(wú)關(guān)透明,所以中途節(jié)點(diǎn)很容易偽裝RTMP的數(shù)據(jù)流,在內(nèi)容緩存協(xié)議上很容易實(shí)現(xiàn)RTMP會(huì)話的截獲和內(nèi)容的快取。
有益效果
SADCN技術(shù)同本地鏡像服務(wù)和傳統(tǒng)CDN技術(shù)縮短網(wǎng)絡(luò)延遲的優(yōu)化方法的對(duì)比,對(duì)于靜態(tài)內(nèi)容數(shù)據(jù)的訪問(wèn),SADCN技術(shù)同樣能實(shí)現(xiàn)降低網(wǎng)絡(luò)延遲,節(jié)省傳輸帶寬。區(qū)別于服務(wù)器鏡像和CDN加速技術(shù)的是,該技術(shù)是面向多數(shù)據(jù)源自適應(yīng)共享緩存而不是獨(dú)占節(jié)點(diǎn)服務(wù)器資源,加速節(jié)點(diǎn)本身是通信數(shù)據(jù)流經(jīng)的中間環(huán)節(jié),所以沒(méi)有額外的帶寬和流量成本,沒(méi)有數(shù)據(jù)定時(shí)同步的過(guò)程和數(shù)據(jù)同步帶來(lái)的主干網(wǎng)絡(luò)擁堵。來(lái)源于所有授權(quán)服務(wù)器的靜態(tài)內(nèi)容數(shù)據(jù)共享的利用支持內(nèi)容緩存協(xié)義的鏈路設(shè)備的緩存設(shè)備硬件資源,SADCN對(duì)內(nèi)容緩存快取的中間鏈路環(huán)節(jié)設(shè)備的計(jì)算能力沒(méi)有太大的要求(只需要設(shè)備有快速訪問(wèn)存儲(chǔ)的能力和多數(shù)鏈路設(shè)備本身都具有的判決抓包能力),并且共享資源是自適應(yīng)的按區(qū)域客戶訪問(wèn)的實(shí)時(shí)需求來(lái)分配的,由于采取了按優(yōu)先級(jí)緩存內(nèi)容數(shù)據(jù),和按緩存時(shí)限保留內(nèi)容數(shù)據(jù),以及內(nèi)容數(shù)據(jù)命中客戶上行訪問(wèn)后的數(shù)據(jù)包緩存時(shí)限續(xù)租機(jī)制,和對(duì)客戶訪問(wèn)的就近內(nèi)容快取機(jī)制,本方案能自適應(yīng)的均衡數(shù)據(jù)鏈路中不同靜態(tài)內(nèi)容數(shù)據(jù)包下載的負(fù)荷,將內(nèi)容數(shù)據(jù)緩存設(shè)備空間分配給更為緊迫和頻繁的靜態(tài)內(nèi)容數(shù)據(jù)訪問(wèn)任務(wù),讓網(wǎng)絡(luò)自適應(yīng)加速繁忙和集中的內(nèi)容訪問(wèn)。同服務(wù)器鏡像和傳統(tǒng)CDN技術(shù)相比,本技術(shù)整體上更節(jié)省硬件資源和整體成本。在鏈路設(shè)備資源的分配上更為智慧。而日常通信成本低廉,適合于無(wú)法負(fù)擔(dān)CDN高昂通信成本的中小企業(yè)。同時(shí)介于SADCN的共享自適應(yīng)特點(diǎn),該技術(shù)在同等的成本投入下能滿足更多客戶端接入和更多Web服務(wù)商網(wǎng)絡(luò)服務(wù)對(duì)基礎(chǔ)設(shè)施的性能需求。
SADCN同傳統(tǒng)CDN的比較見(jiàn)說(shuō)明書(shū)附圖5,說(shuō)明書(shū)附圖6,說(shuō)明書(shū)附圖7:
SADCN技術(shù)能有效地避免靜態(tài)內(nèi)容數(shù)據(jù)在的數(shù)據(jù)鏈路中重復(fù)傳輸,節(jié)省客戶端到服務(wù)端通信鏈路的帶寬浪費(fèi),而對(duì)動(dòng)態(tài)內(nèi)容數(shù)據(jù)SADCN仍然保持透明,不影響原有的通信方式。
在SADCN技術(shù)加速的網(wǎng)絡(luò)中客戶訪問(wèn)靜態(tài)內(nèi)容數(shù)據(jù)時(shí),如果客戶命中通信鏈路中間節(jié)點(diǎn)緩存的內(nèi)容數(shù)據(jù), 客戶訪問(wèn)請(qǐng)求不需要繼續(xù)向上級(jí)鏈路發(fā)送而直接由該鏈路節(jié)點(diǎn)截獲回傳,減少了通信鏈路的長(zhǎng)度和環(huán)節(jié)數(shù)量,從而可以明顯的減少網(wǎng)絡(luò)延遲。
SADCN技術(shù)是一種多級(jí)自適應(yīng)緩存應(yīng)答的方案,通過(guò)該技術(shù)到數(shù)據(jù)源站服務(wù)器的密集訪問(wèn)將明顯被鏈路中間節(jié)點(diǎn)分擔(dān),可以極大地降低服務(wù)器的負(fù)荷。同時(shí)可以有效增強(qiáng)靜態(tài)數(shù)據(jù)服務(wù)器避免遭受DOS/DDOS黑客攻擊的能力。
本案為通信企業(yè)提供了一種新的通信服務(wù)盈利渠道,通信服務(wù)商根據(jù)本案對(duì)鏈路設(shè)備的改造,可以將鏈路設(shè)備的靜態(tài)數(shù)據(jù)緩存配額和優(yōu)先級(jí)包裝成一種新型通信服務(wù),租用給視頻網(wǎng)站,文件網(wǎng)站等互聯(lián)網(wǎng)服務(wù)企業(yè),由于數(shù)據(jù)緩存的動(dòng)態(tài)自適應(yīng)分配租用數(shù)據(jù)緩存服務(wù)配額,整體比互聯(lián)網(wǎng)業(yè)搭建區(qū)域鏡像服務(wù)器和使用CDN網(wǎng)絡(luò)加速所耗費(fèi)的成本更少更經(jīng)濟(jì),卻能達(dá)到超越搭建區(qū)域鏡像服務(wù)和租用CDN網(wǎng)絡(luò)加速節(jié)點(diǎn)的效果。
由于多媒體服務(wù)的升級(jí)換代,4K和3D影視會(huì)越來(lái)越受用戶青睞,多媒體數(shù)據(jù)的傳輸需求將變的越來(lái)越龐大,按目前服務(wù)器的帶寬能力,少量用戶的4K點(diǎn)播需求就可以讓一臺(tái)服務(wù)器的扇出帶寬達(dá)到滿負(fù)載,用節(jié)點(diǎn)服務(wù)器的方式承載4k和3D視頻業(yè)務(wù)將變得不經(jīng)濟(jì)。DCN-SCDN技術(shù)利用鏈路節(jié)點(diǎn)的快取緩存能力,為網(wǎng)絡(luò)對(duì)大量用戶傳輸4K視頻等大數(shù)據(jù)量多媒體,提供了低成本的可行的解決方案。
附圖說(shuō)明
圖1是傳統(tǒng)網(wǎng)絡(luò)拓?fù)涫疽鈭D;
圖2是共享自適應(yīng)內(nèi)容數(shù)據(jù)鏈路快取緩存網(wǎng)絡(luò)技術(shù)通信過(guò)程圖;
圖3是支持內(nèi)容快取緩存協(xié)議的新型數(shù)據(jù)鏈路設(shè)備的工作流程圖;
圖4是支持內(nèi)容快取緩存新型網(wǎng)絡(luò)的拓?fù)涫疽鈭D;
圖5是SADCN同傳統(tǒng)CDN的對(duì)比表1圖;
圖6是SADCN同傳統(tǒng)CDN的對(duì)比表2圖;
圖7是SADCN同傳統(tǒng)CDN的對(duì)比表3圖。