專利名稱:基于進(jìn)程運(yùn)行環(huán)境感知與遷移的網(wǎng)絡(luò)模擬框架實(shí)現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及到一種新型的大規(guī)模網(wǎng)絡(luò)仿真與模擬的框架實(shí)現(xiàn)技術(shù),該技術(shù)采用通 用的模擬驅(qū)動(dòng)架構(gòu),基于有限狀態(tài)機(jī)加載網(wǎng)絡(luò)設(shè)備的個(gè)性特征描述文檔,實(shí)現(xiàn)對(duì)應(yīng)用服務(wù) 的個(gè)性特征、安全漏洞的仿真與模擬。通過(guò)本技術(shù)的模擬框架實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)設(shè)備或應(yīng)用服務(wù) 的個(gè)性特征與安全漏洞描述文檔的裝配,可以實(shí)現(xiàn)多種網(wǎng)絡(luò)設(shè)置的模擬,并能對(duì)網(wǎng)絡(luò)模擬 節(jié)點(diǎn)的行為進(jìn)行細(xì)致模擬,包括新發(fā)現(xiàn)的安全漏洞,補(bǔ)丁情況對(duì)網(wǎng)絡(luò)設(shè)備安全漏洞的影響 等。除此之外,該架構(gòu)對(duì)外提供統(tǒng)一的命令接口,并能基于模擬進(jìn)程對(duì)于運(yùn)行環(huán)境上下文的 感知,通過(guò)進(jìn)程遷移,有效平滑整個(gè)模擬任務(wù)的性能瓶頸,具備對(duì)大規(guī)模復(fù)雜結(jié)構(gòu)網(wǎng)絡(luò)的仿 真與模擬能力
背景技術(shù):
近年來(lái),網(wǎng)絡(luò)的仿真與模擬技術(shù)已成為網(wǎng)絡(luò)科研、網(wǎng)絡(luò)安全與管理人才培養(yǎng)的重 要手段與方法。主要原因在于由于現(xiàn)代網(wǎng)絡(luò)日趨復(fù)雜,且網(wǎng)絡(luò)設(shè)備與應(yīng)用服務(wù)所具有的多 樣性,要通過(guò)搭建一個(gè)物理的網(wǎng)絡(luò)環(huán)境作為科研與人才培養(yǎng)平臺(tái),是十分困難的。比如建 立一個(gè)包含大量路由器的廣域網(wǎng)絡(luò)在經(jīng)濟(jì)上是不現(xiàn)實(shí)的;使用大量主機(jī)安裝具有各種漏洞 的操作系統(tǒng)和服務(wù)軟件也難以實(shí)現(xiàn)。因此,通過(guò)軟件的方式模擬構(gòu)建復(fù)雜網(wǎng)絡(luò)環(huán)境唯一的 選擇。
發(fā)明內(nèi)容
本方法是順應(yīng)現(xiàn)代網(wǎng)絡(luò)的發(fā)展趨勢(shì)、滿足網(wǎng)絡(luò)科研與網(wǎng)絡(luò)人才培養(yǎng)的需求,以大 規(guī)模復(fù)雜網(wǎng)絡(luò)的仿真模擬為目標(biāo)提出的一種通用的基于進(jìn)程運(yùn)行環(huán)境感知與遷移的大型 網(wǎng)絡(luò)模擬框架實(shí)現(xiàn)方法。本方法通過(guò)通用的網(wǎng)絡(luò)設(shè)備個(gè)性特征描述,基于有限狀態(tài)機(jī)實(shí)現(xiàn) 對(duì)網(wǎng)絡(luò)設(shè)備的網(wǎng)絡(luò)行為模擬,再通過(guò)對(duì)網(wǎng)絡(luò)應(yīng)用服務(wù)的模擬、模擬網(wǎng)絡(luò)設(shè)備節(jié)點(diǎn)的裝配、全 局模板任務(wù)的管理與控制、模擬進(jìn)程的遷移等多種技術(shù)手段實(shí)現(xiàn)了一種分布式的、模擬網(wǎng) 絡(luò)節(jié)點(diǎn)特征可裝配的、模擬進(jìn)程可遷移的通用網(wǎng)絡(luò)模擬與仿真框架,基于該框架可實(shí)現(xiàn)對(duì) 大規(guī)模復(fù)雜網(wǎng)絡(luò)的細(xì)致模擬與仿真。與現(xiàn)有的網(wǎng)絡(luò)模擬與仿真技術(shù)相比,本技術(shù)基于通用性的網(wǎng)絡(luò)節(jié)點(diǎn)個(gè)性特征描 述,有限狀態(tài)機(jī)實(shí)現(xiàn)對(duì)應(yīng)用服務(wù)的模擬,同時(shí)基于模擬驅(qū)動(dòng)架構(gòu)實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)設(shè)備的模擬,該 驅(qū)動(dòng)架構(gòu)實(shí)現(xiàn)了模擬系統(tǒng)與模擬設(shè)備的無(wú)關(guān)性,是實(shí)現(xiàn)模擬設(shè)備多樣化與配置靈活性,以 及模擬系統(tǒng)的開(kāi)放性、擴(kuò)展性的基礎(chǔ)。再由模擬進(jìn)程的運(yùn)行上下文感知、遷移實(shí)現(xiàn)了模擬任 務(wù)的瓶頸消除,保證了本框架的大規(guī)模復(fù)雜網(wǎng)絡(luò)的模擬與仿真能力。本發(fā)明的目的在于實(shí)現(xiàn)一個(gè)針對(duì)大規(guī)模復(fù)雜網(wǎng)絡(luò)的模擬與仿真系統(tǒng)框架,該框架是一個(gè)開(kāi)放的網(wǎng)絡(luò) 仿真與模擬平臺(tái),在該平臺(tái)上可以實(shí)現(xiàn)各種網(wǎng)絡(luò)設(shè)備與應(yīng)用服務(wù)的模擬,與現(xiàn)有的其它網(wǎng) 絡(luò)安全模擬產(chǎn)品相比,本框架在易用性、擴(kuò)展性方面具有更良好的性能。該框架的用戶只需 要考慮如何實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)設(shè)備的個(gè)性特征與網(wǎng)絡(luò)漏洞進(jìn)行標(biāo)準(zhǔn)化的描述,或者從設(shè)備與應(yīng)用服務(wù)的生產(chǎn)商獲取標(biāo)準(zhǔn)化描述,將描述配置到本系統(tǒng)中,即可以實(shí)現(xiàn)對(duì)設(shè)備與服務(wù)的模擬, 具體的模擬實(shí)現(xiàn)過(guò)程由通用模擬架構(gòu)自動(dòng)完成。本發(fā)明的目的是這樣實(shí)現(xiàn)的至少包含以下幾個(gè)步驟一種基于進(jìn)程運(yùn)行環(huán)境感知與遷移的大型網(wǎng)絡(luò)模擬框架實(shí)現(xiàn)方法,包括以下幾個(gè) 步驟1)通用網(wǎng)絡(luò)模擬節(jié)點(diǎn)即網(wǎng)絡(luò)模擬設(shè)備的個(gè)性特征描述,并對(duì)描述文檔進(jìn)行定義;2)基于有限狀態(tài)機(jī)的網(wǎng)絡(luò)模擬節(jié)點(diǎn)行為仿真基于有限狀態(tài)機(jī)實(shí)現(xiàn)個(gè)性特征描 述文檔的加載,并根據(jù)網(wǎng)絡(luò)模擬節(jié)點(diǎn)的當(dāng)前狀態(tài)與接收的網(wǎng)絡(luò)仿真數(shù)據(jù),切換網(wǎng)絡(luò)模擬節(jié) 點(diǎn)的狀態(tài);3)應(yīng)用服務(wù)的仿真基于步驟1和2,對(duì)網(wǎng)絡(luò)設(shè)備節(jié)點(diǎn)上的裝載的應(yīng)用服務(wù)仿真與 模擬;4)網(wǎng)絡(luò)節(jié)點(diǎn)的模擬與仿真是對(duì)網(wǎng)絡(luò)節(jié)點(diǎn)的功能進(jìn)行模擬,該模擬都是通過(guò)對(duì)應(yīng) 用服務(wù)的模擬來(lái)實(shí)現(xiàn)的;5)模擬驅(qū)動(dòng)架構(gòu)的實(shí)現(xiàn)提供網(wǎng)絡(luò)模擬與仿真的整體驅(qū)動(dòng)框架;6)進(jìn)程的運(yùn)行環(huán)境上下文感知是模擬進(jìn)程對(duì)模擬服務(wù)器運(yùn)行情況的數(shù)據(jù)采集 與分析功能模塊;本模塊依據(jù)進(jìn)程使用系統(tǒng)資源信息,來(lái)判斷此時(shí)模擬服務(wù)器能否提供完 成其模擬任務(wù)的足夠的系統(tǒng)資源;7)進(jìn)程的遷移實(shí)現(xiàn)如果步驟6)中,模擬服務(wù)器不能提供完成其模擬任務(wù)的足夠 的系統(tǒng)資源,則模擬進(jìn)程向模擬服務(wù)器提出遷移請(qǐng)求,步驟包括先生成模擬進(jìn)程映像停止內(nèi)部模擬有限狀態(tài)機(jī),并將狀態(tài)有限機(jī)所處的狀態(tài)與 相應(yīng)的數(shù)據(jù)生成映像文件;再生成封裝文件在確認(rèn)遷移目標(biāo)后,將模擬進(jìn)程中有限狀態(tài)機(jī)停止后接收的網(wǎng) 絡(luò)數(shù)據(jù)進(jìn)行封裝;最后將封裝文件與進(jìn)程映像提交給遷移目標(biāo)模擬服務(wù)器,由該服務(wù)器使用模擬驅(qū) 動(dòng)架構(gòu)重建模擬網(wǎng)絡(luò)節(jié)點(diǎn),恢復(fù)模擬進(jìn)程,實(shí)現(xiàn)模擬服務(wù)器之間的模擬進(jìn)程遷移。本發(fā)明的特點(diǎn)在于1.開(kāi)放的平臺(tái)與通用的架構(gòu)本技術(shù)實(shí)現(xiàn)的網(wǎng)絡(luò)安全模擬框架是一個(gè)開(kāi)放的平 臺(tái),在該平臺(tái)上可以實(shí)現(xiàn)各種網(wǎng)絡(luò)設(shè)備與應(yīng)用服務(wù)的模擬,與現(xiàn)有的其它網(wǎng)絡(luò)安全模擬產(chǎn) 品相比,本系統(tǒng)在易用性、擴(kuò)展性方面具有更良好的性能,開(kāi)放平臺(tái)與通用架構(gòu)使得用戶只 需要考慮如何實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)設(shè)備的個(gè)性特征與網(wǎng)絡(luò)漏洞進(jìn)行標(biāo)準(zhǔn)化的描述,或者也可以從設(shè) 備與應(yīng)用服務(wù)的生產(chǎn)商獲取標(biāo)準(zhǔn)化描述,將描述安裝至本系統(tǒng)中,即可以實(shí)現(xiàn)對(duì)設(shè)備與服 務(wù)的模擬,而具體的模擬實(shí)現(xiàn)由通用模擬架構(gòu)完成;2.個(gè)性特征與安全漏洞的描述標(biāo)準(zhǔn)及其模擬個(gè)性特征與安全漏洞的模擬標(biāo)準(zhǔn) 與模擬是本技術(shù)的核心,目前尚未有實(shí)現(xiàn)這方面模擬的同類產(chǎn)品與系統(tǒng)。個(gè)性特征與安全 漏洞模擬是實(shí)現(xiàn)本技術(shù)網(wǎng)絡(luò)模擬與仿真的基礎(chǔ),本技術(shù)采用的標(biāo)準(zhǔn)化描述方式,個(gè)性特征 與安全漏洞的裝配方式為本技術(shù)擬設(shè)備與服務(wù)的多樣式與變更的靈活性提供了重要的技 術(shù)基石出。3.模擬驅(qū)動(dòng)架構(gòu)模擬驅(qū)動(dòng)架構(gòu)是本技術(shù)實(shí)現(xiàn)模擬功能的中樞,該架構(gòu)在個(gè)性特征與安全漏洞標(biāo)準(zhǔn)化描述的基礎(chǔ)上,實(shí)現(xiàn)對(duì)模擬模塊裝配與模擬控制,模擬驅(qū)動(dòng)架構(gòu)實(shí)現(xiàn) 了模擬系統(tǒng)與模擬設(shè)備的無(wú)關(guān)性,是實(shí)現(xiàn)模擬設(shè)備多樣化與配置靈活性,以及模擬系統(tǒng)的 開(kāi)放性、擴(kuò)展性的基礎(chǔ)4.模擬進(jìn)程的遷移在本技術(shù)中實(shí)現(xiàn)了模擬進(jìn)程的遷移技術(shù),即一個(gè)模擬網(wǎng)絡(luò)節(jié) 點(diǎn)進(jìn)程可以從一個(gè)模擬驅(qū)動(dòng)架構(gòu)遷移至另外一個(gè)模擬驅(qū)動(dòng)架構(gòu)中。模擬進(jìn)程的遷移實(shí)現(xiàn) 了本技術(shù)對(duì)大規(guī)模復(fù)雜網(wǎng)絡(luò)的模擬支持,其在模擬過(guò)程中自由遷移,可以消除某個(gè)模擬服 務(wù)器因?yàn)橘Y源方面的原因而形成整個(gè)模擬任務(wù)的性能瓶頸。除此之外,模擬進(jìn)程的遷移也 實(shí)現(xiàn)了對(duì)模擬網(wǎng)絡(luò)節(jié)點(diǎn)的映像與重建工作,這對(duì)于模擬過(guò)程的詳細(xì)分析也提供了良好的觀 測(cè)樣本。
圖1本發(fā)明的模擬功能實(shí)現(xiàn)圖;圖2本發(fā)明網(wǎng)絡(luò)設(shè)備節(jié)點(diǎn)模擬結(jié)構(gòu)圖;圖3本發(fā)明的模擬驅(qū)動(dòng)框架工作流程圖。
具體實(shí)施例方式下面結(jié)合附圖與具體實(shí)施方式
對(duì)本技術(shù)方案作進(jìn)一步說(shuō)明一種基于進(jìn)程運(yùn)行環(huán)境感知與遷移的大型網(wǎng)絡(luò)模擬框架實(shí)現(xiàn)方法,其特征包括以 下幾個(gè)步驟1)通用網(wǎng)絡(luò)模擬節(jié)點(diǎn)即網(wǎng)絡(luò)模擬設(shè)備的個(gè)性特征描述,并對(duì)描述文檔進(jìn)行定義;2)基于有限狀態(tài)機(jī)的網(wǎng)絡(luò)模擬節(jié)點(diǎn)行為仿真基于有限狀態(tài)機(jī)實(shí)現(xiàn)個(gè)性特征描 述文檔的加載,并根據(jù)網(wǎng)絡(luò)模擬節(jié)點(diǎn)的當(dāng)前狀態(tài)與接收的網(wǎng)絡(luò)仿真數(shù)據(jù),切換網(wǎng)絡(luò)模擬節(jié) 點(diǎn)的狀態(tài);3)應(yīng)用服務(wù)的仿真基于步驟1和2,對(duì)網(wǎng)絡(luò)設(shè)備節(jié)點(diǎn)上的裝載的應(yīng)用服務(wù)仿真與 模擬;4)網(wǎng)絡(luò)節(jié)點(diǎn)的模擬與仿真是對(duì)網(wǎng)絡(luò)節(jié)點(diǎn)的功能進(jìn)行模擬,該模擬都是通過(guò)對(duì)應(yīng) 用服務(wù)的模擬來(lái)實(shí)現(xiàn)的;5)模擬驅(qū)動(dòng)架構(gòu)的實(shí)現(xiàn)提供網(wǎng)絡(luò)模擬與仿真的整體驅(qū)動(dòng)框架;6)進(jìn)程的運(yùn)行環(huán)境上下文感知是模擬進(jìn)程對(duì)模擬服務(wù)器運(yùn)行情況的數(shù)據(jù)采集 與分析功能模塊;本模塊依據(jù)進(jìn)程使用系統(tǒng)資源信息,來(lái)判斷此時(shí)模擬服務(wù)器能否提供完 成其模擬任務(wù)的足夠的系統(tǒng)資源;7)進(jìn)程的遷移實(shí)現(xiàn)如果步驟6)中,模擬服務(wù)器不能提供完成其模擬任務(wù)的足夠 的系統(tǒng)資源,則模擬進(jìn)程向模擬服務(wù)器提出遷移請(qǐng)求,步驟包括先生成模擬進(jìn)程映像停止內(nèi)部模擬有限狀態(tài)機(jī),并將狀態(tài)有限機(jī)所處的狀態(tài)與 相應(yīng)的數(shù)據(jù)生成映像文件;再生成封裝文件在確認(rèn)遷移目標(biāo)后,將模擬進(jìn)程中有限狀態(tài)機(jī)停止后接收的網(wǎng) 絡(luò)數(shù)據(jù)進(jìn)行封裝;最后將封裝文件與進(jìn)程映像提交給遷移目標(biāo)模擬服務(wù)器,由該服務(wù)器使用模擬驅(qū) 動(dòng)架構(gòu)重建模擬網(wǎng)絡(luò)節(jié)點(diǎn),恢復(fù)模擬進(jìn)程,實(shí)現(xiàn)模擬服務(wù)器之間的模擬進(jìn)程遷移。
所述步驟1)中,對(duì)所述網(wǎng)絡(luò)模擬設(shè)備的個(gè)性特征描述,這些描述表述了網(wǎng)絡(luò)設(shè)備 節(jié)點(diǎn)接收網(wǎng)絡(luò)仿真數(shù)據(jù)的行為,和網(wǎng)絡(luò)設(shè)備節(jié)點(diǎn)反饋的行為,這些行為包括模擬網(wǎng)絡(luò)設(shè)備 節(jié)點(diǎn)針對(duì)接收到的網(wǎng)絡(luò)仿真數(shù)據(jù)進(jìn)行分析判斷,并接收或丟棄網(wǎng)絡(luò)仿真數(shù)據(jù)包;模擬網(wǎng)絡(luò) 設(shè)備節(jié)點(diǎn)將接收到數(shù)據(jù)包發(fā)送至其內(nèi)部運(yùn)行的應(yīng)用服務(wù)端口 ;模擬應(yīng)用服務(wù)根據(jù)其網(wǎng)絡(luò)協(xié) 議裝配網(wǎng)絡(luò)仿真數(shù)據(jù)包及并在仿真數(shù)據(jù)包中設(shè)置數(shù)據(jù)包的負(fù)載內(nèi)容并加以回復(fù)網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)備個(gè)性特征描述,是用來(lái)實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)備的整體個(gè)性特征模擬, 包括一些如生產(chǎn)商,版本號(hào)等以及可能出現(xiàn)的獨(dú)立于應(yīng)用服務(wù)之外的安全漏洞。使用XML SCHEMA定義了通用的描述文件模板,實(shí)現(xiàn)對(duì)通用個(gè)性特征的描述;該文 件模板由狀態(tài)變遷規(guī)則集組成,狀態(tài)變遷規(guī)則集定義了輸入數(shù)據(jù)的匹配模式、輸出數(shù)據(jù)匹 配模式與輸出判斷條件模式。所述步驟2)中,有限狀態(tài)機(jī)在輸入個(gè)性特征描述文件后,針對(duì)模擬網(wǎng)絡(luò)設(shè)備接收 到的數(shù)據(jù)包,以有限狀態(tài)機(jī)當(dāng)前狀態(tài)作為參數(shù),在有限狀態(tài)機(jī)內(nèi)部定義的狀態(tài)變遷規(guī)則中 進(jìn)行匹配,一旦規(guī)則符合當(dāng)前參數(shù),則引發(fā)狀態(tài)機(jī)的狀態(tài)變遷,由當(dāng)前狀態(tài)變遷到下一個(gè)狀 態(tài)。所述步驟3)中,應(yīng)用服務(wù)的模擬架構(gòu)包括三個(gè)有限狀態(tài)機(jī)。所述步驟4)中,對(duì)應(yīng)用服務(wù)的模擬是通過(guò)步驟3)中的三個(gè)有限狀態(tài)機(jī)分別實(shí)現(xiàn) 對(duì)網(wǎng)絡(luò)設(shè)備節(jié)點(diǎn)的個(gè)性特征的模擬、安全漏洞的模擬和應(yīng)用服務(wù)的模擬;其中,對(duì)應(yīng)用服務(wù) 的模擬是對(duì)應(yīng)用服務(wù)的基本功能進(jìn)行模擬。統(tǒng)一的網(wǎng)絡(luò)設(shè)備模擬通訊端口管理與控制模擬,是基于統(tǒng)一的網(wǎng)絡(luò)通訊接口,實(shí) 現(xiàn)模擬網(wǎng)絡(luò)設(shè)備在接收到其它網(wǎng)絡(luò)節(jié)點(diǎn)傳送來(lái)的網(wǎng)絡(luò)數(shù)據(jù)后,根據(jù)應(yīng)用服務(wù)模擬中描述的 網(wǎng)絡(luò)傳輸協(xié)議與端口號(hào)轉(zhuǎn)發(fā)到運(yùn)行在其上的應(yīng)用服務(wù)模擬狀態(tài)機(jī),觸發(fā)該狀態(tài)機(jī)的狀態(tài)變 遷。通過(guò)以上網(wǎng)絡(luò)設(shè)備節(jié)點(diǎn)的模擬技術(shù),可以實(shí)現(xiàn)網(wǎng)絡(luò)節(jié)點(diǎn)安全的目標(biāo)模擬,該目標(biāo) 可以是一個(gè)應(yīng)用服務(wù)、一個(gè)網(wǎng)絡(luò)設(shè)備的個(gè)性特征帶來(lái)的安全漏洞等,其作為網(wǎng)絡(luò)安全攻擊 的靶標(biāo),可以評(píng)估網(wǎng)絡(luò)設(shè)備節(jié)點(diǎn)在攻擊后所造成的破壞后果。所述步驟5)中,提供網(wǎng)絡(luò)模擬與仿真的整體驅(qū)動(dòng)框架,包括向用戶提供的控制界 面、根據(jù)中心服務(wù)器的命令、自頂向下實(shí)現(xiàn)對(duì)模擬目標(biāo)網(wǎng)絡(luò)節(jié)點(diǎn)進(jìn)行裝配,形成網(wǎng)絡(luò)節(jié)點(diǎn)模 擬對(duì)象實(shí)體,并啟動(dòng)網(wǎng)絡(luò)節(jié)點(diǎn)模擬對(duì)象和網(wǎng)絡(luò)節(jié)點(diǎn)模擬進(jìn)程的控制與模擬任務(wù)的全局管理 等功能。所述步驟6)中,進(jìn)程占用的系統(tǒng)資源包括進(jìn)程使用CPU時(shí)間、占用內(nèi)存大小、內(nèi) 存頁(yè)面調(diào)度和/或磁盤使用情況。所述步驟7)中,模擬進(jìn)程的遷移的具體步驟包括1)模擬服務(wù)器驅(qū)動(dòng)架構(gòu)在得到遷移請(qǐng)求后,即刻將請(qǐng)求模擬進(jìn)程從運(yùn)行模擬進(jìn)程 隊(duì)列中移出,并向該進(jìn)程發(fā)出中止模擬,生成模擬進(jìn)程映像的命令;2)模擬進(jìn)程在接收到命令后,停止內(nèi)部模擬有限狀態(tài)機(jī),并將狀態(tài)機(jī)所處的狀態(tài) 與相應(yīng)的數(shù)據(jù)生成映像文件,生成完畢后通知模擬服務(wù)器驅(qū)動(dòng)架構(gòu),驅(qū)動(dòng)架構(gòu)立刻向中心 服務(wù)器發(fā)出進(jìn)程遷移請(qǐng)求;3)中心服務(wù)器在接收到請(qǐng)求后,對(duì)模擬服務(wù)器集群進(jìn)行搜索,尋找當(dāng)前可使用資 源較多的模擬服務(wù)器,確認(rèn)遷移目標(biāo),回復(fù)請(qǐng)求模擬服務(wù)器并截留向請(qǐng)求遷移的模擬進(jìn)程發(fā)送的模擬網(wǎng)絡(luò)數(shù)據(jù)4)請(qǐng)求模擬服務(wù)器向請(qǐng)求模擬進(jìn)程發(fā)出遷移準(zhǔn)備命令,請(qǐng)求進(jìn)程中止接收網(wǎng)絡(luò)數(shù) 據(jù),并將有限狀態(tài)機(jī)停止后接收的網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行封裝,將封裝文件與進(jìn)程映像提交請(qǐng)求模 擬服務(wù)器;5)請(qǐng)求模擬服務(wù)器中止請(qǐng)求模擬進(jìn)程,將網(wǎng)絡(luò)數(shù)據(jù)封裝與進(jìn)程映像轉(zhuǎn)發(fā)到目標(biāo)模 擬服務(wù)器;6)目標(biāo)模擬服務(wù)器接收完后,使用模擬驅(qū)動(dòng)架構(gòu)重建模擬網(wǎng)絡(luò)節(jié)點(diǎn),并由映像文 件恢復(fù)模擬進(jìn)程有限狀態(tài)機(jī)狀態(tài)與相關(guān)數(shù)據(jù),啟動(dòng)模擬進(jìn)程,將模擬進(jìn)程加入本地模擬進(jìn) 程隊(duì)列中,向其發(fā)送封裝的網(wǎng)絡(luò)數(shù)據(jù),完成模擬進(jìn)程遷移。在本方法使用過(guò)程中,首先用戶要配置以下各服務(wù)器,具體的步驟包括;1.用戶接口服務(wù)器主要由WEB服務(wù)與⑶I服務(wù)器組成,用以向用戶提供圖形化 界面或WEB服務(wù),接收用戶的模擬腳本、命令等輸入數(shù)據(jù),并向用戶提供模擬結(jié)果、用戶查 詢數(shù)據(jù)等各種系統(tǒng)輸出數(shù)據(jù),并提供輸出的數(shù)據(jù)的圖形化表示。2.任務(wù)調(diào)度分配與數(shù)據(jù)服務(wù)器中心服務(wù)器主要負(fù)責(zé)解析用戶提交的模擬腳本 任務(wù),模擬任務(wù)的分配與調(diào)度,網(wǎng)絡(luò)環(huán)境的模擬與全局時(shí)間統(tǒng)一;中心數(shù)據(jù)服務(wù)器主要負(fù)責(zé) 接收,存儲(chǔ)模擬服務(wù)器發(fā)送到的模擬結(jié)果、傳輸?shù)臄?shù)據(jù)存儲(chǔ),向中心服務(wù)器與用戶提供數(shù)據(jù) 查詢服務(wù)。3.模擬服務(wù)器集群執(zhí)行中心服務(wù)器分發(fā)的模擬任務(wù),裝載應(yīng)用服務(wù)模塊、特征 化模塊、安全漏洞模塊,構(gòu)建模擬網(wǎng)絡(luò)節(jié)點(diǎn)。接收中心服務(wù)器轉(zhuǎn)發(fā)的網(wǎng)絡(luò)數(shù)據(jù),實(shí)現(xiàn)模擬目 標(biāo)節(jié)點(diǎn)的動(dòng)作,生成網(wǎng)絡(luò)數(shù)據(jù)轉(zhuǎn)發(fā)至中心數(shù)據(jù)服務(wù)器。4.安全漏洞庫(kù)存儲(chǔ)使用安全漏洞標(biāo)準(zhǔn)描述語(yǔ)言描述的安全漏洞數(shù)據(jù)庫(kù),以備模 擬服務(wù)器調(diào)用。5.個(gè)性特征庫(kù)存儲(chǔ)各軟件系統(tǒng)/組件的個(gè)性特征,包括版本,補(bǔ)丁對(duì)安全漏洞的 影響狀態(tài)等,以備模擬服務(wù)器調(diào)用。6.應(yīng)用服務(wù)庫(kù)存儲(chǔ)各軟件/組件/網(wǎng)絡(luò)協(xié)議數(shù)據(jù)庫(kù),以備模擬服務(wù)器調(diào)用。7.配置好以上服務(wù)器后,用戶即可以通過(guò)接口服務(wù)器創(chuàng)建模擬任務(wù),調(diào)用本技術(shù) 實(shí)現(xiàn)的網(wǎng)絡(luò)仿真與模擬框架實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)的仿真與模擬。
權(quán)利要求
一種基于進(jìn)程運(yùn)行環(huán)境感知與遷移的網(wǎng)絡(luò)模擬框架實(shí)現(xiàn)方法,其特征包括以下幾個(gè)步驟1)通用網(wǎng)絡(luò)模擬節(jié)點(diǎn)即網(wǎng)絡(luò)模擬設(shè)備的個(gè)性特征描述,并對(duì)描述的個(gè)性特征文檔進(jìn)行定義;2)基于有限狀態(tài)機(jī)的網(wǎng)絡(luò)模擬節(jié)點(diǎn)行為仿真用有限狀態(tài)機(jī)實(shí)現(xiàn)個(gè)性特征描述文檔的加載,并根據(jù)網(wǎng)絡(luò)模擬節(jié)點(diǎn)的當(dāng)前狀態(tài)與接收的網(wǎng)絡(luò)仿真數(shù)據(jù),切換網(wǎng)絡(luò)模擬節(jié)點(diǎn)的狀態(tài);3)應(yīng)用服務(wù)的仿真基于步驟1和2,對(duì)網(wǎng)絡(luò)設(shè)備節(jié)點(diǎn)上裝載的應(yīng)用服務(wù)進(jìn)行仿真與模擬;4)網(wǎng)絡(luò)節(jié)點(diǎn)的模擬與仿真是對(duì)網(wǎng)絡(luò)節(jié)點(diǎn)的功能進(jìn)行模擬,該模擬都是通過(guò)對(duì)所述應(yīng)用服務(wù)的模擬來(lái)實(shí)現(xiàn);5)模擬驅(qū)動(dòng)架構(gòu)的實(shí)現(xiàn)提供網(wǎng)絡(luò)模擬與仿真的整體驅(qū)動(dòng)框架;6)進(jìn)程的運(yùn)行環(huán)境上下文感知是模擬進(jìn)程對(duì)模擬服務(wù)器運(yùn)行情況的數(shù)據(jù)采集與分析功能模塊;本模塊依據(jù)模擬進(jìn)程使用系統(tǒng)資源信息,來(lái)判斷此時(shí)模擬服務(wù)器能否提供完成其模擬任務(wù)的足夠的系統(tǒng)資源;7)進(jìn)程的遷移實(shí)現(xiàn)步驟6)中,如果模擬服務(wù)器不能提供完成其模擬任務(wù)的足夠的系統(tǒng)資源,則模擬進(jìn)程向模擬服務(wù)器提出遷移請(qǐng)求,步驟包括先生成模擬進(jìn)程映像停止內(nèi)部模擬有限狀態(tài)機(jī),并將有限狀態(tài)機(jī)所處的狀態(tài)與相應(yīng)的數(shù)據(jù)生成映像文件;再生成封裝文件在確認(rèn)遷移目標(biāo)模擬服務(wù)器后,將請(qǐng)求遷移的模擬進(jìn)程中的,有限狀態(tài)機(jī)停止后接收的網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行封裝;最后將封裝文件與進(jìn)程映像提交給遷移目標(biāo)模擬服務(wù)器,由該服務(wù)器使用模擬驅(qū)動(dòng)架構(gòu)重建模擬網(wǎng)絡(luò)節(jié)點(diǎn),恢復(fù)模擬進(jìn)程,實(shí)現(xiàn)模擬進(jìn)程在模擬服務(wù)器之間的遷移。
2.根據(jù)權(quán)利要求1所述的基于進(jìn)程運(yùn)行環(huán)境感知與遷移的網(wǎng)絡(luò)模擬框架實(shí)現(xiàn)方法,其 特征在于所述步驟1)中,對(duì)所述網(wǎng)絡(luò)模擬設(shè)備的個(gè)性特征描述,這些描述表述了網(wǎng)絡(luò)設(shè) 備節(jié)點(diǎn)接收網(wǎng)絡(luò)仿真數(shù)據(jù)的行為,和網(wǎng)絡(luò)設(shè)備節(jié)點(diǎn)反饋的行為,這些行為包括模擬網(wǎng)絡(luò)設(shè)備節(jié)點(diǎn)針對(duì)接收到的網(wǎng)絡(luò)仿真數(shù)據(jù)進(jìn)行分析判斷,并接收或丟棄網(wǎng)絡(luò)仿真 數(shù)據(jù)包;模擬網(wǎng)絡(luò)設(shè)備節(jié)點(diǎn)將接收到數(shù)據(jù)包發(fā)送至其內(nèi)部運(yùn)行的應(yīng)用服務(wù)端口;模擬應(yīng)用服務(wù)根據(jù)其網(wǎng)絡(luò)協(xié)議裝配網(wǎng)絡(luò)仿真數(shù)據(jù)包及并在仿真數(shù)據(jù)包中設(shè)置數(shù)據(jù)包 的負(fù)載內(nèi)容并加以回復(fù)。
3.根據(jù)權(quán)利要求1或2所述的基于進(jìn)程運(yùn)行環(huán)境感知與遷移的網(wǎng)絡(luò)模擬框架實(shí)現(xiàn)方 法,其特征在于所述步驟1)中,使用XML SCHEMA定義通用的描述文件模板,來(lái)對(duì)所述個(gè)性 特征的描述;該描述文件模板由狀態(tài)變遷規(guī)則集組成,狀態(tài)變遷規(guī)則集定義了輸入數(shù)據(jù)的 匹配模式、輸出數(shù)據(jù)匹配模式與輸出判斷條件模式。
4.根據(jù)權(quán)利要求1所述的基于進(jìn)程運(yùn)行環(huán)境感知與遷移的網(wǎng)絡(luò)模擬框架實(shí)現(xiàn)方法,其 特征在于所述步驟2)中,有限狀態(tài)機(jī)在輸入個(gè)性特征描述文件后,針對(duì)模擬網(wǎng)絡(luò)設(shè)備接 收到的數(shù)據(jù)包,以有限狀態(tài)機(jī)當(dāng)前狀態(tài)作為參數(shù),在有限狀態(tài)機(jī)內(nèi)部定義的狀態(tài)變遷規(guī)則 中進(jìn)行匹配,一旦規(guī)則符合當(dāng)前參數(shù),則引發(fā)有限狀態(tài)機(jī)的狀態(tài)變遷,由當(dāng)前狀態(tài)變遷到下一個(gè)狀態(tài)。
5.根據(jù)權(quán)利要求1所述的基于進(jìn)程運(yùn)行環(huán)境感知與遷移的網(wǎng)絡(luò)模擬框架實(shí)現(xiàn)方法,其 特征在于所述步驟3)中,應(yīng)用服務(wù)的模擬架構(gòu)包括三個(gè)有限狀態(tài)機(jī)。
6.根據(jù)權(quán)利要求5所述的基于進(jìn)程運(yùn)行環(huán)境感知與遷移的網(wǎng)絡(luò)模擬框架實(shí)現(xiàn)方法,其 特征在于所述步驟4)中,對(duì)應(yīng)用服務(wù)的模擬是通過(guò)步驟3)中的三個(gè)有限狀態(tài)機(jī)分別實(shí)現(xiàn) 對(duì)網(wǎng)絡(luò)設(shè)備節(jié)點(diǎn)的個(gè)性特征的模擬、安全漏洞的模擬和應(yīng)用服務(wù)的模擬;其中,對(duì)應(yīng)用服務(wù) 的模擬是對(duì)應(yīng)用服務(wù)的基本功能進(jìn)行模擬;所述統(tǒng)一的網(wǎng)絡(luò)設(shè)備模擬通訊端口管理與控制模擬,是基于統(tǒng)一的網(wǎng)絡(luò)通訊接口,實(shí) 現(xiàn)模擬網(wǎng)絡(luò)設(shè)備在接收到其它網(wǎng)絡(luò)節(jié)點(diǎn)傳送來(lái)的網(wǎng)絡(luò)數(shù)據(jù)后,根據(jù)應(yīng)用服務(wù)模擬中描述的 網(wǎng)絡(luò)傳輸協(xié)議與端口號(hào)轉(zhuǎn)發(fā)到運(yùn)行在其上的應(yīng)用服務(wù)模擬狀態(tài)機(jī),觸發(fā)該狀態(tài)機(jī)的狀態(tài)變 遷。
7.根據(jù)權(quán)利要求1所述的基于進(jìn)程運(yùn)行環(huán)境感知與遷移的網(wǎng)絡(luò)模擬框架實(shí)現(xiàn)方法,其 特征在于所述步驟5)中,提供網(wǎng)絡(luò)模擬與仿真的整體驅(qū)動(dòng)框架包括向用戶提供的控制 界面;根據(jù)中心服務(wù)器的命令、自頂向下實(shí)現(xiàn)對(duì)模擬目標(biāo)網(wǎng)絡(luò)節(jié)點(diǎn)進(jìn)行裝配,形成網(wǎng)絡(luò)節(jié)點(diǎn) 模擬對(duì)象實(shí)體;并啟動(dòng)網(wǎng)絡(luò)節(jié)點(diǎn)模擬對(duì)象和網(wǎng)絡(luò)節(jié)點(diǎn)模擬進(jìn)程的控制與模擬任務(wù)的全局管理。
8.根據(jù)權(quán)利要求1所述的基于進(jìn)程運(yùn)行環(huán)境感知與遷移的網(wǎng)絡(luò)模擬框架實(shí)現(xiàn)方法,其 特征在于所述步驟6)中,模擬進(jìn)程占用的系統(tǒng)資源包括進(jìn)程使用CPU時(shí)間、占用內(nèi)存大 小、內(nèi)存頁(yè)面調(diào)度和/或磁盤使用情況。
9.根據(jù)權(quán)利要求1所述的基于進(jìn)程運(yùn)行環(huán)境感知與遷移的網(wǎng)絡(luò)模擬框架實(shí)現(xiàn)方法,其 特征在于所述步驟7)中,模擬進(jìn)程的遷移的具體步驟包括701)整體驅(qū)動(dòng)框架中的模擬服務(wù)器驅(qū)動(dòng)架構(gòu)在得到遷移請(qǐng)求后,立即將請(qǐng)求模擬進(jìn)程 從運(yùn)行模擬進(jìn)程隊(duì)列中移出,并向該進(jìn)程發(fā)出中止模擬,生成模擬進(jìn)程映像的命令;702)相應(yīng)的模擬進(jìn)程在接收到命令后,停止內(nèi)部模擬有限狀態(tài)機(jī),并將有限狀態(tài)機(jī)所 處的狀態(tài)與相應(yīng)的數(shù)據(jù)生成映像文件,生成完畢后通知模擬服務(wù)器驅(qū)動(dòng)架構(gòu),該驅(qū)動(dòng)架構(gòu) 立刻向中心服務(wù)器發(fā)出進(jìn)程遷移請(qǐng)求;703)中心服務(wù)器在接收到請(qǐng)求后,對(duì)模擬服務(wù)器集群進(jìn)行搜索,尋找當(dāng)前可使用資源 較多的模擬服務(wù)器,確認(rèn)遷移目標(biāo)模擬服務(wù)器,回復(fù)請(qǐng)求模擬服務(wù)器并截留向請(qǐng)求遷移的 模擬進(jìn)程發(fā)送的模擬網(wǎng)絡(luò)數(shù)據(jù);704)請(qǐng)求模擬服務(wù)器向請(qǐng)求模擬進(jìn)程發(fā)出遷移準(zhǔn)備命令,請(qǐng)求模擬進(jìn)程中止接收網(wǎng)絡(luò) 數(shù)據(jù),并將有限狀態(tài)機(jī)停止后接收的網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行封裝,將封裝文件與進(jìn)程映像提交請(qǐng)求 模擬服務(wù)器;705)請(qǐng)求模擬服務(wù)器中止請(qǐng)求模擬進(jìn)程,將網(wǎng)絡(luò)數(shù)據(jù)封裝與進(jìn)程映像轉(zhuǎn)發(fā)到目標(biāo)模擬 服務(wù)器;706)目標(biāo)模擬服務(wù)器接收完后,使用模擬驅(qū)動(dòng)架構(gòu)重建模擬網(wǎng)絡(luò)節(jié)點(diǎn),并由映像文件 恢復(fù)模擬進(jìn)程有限狀態(tài)機(jī)狀態(tài)與相關(guān)數(shù)據(jù),啟動(dòng)模擬進(jìn)程,將模擬進(jìn)程加入本地模擬進(jìn)程 隊(duì)列中,向其發(fā)送封裝的網(wǎng)絡(luò)數(shù)據(jù),完成模擬進(jìn)程遷移。
全文摘要
一種基于進(jìn)程運(yùn)行環(huán)境感知與遷移的網(wǎng)絡(luò)模擬框架實(shí)現(xiàn)方法,該架構(gòu)基于開(kāi)放的模擬平臺(tái),可以實(shí)現(xiàn)各種網(wǎng)絡(luò)設(shè)備與應(yīng)用服務(wù)的模擬,具有良好的易用性、開(kāi)放性。在本架構(gòu)中通過(guò)對(duì)網(wǎng)絡(luò)設(shè)備的個(gè)性特征與網(wǎng)絡(luò)漏洞的標(biāo)準(zhǔn)化描述,或者直接從生產(chǎn)商獲取設(shè)備標(biāo)準(zhǔn)化描述,將描述安裝至本系統(tǒng)中,即可以實(shí)現(xiàn)對(duì)設(shè)備與服務(wù)的模擬。同時(shí)在本架構(gòu)中通過(guò)模擬進(jìn)程對(duì)于其所處運(yùn)行環(huán)境的感知,實(shí)現(xiàn)模擬網(wǎng)絡(luò)節(jié)點(diǎn)進(jìn)程在模擬驅(qū)動(dòng)架構(gòu)之間的遷移,這種分布式動(dòng)態(tài)調(diào)整模擬任務(wù)方式實(shí)現(xiàn)了本架構(gòu)對(duì)大規(guī)模復(fù)雜網(wǎng)絡(luò)的模擬支持,消除整個(gè)模擬任務(wù)的性能瓶頸。同時(shí)模擬進(jìn)程的遷移也實(shí)現(xiàn)了對(duì)模擬網(wǎng)絡(luò)節(jié)點(diǎn)的映像與重建工作,這對(duì)于模擬過(guò)程的詳細(xì)分析也提供了良好的觀測(cè)樣本。
文檔編號(hào)H04L29/06GK101969442SQ20101052315
公開(kāi)日2011年2月9日 申請(qǐng)日期2010年10月28日 優(yōu)先權(quán)日2010年10月28日
發(fā)明者傅濤, 張敏, 陳志軍 申請(qǐng)人:南京博智軟件科技有限公司