董若楠,張光杰,劉 淵,王曉鋒,李乾治
1(江南大學(xué) 數(shù)字媒體學(xué)院,江蘇 無錫 214122)
2(江南大學(xué) 物聯(lián)網(wǎng)學(xué)院,江蘇 無錫 214122)
E-mail:1132756208@qq.com
天地一體化信息網(wǎng)絡(luò)動態(tài)重構(gòu)技術(shù)是指面臨人為無意、惡意攻擊或遭受惡劣自然環(huán)境的挑戰(zhàn)時,衛(wèi)星節(jié)點(diǎn)、通信鏈路發(fā)生故障,網(wǎng)絡(luò)仍能夠維持自身功能的技術(shù).相對于傳統(tǒng)互聯(lián)網(wǎng),天地一體化信息網(wǎng)絡(luò)鏈路開放,衛(wèi)星節(jié)點(diǎn)直接暴露于空間軌道上,長期處于惡劣的自然環(huán)境中,容易遭受非法截獲、無意或蓄意干擾甚至摧毀,需要針對天地一體化信息網(wǎng)絡(luò)的動態(tài)重構(gòu)方法展開研究.
但由于天地一體化網(wǎng)絡(luò)(SGIN)[1]是一個高度異構(gòu)且結(jié)構(gòu)復(fù)雜的信息網(wǎng)絡(luò),具備高動態(tài)、分布式自組織等特點(diǎn),解決技術(shù)問題與難點(diǎn)時耗資巨大,在實(shí)際部署SGIN之前,需要建立天地一化的信息網(wǎng)絡(luò)仿真實(shí)驗(yàn)平臺,對網(wǎng)絡(luò)拓?fù)洹⑾嚓P(guān)協(xié)議、應(yīng)用程序等進(jìn)行嚴(yán)格評估及驗(yàn)證[2].
云計(jì)算平臺可以為網(wǎng)絡(luò)仿真提供逼真的虛擬仿真環(huán)境,當(dāng)下基于云平臺和虛擬化的網(wǎng)絡(luò)仿真已成為一種新趨勢[3,4].OpenStack作為當(dāng)下Iaas云計(jì)算技術(shù)中的代表,依托虛擬化技術(shù),實(shí)現(xiàn)計(jì)算、網(wǎng)絡(luò)、存儲等資源的虛擬化,完成物理資源的統(tǒng)一調(diào)度,在保證仿真逼真性的前提下實(shí)現(xiàn)對資源的充分利用.
本文基于OpenStack云平臺,依據(jù)STK仿真數(shù)據(jù),協(xié)同控制衛(wèi)星鏈路的方法,構(gòu)建動態(tài)變化的衛(wèi)星網(wǎng)絡(luò)仿真場景,提出了支持衛(wèi)星網(wǎng)絡(luò)動態(tài)收斂和通信服務(wù)遷移的可重構(gòu)方法,實(shí)現(xiàn)面向天地一體化的動態(tài)重構(gòu)技術(shù).
關(guān)于衛(wèi)星動態(tài)重構(gòu)網(wǎng)絡(luò)的研究較少,文獻(xiàn)[5]研究衛(wèi)星網(wǎng)絡(luò)的高可用方案,利用延展帶寬資源分配的方法,對DDoS的攻擊實(shí)驗(yàn)具備很好的防御效果,但是這種方法卻無法保證衛(wèi)星節(jié)點(diǎn)本身意外事故后的高可用.文獻(xiàn)[6]基于Dijkstra 算法依據(jù)雙層衛(wèi)星網(wǎng)絡(luò)時延最短和時延抖動實(shí)現(xiàn)路由策略,并通過實(shí)驗(yàn)證明這種方法效率具備良好性能,但這種方法依據(jù)的是衛(wèi)星運(yùn)動的周期規(guī)律,采用靜態(tài)切換策略,無法應(yīng)對非法攻擊等意外情況.文獻(xiàn)[7]針對基礎(chǔ)網(wǎng)絡(luò)設(shè)計(jì)一種可重構(gòu)服務(wù)的算法,通過節(jié)點(diǎn)或最短鏈路為資源關(guān)鍵度的衡量指標(biāo)實(shí)現(xiàn)網(wǎng)絡(luò)的動態(tài)感知,但未將該算法運(yùn)用于實(shí)際場景中,無法保證其實(shí)用性.在高可用的通信方面,文獻(xiàn)[8]采用溫備份的方式,提高通信的可靠性與容錯性,但未能將NGN下一代通信網(wǎng)絡(luò)與衛(wèi)星網(wǎng)絡(luò)融合.
研究動態(tài)重構(gòu)的方法,需要構(gòu)建天地一體化仿真場景,目前關(guān)于衛(wèi)星網(wǎng)絡(luò)的仿真研究主要集中在理論模型的研究、基于離散事件驅(qū)動的數(shù)字仿真研究、基于虛擬化技術(shù)的網(wǎng)絡(luò)仿真研究等三個方面.
文獻(xiàn)[9]通過理論分析信道模型,利用STK衛(wèi)星工具包進(jìn)行分析研究,生成較高精度的鏈路性能數(shù)據(jù).這種方法可以為衛(wèi)星網(wǎng)絡(luò)的仿真提供理論基礎(chǔ),但理論建模的方法,只能從數(shù)據(jù)進(jìn)行分析,無法支撐衛(wèi)星網(wǎng)絡(luò)協(xié)議的評估與驗(yàn)證.
文獻(xiàn)[10]研究一種未來衛(wèi)星網(wǎng)絡(luò)結(jié)構(gòu),通過NS2仿真實(shí)驗(yàn)驗(yàn)證結(jié)構(gòu)滿足發(fā)展的需求;文獻(xiàn)[11]依托OPNET研究一種網(wǎng)絡(luò)混合路由算法;文獻(xiàn)[12]基于QualNet與STK實(shí)現(xiàn)對衛(wèi)星通信網(wǎng)絡(luò)的建模,并通過實(shí)驗(yàn)證明建模仿真的正確性.離散事件驅(qū)動的數(shù)字仿真研究(NS2,OPNET,QualNet等),可以將STK等理論分析的數(shù)據(jù)結(jié)果相結(jié)合,實(shí)現(xiàn)對復(fù)雜衛(wèi)星網(wǎng)絡(luò)的分析,具備可擴(kuò)展、低成本的優(yōu)點(diǎn),但這種方法無法生成現(xiàn)實(shí)的流量數(shù)據(jù)與現(xiàn)實(shí)系統(tǒng)交互,真實(shí)性不足.文獻(xiàn)[13]基于虛擬化技術(shù)對LEO衛(wèi)星鏈路進(jìn)行仿真,以STK產(chǎn)生的數(shù)據(jù)為依據(jù),實(shí)現(xiàn)鏈路特性精確控制,但是文獻(xiàn)中只考慮了單條鏈路.文獻(xiàn)[14]依托虛擬化技術(shù)實(shí)現(xiàn)天地一體化網(wǎng)絡(luò)中衛(wèi)星鏈路仿真,采用這種方法,鏈路仿真既可以實(shí)現(xiàn)流量報(bào)文的現(xiàn)實(shí)交互,同時可以復(fù)現(xiàn)理論數(shù)據(jù),保證仿真的逼真性,但文獻(xiàn)并未對高可用的衛(wèi)星通信網(wǎng)絡(luò)展開研究,無法保證仿真網(wǎng)絡(luò)的可用性和網(wǎng)絡(luò)的穩(wěn)定性.文獻(xiàn)[15]設(shè)計(jì)了一種輕量級虛擬化與云平臺融合的方案,輕量級的虛擬化技術(shù)占用物理資源較少,可以擴(kuò)展仿真的規(guī)模.基于虛擬化的仿真方法,可以綜合理論模型的研究、離散事件驅(qū)動的數(shù)字仿真研究的優(yōu)勢,既可以依托理論模型為數(shù)據(jù)依據(jù),又可以實(shí)現(xiàn)低成本、大規(guī)模的仿真,而且虛擬化的仿真方法還可以產(chǎn)生真實(shí)的流量,對天地一體化的仿真場景進(jìn)行逼真驗(yàn)證,為此需要以虛擬化技術(shù)為基礎(chǔ)構(gòu)建天地一體化信息網(wǎng)絡(luò)仿真實(shí)驗(yàn)平臺,研究衛(wèi)星網(wǎng)絡(luò)動態(tài)重構(gòu)的方法.
總之,綜合目前存在的網(wǎng)絡(luò)仿真方案及可重構(gòu)方法,針對復(fù)雜多變的信息網(wǎng)絡(luò),構(gòu)建動態(tài)變化的天地一體化信息網(wǎng)絡(luò)仿真場景,研究面向衛(wèi)星通信網(wǎng)絡(luò)的可重構(gòu)方法意義重大.
本文基于OpenStack仿真平臺,研究支持動態(tài)重構(gòu)的天地一體化信息網(wǎng)絡(luò),需要實(shí)現(xiàn)動態(tài)變化的衛(wèi)星網(wǎng)絡(luò)仿真,并研究衛(wèi)星和地面通信網(wǎng)絡(luò)的動態(tài)重構(gòu)方法.
衛(wèi)星網(wǎng)絡(luò)的可重構(gòu)可以由支持動態(tài)收斂的衛(wèi)星仿真節(jié)點(diǎn)來實(shí)現(xiàn),地面網(wǎng)絡(luò)的動態(tài)重構(gòu)則由支持通信服務(wù)遷移的方案來完成,以下為此展開詳細(xì)介紹.
文獻(xiàn)[16]對時下幾種云平臺進(jìn)行實(shí)驗(yàn)測試,結(jié)果表明,OpenStack在計(jì)算密集型的應(yīng)用中表現(xiàn)出較好的性能,所以本方法基于OpenStack云平臺實(shí)現(xiàn)分布式仿真環(huán)境的搭建.OpenStack云平臺通過NTP協(xié)議實(shí)現(xiàn)各個節(jié)點(diǎn)的時間同步,保證仿真的實(shí)時性;在控制節(jié)點(diǎn)實(shí)現(xiàn)鏡像服務(wù)、計(jì)算服務(wù)、網(wǎng)絡(luò)服務(wù)等的管理;在計(jì)算節(jié)點(diǎn)實(shí)現(xiàn)計(jì)算資源的虛擬化,是虛擬機(jī)具體運(yùn)行的場所.
天地一體化網(wǎng)絡(luò)由衛(wèi)星網(wǎng)絡(luò)和地面通信網(wǎng)絡(luò)組成,網(wǎng)絡(luò)中主要包含仿真用戶、信關(guān)站和衛(wèi)星等,本文集成輕量級虛擬化docker與全虛擬化技術(shù)KVM,融合多尺度的虛擬技術(shù),解決規(guī)模仿真與性能穩(wěn)定的矛盾.基于云平臺的實(shí)驗(yàn)系統(tǒng)架構(gòu)如圖1所示.衛(wèi)星與通信服務(wù)的信關(guān)站數(shù)量少所需資源多,用戶節(jié)點(diǎn)數(shù)量多占用資源少.在支持KVM的計(jì)算節(jié)點(diǎn)集成通信服務(wù)節(jié)點(diǎn)(信關(guān)站)與衛(wèi)星節(jié)點(diǎn),衛(wèi)星節(jié)點(diǎn)(Satellite Node)中集成網(wǎng)絡(luò)的動態(tài)收斂方法,保證衛(wèi)星網(wǎng)絡(luò)的可重構(gòu);通信服務(wù)節(jié)點(diǎn)(Station Node)的集群方案,實(shí)現(xiàn)通信網(wǎng)絡(luò)的可重構(gòu).在支持docker的計(jì)算節(jié)點(diǎn)集成用戶節(jié)點(diǎn),通過控制節(jié)點(diǎn)管控異常用戶,構(gòu)造DDoS攻擊;在網(wǎng)絡(luò)節(jié)點(diǎn)實(shí)現(xiàn)網(wǎng)絡(luò)資源的虛擬化管理,主要通過OVS虛擬交換機(jī)軟件實(shí)現(xiàn)對二層網(wǎng)絡(luò)的仿真,通過tap設(shè)備與veth pair實(shí)現(xiàn)虛擬網(wǎng)絡(luò)設(shè)備和網(wǎng)絡(luò)鏈路的仿真,利用linux內(nèi)核工具TC完成鏈路性能參數(shù)的控制,通過衛(wèi)星鏈路控制節(jié)點(diǎn)實(shí)現(xiàn)對衛(wèi)星網(wǎng)絡(luò)仿真的協(xié)同控制,保證仿真衛(wèi)星網(wǎng)絡(luò)的動態(tài)變化.

