一種基于軟件定義網(wǎng)絡(luò)實現(xiàn)內(nèi)容分發(fā)網(wǎng)絡(luò)的方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本申請涉及內(nèi)容分發(fā)技術(shù),尤指一種緊耦合模式下的基于軟件定義網(wǎng)絡(luò)(SDN)實現(xiàn)內(nèi)容分發(fā)網(wǎng)絡(luò)(CDN)的方法及系統(tǒng)。
【背景技術(shù)】
[0002]SDN是近年來所涌現(xiàn)出的新的網(wǎng)絡(luò)技術(shù),其主要特點是控制和轉(zhuǎn)發(fā)分離、網(wǎng)絡(luò)開放可編程以及軟件和硬件分離。SDN使傳統(tǒng)通信網(wǎng)絡(luò)設(shè)備得以從專屬硬件綁定中解放出來、向基于通用硬件平臺加定制軟件的方向來發(fā)展,并通過開放的編程接口來實現(xiàn)網(wǎng)絡(luò)功能虛擬化、網(wǎng)絡(luò)管理簡單化以及網(wǎng)絡(luò)部署自動化,從而相比傳統(tǒng)網(wǎng)絡(luò)功能實現(xiàn)和工程實施大大節(jié)省設(shè)備成本、人力成本以及部署時間。按架構(gòu)層次劃分,SDN自頂向下基本上分成三個層次:應(yīng)用層、控制層以及數(shù)據(jù)層。
[0003]目前,業(yè)界對于控制層以及數(shù)據(jù)層正在或者已經(jīng)進(jìn)行了大量的標(biāo)準(zhǔn)化工作,但對于應(yīng)用層及其內(nèi)部的構(gòu)成,特別是如何對應(yīng)用進(jìn)行集成、管理、控制以及與其他現(xiàn)有應(yīng)用結(jié)合以及融合等討論較少,相對進(jìn)展也比較緩慢。這將導(dǎo)致SDN在易用性、開放性、可編程性、可管理性、可運營性以及對現(xiàn)有應(yīng)用的兼容、互通等方面能力的缺失,不利于SDN產(chǎn)業(yè)的健康發(fā)展,特別是在如何快速建立SDN開發(fā)者社區(qū)并吸引大量的SDN應(yīng)用開發(fā)者集中到熱點應(yīng)用問題的解決、以及將現(xiàn)有網(wǎng)絡(luò)中的主要應(yīng)用向SDN技術(shù)遷移等方面,存在先天的障礙。
[0004]無論是開放網(wǎng)絡(luò)基金會(ONF, Open Networking Foundat1n)標(biāo)準(zhǔn)組織還是ODL(Open Daylight, SDN控制器開源組織),目前所定義的SDN的應(yīng)用層主要被定位為提供網(wǎng)絡(luò)應(yīng)用以及網(wǎng)絡(luò)業(yè)務(wù)編排等高度抽象功能,SDN應(yīng)用層可根據(jù)用戶應(yīng)用請求來進(jìn)行網(wǎng)絡(luò)資源申請和業(yè)務(wù)編排一SDN應(yīng)用層向上與外部用戶通過表述性狀態(tài)轉(zhuǎn)移(REST,Representat1nal State Transfer)方式提供應(yīng)用程序編程接口(API, Applicat1nProgramming Interface)調(diào)用(北極接口),為外部客戶實現(xiàn)定制化的應(yīng)用功能,以實現(xiàn)虛擬化的網(wǎng)絡(luò)應(yīng)用功能;SDN應(yīng)用層向下與SDN控制器通過REST方式提供網(wǎng)絡(luò)API接口調(diào)用(北向接口),向SDN控制層進(jìn)行資源申請,以實現(xiàn)虛擬化的網(wǎng)絡(luò)業(yè)務(wù)功能。
[0005]從SDN應(yīng)用層的角度來看,當(dāng)前就其相關(guān)的技術(shù)研討以及標(biāo)準(zhǔn)化工作大部分也均聚焦在SDN應(yīng)用層與SDN控制層之間的北向接口方面。而在SDN的實際應(yīng)用中,SDN對外提供的服務(wù)主要則是通過SDN應(yīng)用層與其外部上層應(yīng)用的接口(即北極接口,也稱應(yīng)用接口 )以及SDN應(yīng)用層內(nèi)部的編排功能來實現(xiàn)的。與北極接口相關(guān)的功能需求以及與編排本身相關(guān)的功能需求尚沒有被充分發(fā)掘出來,而與北極接口相關(guān)的上層業(yè)務(wù)以及使用北向接口的L4-L7業(yè)務(wù)或者未被討論,或者仍處于早期的研討中(如業(yè)務(wù)鏈應(yīng)用);特別是對于如何將現(xiàn)有網(wǎng)絡(luò)業(yè)務(wù)基于SDN進(jìn)行構(gòu)建,尚沒有開始進(jìn)行研討,這些也在一定程度上阻礙了 SDN應(yīng)用對其他現(xiàn)有應(yīng)用的集成以及進(jìn)而影響SDN應(yīng)用以及SDN自身的發(fā)展。
[0006]更進(jìn)一步地,對于業(yè)界已有應(yīng)用(比如⑶Ν、0ΤΤ、各種視頻媒體等業(yè)務(wù))如何充分借助SDN的架構(gòu),通過開放網(wǎng)絡(luò)編程接口,更好地使用底層承載網(wǎng)絡(luò)所提供的高效、高性能以及高性價比的虛擬網(wǎng)絡(luò)功能來實現(xiàn)滿足終端客戶不斷日益增長的對于服務(wù)質(zhì)量的需求以及整體運維成本不斷下降的需求,目前尚處于非常早期的初始討論階段,也沒有明確的解決方案,而這也將制約現(xiàn)有業(yè)務(wù)向SDN的遷移步伐。
[0007]相對于SDN而言,⑶N是一項比較成熟的技術(shù),被用來為互聯(lián)網(wǎng)或電信專用網(wǎng)絡(luò)提供網(wǎng)頁和視頻等媒體內(nèi)容的分發(fā)和加速,其主要特點是將媒體內(nèi)容進(jìn)行多級緩存并為用戶提供就近服務(wù),從而為用戶提供較好的體驗質(zhì)量。
[0008]⑶N的功能主要包括內(nèi)容分發(fā)(Content Distribut1n)和內(nèi)容交付(ContentDelivery,也稱媒體交付)兩個部分,基本功能包括內(nèi)容分發(fā)/交付、調(diào)度/控制、存儲/緩存以及媒體服務(wù)等。目前,在ITU-T、ETS1、3GPP、IETF等國際標(biāo)準(zhǔn)組織以及CCSA等行業(yè)標(biāo)準(zhǔn)組織都有CDN的相關(guān)定義和標(biāo)準(zhǔn)規(guī)范,用來承載IP網(wǎng)絡(luò)協(xié)議電視(IPTV)、有線網(wǎng)絡(luò)電視(CATV)、互聯(lián)網(wǎng)電視(OTTTV)以及移動流媒體等業(yè)務(wù)?,F(xiàn)有的⑶N解決方案,因底層承載網(wǎng)絡(luò)不開放所限,作為業(yè)務(wù)網(wǎng)絡(luò)的CDN必須作為一個疊加層,并依附于底層承載網(wǎng)絡(luò)的能力而存在;同時,CDN解決方案所需要的服務(wù)器、存儲/緩存以及媒體服務(wù)器均使用專屬的硬件(比如刀片服務(wù)器/ATCA架構(gòu)服務(wù)器等),對于硬件架構(gòu)的依賴度非常之高,且沒有通用性;此外,CDN因為其所涉及的網(wǎng)絡(luò)性能需求較高(如網(wǎng)絡(luò)帶寬、時延、抖動等),對網(wǎng)絡(luò)的擴(kuò)容以及由此而來的地址規(guī)劃、設(shè)備配置、節(jié)點部署、業(yè)務(wù)開通、軟件升級等管理方面都帶來了巨大的復(fù)雜性——比如,隨著IPTV、CATV, 0ΤΤ、移動流媒體等業(yè)務(wù)的快速發(fā)展,⑶N正逐步與業(yè)務(wù)解耦而成為用于融合承載多種業(yè)務(wù)的內(nèi)容傳輸?shù)墓艿溃瑥亩鴮?dǎo)致CDN部署節(jié)點越來越多,網(wǎng)絡(luò)規(guī)模也越來越大,對CDN內(nèi)容路由的管理也越來越復(fù)雜,對多服務(wù)提供商/內(nèi)容提供商(CP/SP)的管理與服務(wù)配置也越來越困難。
[0009]針對目前CDN相關(guān)技術(shù)方案中存在的以上問題并結(jié)合CDN的技術(shù)發(fā)展趨勢,討論⑶N與SDN的融合以及如何引入SDN技術(shù)到⑶N解決方案中來并能夠行之有效地解決⑶N所面臨的承載網(wǎng)絡(luò)的封閉性、硬件的專屬性、管理的復(fù)雜性等方面的問題,進(jìn)而提升CDN的開放性、性價比以及易用性,并進(jìn)而降低⑶N的總體運維成本,成為當(dāng)務(wù)之急。
【發(fā)明內(nèi)容】
[0010]為了解決上述問題,本發(fā)明提供一種基于SDN實現(xiàn)CDN的方法及系統(tǒng),能夠有效的解決CDN所面臨的承載網(wǎng)絡(luò)的封閉性、硬件的專屬性、管理的復(fù)雜性的問題。
[0011]為了達(dá)到本發(fā)明的目的,本申請?zhí)峁┮环N基于SDN實現(xiàn)⑶N的方法;包括:
[0012]在SDN應(yīng)用層添加CDN的應(yīng)用功能;在SDN控制層添加CDN的控制功能;在SDN的數(shù)據(jù)轉(zhuǎn)發(fā)層添加⑶N的網(wǎng)絡(luò)實體資源;包括:
[0013]當(dāng)接收到⑶N應(yīng)用申請時,SDN應(yīng)用層根據(jù)⑶N應(yīng)用申請生成資源需求和業(yè)務(wù)編排信息;根據(jù)生成的資源需求和業(yè)務(wù)編排信息向SDN控制層發(fā)送CDN應(yīng)用所需資源的預(yù)留申請;
[0014]根據(jù)預(yù)留申請,SDN控制層分配CDN應(yīng)用所需資源,并結(jié)合網(wǎng)絡(luò)負(fù)載均衡和路徑策略,生成進(jìn)行數(shù)據(jù)傳輸?shù)膬?nèi)容路由表;根據(jù)內(nèi)容路由表生成數(shù)據(jù)鏈路層/網(wǎng)絡(luò)層L2/L3轉(zhuǎn)發(fā)表,發(fā)送到SDN數(shù)據(jù)轉(zhuǎn)發(fā)層;
[0015]SDN數(shù)據(jù)轉(zhuǎn)發(fā)層接收到內(nèi)容分發(fā)操作請求和內(nèi)容交付操作請求時,根據(jù)L2/L3轉(zhuǎn)發(fā)表,從CDN的網(wǎng)絡(luò)實體資源調(diào)用相關(guān)內(nèi)容執(zhí)行CDN業(yè)務(wù)的相關(guān)操作。
[0016]進(jìn)一步地,SDN控制層分配⑶N應(yīng)用所需資源,并結(jié)合網(wǎng)絡(luò)負(fù)載均衡和路徑策略,生成進(jìn)行數(shù)據(jù)傳輸?shù)膬?nèi)容路由表,具體包括:
[0017]SDN控制層分配⑶N應(yīng)用所需資源,
[0018]內(nèi)容分發(fā)階段的進(jìn)行數(shù)據(jù)傳輸?shù)膬?nèi)容路由表,由網(wǎng)絡(luò)負(fù)載均衡結(jié)合內(nèi)容分發(fā)的路徑策略生成;
[0019]內(nèi)容交付階段的進(jìn)行數(shù)據(jù)傳輸?shù)膬?nèi)容路由表,由網(wǎng)絡(luò)負(fù)載均衡結(jié)合內(nèi)容交付的路徑策略生成。
[0020]進(jìn)一步地,SDN數(shù)據(jù)轉(zhuǎn)發(fā)層從⑶N的網(wǎng)絡(luò)實體資源調(diào)用相關(guān)內(nèi)容執(zhí)行⑶N業(yè)務(wù)的相關(guān)操作具體包括:
[0021 ] SDN數(shù)據(jù)轉(zhuǎn)發(fā)層從⑶N的網(wǎng)絡(luò)實體資源調(diào)用相關(guān)內(nèi)容執(zhí)行⑶N業(yè)務(wù)的內(nèi)容分發(fā)、內(nèi)容緩存、內(nèi)容交付的操作;
[0022]執(zhí)行CDN業(yè)務(wù)的內(nèi)容分發(fā)為:接收到內(nèi)容分發(fā)請求,根據(jù)內(nèi)容分發(fā)請求,按照預(yù)先設(shè)定的分發(fā)策略將存儲在內(nèi)容存儲節(jié)點中的內(nèi)容提取后注入到CDN網(wǎng)絡(luò)的內(nèi)容分發(fā)節(jié)點;
[0023]執(zhí)行CDN業(yè)務(wù)的內(nèi)容緩存為:接收所述內(nèi)容分發(fā)節(jié)點的內(nèi)容進(jìn)行緩存;根據(jù)緩存策略,將用戶終端訪問過的內(nèi)容預(yù)先緩存在CDN網(wǎng)絡(luò)的內(nèi)容緩存節(jié)點中,以快速地提供熱點內(nèi)容給鄰近的內(nèi)容交付節(jié)點和用戶終端使用;
[0024]執(zhí)行CDN業(yè)務(wù)的內(nèi)容交付為:根據(jù)內(nèi)容交付請求,將內(nèi)容緩存節(jié)點中的內(nèi)容提取出來提供給CDN網(wǎng)絡(luò)的內(nèi)容交付節(jié)點進(jìn)行內(nèi)容流化,并傳輸給用戶終端。
[0025]進(jìn)一步地,接收到⑶N應(yīng)用申請時,該方法還包括:SDN應(yīng)用層通過⑶N應(yīng)用申請進(jìn)行注冊,獲取所需引擎支持信息;
[0026]根據(jù)所需引擎支持信息調(diào)度所需引擎,以支持CDN應(yīng)用申請。
[0027]進(jìn)一步地,該方法還包括:
[0028]SDN應(yīng)用層在接收到內(nèi)容分發(fā)請求時,根據(jù)預(yù)先設(shè)定的內(nèi)容分發(fā)策略來確定所要提取的內(nèi)容的內(nèi)容存儲節(jié)點,并確定具體所要注入的內(nèi)容分發(fā)節(jié)點及執(zhí)行所述內(nèi)容分發(fā)請求所需的資源需求;根據(jù)緩存策略確定所要注入的內(nèi)容緩存節(jié)點及執(zhí)行所述內(nèi)容分發(fā)請求所需的資源需求;
[0029]SDN應(yīng)用層在接收到內(nèi)容交付請求時,確定具體所要提取內(nèi)容的內(nèi)容緩存節(jié)點及執(zhí)行該內(nèi)容交付請求所需的資源需求;確定所要提供媒體服務(wù)的內(nèi)容交付節(jié)點及執(zhí)行該內(nèi)容交付請求所需的資源需求。
[0030]進(jìn)一步地,在支持業(yè)務(wù)鏈功能下,該方法還包括:SDN應(yīng)用層根據(jù)業(yè)務(wù)鏈中所定義的訪問信息,確定并執(zhí)行對所述分配的CDN應(yīng)用所需資源和所述調(diào)度所需引擎的訪問順序并執(zhí)行相關(guān)操作。
[0031]進(jìn)一步地,該方法還包括:SDN應(yīng)用層對⑶N應(yīng)用申請所分配的⑶N應(yīng)用所需資源和調(diào)度的所述所需引擎進(jìn)行計費。
[0032]進(jìn)一步地,該方法還包括:SDN控制層通過網(wǎng)絡(luò)負(fù)載均衡、業(yè)務(wù)負(fù)載均衡和內(nèi)容負(fù)載均衡確定內(nèi)容分發(fā)和內(nèi)容交付的負(fù)載均衡;具體包括:
[0033]根據(jù)內(nèi)容交付節(jié)點的業(yè)務(wù)負(fù)載均衡,確定為用戶終端提供媒體服務(wù)的內(nèi)容交付節(jié)點的服務(wù)器節(jié)點;
[0034]根據(jù)內(nèi)容負(fù)載均衡確定內(nèi)容緩存節(jié)點;
[0035]根據(jù)內(nèi)容分發(fā)/內(nèi)容交付過程