本發(fā)明屬于計算機(jī)網(wǎng)絡(luò)架構(gòu)領(lǐng)域,涉及一種將軟件定義網(wǎng)絡(luò)集中控制的優(yōu)勢和信息中心網(wǎng)絡(luò)的加快內(nèi)容分發(fā)的優(yōu)勢相結(jié)合的集中控制可編程的信息中心網(wǎng)絡(luò)(Centralized Control Programmable Information Centric Network,CPICN)設(shè)計方法。
背景技術(shù):
隨著社交網(wǎng)絡(luò)、云存儲、視頻網(wǎng)站和數(shù)據(jù)類應(yīng)用等的流行,使得網(wǎng)絡(luò)呈現(xiàn)出以內(nèi)容為中心的發(fā)展趨勢。根據(jù)思科虛擬網(wǎng)絡(luò)指數(shù)的預(yù)測,到2018年各種形式的多媒體流量會達(dá)到網(wǎng)絡(luò)流量的90%,網(wǎng)絡(luò)的使用已經(jīng)嚴(yán)重偏離了現(xiàn)有網(wǎng)絡(luò)設(shè)計原則和設(shè)想,因此,現(xiàn)有網(wǎng)絡(luò)在安全性、移動性、可靠性、可用性、可擴(kuò)展性等方面面臨著極大的挑戰(zhàn)。
信息中心網(wǎng)絡(luò)(Information Centric Network,ICN)是一種能夠滿足用戶信息傳遞需求的新型體系架構(gòu),信息中心網(wǎng)絡(luò)采用以信息為中心的通信方式。用戶不再關(guān)注信息的位置,而只關(guān)注信息本身,提高了內(nèi)容獲取的傳輸效率和網(wǎng)絡(luò)內(nèi)容資源的利用率。研究界在最近幾年來在信息中心網(wǎng)絡(luò)實(shí)現(xiàn)方面取得了很多成果,如信息命名、路由、數(shù)據(jù)轉(zhuǎn)發(fā)、數(shù)據(jù)緩存等等。但是ICN仍然存在很多問題,例如由于ICN與現(xiàn)有網(wǎng)絡(luò)很難兼容導(dǎo)致ICN發(fā)展緩慢,ICN的分布式網(wǎng)絡(luò)布局導(dǎo)致網(wǎng)絡(luò)設(shè)備利用率較低等等。
軟件定義網(wǎng)絡(luò)(Software Defined Network,SDN)是一種當(dāng)下熱門的網(wǎng)絡(luò)架構(gòu),在軟件定義網(wǎng)絡(luò)中將網(wǎng)絡(luò)控制和數(shù)據(jù)轉(zhuǎn)發(fā)進(jìn)行解耦,數(shù)據(jù)層由網(wǎng)絡(luò)基礎(chǔ)設(shè)備組成,僅提供簡單的數(shù)據(jù)轉(zhuǎn)發(fā)功能,可以快速處理匹配的數(shù)據(jù)包;控制層具有邏輯中心化和可編程的控制器,掌握全局網(wǎng)絡(luò)信息,因此軟件定義網(wǎng)絡(luò)有動態(tài)管理和編程控制網(wǎng)絡(luò)的能力。
ICN網(wǎng)絡(luò)的提出顛覆了傳統(tǒng)網(wǎng)絡(luò)以位置為中心的網(wǎng)絡(luò)架構(gòu),人們不再關(guān)心內(nèi)容位置,而關(guān)心內(nèi)容本身,只需要通過內(nèi)容名字就可以獲取內(nèi)容。ICN加速了內(nèi)容的分發(fā),提高了網(wǎng)絡(luò)資源的利用率。SDN將數(shù)據(jù)平面和控制平面解耦合,降低了只具有數(shù)據(jù)平面的交換機(jī)的制造成本,在控制平面具有可編程和邏輯中心化的控制器,對網(wǎng)絡(luò)具有強(qiáng)大的控制能力和動態(tài)管理的能力,不僅減少了網(wǎng)絡(luò)維護(hù)人員的工作量,而且極大提高了網(wǎng)絡(luò)設(shè)備的利用率。因此,如果可以將SDN的網(wǎng)絡(luò)框架引入ICN中,不僅可以加速內(nèi)容的分發(fā),而且有望提高網(wǎng)絡(luò)資源的利用率。已有文獻(xiàn)中,通過在SDN中實(shí)現(xiàn)信息中心網(wǎng)絡(luò)的功能,提出了改進(jìn)的軟件定義網(wǎng)絡(luò),但是,該軟件定義網(wǎng)絡(luò)只是從Openflow協(xié)議和Openflow交換機(jī)兩個方面進(jìn)行了改進(jìn),對Openflow交換機(jī)進(jìn)行改進(jìn),能夠?qū)ψ址侄芜M(jìn)行解析和匹配,從而能夠?qū)σ悦譃闃?biāo)識的興趣包和數(shù)據(jù)包進(jìn)行匹配和轉(zhuǎn)發(fā)。同時對Openflow協(xié)議進(jìn)行擴(kuò)展,使其能夠完成與內(nèi)容傳送相關(guān)的操作。其具有以下缺點(diǎn):不能夠發(fā)揮信息中心網(wǎng)絡(luò)的所有的優(yōu)勢,信息中心網(wǎng)絡(luò)路由器是針對以內(nèi)容為中心的目標(biāo)設(shè)計實(shí)現(xiàn)的,而Openflow交換機(jī)以位置為中心設(shè)計實(shí)現(xiàn);不能實(shí)現(xiàn)信息中心網(wǎng)絡(luò)數(shù)據(jù)平面和控制平面的徹底的解耦合,以上方案只是站在軟件定義網(wǎng)絡(luò)的角度實(shí)現(xiàn)信息中心網(wǎng)絡(luò)的功能,不能完全實(shí)現(xiàn)將信息中心網(wǎng)絡(luò)的控制平面的獨(dú)立。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種集中控制可編程的信息中心網(wǎng)絡(luò)設(shè)計方法。
為達(dá)到上述目的,本發(fā)明采用了以下技術(shù)方案:
將信息中心網(wǎng)絡(luò)的控制平面和數(shù)據(jù)平面解耦合,控制平面和數(shù)據(jù)平面通過開放的接口實(shí)現(xiàn)連接;數(shù)據(jù)平面由網(wǎng)絡(luò)設(shè)備組成,所述網(wǎng)絡(luò)設(shè)備包括用于實(shí)現(xiàn)信息中心網(wǎng)絡(luò)數(shù)據(jù)平面功能的可控制的信息中心網(wǎng)絡(luò)交換機(jī),數(shù)據(jù)平面負(fù)責(zé)識別和轉(zhuǎn)發(fā)數(shù)據(jù)流,數(shù)據(jù)信息的監(jiān)測和統(tǒng)計以及網(wǎng)內(nèi)緩存;控制平面由具有可編程和邏輯中心化的控制器組成,控制器具有信息中心網(wǎng)絡(luò)中的控制平面的功能,實(shí)現(xiàn)對內(nèi)容的命名、路由、數(shù)據(jù)安全以及緩存管理。
所述集中控制可編程的信息中心網(wǎng)絡(luò)的設(shè)計中,網(wǎng)絡(luò)架構(gòu)包括三層:應(yīng)用層、控制層、數(shù)據(jù)層;最上層是應(yīng)用層,具有用戶應(yīng)用或者軟件;數(shù)據(jù)層由底層網(wǎng)絡(luò)設(shè)備組成,數(shù)據(jù)層實(shí)現(xiàn)了信息中心網(wǎng)絡(luò)的數(shù)據(jù)平面的功能:識別和轉(zhuǎn)發(fā)數(shù)據(jù)流、數(shù)據(jù)信息的監(jiān)測和統(tǒng)計以及網(wǎng)內(nèi)緩存;控制層由控制器組成,控制層實(shí)現(xiàn)了信息中心網(wǎng)絡(luò)的控制平面的功能:數(shù)據(jù)平面的管理、數(shù)據(jù)轉(zhuǎn)發(fā)策略的制定以及緩存的管理;所述集中控制可編程的信息中心網(wǎng)絡(luò)的網(wǎng)絡(luò)架構(gòu)中包括三種開放的接口:位于控制層和數(shù)據(jù)層的數(shù)據(jù)面接口,位于應(yīng)用層和控制器之間的應(yīng)用面接口以及位于控制器之間的橫向接口。
所述數(shù)據(jù)層中的可控制的信息中心網(wǎng)絡(luò)交換機(jī)包括三個數(shù)據(jù)結(jié)構(gòu):可控制待定請求表、可控制前向轉(zhuǎn)發(fā)表、可控制內(nèi)容存儲器;所述可控制的信息中心網(wǎng)絡(luò)交換機(jī)根據(jù)三個數(shù)據(jù)結(jié)構(gòu)對數(shù)據(jù)進(jìn)行轉(zhuǎn)發(fā)、按照控制器的控制消息維護(hù)三個數(shù)據(jù)結(jié)構(gòu)、監(jiān)測和統(tǒng)計轉(zhuǎn)發(fā)數(shù)據(jù)和自身狀態(tài)的信息以及與控制器進(jìn)行信息的交互。
所述可控制待定請求表記錄興趣包的入口,數(shù)據(jù)包按照可控制待定請求表記錄的興趣包入口逐級向內(nèi)容請求者轉(zhuǎn)發(fā),可控制待定請求表是在興趣包轉(zhuǎn)發(fā)過程中由可控制的信息中心網(wǎng)絡(luò)交換機(jī)填寫完成的,控制器仍可通過控制消息對可控制待定請求表進(jìn)行維護(hù);可控制前向轉(zhuǎn)發(fā)表是內(nèi)容的路由表,可控制前向轉(zhuǎn)發(fā)表將興趣包轉(zhuǎn)發(fā)至內(nèi)容的位置,可控制前向轉(zhuǎn)發(fā)表的表項(xiàng)由控制器根據(jù)網(wǎng)絡(luò)拓?fù)湟约皟?nèi)容名進(jìn)行路由后形成,并且通過控制消息下發(fā)給可控制的信息中心網(wǎng)絡(luò)交換機(jī),可控制的信息中心網(wǎng)絡(luò)交換機(jī)收到興趣包后,若可控制內(nèi)容存儲器、可控制待定請求表、可控制前向轉(zhuǎn)發(fā)表中都沒有請求內(nèi)容名的相關(guān)表項(xiàng),則將興趣包傳遞給控制器,控制器收到興趣包后則根據(jù)內(nèi)容名字段進(jìn)行路由,并將路由信息通過控制消息下發(fā)給路由路徑上的可控制的信息中心網(wǎng)絡(luò)交換機(jī);可控制內(nèi)容存儲器具有IP路由器的緩存,在通信結(jié)束后保留可控制內(nèi)容存儲器數(shù)據(jù)包的內(nèi)容供下次請求使用,可控制的信息中心網(wǎng)絡(luò)交換機(jī)只需要根據(jù)控制器的控制消息對可控制內(nèi)容存儲器進(jìn)行操作,控制器收到要緩存的數(shù)據(jù)包后,根據(jù)緩存策略對數(shù)據(jù)包存在哪個節(jié)點(diǎn)進(jìn)行決策,以及控制器周期性的進(jìn)行緩存冗余消除時,對數(shù)據(jù)層的網(wǎng)內(nèi)緩存進(jìn)行管理,由此生成可控制內(nèi)容存儲器要填充的內(nèi)容。
所述可控制的信息中心網(wǎng)絡(luò)交換機(jī)根據(jù)可控制內(nèi)容存儲器、可控制待定請求表、可控制前向轉(zhuǎn)發(fā)表對興趣包進(jìn)行轉(zhuǎn)發(fā);當(dāng)可控制的信息中心網(wǎng)絡(luò)交換機(jī)接收到興趣包后會根據(jù)包內(nèi)的內(nèi)容名字段在可控制內(nèi)容存儲器中搜索該內(nèi)容,若有該內(nèi)容則直接回復(fù),若沒有該內(nèi)容,則在可控制待定請求表中搜索,若在可控制待定請求表中有相關(guān)表項(xiàng),則只需在該表項(xiàng)后增加興趣包的入口,若可控制待定請求表中沒有相關(guān)表項(xiàng),則在可控制前向轉(zhuǎn)發(fā)表中搜索,若可控制前向轉(zhuǎn)發(fā)表中有相關(guān)表項(xiàng),直接轉(zhuǎn)發(fā)該興趣包,并且在可控制待定請求表中增加興趣包的表項(xiàng),若沒有則將興趣包傳遞給控制器,等待控制器的下發(fā)消息后,再根據(jù)可控制前向轉(zhuǎn)發(fā)表進(jìn)行轉(zhuǎn)發(fā)。
所述可控制的信息中心網(wǎng)絡(luò)交換機(jī)根據(jù)可控制待定請求表對數(shù)據(jù)包進(jìn)行轉(zhuǎn)發(fā),可控制的信息中心網(wǎng)絡(luò)交換機(jī)收到數(shù)據(jù)包后會根據(jù)數(shù)據(jù)包內(nèi)的內(nèi)容名字段在可控制待定請求表中搜索相關(guān)表項(xiàng),若有相關(guān)表項(xiàng)則依據(jù)表項(xiàng)中記錄的入口轉(zhuǎn)發(fā)數(shù)據(jù)包,若沒有則將數(shù)據(jù)包傳遞給控制器,控制器根據(jù)網(wǎng)絡(luò)拓?fù)湫畔⒑拖嚓P(guān)內(nèi)容路由信息形成回傳路徑信息,并通過控制消息改變回傳路徑上交換機(jī)上的可控制待定請求表的表項(xiàng),然后數(shù)據(jù)包根據(jù)改變后的待定請求表轉(zhuǎn)發(fā)。
所述數(shù)據(jù)包到達(dá)一個控制器控制下的第一個可控制的信息中心網(wǎng)絡(luò)交換機(jī)的時候,若數(shù)據(jù)包沒有被緩存過,則交換機(jī)將數(shù)據(jù)包復(fù)制一份并傳送給控制器,控制器根據(jù)緩存策略決定是否要緩存該數(shù)據(jù)包中的內(nèi)容,如果要緩存則決策要緩存在哪個緩存上,控制器將數(shù)據(jù)包發(fā)送給該緩存,同時下發(fā)消息讓所述第一個交換機(jī)轉(zhuǎn)發(fā)該數(shù)據(jù)包。
所述控制器中包括以下管理模塊:緩存管理模塊、路由管理模塊、命名模塊、網(wǎng)絡(luò)拓?fù)涔芾砟K;
所述緩存管理模塊在收集其他模塊的關(guān)于緩存信息的基礎(chǔ)上完成緩存管理:緩存替換管理、緩存決策管理、緩存冗余管理,所述緩存信息包括緩存拓?fù)湫畔?、要緩存的?nèi)容的信息;
所述命名模塊實(shí)現(xiàn)對內(nèi)容發(fā)布者發(fā)布的內(nèi)容統(tǒng)一命名;
所述路由管理模塊根據(jù)內(nèi)容名對內(nèi)容進(jìn)行路由,并實(shí)現(xiàn)對路由信息的管理;
所述網(wǎng)絡(luò)拓?fù)涔芾砟K實(shí)現(xiàn)交換機(jī)以及交換機(jī)之間鏈接的拓?fù)涞某橄螅约熬W(wǎng)絡(luò)中網(wǎng)內(nèi)緩存拓?fù)涞某橄蟆?/p>
所述應(yīng)用面接口是控制器向應(yīng)用層提供用于實(shí)現(xiàn)網(wǎng)絡(luò)服務(wù)的可編程接口,控制器掌握整個網(wǎng)絡(luò)拓?fù)?,因此?yīng)用層可以根據(jù)應(yīng)用面接口靈活編寫多種網(wǎng)絡(luò)應(yīng)用程序;所述橫向接口是控制器之間的連接接口,使得控制平面的控制器成為一個邏輯的整體,通過橫向接口,控制器之間交換所轄可控制的信息中心網(wǎng)絡(luò)交換機(jī)狀態(tài)的信息,由此每個控制器可以掌握網(wǎng)絡(luò)的全局信息;所述數(shù)據(jù)面接口使得數(shù)據(jù)平面的物理設(shè)備抽象化,控制器通過數(shù)據(jù)面接口只需了解到抽象化的網(wǎng)絡(luò)設(shè)備。
控制層與數(shù)據(jù)層之間由數(shù)據(jù)面接口實(shí)現(xiàn)的消息交互包括:控制層和數(shù)據(jù)層需要通過發(fā)送消息建立連接,并且通過消息的發(fā)送測試連接的狀態(tài);當(dāng)數(shù)據(jù)層中發(fā)生網(wǎng)絡(luò)事件的時候,需要向控制層發(fā)送事件消息,由控制層來進(jìn)行決策;當(dāng)可控制的信息中心網(wǎng)絡(luò)交換機(jī)狀態(tài)發(fā)生變化時需要向控制層發(fā)送交換機(jī)的狀態(tài)消息;控制層需要向數(shù)據(jù)層的可控制的信息中心網(wǎng)絡(luò)交換機(jī)發(fā)送控制消息修改數(shù)據(jù)的轉(zhuǎn)發(fā)規(guī)則,發(fā)送修改可控制的信息中心網(wǎng)絡(luò)交換機(jī)中的數(shù)據(jù)結(jié)構(gòu)的消息以及管理網(wǎng)內(nèi)緩存;數(shù)據(jù)層根據(jù)控制層的控制消息完成操作的時候,需要向控制層發(fā)送確認(rèn)消息;控制層在動態(tài)管理時實(shí)時的對數(shù)據(jù)層進(jìn)行的查詢操作;控制層發(fā)送查詢消息后數(shù)據(jù)層發(fā)送相應(yīng)的應(yīng)答消息。
本發(fā)明的有益效果體現(xiàn)在:
本發(fā)明在引入軟件定義網(wǎng)絡(luò)概念的基礎(chǔ)上,提出集中控制可編程的信息中心網(wǎng)絡(luò)設(shè)計方法。數(shù)據(jù)層由物理網(wǎng)絡(luò)設(shè)備組成,控制層具有邏輯中心化和可編程的控制器,能夠獲取數(shù)據(jù)層的緩存信息和其他全局的物理網(wǎng)絡(luò)信息,并依據(jù)這些信息進(jìn)行分析和決策,對網(wǎng)絡(luò)進(jìn)行智能化的管理。本發(fā)明設(shè)計得到的信息中心網(wǎng)絡(luò)實(shí)現(xiàn)了數(shù)據(jù)平面的抽象化和控制平面的可編程,網(wǎng)絡(luò)架構(gòu)具有全局可控、可編程、動態(tài)管理、易擴(kuò)展的優(yōu)勢,同時具有加速內(nèi)容分發(fā),減少網(wǎng)絡(luò)物理資源占用,提高網(wǎng)絡(luò)資源利用率的特點(diǎn)。
附圖說明
圖1是集中控制可編程的信息中心網(wǎng)絡(luò)實(shí)例示意圖;
圖2是可控制的信息中心網(wǎng)絡(luò)交換機(jī)結(jié)構(gòu)示意圖;
圖3是集中控制可編程的信息中心網(wǎng)絡(luò)結(jié)構(gòu)示意圖(含接口);
圖4是控制器結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面結(jié)合附圖和實(shí)施例對本發(fā)明進(jìn)行詳細(xì)的描述。
本發(fā)明提供一種集中控制可編程的信息中心網(wǎng)絡(luò)設(shè)計方法,該方法對現(xiàn)有的信息中心網(wǎng)絡(luò)進(jìn)行控制平面和數(shù)據(jù)平面的解耦合,可控制的信息中心網(wǎng)絡(luò)交換機(jī)只保留數(shù)據(jù)平面的功能,而控制平面的功能上移到具有可編程和邏輯中心化的控制器,控制器具有了信息中心網(wǎng)絡(luò)中的控制平面的功能,實(shí)現(xiàn)對內(nèi)容的路由、內(nèi)容命名、數(shù)據(jù)安全以及緩存管理。
1.網(wǎng)絡(luò)架構(gòu)設(shè)計
集中控制可編程的信息中心網(wǎng)絡(luò)的設(shè)計中,網(wǎng)絡(luò)架構(gòu)包括三層:應(yīng)用層、控制層、數(shù)據(jù)層。最上層是應(yīng)用層,包含了用戶應(yīng)用或者軟件;控制層為控制器,負(fù)責(zé)數(shù)據(jù)平面的管理以及數(shù)據(jù)轉(zhuǎn)發(fā)策略的制定以及緩存的管理;數(shù)據(jù)層為網(wǎng)絡(luò)設(shè)備,負(fù)責(zé)識別和轉(zhuǎn)發(fā)數(shù)據(jù)流,數(shù)據(jù)信息的監(jiān)測和統(tǒng)計以及與控制器信息的交互。
本發(fā)明所述基于集中控制可編程的信息中心網(wǎng)絡(luò)實(shí)例如圖1所示:控制層101由控制器103組成,控制層101實(shí)現(xiàn)了信息中心網(wǎng)絡(luò)中的控制平面的功能,具有邏輯中心化的特性,實(shí)時掌握數(shù)據(jù)層102的網(wǎng)絡(luò)視圖以及網(wǎng)絡(luò)物理設(shè)備的狀態(tài)信息,能夠動態(tài)管理和控制數(shù)據(jù)層102,并且由于具有可編程的特性,使得控制器103能夠?qū)?shù)據(jù)層102進(jìn)行靈活的管理,根據(jù)不同的網(wǎng)絡(luò)情況做出不同的動作。數(shù)據(jù)層102由網(wǎng)絡(luò)物理設(shè)備組成,如可控制的信息中心網(wǎng)絡(luò)交換機(jī)104、防火墻、網(wǎng)關(guān)、中繼器,可控制的信息中心網(wǎng)絡(luò)交換機(jī)數(shù)據(jù)層保留了信息中心網(wǎng)絡(luò)的數(shù)據(jù)平面的功能,將控制平面的功能上移到控制層101來實(shí)現(xiàn),數(shù)據(jù)層102根據(jù)控制層101下發(fā)的轉(zhuǎn)發(fā)規(guī)則對興趣包和數(shù)據(jù)包進(jìn)行轉(zhuǎn)發(fā),根據(jù)控制層101的緩存消息進(jìn)行網(wǎng)內(nèi)緩存,控制層101要實(shí)時的獲得可控制的信息中心網(wǎng)絡(luò)交換機(jī)104的狀態(tài)信息以及轉(zhuǎn)發(fā)數(shù)據(jù)的信息,因此數(shù)據(jù)層102的另一個任務(wù)是信息的統(tǒng)計。
2.網(wǎng)絡(luò)功能設(shè)計
2.1數(shù)據(jù)層的功能設(shè)計
數(shù)據(jù)層由底層的物理網(wǎng)絡(luò)設(shè)備組成,數(shù)據(jù)層實(shí)現(xiàn)了信息中心網(wǎng)絡(luò)的數(shù)據(jù)平面的功能:興趣包和數(shù)據(jù)包的解析和轉(zhuǎn)發(fā)、網(wǎng)內(nèi)緩存以及信息的監(jiān)測和統(tǒng)計。數(shù)據(jù)層將繁瑣的控制策略交由控制層負(fù)責(zé),數(shù)據(jù)層只需要根據(jù)控制層下發(fā)的轉(zhuǎn)發(fā)規(guī)則對數(shù)據(jù)進(jìn)行解析和轉(zhuǎn)發(fā)。數(shù)據(jù)層的另一個重要功能為網(wǎng)內(nèi)緩存,控制層負(fù)責(zé)緩存決策,數(shù)據(jù)層僅根據(jù)控制層下發(fā)的緩存控制消息對緩存進(jìn)行管理。控制層在決策過程中需要數(shù)據(jù)層的信息作為判斷依據(jù),需要數(shù)據(jù)層監(jiān)測和統(tǒng)計數(shù)據(jù)層的物理網(wǎng)絡(luò)設(shè)備的狀態(tài)信息以及轉(zhuǎn)發(fā)的數(shù)據(jù)信息,因此數(shù)據(jù)層的一個重要功能為信息的監(jiān)測和統(tǒng)計。
2.1.1數(shù)據(jù)層交換機(jī)的功能定義
數(shù)據(jù)層中的主要網(wǎng)絡(luò)設(shè)備是僅實(shí)現(xiàn)了信息中心網(wǎng)絡(luò)路由器數(shù)據(jù)平面的可控制的信息中心網(wǎng)絡(luò)交換機(jī),可控制的信息中心網(wǎng)絡(luò)交換機(jī)中有三個數(shù)據(jù)結(jié)構(gòu):可控制待定請求表、可控制前向轉(zhuǎn)發(fā)表、可控制內(nèi)容存儲器。可控制的信息中心網(wǎng)絡(luò)交換機(jī)的功能主要包括根據(jù)三個數(shù)據(jù)結(jié)構(gòu)對數(shù)據(jù)進(jìn)行轉(zhuǎn)發(fā)、按照控制器的控制消息維護(hù)三個數(shù)據(jù)結(jié)構(gòu)、監(jiān)測和統(tǒng)計轉(zhuǎn)發(fā)數(shù)據(jù)的信息和自身狀態(tài)的信息以及在實(shí)現(xiàn)以上功能時與控制器的信息的交互。
如圖2所示,可控制的信息中心網(wǎng)絡(luò)交換機(jī)中:控制消息處理模塊401負(fù)責(zé)處理控制層101傳來的管理和控制消息,并且根據(jù)這些消息對可控制內(nèi)容存儲器402、可控制待定請求表403、可控制前向轉(zhuǎn)發(fā)表404進(jìn)行操作,根據(jù)下發(fā)的路由消息對可控制前向轉(zhuǎn)發(fā)表404和可控制待定請求表403進(jìn)行操作,根據(jù)緩存管理消息對可控制內(nèi)容存儲器402進(jìn)行操作??煽刂苾?nèi)容存儲器402負(fù)責(zé)對要緩存的數(shù)據(jù)進(jìn)行緩存,可控制待定請求表403記錄興趣包的入口,可控制前向轉(zhuǎn)發(fā)表404則記錄根據(jù)名字的路由信息,每個表內(nèi)的內(nèi)容名對應(yīng)一個出口。
2.1.2可控制的信息中心網(wǎng)絡(luò)交換機(jī)中三大數(shù)據(jù)結(jié)構(gòu)的構(gòu)建
可控制待定請求表記錄經(jīng)過興趣包的入口,數(shù)據(jù)包按照可控制待定請求表的提示逐級向內(nèi)容請求者轉(zhuǎn)發(fā),可控制待定請求表是在興趣包轉(zhuǎn)發(fā)過程中由可控制的信息中心網(wǎng)絡(luò)交換機(jī)填寫完成的,控制器仍可通過控制消息對可控制待定請求表進(jìn)行維護(hù)??煽刂魄跋蜣D(zhuǎn)發(fā)表是對內(nèi)容的路由表,利用可控制前向轉(zhuǎn)發(fā)表可將興趣包轉(zhuǎn)發(fā)至有此內(nèi)容的緩存或者服務(wù)器,可控制前向轉(zhuǎn)發(fā)表的表項(xiàng)由控制器通過控制消息下發(fā)給可控制的信息中心網(wǎng)絡(luò)交換機(jī),可控制的信息中心網(wǎng)絡(luò)交換機(jī)收到興趣包后若可控制內(nèi)容存儲器、可控制待定請求表、可控制前向轉(zhuǎn)發(fā)表中都沒有興趣包中內(nèi)容名的相關(guān)表項(xiàng),則將興趣包傳遞給控制器,控制器收到興趣包后則根據(jù)內(nèi)容名字段和網(wǎng)絡(luò)拓?fù)湫畔⑦M(jìn)行路由,并將路由信息通過控制消息下發(fā)給相關(guān)的可控制的信息中心網(wǎng)絡(luò)交換機(jī)??煽刂苾?nèi)容存儲器除了具有IP路由器的緩存外,在通信結(jié)束后會保留可控制內(nèi)容存儲器數(shù)據(jù)包的內(nèi)容供下次請求使用,控制器會根據(jù)內(nèi)容流行度、拓?fù)湫畔磉M(jìn)行緩存決策,可控制的信息中心網(wǎng)絡(luò)交換機(jī)只需要根據(jù)控制器的控制消息對可控制內(nèi)容存儲器進(jìn)行操作??刂破魇盏揭彺娴臄?shù)據(jù)包后,根據(jù)緩存策略對數(shù)據(jù)包存在哪個節(jié)點(diǎn)進(jìn)行決策,以及控制器周期性的進(jìn)行緩存冗余消除時,對數(shù)據(jù)層的網(wǎng)內(nèi)緩存進(jìn)行管理,由此生成可控制內(nèi)容存儲器要填充的內(nèi)容
2.1.3可控制信息中心網(wǎng)絡(luò)交換機(jī)數(shù)據(jù)處理過程
可控制的信息中心網(wǎng)絡(luò)交換機(jī)根據(jù)可控制內(nèi)容存儲器402、可控制待定請求表403、可控制前向轉(zhuǎn)發(fā)表404對興趣包進(jìn)行轉(zhuǎn)發(fā)。圖2中興趣包的轉(zhuǎn)發(fā)過程405展示了可控制的信息中心網(wǎng)絡(luò)交換機(jī)接收興趣包后對興趣包的處理過程:當(dāng)可控制的信息中心網(wǎng)絡(luò)交換機(jī)接收到興趣包后會根據(jù)該興趣包內(nèi)的內(nèi)容名字段在可控制內(nèi)容存儲器402中搜索該內(nèi)容,若有該內(nèi)容(即有匹配結(jié)果)則直接回復(fù)。若緩存中沒有該內(nèi)容,則在可控制待定請求表403中搜索(即進(jìn)行匹配),若在可控制待定請求表403中有相關(guān)表項(xiàng)(即匹配成功),則說明已經(jīng)有請求相同信息的興趣包到達(dá)該節(jié)點(diǎn)并且已經(jīng)轉(zhuǎn)發(fā),只需在該表項(xiàng)后增加該興趣包的入口即可。若可控制待定請求表403中沒有相關(guān)表項(xiàng)(即匹配不成功),則在可控制前向轉(zhuǎn)發(fā)表404搜索,若可控制前向轉(zhuǎn)發(fā)表404中有相關(guān)表項(xiàng),則在相應(yīng)出口直接轉(zhuǎn)發(fā)該興趣包,并且在可控制前向轉(zhuǎn)發(fā)表404中增加興趣包的表項(xiàng),若沒有,則將興趣包直接傳遞給控制器103,由控制器處理。
圖2中展示的數(shù)據(jù)包的處理過程406為:當(dāng)可控制的信息中心網(wǎng)絡(luò)交換機(jī)接收到回復(fù)的數(shù)據(jù)包后,會根據(jù)數(shù)據(jù)包內(nèi)的內(nèi)容名字段在可控制待定請求表403中搜索相關(guān)表項(xiàng),若有相關(guān)表項(xiàng),則依據(jù)表項(xiàng)后記錄的入口轉(zhuǎn)發(fā)數(shù)據(jù)包,若沒有,則將數(shù)據(jù)包傳遞給控制器103,由控制器進(jìn)行處理,控制器根據(jù)網(wǎng)絡(luò)拓?fù)湎掳l(fā)回傳路徑信息給路徑上的可控制的信息中心網(wǎng)絡(luò)交換機(jī),交換機(jī)根據(jù)控制器下發(fā)的消息修改可控制待定請求表,數(shù)據(jù)包根據(jù)修改后的可控制待定請求表繼續(xù)傳輸。
所述數(shù)據(jù)包到達(dá)一個控制器控制下的第一個可控制的信息中心網(wǎng)絡(luò)交換機(jī)的時候,若數(shù)據(jù)包沒有被緩存過,則交換機(jī)將數(shù)據(jù)包復(fù)制一份并傳送給控制器,控制器根據(jù)緩存策略決定是否要緩存該數(shù)據(jù)包中的內(nèi)容,如果要緩存則決策要緩存在哪個緩存上,控制器將數(shù)據(jù)包發(fā)送給該緩存,同時下發(fā)消息讓所述第一個可控制的信息中心網(wǎng)絡(luò)交換機(jī)轉(zhuǎn)發(fā)該數(shù)據(jù)包。
2.2開放接口的設(shè)計
如圖3所示,本發(fā)明所述集中控制可編程的信息中心網(wǎng)絡(luò)中,控制層具有三個開放的接口:位于控制平面和數(shù)據(jù)平面的數(shù)據(jù)面接口203、位于應(yīng)用層和控制器之間的應(yīng)用面接口201以及控制器之間的橫向接口202。
所述應(yīng)用面接口201是控制器向應(yīng)用層提供用于實(shí)現(xiàn)網(wǎng)絡(luò)服務(wù)的可編程接口,控制器掌握整個網(wǎng)絡(luò)拓?fù)湟约捌渌W(wǎng)絡(luò)信息,因此應(yīng)用層可以根據(jù)應(yīng)用面接口201靈活編寫多種網(wǎng)絡(luò)應(yīng)用程序,包括提供實(shí)時服務(wù)的網(wǎng)絡(luò)應(yīng)用、傳輸可靠性較高的網(wǎng)絡(luò)應(yīng)用、安全性較高的網(wǎng)絡(luò)應(yīng)用。
所述橫向接口202是控制器之間的連接接口,使得控制平面的控制器成為一個邏輯的整體。每一個控制器管理和控制一定區(qū)域的可控制的信息中心網(wǎng)絡(luò)交換機(jī),并且能夠?qū)崟r掌握所轄交換機(jī)的信息,通過橫向接口202,控制器之間交換所轄交換機(jī)的信息,由此每個控制器可以掌握網(wǎng)絡(luò)的全局信息,并且通過網(wǎng)絡(luò)全局信息進(jìn)行相關(guān)的決策,包括路由、命名以及緩存決策。橫向接口202也可以使得控制器之間進(jìn)行工作協(xié)同,促進(jìn)全局網(wǎng)絡(luò)的使用效率,包括域間負(fù)載均衡、交換機(jī)的遷移、網(wǎng)絡(luò)故障處理等。總之,通過控制器的橫向接口,使得網(wǎng)絡(luò)的控制器之間實(shí)現(xiàn)自組織管理的功能,提升控制器之間的協(xié)同配合,完成全局網(wǎng)絡(luò)的集中控制管理。
所述數(shù)據(jù)面接口203可以使得數(shù)據(jù)平面的物理設(shè)備抽象化,控制器通過數(shù)據(jù)面接口203只需了解到抽象化的網(wǎng)絡(luò)設(shè)備,從而忽略網(wǎng)絡(luò)設(shè)備的差異化,使得網(wǎng)絡(luò)的重心從硬件轉(zhuǎn)移到軟件??刂茖右瓿蓪τ跀?shù)據(jù)層的控制和管理,需要接收數(shù)據(jù)層的消息并根據(jù)這些消息對數(shù)據(jù)層102下發(fā)控制消息,消息的交互方式主要由數(shù)據(jù)面接口203實(shí)現(xiàn)。控制層和數(shù)據(jù)層需要通過發(fā)送消息建立連接,并且通過消息的發(fā)送測試連接的狀態(tài)。由于數(shù)據(jù)層只保留了最基本的數(shù)據(jù)平面的功能而不具備決策功能,因此當(dāng)數(shù)據(jù)層中發(fā)生網(wǎng)絡(luò)事件的時候,需要向控制層發(fā)送事件消息,由控制層來進(jìn)行決策,當(dāng)交換機(jī)狀態(tài)發(fā)生變化時同樣需要向控制層發(fā)送交換機(jī)的狀態(tài)消息??刂茖幼鳛閷τ跀?shù)據(jù)平面的控制和管理實(shí)體,需要向數(shù)據(jù)層的交換機(jī)發(fā)送控制消息修改數(shù)據(jù)的轉(zhuǎn)發(fā)規(guī)則,向數(shù)據(jù)層的交換機(jī)發(fā)送修改可控制待定請求表和可控制前向轉(zhuǎn)發(fā)表的消息,管理網(wǎng)內(nèi)緩存,發(fā)送修改可控制內(nèi)容存儲器的消息,數(shù)據(jù)層根據(jù)控制層的控制消息完成操作的時候,需要向控制層發(fā)送確認(rèn)消息。控制層在動態(tài)管理時需要實(shí)時的對數(shù)據(jù)層進(jìn)行查詢操作,包括數(shù)據(jù)流的統(tǒng)計信息、可控制的信息中心網(wǎng)絡(luò)交換機(jī)上的配置信息,控制層發(fā)送查詢消息后數(shù)據(jù)層發(fā)送相應(yīng)的應(yīng)答消息。
2.3控制層的功能設(shè)計
控制層實(shí)現(xiàn)了信息中心網(wǎng)絡(luò)的控制平面的功能:完成對以內(nèi)容名為導(dǎo)向的內(nèi)容的路由決策、對數(shù)據(jù)平面可控制的信息中心網(wǎng)絡(luò)交換機(jī)中可控制內(nèi)容存儲器、可控制待定請求表和可控制前向轉(zhuǎn)發(fā)表的管理、完成對發(fā)布者發(fā)布的內(nèi)容的統(tǒng)一命名以及數(shù)據(jù)安全、接收和處理來自可控制的信息中心網(wǎng)絡(luò)交換機(jī)的消息,并且能夠?qū)煽刂频男畔⒅行木W(wǎng)絡(luò)交換機(jī)發(fā)送控制消息。
如圖4所示,控制器除了實(shí)現(xiàn)了應(yīng)用面接口、數(shù)據(jù)面接口、橫向接口外,控制器中還包括以下管理模塊:對數(shù)據(jù)層102進(jìn)行動態(tài)管理和控制的資源切片管理模塊301、網(wǎng)絡(luò)拓?fù)涔芾砟K302、流量管理模塊303、實(shí)現(xiàn)緩存管理的緩存管理模塊304、完成路由的路由管理模塊305、對發(fā)布者發(fā)布的內(nèi)容統(tǒng)一命名的命名模塊306、對可控制的信息中心網(wǎng)絡(luò)交換機(jī)進(jìn)行實(shí)時監(jiān)測的信息監(jiān)測模塊307。
所述網(wǎng)絡(luò)拓?fù)涔芾砟K302根據(jù)物理網(wǎng)絡(luò)信息,為控制器的其他模塊提供抽象化的網(wǎng)絡(luò)拓?fù)洹?/p>
所述流量管理模塊303負(fù)責(zé)對數(shù)據(jù)流的動態(tài)管理。
所述緩存管理模塊304負(fù)責(zé)網(wǎng)內(nèi)緩存的管理,基于網(wǎng)絡(luò)信息以及數(shù)據(jù)信息對數(shù)據(jù)做出緩存決策。數(shù)據(jù)平面的可控制的信息中心網(wǎng)絡(luò)交換機(jī)中的一個重要功能是網(wǎng)內(nèi)緩存,網(wǎng)內(nèi)緩存需要亟待解決的問題就是如何提高緩存的效率,提升緩存命中率。緩存管理模塊304在收集網(wǎng)絡(luò)拓?fù)涔芾砟K302、流量管理模塊303的信息的基礎(chǔ)上完成緩存冗余消除、緩存策略、緩存替換的操作。
所述路由管理模塊305根據(jù)網(wǎng)絡(luò)拓?fù)涔芾砟K提供的網(wǎng)絡(luò)拓?fù)浠趦?nèi)容的名字字段進(jìn)行路由,并將路由結(jié)果下發(fā)給相關(guān)的交換機(jī)。
所述命名模塊306實(shí)現(xiàn)對內(nèi)容發(fā)布者發(fā)布的內(nèi)容的統(tǒng)一命名,通過內(nèi)容的統(tǒng)一命名,內(nèi)容請求者不再關(guān)心內(nèi)容的位置,而只需要關(guān)心內(nèi)容本身,通過內(nèi)容名即可請求到內(nèi)容。
所述信息監(jiān)測模塊307負(fù)責(zé)實(shí)時的獲得數(shù)據(jù)層102的物理網(wǎng)絡(luò)信息,并且為資源切片管理模塊301、網(wǎng)絡(luò)拓?fù)涔芾砟K302、緩存管理模塊304、流量管理模塊303提供信息。
由于控制層和數(shù)據(jù)層的解耦合以及控制層的可編程特性使得控制器中的管理模塊具有擴(kuò)展性,因此控制器中的管理模塊具有上述模塊且不限于以上所述模塊。例如,還包括通信模塊,通信模塊負(fù)責(zé)控制平面的控制器和數(shù)據(jù)平面的可控制的信息中心網(wǎng)絡(luò)交換機(jī)進(jìn)行信息的交互以及控制層中各個管理模塊之間的信息交流。
本發(fā)明設(shè)計的集中控制可編程的信息中心網(wǎng)絡(luò)的有效性體現(xiàn)在:
1.自治性,集中控制可編程的信息中心網(wǎng)絡(luò)的網(wǎng)絡(luò)管理中控制層具有可編程和邏輯中心化的控制器,能夠根據(jù)不同的網(wǎng)絡(luò)突發(fā)情況做出相應(yīng)的動作,完成網(wǎng)絡(luò)的自我管理,會有效地降低網(wǎng)絡(luò)管理的復(fù)雜性,減少人工操作的負(fù)擔(dān)。
2.可編程性,集中控制可編程的信息中心網(wǎng)絡(luò)的數(shù)據(jù)平面和控制平面解耦合,使得網(wǎng)絡(luò)具有了可編程的特性。網(wǎng)絡(luò)的操作和控制像軟件一樣容易、有效,減少了數(shù)據(jù)平面對于網(wǎng)絡(luò)管理研究的制約。網(wǎng)絡(luò)內(nèi)可能存在不同的網(wǎng)絡(luò)設(shè)備,可編程的特性使得網(wǎng)絡(luò)控制器能夠?qū)Σ煌木W(wǎng)絡(luò)設(shè)備進(jìn)行統(tǒng)一的管理。
3.虛擬化,網(wǎng)絡(luò)虛擬化可以讓一個物理網(wǎng)絡(luò)分為多個邏輯虛擬網(wǎng)絡(luò),不同的邏輯虛擬網(wǎng)絡(luò)可以分別支持不同的網(wǎng)絡(luò)服務(wù)。在集中控制可編程的信息中心網(wǎng)絡(luò)中,特定的邏輯虛擬網(wǎng)絡(luò)可以支持相應(yīng)的應(yīng)用服務(wù),對于網(wǎng)內(nèi)緩存可以支持不同的邏輯虛擬網(wǎng)絡(luò),支持不同的緩存要求。
本發(fā)明所述集中控制可編程的信息中心網(wǎng)絡(luò)的設(shè)計方法將信息中心網(wǎng)絡(luò)的數(shù)據(jù)平面和控制平面徹底解耦合,在控制平面獨(dú)立出來組成控制層的同時,保留了信息中心網(wǎng)絡(luò)的數(shù)據(jù)平面。既可以充分發(fā)揮軟件定義網(wǎng)絡(luò)集中控制和動態(tài)管理的優(yōu)勢,又能夠保留信息中心網(wǎng)絡(luò)以內(nèi)容為中心,充分發(fā)揮了信息中心網(wǎng)絡(luò)的高效利用網(wǎng)絡(luò)資源的優(yōu)勢。