圖1 可重構(gòu)信息網(wǎng)絡(luò)仿真實(shí)驗(yàn)架構(gòu)
為研究與驗(yàn)證衛(wèi)星網(wǎng)絡(luò)的可重構(gòu)技術(shù),需要在云仿真實(shí)驗(yàn)平臺中構(gòu)建逼真性高、動態(tài)變化的衛(wèi)星網(wǎng)絡(luò)環(huán)境,分析衛(wèi)星鏈路特性并研究鏈路仿真的方法便顯得格外重要.文獻(xiàn)[13]以STK產(chǎn)生的數(shù)據(jù)為依據(jù),實(shí)現(xiàn)鏈路特性精確控制,但是文獻(xiàn)中只考慮了單條鏈路.衛(wèi)星網(wǎng)絡(luò)龐大而復(fù)雜,需要對衛(wèi)星仿真網(wǎng)絡(luò)中的所有鏈路參數(shù)實(shí)現(xiàn)協(xié)同控制,從而實(shí)現(xiàn)網(wǎng)絡(luò)的實(shí)時仿真.
衛(wèi)星距地距離遠(yuǎn),根據(jù)總延時=發(fā)送延時+傳播延時+處理延時+排隊(duì)延時;此時的傳播延時便成了影響總延時的主要因素,傳播延時與傳播介質(zhì)和距離有關(guān),假定電磁波的傳播速率為定值c,則傳播延時τ為,其中L為距離長度.而衛(wèi)星時刻處于周期運(yùn)動,衛(wèi)星間的距離可能會發(fā)生變化.例如當(dāng)衛(wèi)星間的相對位置發(fā)生變化(如圖2所示),衛(wèi)星由p0位置到p1位置,與觀察衛(wèi)星間的距離發(fā)生從len0到len1的變化,傳輸距離的改變會導(dǎo)致兩顆衛(wèi)星間的鏈路延時變化.

