一種基于硬件的網(wǎng)絡(luò)仿真系統(tǒng)及仿真方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)技術(shù),特別是涉及一種基于硬件的網(wǎng)絡(luò)仿真系統(tǒng)及仿真方法。
【背景技術(shù)】
[0002]在互聯(lián)網(wǎng)網(wǎng)絡(luò)協(xié)議的設(shè)計(jì)中,實(shí)驗(yàn)驗(yàn)證是其中一個(gè)很重要的環(huán)節(jié)。在預(yù)言階段的前期研宄中,進(jìn)行大面積的部署實(shí)驗(yàn)不可行,因此采用仿真手段對(duì)通信協(xié)議或路由協(xié)議進(jìn)行不同網(wǎng)絡(luò)拓?fù)渑c鏈路特性下的性能測(cè)試是非常有必要的。
[0003]目前,針對(duì)網(wǎng)絡(luò)協(xié)議的性能的仿真主要有軟件仿真與簡(jiǎn)單演示系統(tǒng)搭建等方法。其中網(wǎng)絡(luò)軟件仿真是通過建立網(wǎng)絡(luò)設(shè)備和網(wǎng)絡(luò)鏈路的統(tǒng)計(jì)模型,并模擬網(wǎng)絡(luò)流量的傳輸,從而獲取網(wǎng)絡(luò)設(shè)計(jì)或優(yōu)化所需要的網(wǎng)絡(luò)性能數(shù)據(jù)的仿真技術(shù)。由于軟件仿真不是基于數(shù)學(xué)計(jì)算,而是基于統(tǒng)計(jì)模型,因此,統(tǒng)計(jì)復(fù)用的隨機(jī)性被精確地再現(xiàn),但由于計(jì)算量巨大,很難實(shí)現(xiàn)實(shí)時(shí)性,同時(shí)軟件仿真無(wú)法實(shí)現(xiàn)實(shí)際的物理接口,仿真結(jié)果與現(xiàn)實(shí)可能有一定差距;簡(jiǎn)單演示系統(tǒng)搭建的方法是在實(shí)驗(yàn)室環(huán)境中通過預(yù)先的拓?fù)湓O(shè)計(jì)搭建固定的拓?fù)洵h(huán)境,此仿真方式真實(shí)、可信,能反應(yīng)網(wǎng)絡(luò)協(xié)議的一些問題,但是實(shí)驗(yàn)拓?fù)涔潭ǎW(wǎng)絡(luò)鏈路特性配置困難,操作靈活性差,難以實(shí)現(xiàn)較大規(guī)模的仿真實(shí)驗(yàn)。
[0004]因此,需要構(gòu)建一種網(wǎng)絡(luò)仿真系統(tǒng),通過少量的普通計(jì)算機(jī)實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)協(xié)議在不同網(wǎng)絡(luò)拓?fù)?、鏈路特性參?shù)下較大規(guī)模的實(shí)驗(yàn)驗(yàn)證。
【發(fā)明內(nèi)容】
[0005]為解決上述技術(shù)問題,本發(fā)明的具體技術(shù)方案是基于硬件的網(wǎng)絡(luò)仿真系統(tǒng)由一個(gè)網(wǎng)絡(luò)模擬器與若干仿真節(jié)點(diǎn)組成。網(wǎng)絡(luò)模擬器是一個(gè)多端口計(jì)算機(jī)或嵌入式設(shè)備,其上運(yùn)行有拓?fù)渖绍浖?、鏈路特性配置軟件、管理仿真?jié)點(diǎn)軟件的服務(wù)器端,可通過用戶界面進(jìn)行本地或遠(yuǎn)程配置;仿真節(jié)點(diǎn)是實(shí)體計(jì)算機(jī)或虛擬計(jì)算機(jī),運(yùn)行有需要測(cè)試的網(wǎng)絡(luò)協(xié)議程序或業(yè)務(wù)程序。
[0006]網(wǎng)絡(luò)模擬器主要負(fù)責(zé)拓?fù)渖?、各仿真鏈路的參?shù)配置;
[0007]I)拓?fù)涞纳?首先根據(jù)用戶配置的節(jié)點(diǎn)連通性矩陣生成仿真網(wǎng)絡(luò)拓?fù)鋱D,連通性矩陣表示網(wǎng)絡(luò)拓?fù)渲袃蓛晒?jié)點(diǎn)連通性狀況,網(wǎng)絡(luò)模擬器通過節(jié)點(diǎn)連通性矩陣去控制節(jié)點(diǎn)之間的連通性;
[0008]2)鏈路特性參數(shù)配置:在本發(fā)明中,為充分利用計(jì)算機(jī)資源,網(wǎng)絡(luò)模擬器的每個(gè)模擬用物理端口被虛擬成多個(gè)虛擬端口,每個(gè)虛擬端口對(duì)應(yīng)一條虛擬鏈路,每條虛擬鏈路根據(jù)仿真需求都有相應(yīng)的帶寬、時(shí)延、抖動(dòng)、誤碼率等特性,每個(gè)虛擬鏈路特性參數(shù)采用鏈路控制軟件配置,如可采用Linux系統(tǒng)TC (Traffic Control)工具進(jìn)行配置,一條虛擬鏈路對(duì)應(yīng)相應(yīng)物理以太端口下的一個(gè)頻道,通過配置TC工具下隊(duì)列規(guī)定、類與過濾器來(lái)配置不同虛擬鏈路特性參數(shù)。
[0009]仿真節(jié)點(diǎn),運(yùn)行有試驗(yàn)網(wǎng)絡(luò)協(xié)議或業(yè)務(wù)程序,可作為源、目的節(jié)點(diǎn),路由節(jié)點(diǎn)等。每個(gè)仿真節(jié)點(diǎn)有一個(gè)控制端口與一個(gè)模擬端口:控制端口連接交換機(jī),用于遠(yuǎn)程管理與配置;模擬端口連接網(wǎng)絡(luò)模擬器,用于仿真實(shí)驗(yàn)。同時(shí),為了提高仿真操作的簡(jiǎn)易性,仿真節(jié)點(diǎn)還運(yùn)行管理仿真節(jié)點(diǎn)軟件的客戶端程序。為節(jié)約計(jì)算機(jī)資源,采用虛擬機(jī)技術(shù)將一個(gè)物理仿真節(jié)點(diǎn)虛擬為若干個(gè)虛擬仿真節(jié)點(diǎn)。虛擬節(jié)點(diǎn)與物理節(jié)點(diǎn)無(wú)任何區(qū)別。
[0010]本發(fā)明采用的整體技術(shù)方案如下:
[0011]一種基于硬件的網(wǎng)絡(luò)仿真系統(tǒng),該系統(tǒng)包括
[0012]一個(gè)網(wǎng)絡(luò)模擬單元,基于用戶配置的仿真節(jié)點(diǎn)連通性矩陣生成仿真網(wǎng)絡(luò)拓?fù)鋱D,并對(duì)仿真鏈路特性參數(shù)進(jìn)行配置;
[0013]多個(gè)仿真節(jié)點(diǎn),基于所述仿真網(wǎng)絡(luò)拓?fù)鋱D和配置的鏈路特性參數(shù),進(jìn)行網(wǎng)絡(luò)協(xié)議或業(yè)務(wù)程序的仿真實(shí)驗(yàn)。
[0014]優(yōu)選的,所述網(wǎng)絡(luò)模擬單元包括
[0015]拓?fù)渖赡K,根據(jù)所述節(jié)點(diǎn)連通性矩陣,生成仿真網(wǎng)絡(luò)拓?fù)鋱D;
[0016]鏈路配置模塊,根據(jù)用戶仿真需求對(duì)仿真鏈路進(jìn)行參數(shù)配置;
[0017]節(jié)點(diǎn)控制模塊,基于控制鏈路對(duì)網(wǎng)絡(luò)中仿真節(jié)點(diǎn)進(jìn)行基本控制。
[0018]優(yōu)選的,所述網(wǎng)絡(luò)模擬單元包括
[0019]節(jié)點(diǎn)管理服務(wù)器,實(shí)時(shí)通過控制鏈路獲取仿真網(wǎng)絡(luò)中仿真節(jié)點(diǎn)的仿真鏈路拓?fù)湫畔⒑头抡婀?jié)點(diǎn)實(shí)驗(yàn)數(shù)據(jù),以及將節(jié)點(diǎn)控制信息通過控制鏈路發(fā)送至仿真節(jié)點(diǎn);
[0020]拓?fù)浒l(fā)現(xiàn)模塊,用于周期性的從節(jié)點(diǎn)管理服務(wù)器中的調(diào)取仿真節(jié)點(diǎn)拓?fù)湫畔?,并通過用戶界面實(shí)時(shí)顯示。
[0021]優(yōu)選的,所述網(wǎng)絡(luò)模擬單元包括
[0022]數(shù)據(jù)庫(kù),用于存儲(chǔ)用戶配置的拓?fù)鋱D信息和鏈路配置信息;
[0023]通用模塊,用于建立網(wǎng)絡(luò)模擬單元與用戶的信息交互,基于用戶指令對(duì)數(shù)據(jù)庫(kù)內(nèi)的數(shù)據(jù)進(jìn)行的格式檢驗(yàn)、插入、修改和刪除操作。
[0024]優(yōu)選的,所述仿真節(jié)點(diǎn)包括節(jié)點(diǎn)管理客戶端,用于對(duì)將當(dāng)前仿真節(jié)點(diǎn)的實(shí)驗(yàn)數(shù)據(jù)進(jìn)行收集管理和基于所述節(jié)點(diǎn)管理服務(wù)器發(fā)出的節(jié)點(diǎn)控制信息對(duì)仿真節(jié)點(diǎn)進(jìn)行控制。
[0025]優(yōu)選的,所述仿真節(jié)點(diǎn)包括
[0026]與遠(yuǎn)程終端的交換機(jī)連接的控制端口,用于形成控制鏈路,實(shí)現(xiàn)遠(yuǎn)程管理與配置;
[0027]與網(wǎng)絡(luò)模擬單元連接的模擬端口,用于形成仿真鏈路,執(zhí)行仿真實(shí)驗(yàn)。
[0028]一種基于權(quán)利要求1所述網(wǎng)絡(luò)仿真系統(tǒng)的仿真方法,該方法的步驟包括
[0029]用戶配置仿真節(jié)點(diǎn)與網(wǎng)絡(luò)模擬單元的各個(gè)仿真端口的IP地址,并在網(wǎng)絡(luò)模擬單元中對(duì)仿真節(jié)點(diǎn)信息進(jìn)行注冊(cè);
[0030]基于用戶配置的節(jié)點(diǎn)連通性矩陣生成仿真網(wǎng)絡(luò)拓?fù)鋱D,并對(duì)仿真鏈路特性參數(shù)進(jìn)行配置;
[0031]仿真節(jié)點(diǎn)以所述仿真網(wǎng)絡(luò)拓?fù)鋱D和鏈路特性參數(shù)作為實(shí)驗(yàn)仿真環(huán)境進(jìn)行仿真實(shí)驗(yàn);
[0032]收集實(shí)驗(yàn)數(shù)據(jù),經(jīng)分析獲得仿真實(shí)驗(yàn)結(jié)果。
[0033]優(yōu)選的,所述仿真節(jié)點(diǎn)的配置步驟包括
[0034]根據(jù)仿真需求配置網(wǎng)絡(luò)模擬器每個(gè)仿真端口的IP地址信息,如可配置不同仿真端口 IP地址網(wǎng)絡(luò)號(hào)不同,對(duì)其網(wǎng)關(guān)與DNS不做配置;
[0035]根據(jù)網(wǎng)絡(luò)模擬單元仿真用物理端口對(duì)應(yīng)的仿真節(jié)點(diǎn)的個(gè)數(shù)配置相應(yīng)的虛擬端口,配置方法根據(jù)需求而定,如可配置各虛擬端口 IP地址網(wǎng)絡(luò)號(hào)各不相同;
[0036]配置仿真節(jié)點(diǎn)的仿真端口的IP地址,配置方法因需求而定如可配置各仿真節(jié)點(diǎn)仿真端口 IP地址網(wǎng)絡(luò)號(hào)與其相連的網(wǎng)絡(luò)模擬器仿真端口 IP地址的網(wǎng)絡(luò)號(hào)相同,網(wǎng)關(guān)為對(duì)應(yīng)網(wǎng)絡(luò)模擬單元端口的IP地址,同時(shí)包括其虛擬端口的IP地址,不配置仿真節(jié)點(diǎn)仿真端口的 DNSo
[0037]優(yōu)選的,該方法的步驟進(jìn)一步包括將每次調(diào)整的仿真網(wǎng)絡(luò)拓?fù)鋱D、仿真節(jié)點(diǎn)連通性和鏈路特性參數(shù)存入數(shù)據(jù)庫(kù)中,用于模擬系統(tǒng)重啟后仿真網(wǎng)絡(luò)拓?fù)渑c鏈路特性參數(shù)的配置及恢復(fù)。
[0038]優(yōu)選的,該方法的步驟進(jìn)一步包括
[0039]使用預(yù)定文件導(dǎo)入或用戶界面直接輸入的方法配置仿真實(shí)驗(yàn)各個(gè)時(shí)刻的拓?fù)鋱D與鏈路特性;
[0040]系統(tǒng)周期性檢測(cè)獲得仿真網(wǎng)絡(luò)拓?fù)鋱D或鏈路特性不同時(shí)刻的變化情況;
[0041]根據(jù)獲得的拓?fù)鋱D或鏈路特性變化情況對(duì)仿真鏈路進(jìn)行動(dòng)態(tài)配置。
[0042]本發(fā)明使用少量的普通計(jì)算機(jī)搭建出較大規(guī)模的、拓?fù)淇蓜?dòng)態(tài)配置的、鏈路特性參數(shù)可配的網(wǎng)絡(luò)協(xié)議實(shí)驗(yàn)環(huán)境。例如,使用一個(gè)10端口的普通計(jì)算機(jī)做網(wǎng)絡(luò)模擬器,9個(gè)中等配置、2個(gè)端口的普通計(jì)算機(jī)做物理仿真節(jié)點(diǎn),可實(shí)現(xiàn)81個(gè)節(jié)點(diǎn)的仿真規(guī)模,且81個(gè)節(jié)點(diǎn)組成的網(wǎng)絡(luò)拓?fù)渑c對(duì)應(yīng)的鏈路特性參數(shù)可以通過仿真平臺(tái)軟件系統(tǒng)任意配置。
[0043]本發(fā)明的有益效果如下:
[0044]傳統(tǒng)的網(wǎng)絡(luò)實(shí)驗(yàn)平臺(tái)拓?fù)涔潭?、?guī)模小、配置繁瑣,且一臺(tái)計(jì)算機(jī)對(duì)應(yīng)一個(gè)網(wǎng)絡(luò)仿真節(jié)點(diǎn),嚴(yán)重浪費(fèi)了計(jì)算機(jī)資源。本發(fā)明所述技術(shù)方案通過一個(gè)網(wǎng)絡(luò)模擬器計(jì)算機(jī)(或嵌入式設(shè)備)與若干仿真節(jié)點(diǎn)計(jì)算機(jī)相連,通過運(yùn)行在網(wǎng)絡(luò)模擬器計(jì)算機(jī)上的模擬控制系統(tǒng)實(shí)現(xiàn)網(wǎng)絡(luò)拓?fù)渥兓c鏈路特性參數(shù)配置,實(shí)現(xiàn)少量的普通計(jì)算機(jī)對(duì)網(wǎng)絡(luò)協(xié)議在不同網(wǎng)絡(luò)拓?fù)?、鏈路特性參?shù)下較大規(guī)模的實(shí)驗(yàn)驗(yàn)證。
【附圖說明】
[0045]下面結(jié)合附圖對(duì)本發(fā)明的【具體實(shí)施方式】作進(jìn)一步詳細(xì)的說明;
[0046]圖1示出本發(fā)明實(shí)施例中簡(jiǎn)單網(wǎng)絡(luò)拓?fù)鋱D的示意圖;
[0047]圖2示出本發(fā)明實(shí)施