亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

基于路由協(xié)議的網(wǎng)絡(luò)運(yùn)行仿真方法

文檔序號(hào):10515298閱讀:255來源:國(guó)知局
基于路由協(xié)議的網(wǎng)絡(luò)運(yùn)行仿真方法
【專利摘要】本發(fā)明提供了一種基于路由協(xié)議的網(wǎng)絡(luò)運(yùn)行仿真方法,該方法包括:當(dāng)網(wǎng)絡(luò)仿真運(yùn)行平臺(tái)通過網(wǎng)絡(luò)接口捕捉到數(shù)據(jù)幀后,對(duì)協(xié)議頭進(jìn)行分析,根據(jù)幀的類型字段進(jìn)行判斷,如果所述數(shù)據(jù)幀是地址分析報(bào)文則由平臺(tái)直接進(jìn)行響應(yīng),丟棄本機(jī)發(fā)送的地址分析報(bào)文,如果是IP報(bào)文,則交由虛擬網(wǎng)絡(luò)設(shè)備進(jìn)行處理,處理完成的報(bào)文由平臺(tái)進(jìn)行封裝和發(fā)送。本發(fā)明提出了一種基于路由協(xié)議的網(wǎng)絡(luò)運(yùn)行仿真方法,不改變協(xié)議整體架構(gòu),自主構(gòu)建網(wǎng)絡(luò)和配置參數(shù),為網(wǎng)絡(luò)攻擊和防御的分析提供了良好的環(huán)境。
【專利說明】
基于路由協(xié)議的網(wǎng)絡(luò)運(yùn)行仿真方法
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)安全,特別涉及一種基于路由協(xié)議的網(wǎng)絡(luò)運(yùn)行仿真方法。
【背景技術(shù)】
[0002]隨著網(wǎng)絡(luò)帶寬的日益增長(zhǎng),網(wǎng)絡(luò)攻擊活動(dòng)也以指數(shù)形式增長(zhǎng),如果要保證網(wǎng)絡(luò)安全,就需要進(jìn)行網(wǎng)絡(luò)探測(cè)。由于現(xiàn)代網(wǎng)絡(luò)拓?fù)涞膹?fù)雜性,以往構(gòu)建真實(shí)網(wǎng)絡(luò)運(yùn)行時(shí),往往需要大量的網(wǎng)絡(luò)設(shè)備,投資巨大。每次搭建真實(shí)網(wǎng)絡(luò)運(yùn)行前,準(zhǔn)備工作復(fù)雜、配置時(shí)間長(zhǎng),實(shí)驗(yàn)完成之后系統(tǒng)恢復(fù)耗時(shí)較長(zhǎng)。尤其是在真實(shí)系統(tǒng)上進(jìn)行實(shí)驗(yàn)可能會(huì)引起系統(tǒng)破壞或發(fā)生故障,造成很大的風(fēng)險(xiǎn)和損失。在這種背景下,網(wǎng)絡(luò)仿真運(yùn)行平臺(tái)應(yīng)運(yùn)而生,在平臺(tái)上構(gòu)建一個(gè)或多個(gè)網(wǎng)絡(luò)拓?fù)洵h(huán)境,為外界提供網(wǎng)絡(luò)服務(wù)、允許路由探測(cè)和安全掃描,并且在遠(yuǎn)程主機(jī)看來,這是一個(gè)真實(shí)的網(wǎng)絡(luò)環(huán)境,大大縮減管理員對(duì)網(wǎng)絡(luò)探測(cè)的配置時(shí)間和系統(tǒng)恢復(fù)時(shí)間。然而現(xiàn)有的系統(tǒng)平臺(tái)設(shè)計(jì)時(shí)沒有考慮到平臺(tái)與遠(yuǎn)程主機(jī)的數(shù)據(jù)交互與數(shù)據(jù)捕捉問題,同時(shí)無法將物理主機(jī)隱藏在虛擬網(wǎng)絡(luò)運(yùn)行中,進(jìn)行有效保護(hù)。

【發(fā)明內(nèi)容】