圖2 衛(wèi)星鏈路分析示意圖
衛(wèi)星運(yùn)動軌道為不同直徑大小的同心圓軌道,衛(wèi)星星座中同軌道星間距離保持不變,不同軌道間的星間距離發(fā)生周期變化,因此不同軌道間的鏈路延時變化為研究衛(wèi)星網(wǎng)絡(luò)仿真的關(guān)鍵部分.
在保證真實(shí)的衛(wèi)星鏈路場景后,基于云平臺展開本文的可重構(gòu)技術(shù)的研究,實(shí)現(xiàn)復(fù)雜網(wǎng)絡(luò)拓?fù)涞膭討B(tài)學(xué)習(xí)與感知,當(dāng)網(wǎng)絡(luò)中衛(wèi)星仿真節(jié)點(diǎn)出現(xiàn)故障或當(dāng)衛(wèi)星鏈路阻塞中斷的情況時,實(shí)現(xiàn)鏈路的擇優(yōu)轉(zhuǎn)發(fā),滿足路由的自主學(xué)習(xí)與網(wǎng)絡(luò)重建.
本文在衛(wèi)星仿真節(jié)點(diǎn)中集成動態(tài)路由服務(wù),主要由心跳探測模塊、拓?fù)鋵W(xué)習(xí)過程、路徑計(jì)算過程、拓?fù)鋽?shù)據(jù)庫及路由表等組成,架構(gòu)如圖3所示,下面對各個模塊及過程的具體情況展開介紹.
1)心跳探測模塊:模塊為了實(shí)現(xiàn)分布式衛(wèi)星路由,需要各個節(jié)點(diǎn)間建立聯(lián)系,通過心跳探測模塊發(fā)出周期性的探測響應(yīng)包,相鄰節(jié)點(diǎn)可以確立鄰居關(guān)系也可以實(shí)時更新鄰居狀態(tài),并傳遞所需信息.
2)拓?fù)鋵W(xué)習(xí)過程:通過相鄰節(jié)點(diǎn)間的信息交換,拓?fù)鋵W(xué)習(xí)模塊可以動態(tài)學(xué)習(xí)并建立自己的數(shù)據(jù)庫,通過相互的學(xué)習(xí),保證分布式數(shù)據(jù)庫實(shí)時更新并保證數(shù)據(jù)的一致性.
3)拓?fù)鋽?shù)據(jù)庫:主要是經(jīng)過拓?fù)鋵W(xué)習(xí)獲得,庫中保存同一區(qū)域下完整的衛(wèi)星節(jié)點(diǎn)信息,從而為下一步制作生成自身的路由表做準(zhǔn)備.
4)路徑計(jì)算:是實(shí)現(xiàn)與生成路由表的關(guān)鍵部分,通過最短路徑計(jì)算,獲得最短路徑,為報(bào)文的分組轉(zhuǎn)發(fā)提供路由向?qū)?

