王曉靜, 夏群峰, 王曉鋒
(1.江南大學(xué) 物聯(lián)網(wǎng)工程學(xué)院, 江蘇 無(wú)錫 214122;2.江南計(jì)算技術(shù)研究所, 江蘇 無(wú)錫 214000)
虛實(shí)網(wǎng)絡(luò)融合的仿真技術(shù)可有效兼顧評(píng)估平臺(tái)的性能與逼真度[1~3],因此,成為當(dāng)前研究的熱點(diǎn)。文獻(xiàn)[4]講述了綜合分布式網(wǎng)絡(luò)模擬技術(shù)以及基于虛擬化的網(wǎng)絡(luò)仿真技術(shù),實(shí)現(xiàn)了模擬、仿真融合的實(shí)驗(yàn)平臺(tái),進(jìn)一步重點(diǎn)研究了網(wǎng)絡(luò)模擬與網(wǎng)絡(luò)仿真的同步問(wèn)題。文獻(xiàn)[5]在實(shí)現(xiàn)了模擬、仿真融合的網(wǎng)絡(luò)實(shí)驗(yàn)平臺(tái)的基礎(chǔ)上,重點(diǎn)研究了網(wǎng)絡(luò)模擬與仿真的同步技術(shù)以及高性能仿真模型。文獻(xiàn)[6]摒棄了HLA/RTI 的同步機(jī)制,實(shí)現(xiàn)了模擬器與實(shí)物網(wǎng)絡(luò)交替推進(jìn)同步的分布式模擬機(jī)制。文獻(xiàn)[7]在實(shí)現(xiàn)了一種基于QualNet 模擬器與實(shí)物互聯(lián)互通方法的基礎(chǔ)上,重點(diǎn)關(guān)注了基于隧道模式與解析模式的虛實(shí)報(bào)文互通技術(shù)。文獻(xiàn)[8]重點(diǎn)關(guān)注了真實(shí)軟件可無(wú)縫應(yīng)用于模擬器的時(shí)鐘同步方法。文獻(xiàn)[9]重點(diǎn)關(guān)注了虛實(shí)結(jié)合仿真技術(shù)中報(bào)文解析與重構(gòu)以及基于動(dòng)態(tài)路由的報(bào)文轉(zhuǎn)發(fā)技術(shù)。文獻(xiàn)[3,10]實(shí)現(xiàn)了一種基于ARP 欺騙、報(bào)文捕獲與構(gòu)造的并行模擬器與實(shí)物設(shè)備互聯(lián)互通的方法。文獻(xiàn)[11]通過(guò)虛擬網(wǎng)卡橋接的虛實(shí)對(duì)接設(shè)計(jì)完成了物理網(wǎng)絡(luò)和仿真網(wǎng)絡(luò)邊界節(jié)點(diǎn)的連通??傮w看來(lái),當(dāng)前大部分虛實(shí)網(wǎng)絡(luò)融合的仿真技術(shù)均基于網(wǎng)絡(luò)模擬器的實(shí)現(xiàn),雖然在融合方面重點(diǎn)考慮了同步機(jī)制以及虛實(shí)報(bào)文構(gòu)造方法,但均存在缺乏考慮任意靈活接入實(shí)物設(shè)備的接入方法的問(wèn)題。
本文在重點(diǎn)描述了虛實(shí)網(wǎng)絡(luò)融合仿真系統(tǒng)的體系結(jié)構(gòu)并實(shí)現(xiàn)了其功能的基礎(chǔ)上,針對(duì)前期研究中存在的問(wèn)題,提出了一種可任意靈活接入的虛實(shí)網(wǎng)絡(luò)融合仿真方法,并通過(guò)具體網(wǎng)絡(luò)拓?fù)鋵?shí)例深入闡述并驗(yàn)證了該方法的正確性和有效性。
虛實(shí)網(wǎng)絡(luò)融合仿真系統(tǒng)由NS3模擬仿真網(wǎng)絡(luò)、虛實(shí)網(wǎng)絡(luò)融合仿真平臺(tái)和物理設(shè)備3部分組成。其體系結(jié)構(gòu)如圖1所示。
圖1 虛實(shí)網(wǎng)絡(luò)融合仿真系統(tǒng)
NS3[12~14]主要用于模擬仿真節(jié)點(diǎn),構(gòu)造多仿真節(jié)點(diǎn)組成的仿真網(wǎng)絡(luò)拓?fù)?,其中的仿真?jié)點(diǎn)既可以作為發(fā)送方,也可以作為接收方,用于完成對(duì)虛擬報(bào)文的發(fā)送或接收。如圖1所示,通過(guò)平臺(tái)的靈活接入模塊選擇仿真網(wǎng)絡(luò)中的任意仿真節(jié)點(diǎn)作為發(fā)送端,真實(shí)節(jié)點(diǎn)作為接收端,從而實(shí)現(xiàn)虛實(shí)鏈路間的通信過(guò)程。
該平臺(tái)是整個(gè)虛實(shí)網(wǎng)絡(luò)融合仿真系統(tǒng)中最重要的部分,依附于實(shí)物設(shè)備運(yùn)行,如圖1所示,該平臺(tái)與接入端設(shè)備(物理設(shè)備和NS3仿真節(jié)點(diǎn))相連,主要通過(guò)MPI,Libnet,Libpcap等技術(shù)實(shí)現(xiàn)接入端設(shè)備的靈活任意接入、報(bào)文檢測(cè)、報(bào)文解析、重構(gòu)轉(zhuǎn)發(fā)等功能,實(shí)現(xiàn)端與端之間的業(yè)務(wù)和數(shù)據(jù)信息的交互,完成雙向代理功能。
物理設(shè)備指真實(shí)節(jié)點(diǎn),同樣既可以作為發(fā)送端也可以作為接收端,用于完成對(duì)真實(shí)報(bào)文的發(fā)送或接收。當(dāng)進(jìn)行實(shí)虛相互通信時(shí),即真實(shí)節(jié)點(diǎn)作為發(fā)送端,仿真節(jié)點(diǎn)作為接收端,同理完成實(shí)虛鏈路間的相互通信。
如圖1所示,虛實(shí)網(wǎng)絡(luò)融合仿真平臺(tái)主要包括4個(gè)模塊,進(jìn)行虛實(shí)鏈路構(gòu)建時(shí)的通信流程如圖2所示,各模塊的詳細(xì)功能介紹如下:
1)靈活接入模塊:根據(jù)用戶的需求,靈活選擇虛實(shí)網(wǎng)絡(luò)中的任意兩節(jié)點(diǎn)作為發(fā)送端節(jié)點(diǎn)和接收端目的節(jié)點(diǎn)。
2)報(bào)文檢測(cè)模塊:作用于通過(guò)虛實(shí)網(wǎng)絡(luò)融合仿真平臺(tái)進(jìn)行真實(shí)節(jié)點(diǎn)到仿真節(jié)點(diǎn)通信時(shí),利用Libpcap技術(shù)檢測(cè)平臺(tái)流經(jīng)的數(shù)據(jù)報(bào)文,若為平臺(tái)需要,則交由報(bào)文解析模塊;則,丟棄。
3)報(bào)文解析模塊:對(duì)流經(jīng)該模塊的數(shù)據(jù)報(bào)文進(jìn)行處理,解析數(shù)據(jù)報(bào)文的類型、格式及內(nèi)容,并交由重構(gòu)轉(zhuǎn)發(fā)模塊。
4)重構(gòu)轉(zhuǎn)發(fā)模塊:利用NS3內(nèi)部機(jī)制或Libnet技術(shù)將流經(jīng)該模塊的數(shù)據(jù)報(bào)文重構(gòu)為大小、類型、內(nèi)容一致的且下一段鏈路能夠識(shí)別的報(bào)文,然后利用MPI機(jī)制或Libnet技術(shù)發(fā)送重構(gòu)報(bào)文到接收目的節(jié)點(diǎn)。
與文獻(xiàn)[3]相比,虛實(shí)網(wǎng)絡(luò)融合仿真平臺(tái)在加入靈活接入模塊的基礎(chǔ)上,通過(guò)對(duì)該平臺(tái)設(shè)置與仿真節(jié)點(diǎn)一致的網(wǎng)絡(luò)地址,摒棄ARP模塊,避免了不斷尋址的問(wèn)題,通過(guò)節(jié)省模擬時(shí)間,大幅提高了模擬效率。
靈活接入,指將虛實(shí)仿真網(wǎng)絡(luò)中的節(jié)點(diǎn)通過(guò)虛實(shí)網(wǎng)絡(luò)融合仿真平臺(tái),構(gòu)建出相應(yīng)的虛實(shí)鏈路,其任意節(jié)點(diǎn)均可通過(guò)靈活接入模塊完成隔離網(wǎng)絡(luò)間的通信,網(wǎng)絡(luò)間的任意節(jié)點(diǎn)均可成為發(fā)送方或者接收方;對(duì)于一定拓?fù)浣Y(jié)構(gòu)的隔離網(wǎng)絡(luò)而言,經(jīng)過(guò)靈活接入的接口可實(shí)現(xiàn)不同虛實(shí)鏈路間的任意切換。如圖3所示。
實(shí)現(xiàn)原理:用戶進(jìn)行隔離網(wǎng)絡(luò)間通信時(shí),在讀取預(yù)設(shè)定的網(wǎng)絡(luò)拓?fù)錁?gòu)建配置文件后,通過(guò)靈活接入接口獲取用戶外部的靈活配置信息,該端口對(duì)配置信息進(jìn)行處理,并根據(jù)不同的靈活配置信息對(duì)虛實(shí)平臺(tái)內(nèi)部相對(duì)應(yīng)的網(wǎng)絡(luò)節(jié)點(diǎn)進(jìn)行不同的應(yīng)用設(shè)置,然后開(kāi)啟通信進(jìn)程,完成接入網(wǎng)絡(luò)源節(jié)點(diǎn)與目標(biāo)網(wǎng)絡(luò)目的節(jié)點(diǎn)間的通信;到達(dá)目標(biāo)網(wǎng)絡(luò)節(jié)點(diǎn)后,若需完成不同鏈路間的通信,則通過(guò)靈活接入接口重新獲取外部配置信息,即可實(shí)現(xiàn)另一鏈路的通信過(guò)程,實(shí)現(xiàn)不同鏈路間的通信切換。
并行分布式離散事件仿真(MPI)[15],作為標(biāo)準(zhǔn)的消息傳遞接口,可以實(shí)現(xiàn)單一的仿真程序在多個(gè)處理器上的分布執(zhí)行,從而將仿真程序拆分為多個(gè)邏輯進(jìn)程,并且不同的邏輯進(jìn)程由不同的處理器完成,最終完成不同宿主機(jī)仿真節(jié)點(diǎn)間的虛擬通信。如圖4(a),(b) 運(yùn)行相同的程序,在圖4(a)中執(zhí)行進(jìn)程1,即節(jié)點(diǎn)A發(fā)送報(bào)文到A′,A′作為圖4(b)中接收端節(jié)點(diǎn)B的映射節(jié)點(diǎn);同理,在圖4(b)中B′僅作為節(jié)點(diǎn)A的映射節(jié)點(diǎn),執(zhí)行進(jìn)程2,即節(jié)點(diǎn)B接收來(lái)自映射點(diǎn)B′實(shí)質(zhì)為節(jié)點(diǎn)A發(fā)送的數(shù)據(jù)報(bào)文。這種方法與傳統(tǒng)的Socket通信相比大幅提高了大規(guī)模仿真事件的處理能力和物理設(shè)備的可用性。
圖4 跨宿主機(jī)間的MPI通信原理
實(shí)驗(yàn)使用2臺(tái)Windows物理主機(jī)和2臺(tái)Linux服務(wù)器,其中一臺(tái)服務(wù)器運(yùn)行虛實(shí)網(wǎng)絡(luò)融合仿真平臺(tái),另一臺(tái)服務(wù)器運(yùn)行NS3網(wǎng)絡(luò)模擬器,用來(lái)構(gòu)造仿真網(wǎng)絡(luò)。為驗(yàn)證靈活接入方式的可行性,接入多個(gè)設(shè)備節(jié)點(diǎn)包括:物理主機(jī)A(192.168.1.190)、物理主機(jī)B(192.168.1.129)、仿真節(jié)點(diǎn)1~7,其中A,B為真實(shí)節(jié)點(diǎn),節(jié)點(diǎn)1~7為NS3網(wǎng)絡(luò)模擬器模擬出的仿真節(jié)點(diǎn),圖5左側(cè)為構(gòu)建的仿真網(wǎng)絡(luò)拓?fù)洹?/p>
分別選取仿真網(wǎng)絡(luò)拓?fù)渲泄?jié)點(diǎn)4和節(jié)點(diǎn)6作為發(fā)送端,主機(jī)A和主機(jī)B作為目的端,采用靈活接入方式,完成不同虛實(shí)節(jié)點(diǎn)間鏈路的相互通信。
配置過(guò)程:如圖5所示,針對(duì)接入設(shè)備的多個(gè)節(jié)點(diǎn)中,首先啟動(dòng)虛實(shí)網(wǎng)絡(luò)融合仿真平臺(tái),讀取預(yù)設(shè)的網(wǎng)絡(luò)拓?fù)渑渲梦募?,同時(shí)根據(jù)平臺(tái)所提示的發(fā)送端和目的端的地址IP選項(xiàng)信息,即仿真節(jié)點(diǎn)1~7,真實(shí)節(jié)點(diǎn)A,B,終端選擇仿真節(jié)點(diǎn)4作為發(fā)送端,物理主機(jī)A作為目的端,自動(dòng)將選擇的數(shù)據(jù)信息生成配置文件,平臺(tái)通過(guò)讀取該配置文件,完成用戶所選擇的節(jié)點(diǎn)間的通信;選擇仿真網(wǎng)絡(luò)拓?fù)渲械墓?jié)點(diǎn)6和真實(shí)節(jié)點(diǎn)B分別作為發(fā)送端和目的端,只需重新選擇該平臺(tái)提供的發(fā)送端和目的端的地址選項(xiàng)信息自動(dòng)生成新配置文件,平臺(tái)讀取該文件即可完成新的虛實(shí)鏈路間的通信,實(shí)現(xiàn)了不同設(shè)備的靈活接入。
圖5 虛實(shí)網(wǎng)絡(luò)間網(wǎng)絡(luò)拓?fù)鋱D
1)PING命令的虛實(shí)通信測(cè)試
選擇圖5中仿真節(jié)點(diǎn)4為發(fā)送端,物理主機(jī)A為接收端。實(shí)驗(yàn)結(jié)果如圖6所示。
圖6 仿真節(jié)點(diǎn)與真實(shí)節(jié)點(diǎn)的數(shù)據(jù)報(bào)文對(duì)比
圖6(a)為TcpDump跟蹤仿真節(jié)點(diǎn)4獲取到虛擬數(shù)據(jù)報(bào)文,圖6(b)為主機(jī)A通過(guò)Wireshark工具獲取到的真實(shí)數(shù)據(jù)報(bào)文,數(shù)據(jù)報(bào)文的成功獲取,表明了采用靈活接入方式可以成功實(shí)現(xiàn)虛實(shí)鏈路間的相互通信,同時(shí)經(jīng)過(guò)詳細(xì)對(duì)比發(fā)現(xiàn),兩者的數(shù)據(jù)報(bào)文的類型、大小、內(nèi)容等完全一致,表明了數(shù)據(jù)報(bào)文在虛實(shí)網(wǎng)絡(luò)中的傳輸與物理網(wǎng)絡(luò)中的傳輸結(jié)果一致,保證了仿真結(jié)果的真實(shí)性。
2)基于TCP的Web訪問(wèn)測(cè)試
選擇圖5中物理主機(jī)B為請(qǐng)求方,仿真節(jié)點(diǎn)6為應(yīng)答方,并在B上安裝Fiddler Web Server客戶端,在仿真節(jié)點(diǎn)6編寫測(cè)試網(wǎng)頁(yè),假設(shè)物理B通過(guò)Fiddler能夠訪問(wèn)到測(cè)試網(wǎng)頁(yè),則證明完成了實(shí)物網(wǎng)絡(luò)到仿真網(wǎng)絡(luò)的完整通信。
圖7(a)為Fiddler通過(guò)端口8088向目的仿真節(jié)點(diǎn)6發(fā)送請(qǐng)求報(bào)文的頁(yè)面狀態(tài),圖的上部分顯示HTTP(GET)報(bào)文的信息,下部分顯示來(lái)自仿真節(jié)點(diǎn)6的HTTP(OK)應(yīng)答報(bào)文的內(nèi)容;圖7(b)為接收HTTP(OK)應(yīng)答報(bào)文后打開(kāi)的測(cè)試頁(yè)面,測(cè)試頁(yè)面的正常顯示不僅表明了實(shí)物網(wǎng)絡(luò)與虛擬網(wǎng)絡(luò)的通信,還可以在虛實(shí)通信的基礎(chǔ)上進(jìn)行具體的網(wǎng)絡(luò)實(shí)驗(yàn)。
圖7 Fiddler訪問(wèn)仿真節(jié)點(diǎn)的實(shí)驗(yàn)結(jié)果
實(shí)驗(yàn)結(jié)果表明:針對(duì)網(wǎng)絡(luò)拓?fù)渲械亩鄠€(gè)接入端設(shè)備,完成隔離網(wǎng)絡(luò)間通信的前提下,利用靈活的接入方法,可以成功實(shí)現(xiàn)同一拓?fù)湎虏煌搶?shí)鏈路間通信的任意切換,驗(yàn)證了本文方法的可行性。
在實(shí)現(xiàn)了虛實(shí)網(wǎng)絡(luò)融合仿真平臺(tái)功能的基礎(chǔ)上,重點(diǎn)提出并實(shí)現(xiàn)了接入端設(shè)備可任意靈活接入該平臺(tái)的接入方法,并通過(guò)實(shí)例驗(yàn)證了該方法可有效提高網(wǎng)絡(luò)仿真鏈路構(gòu)建的靈活性。
[1] Andel T R,Stewart K E,Jeffrey H W.Using virtualization for cyber security education and experimentation[C]∥Proceedings of the14th Colloquium for Information Systems Security Education,Maryland,Baltimore,USA:IEEE,2010:130-136.
[2] Liu N,Carothers C,Cope J,et al.Model and simulation of exascale communication networks[J].Journal of Simulation,2012,6(6):227-236.
[3] 費(fèi)海強(qiáng),郝志宇,云曉春,等.一種實(shí)現(xiàn)實(shí)物設(shè)備無(wú)縫接入網(wǎng)絡(luò)模擬器的系統(tǒng)及方法:中國(guó),103078769A[P].2013—05—01.
[4] Jin D,Zheng Y,Nicol D M.A parallel network simulation and virtual time-based network emulation testbed[J].Journal of Simulation,2014,8(3):206-214.
[5] Erazo M A,Liu J.Leveraging symbiotic relationship between simulation and emulation for scalable network experimenta-tion[C]∥Proceedings of the2013ACM SIGSIM Conference on Principles of Advanced Discrete Simulation,ACM,2013:79-90.
[6] 張建軍,韋 濤,田永春,等.分布式半實(shí)物網(wǎng)絡(luò)仿真系統(tǒng)及其半實(shí)物接口控制方法:中國(guó),101645813[P].2010—02—10.
[7] 栗 蘋,龔 鵬,孔杰軍,等.一種面向QualNet 網(wǎng)絡(luò)半實(shí)物仿真的實(shí)物接入方法:中國(guó),103200190A[P].2013—07—10.
[8] 林思明,王景飛,程學(xué)旗,等.一種離散事件網(wǎng)絡(luò)模擬環(huán)境的時(shí)鐘同步方法:中國(guó),102662428A[P].2012—09—12.
[9] 趙 剛,況曉輝,鄭緯民.LDS脆弱性分析實(shí)驗(yàn)環(huán)境體系結(jié)構(gòu)研究與實(shí)現(xiàn)[J].清華大學(xué)學(xué)報(bào):自然科學(xué)版,2011,51(12):1824-1830.
[10] 韋 濤,田永春,姜永廣.基于協(xié)同的半實(shí)物網(wǎng)絡(luò)仿真系統(tǒng)設(shè)計(jì)[J].通信技術(shù),2011,44(12):64-66.
[11] 李廣榮.基于NS—3的虛實(shí)網(wǎng)絡(luò)結(jié)合系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].哈爾濱:哈爾濱工業(yè)大學(xué),2015.
[12] NS—3manual[EB/OL].http:∥www.nsnam.org,2015—05—13.
[13] Riley G F,Henderson T R.Modeling & tools for network simulation[M].Berlin Heidelberg:Springer-Verlag,2010:55-57.
[14] Font J L,Ińigo P,Domínguez M,et al.Analysis of source code metrics from ns-2and ns-3network simulators[J].Simulation Modelling Practice & Theory,2011,19(5):1330-1346.
[15] Stoffers M,Riley G.Hybrid simulation of packet-level networks and functional-level routers[C]∥Proceedings of the26th ACM/IEEE International Conference on Principles of Advanced and Distributed Simulation (PADS),IEEE,2012:111-119.