[0003]為解決上述現(xiàn)有技術(shù)所存在的問題,本發(fā)明提出了一種基于路由協(xié)議的網(wǎng)絡(luò)運(yùn)行仿真方法,包括:
[0004]當(dāng)網(wǎng)絡(luò)仿真運(yùn)行平臺(tái)通過網(wǎng)絡(luò)接口捕捉到數(shù)據(jù)幀后,對(duì)協(xié)議頭進(jìn)行分析,根據(jù)幀的類型字段進(jìn)行判斷,如果所述數(shù)據(jù)幀是地址分析報(bào)文則由平臺(tái)直接進(jìn)行響應(yīng),丟棄本機(jī)發(fā)送的地址分析報(bào)文,如果是IP報(bào)文,則交由虛擬網(wǎng)絡(luò)設(shè)備進(jìn)行處理,處理完成的報(bào)文由平臺(tái)進(jìn)行封裝和發(fā)送。
[0005]優(yōu)選地,所述由虛擬網(wǎng)絡(luò)設(shè)備進(jìn)行處理,進(jìn)一步包括:
[0006]在報(bào)文進(jìn)入虛擬網(wǎng)絡(luò)的入口設(shè)置輸入路由器,定義平臺(tái)與輸入路由器間的緩存池,平臺(tái)將處理完的報(bào)文送入緩存池,報(bào)文在緩存池中以動(dòng)態(tài)鏈表的方式存儲(chǔ),如果緩存池已滿則丟棄新包;所述虛擬網(wǎng)絡(luò)設(shè)備處理報(bào)文的流程具體包括:輸入路由器從緩存池中讀取報(bào)文,首先對(duì)報(bào)文進(jìn)行預(yù)處理,檢查包的長(zhǎng)度和校驗(yàn)碼,然后從報(bào)文中分析目的地址和數(shù)據(jù),最后根據(jù)路由表將數(shù)據(jù)發(fā)送給目標(biāo)主機(jī);主機(jī)處理完成后,在將報(bào)文發(fā)送到網(wǎng)關(guān)路由之前,還需要進(jìn)行封裝,加載預(yù)定的特征,使其符合配置的操作系統(tǒng)特征,最后報(bào)文經(jīng)輸入路由器存入緩存池。
[0007 ]所述對(duì)協(xié)議頭進(jìn)行分析,進(jìn)一步包括:
[0008]對(duì)于分析操作,當(dāng)網(wǎng)絡(luò)仿真運(yùn)行平臺(tái)收到數(shù)據(jù)幀時(shí),將包含的每層數(shù)據(jù)進(jìn)行處理,通過多次解幀解包的操作,檢查報(bào)文頭部中的各個(gè)標(biāo)志字符,確定接收數(shù)據(jù)的上層協(xié)議,最后將幀中的應(yīng)用層數(shù)據(jù)交付給應(yīng)用程序;
[0009]所述封裝操作進(jìn)一步包括,當(dāng)應(yīng)用層數(shù)據(jù)需要通過平臺(tái)發(fā)送時(shí),將數(shù)據(jù)通過協(xié)議棧進(jìn)行封裝,每次封裝都要在收到數(shù)據(jù)的基礎(chǔ)上增加幀頭信息,最后形成可以在以太網(wǎng)上傳輸?shù)臄?shù)據(jù)幀。
[0010]優(yōu)選地,所述網(wǎng)絡(luò)仿真運(yùn)行平臺(tái)在運(yùn)行后,首先對(duì)自身進(jìn)行初始化;將平臺(tái)調(diào)整到就緒狀態(tài),等待用戶的操作;虛擬網(wǎng)絡(luò)設(shè)備提供的服務(wù)通過編寫腳本來實(shí)現(xiàn),通過腳本解釋器的初始化工作完成對(duì)腳本解釋器配置文件的讀取,獲得各類腳本解釋器所在的目錄,供執(zhí)行腳本時(shí)調(diào)用;分析特征庫文件,通過加載特征庫仿真多種操作系統(tǒng)和識(shí)別遠(yuǎn)程訪問主機(jī)的操作系統(tǒng);加載預(yù)設(shè)的網(wǎng)絡(luò)設(shè)備特征模板,所述特征模板也可在構(gòu)建網(wǎng)絡(luò)運(yùn)行過程中添加,供配置設(shè)備屬性時(shí)使用;打開日志文件,向文件中寫入數(shù)據(jù),該日志文件用于網(wǎng)絡(luò)行為的監(jiān)控和分析;初始化平臺(tái)與外部網(wǎng)絡(luò)的接口,用于報(bào)文的捕捉和轉(zhuǎn)送;為緩存池分配一定的內(nèi)存空間暫存收發(fā)的報(bào)文,用來虛擬網(wǎng)絡(luò)延遲;初始化數(shù)據(jù)量統(tǒng)計(jì)隊(duì)列,統(tǒng)計(jì)單位時(shí)間內(nèi)流經(jīng)平臺(tái)和虛擬網(wǎng)絡(luò)設(shè)備的報(bào)文流量,包括接收流量和發(fā)送流量;在初始化完成后,用戶選擇載入已經(jīng)建立的網(wǎng)絡(luò)或新建一個(gè)網(wǎng)絡(luò),完成對(duì)設(shè)備屬性的配置,設(shè)置相應(yīng)的參數(shù),指定該設(shè)備所對(duì)應(yīng)的接口并進(jìn)行初始化,按預(yù)先設(shè)計(jì)的網(wǎng)絡(luò)拓?fù)溥B接各設(shè)備,對(duì)網(wǎng)絡(luò)的邏輯正確性進(jìn)行檢驗(yàn),包括IP地址格式是否正確,是否存在相同IP,網(wǎng)絡(luò)連接是否正確,如果配置不正確,則將錯(cuò)誤信息反饋給用戶使其重新配置,仿真過程結(jié)束后,平臺(tái)清理垃圾,關(guān)閉打開的接口和管道,釋放平臺(tái)所開辟的內(nèi)存空間,同時(shí)保存網(wǎng)絡(luò)拓?fù)鋱D。
[0011]本發(fā)明相比現(xiàn)有技術(shù),具有以下優(yōu)點(diǎn):
[0012]本發(fā)明提出了一種基于路由協(xié)議的網(wǎng)絡(luò)運(yùn)行仿真方法,不改變協(xié)議整體架構(gòu),自主構(gòu)建網(wǎng)絡(luò)和配置參數(shù),為網(wǎng)絡(luò)攻擊和防御的分析提供了良好的環(huán)境。
【附圖說明】
[0013]圖1是根據(jù)本發(fā)明實(shí)施例的基于路由協(xié)議的網(wǎng)絡(luò)運(yùn)行仿真方法的流程圖。
【具體實(shí)施方式】
[0014]下文與圖示本發(fā)明原理的附圖一起提供對(duì)本發(fā)明一個(gè)或者多個(gè)實(shí)施例的詳細(xì)描述。結(jié)合這樣的實(shí)施例描述本發(fā)明,但是本發(fā)明不限于任何實(shí)施例。本發(fā)明的范圍僅由權(quán)利要求書限定,并且本發(fā)明涵蓋諸多替代、修改和等同物。在下文描述中闡述諸多具體細(xì)節(jié)以便提供對(duì)本發(fā)明的透徹理解。出于示例的目的而提供這些細(xì)節(jié),并且無這些具體細(xì)節(jié)中的一些或者所有細(xì)節(jié)也可以根據(jù)權(quán)利要求書實(shí)現(xiàn)本發(fā)明。
[0015]本發(fā)明的一方面提供了一種基于路由協(xié)議的網(wǎng)絡(luò)運(yùn)行仿真方法。圖1是根據(jù)本發(fā)明實(shí)施例的基于路由協(xié)議的網(wǎng)絡(luò)運(yùn)行仿真方法流程圖。
[0016]本發(fā)明基于網(wǎng)絡(luò)仿真運(yùn)行平臺(tái),模擬各種操作系統(tǒng)及服務(wù)漏洞。在用一臺(tái)物理主機(jī)實(shí)現(xiàn)真實(shí)網(wǎng)絡(luò)運(yùn)行仿真的基礎(chǔ)上,將多臺(tái)物理主機(jī)仿真的小規(guī)模網(wǎng)絡(luò)連接成較大規(guī)模的網(wǎng)絡(luò),并為每一個(gè)網(wǎng)絡(luò)設(shè)備配置設(shè)備特征。對(duì)于一般用戶,平臺(tái)作為一種網(wǎng)絡(luò)構(gòu)建工具,在平臺(tái)提供的顯示單元觀測(cè)流經(jīng)平臺(tái)及網(wǎng)絡(luò)設(shè)備的流量。對(duì)于開發(fā)人員,平臺(tái)提供開發(fā)接口,開發(fā)滿足需要的功能塊。
[0017]整個(gè)平臺(tái)依次分為四層:控制層、設(shè)備層、程序?qū)雍屯ㄐ艑?。各層的功能分別介紹如下:
[0018](I)控制層負(fù)責(zé)平臺(tái)和功能塊的初始化以及運(yùn)行過程中對(duì)功能塊的控制,并提供用戶接口。包括三個(gè)子單元:設(shè)備控制單元、網(wǎng)絡(luò)配置單元和用戶接口單元。設(shè)備控制單元負(fù)責(zé)對(duì)具體的網(wǎng)絡(luò)設(shè)備進(jìn)行設(shè)置,包括設(shè)定操作系統(tǒng)、文件系統(tǒng)和開放的端口;網(wǎng)絡(luò)配置單元負(fù)責(zé)網(wǎng)絡(luò)拓?fù)涞纳珊洼斎肼酚善鞯呐渲?用戶接口單元用于與仿真設(shè)備交互的接口。
[0019](2)設(shè)備層用于模擬網(wǎng)絡(luò)運(yùn)行中的各種網(wǎng)絡(luò)設(shè)備,包括主機(jī)、服務(wù)器、防火墻、路由器、集線器設(shè)備。其中主機(jī)和服務(wù)器有兩種類型,一種是仿真的網(wǎng)絡(luò)設(shè)備,一種是集成到真實(shí)網(wǎng)絡(luò)中的物理設(shè)備。
[0020](3)程序?qū)迂?fù)責(zé)網(wǎng)絡(luò)設(shè)備上運(yùn)行的程序和服務(wù)以及運(yùn)行程序和服務(wù)所需的文件系統(tǒng),它由服務(wù)程序、通信程序和文件接口組成。服務(wù)程序包括模擬腳本或控制臺(tái)程序,用來虛擬網(wǎng)絡(luò)設(shè)備上運(yùn)行的各種網(wǎng)絡(luò)服務(wù)。通信程序指具有網(wǎng)絡(luò)通信功能的應(yīng)用軟件,通過配置,將這些應(yīng)用軟件作為網(wǎng)絡(luò)設(shè)備上的應(yīng)用程序運(yùn)行,使得網(wǎng)絡(luò)設(shè)備以主動(dòng)的方式與其它主機(jī)進(jìn)行通信。文件接口用來虛擬主機(jī)的文件系統(tǒng),對(duì)線程提供文件操作服務(wù)并反映所模擬的操作系統(tǒng)的特征,包括文件的組織和文件的操作兩部分。
[0021 ] (4)通信層負(fù)責(zé)網(wǎng)絡(luò)設(shè)備的通信工作,包括協(xié)議特征庫、TCP/IP協(xié)議棧、網(wǎng)絡(luò)接口和顯示接口。協(xié)議特征庫包含各種操作系統(tǒng)的協(xié)議棧特征信息,用于給虛擬網(wǎng)絡(luò)設(shè)備的操作系統(tǒng)加載協(xié)議棧特征,識(shí)別遠(yuǎn)程訪問主機(jī)的操作系統(tǒng)。TCP/IP協(xié)議棧用于管理平臺(tái)中的所有連接,保證設(shè)備通信的正確完成。平臺(tái)處理的協(xié)議有鏈路層協(xié)議、ARP、IP、TCP、UDP協(xié)議,應(yīng)用層協(xié)議則交給應(yīng)用程序?qū)崿F(xiàn)。該子單元實(shí)現(xiàn)了對(duì)TCP/IP協(xié)議族的封裝,向用戶提供了各個(gè)層次上的協(xié)議數(shù)據(jù)封裝接口。這些接口可用于封裝需要傳輸?shù)膱?bào)文,也可以利用這些接口提取出報(bào)文中感興趣的字段進(jìn)行分析。網(wǎng)絡(luò)接口用于將平臺(tái)接入到真實(shí)網(wǎng)絡(luò)中,并在平臺(tái)運(yùn)行的過程中對(duì)網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行捕捉。平臺(tái)捕捉數(shù)據(jù)有兩種模式,分別是用戶模式和內(nèi)核模式,用戶模式下只能工作在TCP/IP協(xié)議的傳輸層,無法直接截取數(shù)據(jù)鏈路層幀和網(wǎng)絡(luò)層報(bào)文,而內(nèi)核模式可以獲取鏈路層的幀,實(shí)現(xiàn)中間層驅(qū)動(dòng)級(jí)捕捉,包括報(bào)文捕捉、報(bào)文注入、網(wǎng)絡(luò)監(jiān)控和存儲(chǔ)到磁盤,網(wǎng)絡(luò)接口為用戶進(jìn)行網(wǎng)絡(luò)應(yīng)用開發(fā)和研究提供了統(tǒng)一的函數(shù)接口,利用這些接口,用戶可以對(duì)平臺(tái)進(jìn)行二次開發(fā),加載功能塊。顯示接口為上層提供一些必要的顯示函數(shù)。設(shè)備層調(diào)用顯示接口,顯示接口調(diào)用系統(tǒng)顯示函數(shù)或自定義顯示函數(shù)。
[0022]各層協(xié)議使用模塊化設(shè)計(jì),每種協(xié)議都有自己的協(xié)議頭定義,并提供對(duì)協(xié)議頭的分析和封裝操作。對(duì)于分析操作,當(dāng)平臺(tái)收到數(shù)據(jù)幀時(shí),將包含的每層數(shù)據(jù)進(jìn)行相應(yīng)的處理,通過多次解幀解包的操作,檢查報(bào)文頭部中的各個(gè)標(biāo)志字符,確定接收數(shù)據(jù)的上層協(xié)議,最后將幀中的應(yīng)用層數(shù)據(jù)交付給應(yīng)用程序。對(duì)于封裝操作,當(dāng)應(yīng)用層數(shù)據(jù)需要通過平臺(tái)發(fā)送時(shí),需要將數(shù)據(jù)通過協(xié)議棧進(jìn)行封裝,每次封裝都要在收到數(shù)據(jù)的基礎(chǔ)上增加幀頭信息,最后形成可以在以太網(wǎng)上傳輸?shù)臄?shù)據(jù)幀。
[0023]平臺(tái)通過網(wǎng)絡(luò)接口捕捉到數(shù)據(jù)幀后,根據(jù)幀的類型字段判斷是地址分析報(bào)文還是IP報(bào)文,如果是地址分析報(bào)文則由平臺(tái)直接進(jìn)行響應(yīng),丟棄本機(jī)發(fā)送的地址分析報(bào)文,否則交由虛擬網(wǎng)絡(luò)設(shè)備進(jìn)行處理,處理完成的報(bào)文由平臺(tái)發(fā)送。
[0024]在報(bào)文進(jìn)入虛擬網(wǎng)絡(luò)的入口設(shè)置輸入路由器,為了將報(bào)文交給輸入路由器進(jìn)行處理,定義了平臺(tái)與輸入路由器間的緩存池,平臺(tái)將處理完的報(bào)文送入緩存池,報(bào)文在緩存池中以動(dòng)態(tài)鏈表的方式存儲(chǔ),如果緩存池已滿則丟棄新包。虛擬網(wǎng)絡(luò)設(shè)備處理報(bào)文的流程具體包括:
[0025]輸入路由器從緩存池中讀取報(bào)文,首先對(duì)報(bào)文進(jìn)行預(yù)處理,檢查包的長(zhǎng)度和校驗(yàn)碼,然后從報(bào)文中分析目的地址和數(shù)據(jù),最后根據(jù)路由表將數(shù)據(jù)發(fā)送給目標(biāo)主機(jī)。主機(jī)處理完成后,在將報(bào)文發(fā)送到網(wǎng)關(guān)路由之前,還需要進(jìn)行封裝,加載預(yù)定的特征,使其符合配置的操作系統(tǒng)特征,最后報(bào)文經(jīng)輸入路由器存入緩存池。
[0026]在構(gòu)建仿真的網(wǎng)絡(luò)時(shí)可能用到的網(wǎng)絡(luò)設(shè)備有主機(jī)、路由器、防火墻、集線器等。本發(fā)明的實(shí)施例只對(duì)仿真的路由器和主機(jī)進(jìn)行說明。虛擬路由器是網(wǎng)絡(luò)環(huán)境與虛擬主機(jī)進(jìn)行通信的橋梁,因此虛擬路由器不僅具有數(shù)據(jù)轉(zhuǎn)送功能,同時(shí)提供與平臺(tái)進(jìn)行數(shù)據(jù)交互的接口。將路由器分為四個(gè)單元,分別為網(wǎng)絡(luò)接口單元、數(shù)據(jù)處理單元、路由規(guī)劃單元和數(shù)據(jù)轉(zhuǎn)送單元。各單元的功能及設(shè)計(jì)實(shí)現(xiàn)介紹如下:
[0027]網(wǎng)絡(luò)接口單元的功能是接收和發(fā)送報(bào)文。從路由器接入網(wǎng)絡(luò)的角度將路由器分為兩類:輸入路由器和普通路由器。輸入路由器是邏輯上與真實(shí)主機(jī)所在網(wǎng)絡(luò)直接相連的路由器,普通路由器直接或間接與輸入路由器相連。輸入路由器作為數(shù)據(jù)進(jìn)入虛擬網(wǎng)絡(luò)運(yùn)行的入口,需要對(duì)來自平臺(tái)的數(shù)據(jù)進(jìn)行處理,并轉(zhuǎn)送給目標(biāo)主機(jī);同時(shí)入口路由器也需要把虛擬主機(jī)向外發(fā)送的報(bào)文封裝成數(shù)據(jù)幀交給平臺(tái)。
[0028]數(shù)據(jù)處理單元負(fù)責(zé)數(shù)據(jù)檢驗(yàn)、誤差控制、IP包過濾、丟包與延遲計(jì)算。數(shù)據(jù)檢驗(yàn)包括依次檢驗(yàn)IP包頭部的校驗(yàn)和、是否為錯(cuò)誤報(bào)文以及是否為組播報(bào)文;誤差控制包括處理出現(xiàn)錯(cuò)誤的報(bào)文,向源主機(jī)發(fā)送報(bào)文報(bào)告出錯(cuò)原因,實(shí)現(xiàn)了兩種報(bào)文,分別是查詢報(bào)文和誤差報(bào)告報(bào)文;IP包過濾實(shí)現(xiàn)對(duì)IP包的過濾,針對(duì)的是廣播包;報(bào)文每經(jīng)過一個(gè)路由器,都會(huì)產(chǎn)生相應(yīng)的延遲,路由器在轉(zhuǎn)送之前,應(yīng)該計(jì)算出延遲,同時(shí)鏈路還有一定的丟包率,丟包與延遲計(jì)算可以完成此功能。
[0029]路由規(guī)劃單元利用IP包實(shí)現(xiàn)路由規(guī)劃算法,從而實(shí)現(xiàn)路由規(guī)劃。還可以負(fù)責(zé)對(duì)路由表的維護(hù)以及更新。
[0030]轉(zhuǎn)送單元根據(jù)目的IP地址查找虛擬路由表,決定向哪個(gè)虛擬路由器發(fā)送。
[0031]平臺(tái)接入網(wǎng)絡(luò)的方法有多種,本實(shí)施例采用以下方法將虛擬網(wǎng)絡(luò)運(yùn)行接入真實(shí)網(wǎng)絡(luò)。假設(shè)B為平臺(tái)所在的真實(shí)主機(jī),通過路由器A接入Internet,V1-Vn為真實(shí)主機(jī)上仿真的η臺(tái)主機(jī)。若訪問者位于虛擬主機(jī)所在的局域網(wǎng)范圍之內(nèi)。當(dāng)訪問者試圖與虛擬主機(jī)Vi通信時(shí),其中I Si Sn,發(fā)現(xiàn)虛擬主機(jī)V1與其位于同一個(gè)網(wǎng)段,則它會(huì)首先查找自己的地址分析緩存。如果緩存中有虛擬主機(jī)Vi的MAC地址,則報(bào)文直接發(fā)送出去;如果沒有虛擬主機(jī)Vi的MAC地址,則發(fā)送地址分析包來請(qǐng)求虛擬主機(jī)Vi的MAC地址,得到虛擬主機(jī)Vi的MAC地址后再發(fā)送數(shù)據(jù)。當(dāng)虛擬主機(jī)V1通過互聯(lián)網(wǎng)接收到一個(gè)遠(yuǎn)程訪問者發(fā)送的一個(gè)報(bào)文時(shí),路由器A接收到報(bào)文的同時(shí)并開始嘗試向外發(fā)送此包。路由器通過路由表進(jìn)行檢索,并確定將此Vi包發(fā)送到什么地方。如果路由指向V1,則該路由器則會(huì)放棄當(dāng)前報(bào)文;路由器A將收到的報(bào)文轉(zhuǎn)送到另外的路由器;若路由器所在的局域網(wǎng)內(nèi)存在1,1則會(huì)收到由路由器A傳送的包。將Vi的數(shù)據(jù)流傳輸至真實(shí)主機(jī)B的過程采用以下兩種方式之一:真實(shí)主機(jī)B由發(fā)送虛擬主機(jī)Vi的路由入口來設(shè)定。通過這種方式,報(bào)文則會(huì)通過路由器轉(zhuǎn)送到虛擬主機(jī)上繼而直接發(fā)送給真實(shí)主機(jī)。在無特殊配備的路由器的情形中,路由器會(huì)使用地址分析協(xié)議的指令來查詢虛擬主機(jī)的硬件地址。但是因?yàn)闆]有能做出響應(yīng)的虛擬主機(jī),分析協(xié)議的查詢指令不會(huì)得到應(yīng)答。此時(shí)用真實(shí)主機(jī)的硬件地址響應(yīng)上述查詢指令。允許路由器將報(bào)文傳送至真實(shí)主機(jī)。在更為復(fù)雜特殊的網(wǎng)絡(luò)環(huán)境下,或?qū)⒁欢慰臻e的網(wǎng)絡(luò)地址空間通過路由封裝連接到真實(shí)主機(jī)。
[0032]虛擬路由器從數(shù)據(jù)處理、路由規(guī)劃和數(shù)據(jù)轉(zhuǎn)送三個(gè)方面模擬了路由器的功能特性,從數(shù)據(jù)檢驗(yàn)、誤差控制、IP包過濾、丟包和延遲五個(gè)方面體現(xiàn)了路由器的控制機(jī)制和鏈路特性,能夠滿足路由器仿真的要求。
[0033]對(duì)于主機(jī)的仿真,從操作系統(tǒng)的網(wǎng)絡(luò)構(gòu)成入手,將虛擬主機(jī)分為以下四個(gè)單元,其組成為網(wǎng)絡(luò)接口單元、通信單元、線程單元和文件處理單元。
[0034]虛擬主機(jī)用于處理兩個(gè)來源的數(shù)據(jù):虛擬路由器轉(zhuǎn)送給虛擬主機(jī)數(shù)據(jù),和遠(yuǎn)程主機(jī)接收的虛擬主機(jī)訪問數(shù)據(jù)。處理這兩種數(shù)據(jù)的方式為:主機(jī)通過網(wǎng)絡(luò)接口單元,接收路由平臺(tái)捕捉的通過路由器轉(zhuǎn)送的報(bào)文。線程單元的服務(wù)線程,服務(wù)線程啟動(dòng)服務(wù)仿真腳本并建立通信,服務(wù)線程如需訪問文件則由文件處理單元的文件系統(tǒng)代理程序執(zhí)行訪問操作;虛擬主機(jī)訪問遠(yuǎn)程主機(jī)時(shí),系統(tǒng)通過激活線程單元的活動(dòng)線程,由活動(dòng)線程啟動(dòng)網(wǎng)絡(luò)通信軟件,注入捕捉程序。然后,網(wǎng)絡(luò)通信軟件啟動(dòng),捕捉其傳送數(shù)據(jù)。傳送數(shù)據(jù)經(jīng)活動(dòng)線程處理為虛擬主機(jī)的數(shù)據(jù),再由通信單元加載虛擬主機(jī)特征,之后交給虛擬路由器處理,最后由平臺(tái)來發(fā)送數(shù)據(jù)。虛擬主機(jī)各個(gè)單元的功能及設(shè)計(jì)實(shí)現(xiàn)逐一介紹如下:
[0035]網(wǎng)絡(luò)接口單元:在計(jì)算機(jī)網(wǎng)絡(luò)中主機(jī)通過IP地址來唯一標(biāo)識(shí)。計(jì)算機(jī)之間的傳送數(shù)據(jù)是通過虛擬路由器來發(fā)送和接收的,虛擬主機(jī)必須連接虛擬路由器才能接入網(wǎng)絡(luò)。虛擬主機(jī)使用IP地址來標(biāo)識(shí),使用輸入路由器的MAC地址進(jìn)行網(wǎng)絡(luò)通信。虛擬主機(jī)通過接收路由器轉(zhuǎn)送的報(bào)文獲取發(fā)送給自身的數(shù)據(jù)。
[0036]通信單元:實(shí)現(xiàn)對(duì)發(fā)送數(shù)據(jù)的封裝和對(duì)接收數(shù)據(jù)分類及解封裝。協(xié)議特征庫借助于現(xiàn)有掃描軟件的內(nèi)置特征庫實(shí)現(xiàn)。
[0037]線程單元:主機(jī)仿真中的服務(wù)線程是為其它主機(jī)訪問虛擬主機(jī)提供服務(wù)的,通過外置的腳本或控制臺(tái)程序來實(shí)現(xiàn),并且只有在被訪問時(shí)啟動(dòng)運(yùn)行。服務(wù)線程與仿真腳本之間使用管道進(jìn)行通信;主機(jī)仿真中的活動(dòng)線程是指操作系統(tǒng)中具有網(wǎng)絡(luò)通信功能的線程,它可以主動(dòng)向遠(yuǎn)程主機(jī)發(fā)起連接并建立通信?;顒?dòng)線程用于模擬線程的活動(dòng)情況和網(wǎng)絡(luò)通信情況。
[0038]文件處理單元:文件系統(tǒng)用于對(duì)線程提供文件操作服務(wù),它包括文件的組織和文件的操作。文件的組織采用磁盤數(shù)據(jù)組織格式將其存為一個(gè)文件,該文件分為四部分:第一部分是保留區(qū),記錄基本輸入輸出參數(shù)塊;第二部分是文件分配表,用于記錄文件系統(tǒng)空間的使用分配情況;第三部分是文件目錄,用于存儲(chǔ)文件的長(zhǎng)度、地址、日期等信息;第四部分是數(shù)據(jù)區(qū),用于文件存放。
[0039]本發(fā)明的網(wǎng)絡(luò)仿真運(yùn)行平臺(tái)運(yùn)行后,首先對(duì)自身進(jìn)行初始化。初始化過程將平臺(tái)調(diào)整到就緒狀態(tài),等待用戶的操作。虛擬網(wǎng)絡(luò)設(shè)備提供的服務(wù)都是通過編寫腳本來實(shí)現(xiàn)的,通過腳本解釋器的初始化工作完成對(duì)腳本解釋器配置文件的讀取,獲得各類腳本解釋器所在的目錄,供執(zhí)行腳本時(shí)調(diào)用。分析特征庫文件,通過加載特征庫仿真多種操作系統(tǒng)和識(shí)別遠(yuǎn)程訪問主機(jī)的操作系統(tǒng)。加載預(yù)設(shè)的網(wǎng)絡(luò)設(shè)備特征模板,特征模板也可在構(gòu)建網(wǎng)絡(luò)運(yùn)行過程中添加,供配置設(shè)備屬性時(shí)使用。打開日志文件,向文件中寫入數(shù)據(jù)。日志文件用于網(wǎng)絡(luò)行為的監(jiān)控和分析。初始化平臺(tái)與外部網(wǎng)絡(luò)的接口,用于報(bào)文的捕捉和轉(zhuǎn)送。為緩存池分配一定的內(nèi)存空間暫存收發(fā)的報(bào)文,用來虛擬網(wǎng)絡(luò)延遲。初始化數(shù)據(jù)量統(tǒng)計(jì)隊(duì)列,統(tǒng)計(jì)單位時(shí)間內(nèi)流經(jīng)平臺(tái)和虛擬網(wǎng)絡(luò)設(shè)備的報(bào)文流量,包括接收流量和發(fā)送流量。
[0040]用戶選擇載入已經(jīng)建立的網(wǎng)絡(luò),或新建一個(gè)網(wǎng)絡(luò),按照實(shí)驗(yàn)的需要添加網(wǎng)絡(luò)設(shè)備,并按預(yù)先設(shè)計(jì)的網(wǎng)絡(luò)拓?fù)溥B接各設(shè)備,形成完整的網(wǎng)絡(luò)模擬。添加網(wǎng)絡(luò)設(shè)備過程實(shí)際上是完成對(duì)設(shè)備屬性的配置,設(shè)置相應(yīng)的參數(shù),指定該設(shè)備所對(duì)應(yīng)的接口并將其初始化。用戶完成對(duì)網(wǎng)絡(luò)的配置后,對(duì)網(wǎng)絡(luò)的邏輯正確性進(jìn)行檢驗(yàn),包括IP地址格式是否正確,是否存在相同IP,網(wǎng)絡(luò)連接是否正確。如果配置不正確,則平臺(tái)將錯(cuò)誤信息以對(duì)話框的形式反饋給用戶,以便用戶根據(jù)反饋信息對(duì)網(wǎng)絡(luò)重新配置,直到網(wǎng)絡(luò)配置正確為止。準(zhǔn)備就緒后,平臺(tái)即按照預(yù)定義的程序開始工作,直到實(shí)驗(yàn)結(jié)束。在此期間,用戶可以實(shí)時(shí)觀測(cè)網(wǎng)絡(luò)的狀態(tài),也可以暫停網(wǎng)絡(luò)運(yùn)行來查看運(yùn)行情況,之后再恢復(fù)網(wǎng)絡(luò)的運(yùn)行,還可以直接中止網(wǎng)絡(luò)運(yùn)行。
[0041]仿真過程結(jié)束后,平臺(tái)清理垃圾,關(guān)閉打開的接口和管道,釋放平臺(tái)所開辟的內(nèi)存空間,同時(shí)保存網(wǎng)絡(luò)拓?fù)鋱D。
[0042]綜上所述,本發(fā)明提出了一種基于路由協(xié)議的網(wǎng)絡(luò)運(yùn)行仿真方法,不改變協(xié)議整體架構(gòu),自主構(gòu)建網(wǎng)絡(luò)和配置參數(shù),為網(wǎng)絡(luò)攻擊和防御的分析提供了良好的環(huán)境。
[0043]顯然,本領(lǐng)域的技術(shù)人員應(yīng)該理解,上述的本發(fā)明的各單元或各步驟可以用通用的計(jì)算系統(tǒng)來實(shí)現(xiàn),它們可以集中在單個(gè)的計(jì)算系統(tǒng)上,或者分布在多個(gè)計(jì)算系統(tǒng)所組成的網(wǎng)絡(luò)上,可選地,它們可以用計(jì)算系統(tǒng)可執(zhí)行的程序代碼來實(shí)現(xiàn),從而,可以將它們存儲(chǔ)在存儲(chǔ)系統(tǒng)中由計(jì)算系統(tǒng)來執(zhí)行。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。
[0044]應(yīng)當(dāng)理解的是,本發(fā)明的上述【具體實(shí)施方式】?jī)H僅用于示例性說明或解釋本發(fā)明的原理,而不構(gòu)成對(duì)本發(fā)明的限制。因此,在不偏離本發(fā)明的精神和范圍的情況下所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。此外,本發(fā)明所附權(quán)利要求旨在涵蓋落入所附權(quán)利要求范圍和邊界、或者這種范圍和邊界的等同形式內(nèi)的全部變化和修改例。
【主權(quán)項(xiàng)】
1.一種基于路由協(xié)議的網(wǎng)絡(luò)運(yùn)行仿真方法,其特征在于,包括: 當(dāng)網(wǎng)絡(luò)仿真運(yùn)行平臺(tái)通過網(wǎng)絡(luò)接口捕捉到數(shù)據(jù)幀后,對(duì)協(xié)議頭進(jìn)行分析,根據(jù)幀的類型字段進(jìn)行判斷,如果所述數(shù)據(jù)幀是地址分析報(bào)文則由平臺(tái)直接進(jìn)行響應(yīng),丟棄本機(jī)發(fā)送的地址分析報(bào)文,如果是IP報(bào)文,則交由虛擬網(wǎng)絡(luò)設(shè)備進(jìn)行處理,處理完成的報(bào)文由平臺(tái)進(jìn)行封裝和發(fā)送。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述由虛擬網(wǎng)絡(luò)設(shè)備進(jìn)行處理,進(jìn)一步包括: 在報(bào)文進(jìn)入虛擬網(wǎng)絡(luò)的入口設(shè)置輸入路由器,定義平臺(tái)與輸入路由器間的緩存池,平臺(tái)將處理完的報(bào)文送入緩存池,報(bào)文在緩存池中以動(dòng)態(tài)鏈表的方式存儲(chǔ),如果緩存池已滿則丟棄新包;所述虛擬網(wǎng)絡(luò)設(shè)備處理報(bào)文的流程具體包括:輸入路由器從緩存池中讀取報(bào)文,首先對(duì)報(bào)文進(jìn)行預(yù)處理,檢查包的長(zhǎng)度和校驗(yàn)碼,然后從報(bào)文中分析目的地址和數(shù)據(jù),最后根據(jù)路由表將數(shù)據(jù)發(fā)送給目標(biāo)主機(jī);主機(jī)處理完成后,在將報(bào)文發(fā)送到網(wǎng)關(guān)路由之前,還需要進(jìn)行封裝,加載預(yù)定的特征,使其符合配置的操作系統(tǒng)特征,最后報(bào)文經(jīng)輸入路由器存入緩存池。 所述對(duì)協(xié)議頭進(jìn)行分析,進(jìn)一步包括: 對(duì)于分析操作,當(dāng)網(wǎng)絡(luò)仿真運(yùn)行平臺(tái)收到數(shù)據(jù)幀時(shí),將包含的每層數(shù)據(jù)進(jìn)行處理,通過多次解幀解包的操作,檢查報(bào)文頭部中的各個(gè)標(biāo)志字符,確定接收數(shù)據(jù)的上層協(xié)議,最后將幀中的應(yīng)用層數(shù)據(jù)交付給應(yīng)用程序; 所述封裝操作進(jìn)一步包括,當(dāng)應(yīng)用層數(shù)據(jù)需要通過平臺(tái)發(fā)送時(shí),將數(shù)據(jù)通過協(xié)議棧進(jìn)行封裝,每次封裝都要在收到數(shù)據(jù)的基礎(chǔ)上增加幀頭信息,最后形成可以在以太網(wǎng)上傳輸?shù)臄?shù)據(jù)幀。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述網(wǎng)絡(luò)仿真運(yùn)行平臺(tái)在運(yùn)行后,首先對(duì)自身進(jìn)行初始化;將平臺(tái)調(diào)整到就緒狀態(tài),等待用戶的操作;虛擬網(wǎng)絡(luò)設(shè)備提供的服務(wù)通過編寫腳本來實(shí)現(xiàn),通過腳本解釋器的初始化工作完成對(duì)腳本解釋器配置文件的讀取,獲得各類腳本解釋器所在的目錄,供執(zhí)行腳本時(shí)調(diào)用;分析特征庫文件,通過加載特征庫仿真多種操作系統(tǒng)和識(shí)別遠(yuǎn)程訪問主機(jī)的操作系統(tǒng);加載預(yù)設(shè)的網(wǎng)絡(luò)設(shè)備特征模板,所述特征模板也可在構(gòu)建網(wǎng)絡(luò)運(yùn)行過程中添加,供配置設(shè)備屬性時(shí)使用;打開日志文件,向文件中寫入數(shù)據(jù),該日志文件用于網(wǎng)絡(luò)行為的監(jiān)控和分析;初始化平臺(tái)與外部網(wǎng)絡(luò)的接口,用于報(bào)文的捕捉和轉(zhuǎn)送;為緩存池分配一定的內(nèi)存空間暫存收發(fā)的報(bào)文,用來虛擬網(wǎng)絡(luò)延遲;初始化數(shù)據(jù)量統(tǒng)計(jì)隊(duì)列,統(tǒng)計(jì)單位時(shí)間內(nèi)流經(jīng)平臺(tái)和虛擬網(wǎng)絡(luò)設(shè)備的報(bào)文流量,包括接收流量和發(fā)送流量;在初始化完成后,用戶選擇載入已經(jīng)建立的網(wǎng)絡(luò)或新建一個(gè)網(wǎng)絡(luò),完成對(duì)設(shè)備屬性的配置,設(shè)置相應(yīng)的參數(shù),指定該設(shè)備所對(duì)應(yīng)的接口并進(jìn)行初始化,按預(yù)先設(shè)計(jì)的網(wǎng)絡(luò)拓?fù)溥B接各設(shè)備,對(duì)網(wǎng)絡(luò)的邏輯正確性進(jìn)行檢驗(yàn),包括IP地址格式是否正確,是否存在相同IP,網(wǎng)絡(luò)連接是否正確,如果配置不正確,則將錯(cuò)誤信息反饋給用戶使其重新配置,仿真過程結(jié)束后,平臺(tái)清理垃圾,關(guān)閉打開的接口和管道,釋放平臺(tái)所開辟的內(nèi)存空間,同時(shí)保存網(wǎng)絡(luò)拓?fù)鋱D。
【文檔編號(hào)】H04L12/46GK105871643SQ201610404722
【公開日】2016年8月17日
【申請(qǐng)日】2016年6月8日
【發(fā)明人】鄧志森, 熊志杰, 張大偉, 王彥灃, 鐘義偉, 趙靜, 張國(guó)芳, 馬莉
【申請(qǐng)人】成都萬緯信息技術(shù)有限公司, 國(guó)網(wǎng)四川省電力公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1