圖3 可重構(gòu)衛(wèi)星節(jié)點(diǎn)架構(gòu)圖
5)路由表:為轉(zhuǎn)發(fā)模塊提供路由,每個衛(wèi)星節(jié)點(diǎn),有自己的一套全網(wǎng)路由,并通過心跳檢測模塊動態(tài)更新數(shù)據(jù),保證節(jié)點(diǎn)間的最優(yōu)路徑.
6)轉(zhuǎn)發(fā)模塊:根據(jù)自身路由表,實(shí)現(xiàn)最短路徑的分組轉(zhuǎn)發(fā).選擇較優(yōu)線路,保證服務(wù)質(zhì)量,同時在轉(zhuǎn)發(fā)模塊中添加數(shù)據(jù)包的延時分發(fā)功能,實(shí)現(xiàn)衛(wèi)星鏈路延時仿真,體現(xiàn)星間距離的動態(tài)變化.
衛(wèi)星通信網(wǎng)絡(luò)系統(tǒng)在實(shí)現(xiàn)衛(wèi)星網(wǎng)絡(luò)的動態(tài)重構(gòu)后,可保障星間通信的服務(wù)質(zhì)量,此時地面提供通信服務(wù)的網(wǎng)元(信關(guān)站)的高可用性,便成了影響通信服務(wù)的關(guān)鍵因素.信關(guān)站可能會因?yàn)樽陨砦锢頎顟B(tài)的損害,意外斷電或受到非法攻擊,無法提供正常的服務(wù).為此設(shè)計(jì)一種集群備份的方法,通過實(shí)現(xiàn)可遷移服務(wù),提高服務(wù)的抗干擾能力.
為實(shí)現(xiàn)高可用的通信服務(wù),本文基于共享集群的設(shè)計(jì)理念,提出可遷移的通信服務(wù)方法,主要設(shè)計(jì)思想如下.
1)備份節(jié)點(diǎn):為通信服務(wù)節(jié)點(diǎn)提供備份節(jié)點(diǎn),確保當(dāng)自身受到損害等意外情況,無法正常服務(wù)時,備份節(jié)點(diǎn)代管相關(guān)服務(wù);
2)共享存儲:主節(jié)點(diǎn)與備份節(jié)點(diǎn)共享存儲數(shù)據(jù)庫,數(shù)據(jù)共享確保通信服務(wù)的順利接管,可維持用戶在網(wǎng)絡(luò)的狀態(tài),保證通話、短消息等通信行為的正常執(zhí)行.
3)對外同一:主節(jié)點(diǎn)與備份節(jié)點(diǎn)對外透明無差,主節(jié)點(diǎn)與備份節(jié)點(diǎn)除本身ip地址外,還具備共享浮動的虛擬ip,服務(wù)組件監(jiān)聽共享虛擬ip,監(jiān)管通信服務(wù),為此用戶對主備節(jié)點(diǎn)感受不到差別,保證透明性.
4)狀態(tài)監(jiān)測:主節(jié)點(diǎn)通過狀態(tài)報(bào)告模塊與備份節(jié)點(diǎn)的狀態(tài)監(jiān)測模塊實(shí)現(xiàn)狀態(tài)協(xié)調(diào),當(dāng)主節(jié)點(diǎn)正常運(yùn)行時備份節(jié)點(diǎn)處于待機(jī)準(zhǔn)備階段,當(dāng)狀態(tài)報(bào)告出于宕機(jī)或聯(lián)系中斷狀態(tài),備份節(jié)點(diǎn)轉(zhuǎn)變自身狀態(tài)為服務(wù)狀態(tài),實(shí)現(xiàn)通信服務(wù)的遷移.
在3.2中分析了衛(wèi)星鏈路的特性,為了復(fù)現(xiàn)不同軌道間的鏈路變化驗(yàn)證動態(tài)重構(gòu)的方法.實(shí)現(xiàn)對衛(wèi)星網(wǎng)絡(luò)的協(xié)同控制,展開以下研究.SDN通過編寫軟件的方法采用集中式的管理方式,可以靈活定義網(wǎng)絡(luò)設(shè)備的轉(zhuǎn)發(fā)功能,不需要在每個路由器或交換機(jī)上分別進(jìn)行以設(shè)備為中心的配置更改,滿足協(xié)同仿真的需求,為此本文方法借鑒SDN的思想,采用一種數(shù)據(jù)控制分離、軟件可編程的體系架構(gòu),在圖1云仿真實(shí)驗(yàn)平臺的衛(wèi)星鏈路控制節(jié)點(diǎn)中,實(shí)現(xiàn)衛(wèi)星鏈路的協(xié)同仿真技術(shù).
技術(shù)的詳細(xì)架構(gòu)如圖4所示,采用集中式的控制平面和分布式的轉(zhuǎn)發(fā)平面,兩個平面相互分離,通過轉(zhuǎn)發(fā)通信接口,控制平面實(shí)現(xiàn)對網(wǎng)絡(luò)設(shè)備的集中控制,實(shí)現(xiàn)衛(wèi)星節(jié)點(diǎn)間的鏈路仿真,具體實(shí)現(xiàn)過程如下.
1)衛(wèi)星鏈路控制節(jié)點(diǎn)從云平臺的控制節(jié)點(diǎn)獲取實(shí)驗(yàn)網(wǎng)絡(luò)拓?fù)洌⒃跇I(yè)務(wù)層對衛(wèi)星鏈路的拓?fù)渥龀橄蠼#ㄟ^STK中設(shè)置衛(wèi)星場景星歷時間、雨衰模型及大氣衰減模型、衛(wèi)星發(fā)射機(jī)功率、接收機(jī)功率等參數(shù),實(shí)時仿真衛(wèi)星鏈路的狀態(tài)信息,STK仿真過程根據(jù)衛(wèi)星運(yùn)動的行為軌跡,演練生成星間距離信息并傳至控制層.
2)測算模塊獲取鏈路信息數(shù)據(jù),根據(jù)當(dāng)前延時Dcur=Lcur/c(其中L為衛(wèi)星在空間中的幾何距離,c為電磁波的傳播速度),計(jì)算生成鏈路的延時數(shù)據(jù),并將處理過的數(shù)據(jù)同步到協(xié)同控制器.
3)協(xié)同控制器作為統(tǒng)一的控制單元,并行控制所有負(fù)責(zé)的衛(wèi)星節(jié)點(diǎn),通過控制轉(zhuǎn)發(fā)通信接口與衛(wèi)星仿真節(jié)點(diǎn)實(shí)現(xiàn)交互.
4)衛(wèi)星節(jié)點(diǎn)根據(jù)收到協(xié)同控制器的鏈路控制信息,通過在虛擬網(wǎng)卡上建立隊(duì)列,以此控制數(shù)據(jù)分組的發(fā)送,根據(jù)入隊(duì)的時間Tarrive與控制信息的延時數(shù)據(jù)Tdelay,數(shù)據(jù)發(fā)送時間Tsend為:Tsend=Tarrive+Tdelay+ΔT,ΔT為底層封裝等可能因素造成的誤差.最終實(shí)現(xiàn)衛(wèi)星鏈路性能的協(xié)同仿真,構(gòu)建動態(tài)變化的衛(wèi)星網(wǎng)絡(luò)場景.

圖4 協(xié)同仿真結(jié)構(gòu)圖
基于3.3介紹的節(jié)點(diǎn)架構(gòu)及功能模塊,實(shí)現(xiàn)分布式衛(wèi)星節(jié)點(diǎn)軟路由的動態(tài)感知方法,針對衛(wèi)星網(wǎng)絡(luò)變化實(shí)現(xiàn)路由的動態(tài)可重構(gòu).實(shí)現(xiàn)的過程如下所示.
1)首先建立鄰居狀態(tài),衛(wèi)星仿真節(jié)點(diǎn)Root以廣播的方式,向自己的鄰居節(jié)點(diǎn)發(fā)送心跳探測的報(bào)文.鄰居節(jié)點(diǎn)Neim(m=1…n),收到鄰居Root發(fā)來的信息探測報(bào)文,修改自己的鄰居狀態(tài)為初始化狀態(tài),將Root添加為自己的鄰居,回送帶有自己標(biāo)識信息的報(bào)文給Root.Root收到報(bào)文后發(fā)現(xiàn)其中帶有自身的標(biāo)識,同時帶有鄰居的信息,將狀態(tài)確立為鄰居建立狀態(tài),并發(fā)送響應(yīng)包,鄰居收到回復(fù),確立建立鄰居狀態(tài).節(jié)點(diǎn)通過周期性的心跳探測維持與鄰居的連接關(guān)系,若一段時間未收到鄰居的心跳報(bào)文,則修改鄰居狀態(tài),將兩點(diǎn)鏈路修改為不可達(dá).
2)更新拓?fù)錉顟B(tài)數(shù)據(jù)庫:通過拓?fù)鋵W(xué)習(xí)模塊,節(jié)點(diǎn)依次將自己作為Root節(jié)點(diǎn),將本地拓?fù)湫畔l(fā)送給鄰居節(jié)點(diǎn),鄰居節(jié)點(diǎn)Neim收到帶有Root數(shù)據(jù)庫中信息的報(bào)文并與本地拓?fù)錉顟B(tài)數(shù)據(jù)庫對比,然后返回請求報(bào)文.向發(fā)送方(Root)請求本地?cái)?shù)據(jù)庫中未包含的鏈路的詳細(xì)信息,添加Root返回的拓?fù)湫畔⒌綌?shù)據(jù)庫,最終節(jié)點(diǎn)掌握網(wǎng)絡(luò)中所有節(jié)點(diǎn)的拓?fù)湫畔ⅲ瑢?shí)現(xiàn)分布式拓?fù)鋽?shù)據(jù)庫的統(tǒng)一,保證數(shù)據(jù)的一致性.
3)最優(yōu)路徑算法:通過學(xué)習(xí)模塊,拓?fù)錉顟B(tài)數(shù)據(jù)庫保存全網(wǎng)的節(jié)點(diǎn)路由信息,路由計(jì)算模塊以自身節(jié)點(diǎn)為根節(jié)點(diǎn),并通過Dijkstra算法,建立到其他節(jié)點(diǎn)的最短路徑樹,構(gòu)建本地路由表,保證最優(yōu)轉(zhuǎn)發(fā).
4)拓?fù)涞膭討B(tài)重構(gòu):路由表建立后處于穩(wěn)定狀態(tài),若通過心跳探測報(bào)文發(fā)現(xiàn)鄰居狀態(tài)發(fā)生變化則重新建立鄰居關(guān)系即通過重復(fù)1)-4)過程來更新數(shù)據(jù)庫.
5)轉(zhuǎn)發(fā)模塊根據(jù)本地路由表,實(shí)現(xiàn)數(shù)據(jù)分組轉(zhuǎn)發(fā).
基于3.4介紹的可遷移的通信服務(wù)方案,實(shí)現(xiàn)支持動態(tài)重構(gòu)的地面通信方法,可有效避免通信基站不可服務(wù)的意外情況.下面對實(shí)現(xiàn)的具體過程展開介紹.
1)備份節(jié)點(diǎn)開機(jī)啟動服務(wù)檢測程序,周期探測主節(jié)點(diǎn)是否處于正常工作狀態(tài),若收到正常工作的回應(yīng)報(bào)文則不做其他動作繼續(xù)探測,否則進(jìn)入工作流程2);
2)拿到程序預(yù)設(shè)的與主機(jī)共享的浮動IP,調(diào)用本地切換程序?qū)崿F(xiàn)對通信服務(wù)程序相關(guān)配置的修改,切換監(jiān)聽端口為浮動IP所對應(yīng)的端口地址,更新通信服務(wù)程序.
3)備份節(jié)點(diǎn)切換成為主服務(wù)節(jié)點(diǎn),并反饋信息給管理員,對初始主機(jī)節(jié)點(diǎn)進(jìn)行故障檢測,排查與維護(hù).
最終,通過傳輸(通信鏈路的動態(tài)切換)和服務(wù)(通信業(yè)務(wù)可遷移)的雙重保證,實(shí)現(xiàn)衛(wèi)星仿真網(wǎng)絡(luò)的動態(tài)可重構(gòu)及網(wǎng)絡(luò)的高可用.
5.1.1 實(shí)驗(yàn)的物理環(huán)境
基于本文的設(shè)計(jì)方法,基于OpenStack云平臺構(gòu)建仿真實(shí)驗(yàn)環(huán)境,其中控制節(jié)點(diǎn)處理器為Intel(R)Xeon(R)CPU E5-2620 v4*2,內(nèi)存64G;網(wǎng)絡(luò)節(jié)點(diǎn)處理器為Intel(R)Xeon(R)CPU E5-2609 v3*2,內(nèi)存為16G;計(jì)算節(jié)點(diǎn)1處理器為Intel(R)Xeon(R)CPU E5-4607 v2*4,內(nèi)存32G;計(jì)算節(jié)點(diǎn)2處理器為Intel(R)Xeon(R)CPU E5-2620 v3*2,內(nèi)存16G;操作系統(tǒng)均采用CentOS7.2,Openstack的版本是Mitaka.
5.1.2 自動化構(gòu)建的仿真場景
在控制節(jié)點(diǎn)實(shí)現(xiàn)對虛擬節(jié)點(diǎn)的管理控制,同時為解決在仿真大規(guī)模場景時的構(gòu)造復(fù)雜的問題,設(shè)計(jì)一種根據(jù)描述文件,自動化映射生成衛(wèi)星網(wǎng)絡(luò)仿真場景的方法.在云平臺中制作生成所需的鏡像文件,在本文中包含衛(wèi)星、信關(guān)站、正常仿真用戶、被控用戶、DDoS主控用戶等.
通過拓?fù)涿枋鑫募?gòu)建實(shí)驗(yàn)場景,執(zhí)行自動化場景生成程序,能夠在云平臺中自動化構(gòu)造天地一體化實(shí)驗(yàn)場景,體現(xiàn)本文設(shè)計(jì)方法的便利性,改善了Openstack云平臺只能通過CLI或Web UI創(chuàng)建單一類型節(jié)點(diǎn)的弊端,并通過自動化映射程序,可自動規(guī)劃節(jié)點(diǎn)到指定計(jì)算節(jié)點(diǎn),充分利用節(jié)點(diǎn)資源,避免因某個節(jié)點(diǎn)硬件資源限制無法實(shí)現(xiàn)大規(guī)模部署,同時本文設(shè)計(jì)方法還集成了docker與KVM多種虛擬化技術(shù),并通過統(tǒng)一的部署程序?qū)崿F(xiàn)無差別映射.

圖5 STK場景
為驗(yàn)證衛(wèi)星網(wǎng)絡(luò)的動態(tài)可重構(gòu)方法的有效性,受限于實(shí)驗(yàn)的物理資源,本實(shí)驗(yàn)只選取6顆衛(wèi)星組成雙軌衛(wèi)星星座,并選取指定衛(wèi)星編號下掛載對比實(shí)驗(yàn)組群;場景映射的程序部署在控制節(jié)點(diǎn),將圖5所示的衛(wèi)星場景以及衛(wèi)星服務(wù)區(qū)域內(nèi)的服務(wù)站和用戶節(jié)點(diǎn)部署在實(shí)驗(yàn)環(huán)境中,通過調(diào)用glance API獲取相應(yīng)的鏡像文件,調(diào)用云平臺nova與neutron組件的API,實(shí)現(xiàn)虛擬節(jié)點(diǎn)的部署與網(wǎng)絡(luò)配置,完成仿真場景的規(guī)劃部署,最終生成的實(shí)驗(yàn)場景如圖6所示.

圖6 高可用仿真實(shí)驗(yàn)圖
仿真衛(wèi)星的運(yùn)動過程,受限于物理資源,構(gòu)造三顆高軌與三顆低軌的圖6小規(guī)模仿真場景,STK控制星歷時間,驅(qū)動衛(wèi)星節(jié)點(diǎn)模擬衛(wèi)星運(yùn)動,同軌道衛(wèi)星距離保持不變,不同軌道間星間距離發(fā)生變化,造成延時改變.每隔一小時采集軌道間鏈路往返一次的延時數(shù)據(jù),總共采集六個小時,每組采集十組數(shù)據(jù)取平均值,驗(yàn)證協(xié)同仿真方法的可行性.并取其中一條鏈路分析仿真結(jié)果與理論值的誤差大小.
根據(jù)圖7協(xié)同仿真實(shí)驗(yàn)數(shù)據(jù),可看到每條鏈路延時屬性的動態(tài)變化,證明本方法實(shí)現(xiàn)了控制平面與數(shù)據(jù)轉(zhuǎn)發(fā)平面的分離,滿足集中控制分布實(shí)現(xiàn)的需求,可以實(shí)現(xiàn)衛(wèi)星多條鏈路延時參數(shù)協(xié)同仿真的效果,保證衛(wèi)星仿真節(jié)點(diǎn)動態(tài)機(jī)動的特性.通過圖8鏈路仿真延時數(shù)據(jù),以LEO_GEO1作為目標(biāo)案例,分析鏈路仿真的誤差大小,其中誤差率=(實(shí)際值-理論值)/理論值*100%,由實(shí)驗(yàn)數(shù)據(jù)得到仿真的平均誤差率為0.153%,誤差率較小,仿真結(jié)果與理論值相近,證明本文方法是理想的仿真辦法.

圖7 協(xié)同仿真實(shí)驗(yàn)
除了衛(wèi)星周期運(yùn)動引起的規(guī)律網(wǎng)絡(luò)變化外,由于衛(wèi)星自身原因或因外界的非法攻擊的情況也會導(dǎo)致突發(fā)的網(wǎng)絡(luò)變化.在仿真過程中模擬衛(wèi)星意外掉電行為,采用隨機(jī)策略針對LEO_3和GEO_1進(jìn)行衛(wèi)星故障仿真實(shí)驗(yàn),導(dǎo)致衛(wèi)星無法提供服務(wù),取圖中的節(jié)點(diǎn)USR1與USR2(假定星地網(wǎng)絡(luò)鏈路參數(shù)不變),并且節(jié)點(diǎn)中集成了traceroute路徑探索服務(wù),通過USR1中探索USR2的可達(dá)路徑,每隔一小時采集路徑信息,來驗(yàn)證方法能夠?qū)崿F(xiàn)鏈路狀態(tài)改變后的自主選擇.

圖8 LEO_GEO1鏈路仿真延時數(shù)據(jù)
實(shí)驗(yàn)結(jié)果如圖9所示鏈路采集結(jié)果,顯示了各個采集時間點(diǎn)USR1到達(dá)USR2的路徑上經(jīng)過的衛(wèi)星節(jié)點(diǎn),通過實(shí)驗(yàn)結(jié)果所示,由于衛(wèi)星狀態(tài)的改變,衛(wèi)星節(jié)點(diǎn)能夠?qū)崿F(xiàn)動態(tài)拓?fù)涞穆酚蓪W(xué)習(xí),用戶的請求在鏈路發(fā)生變化后,自動調(diào)整轉(zhuǎn)發(fā)路徑,成功抵達(dá)目標(biāo)用戶.通過實(shí)驗(yàn)結(jié)果證明,本方法能夠在衛(wèi)星網(wǎng)絡(luò)的發(fā)生變化后的路徑動態(tài)切換,實(shí)現(xiàn)網(wǎng)絡(luò)重構(gòu),同時解決了目前云平臺中的動態(tài)路由問題.

圖9 LEO_GEO1路徑采集數(shù)據(jù)
為驗(yàn)證通信服務(wù)的高可用,取圖中的原始信關(guān)站Station_Test1與采用本文設(shè)計(jì)方法的Station_Test2.通過在云平臺中集成的分布式攻擊仿真方法,分別攻擊兩個站點(diǎn),并通過USR1與USR2的通話方法,來驗(yàn)證服務(wù)的可用性.證明本方法的可以實(shí)現(xiàn)通信服務(wù)的高可用與對攻擊的可抗性.為此兩組的實(shí)驗(yàn)結(jié)果如表1所示.

表1 熱遷移實(shí)驗(yàn)結(jié)果
實(shí)驗(yàn)結(jié)果證明,初始信關(guān)站無法抵抗DDoS攻擊,受到攻擊時無法提供正常的服務(wù),用戶發(fā)起通信的請求無法收到正常回應(yīng),無法抵抗DDoS攻擊.采用本文的設(shè)計(jì)方法,則可以在受到攻擊后正常提供服務(wù),可以提供高質(zhì)量的服務(wù),保證服務(wù)的高可用性.
本文設(shè)計(jì)一種天地一體化網(wǎng)絡(luò)環(huán)境中的網(wǎng)絡(luò)動態(tài)重構(gòu)方法,從高空與地面等多種維度保證服務(wù)的高可用,為衛(wèi)星通信網(wǎng)絡(luò)的建設(shè)提供一定的參考價(jià)值,下一步研究天地一體化衛(wèi)星網(wǎng)絡(luò)的加密鑒權(quán)方法,保證高質(zhì)量的同時可以實(shí)現(xiàn)安全業(yè)務(wù),同時研究提升天地一體化衛(wèi)星網(wǎng)絡(luò)動態(tài)重構(gòu)實(shí)時性的方法.