專利名稱::網(wǎng)絡(luò)設(shè)備虛擬測試系統(tǒng)的設(shè)計(jì)方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及測試領(lǐng)域,具體涉及到虛擬測試系統(tǒng),尤其是網(wǎng)絡(luò)設(shè)備的虛擬測試系統(tǒng)。(二)
背景技術(shù):
:網(wǎng)絡(luò)設(shè)備內(nèi)部一般包括兩部分網(wǎng)絡(luò)芯片和系統(tǒng)軟件。為了提高網(wǎng)絡(luò)設(shè)備處理報(bào)文的速度,減少CPU的負(fù)荷,一般將需要高速處理的邏輯放到網(wǎng)絡(luò)芯片里面,實(shí)現(xiàn)硬件高速處理,其他部分則由系統(tǒng)軟件處理。網(wǎng)絡(luò)設(shè)備的測試工作主要包括兩部分對網(wǎng)絡(luò)芯片的測試和對系統(tǒng)軟件的測試?,F(xiàn)在對網(wǎng)絡(luò)芯片的測試一般采用硬件仿真,將網(wǎng)絡(luò)芯片的RTL代碼編譯綜合成目標(biāo)文件,然后裝載到仿真板的FPGA里面,最后在仿真板上進(jìn)行測試。對系統(tǒng)軟件的測試一般在軟件開發(fā)板上進(jìn)行,因?yàn)殚_發(fā)板上需要網(wǎng)絡(luò)芯片,所以一般需要等到網(wǎng)絡(luò)芯片流片完成后才能進(jìn)行。如果想要提前測試,縮短系統(tǒng)軟件的研發(fā)周期,也可以在硬件仿真板上進(jìn)行。測試過程中所需的測試儀器主要包括測試儀表和被測設(shè)備。測試儀表一般是IXIA或SmartBits等,主要用來發(fā)送報(bào)文,接收報(bào)文和分析結(jié)果。被測設(shè)備為硬件仿真板或軟件開發(fā)板,上面裝載有被測目標(biāo)文件。這種測試方法有二個(gè)主要的缺點(diǎn)1)需要大量的測試儀器,測試成本非常高。測試儀表,硬件仿真板和開發(fā)板都非常昂貴,由于測試工作量很大,一般需要很多測試人員同時(shí)測試,因此對測試儀器的需求量很大。同時(shí)如果要進(jìn)行復(fù)雜拓?fù)浣Y(jié)構(gòu)的測試,就需要多臺被測設(shè)備,這樣進(jìn)一步增加了對測試儀器的需求量。2)診斷問題不方便。由于測試是在硬件仿真板上進(jìn)行,當(dāng)測試中發(fā)現(xiàn)了問題,沒法輕易地跟蹤網(wǎng)絡(luò)芯片內(nèi)部的處理流程,使得對許多問題的診斷比較麻煩。(三)
發(fā)明內(nèi)容發(fā)明的目的在于克服上述不足,提供一種網(wǎng)絡(luò)設(shè)備虛擬測試系統(tǒng)的設(shè)計(jì)方法,實(shí)現(xiàn)在虛擬的環(huán)境中完成對網(wǎng)絡(luò)設(shè)備的測試,節(jié)省在網(wǎng)絡(luò)設(shè)備測試中對測試儀器的需求,并且使得診斷測試中發(fā)現(xiàn)的問題更加簡單方便。本發(fā)明中的特定名詞解釋模擬測試儀表用軟件實(shí)現(xiàn)的測試儀表,和物理的測試儀表類似,可以進(jìn)行發(fā)送報(bào)文,接收報(bào)文和分析結(jié)果。將模擬測試儀表的網(wǎng)口跟計(jì)算機(jī)上的網(wǎng)口綁定,可以實(shí)現(xiàn)從計(jì)算機(jī)上的網(wǎng)口發(fā)送出報(bào)文,或者接收報(bào)文,并可以分析接收報(bào)文的結(jié)果。模擬網(wǎng)絡(luò)芯片用軟件實(shí)現(xiàn)的網(wǎng)絡(luò)芯片,從用戶角度看,除了處理速度可能不一樣和不關(guān)心的部分,模擬網(wǎng)絡(luò)芯片對報(bào)文的處理跟真實(shí)網(wǎng)絡(luò)芯片完全相同。將網(wǎng)絡(luò)芯片上的網(wǎng)口跟計(jì)算機(jī)上的網(wǎng)口綁定,可以實(shí)現(xiàn)從計(jì)算機(jī)上的網(wǎng)口上接收報(bào)文,然后對其進(jìn)行相應(yīng)的處理,最后可以再將報(bào)文從計(jì)算機(jī)網(wǎng)口轉(zhuǎn)發(fā)出去。為了實(shí)現(xiàn)上述目的,本發(fā)明的技術(shù)解決方案是一種網(wǎng)絡(luò)設(shè)備虛擬測試系統(tǒng)的設(shè)計(jì)方法,通過軟件模擬網(wǎng)絡(luò)設(shè)備中的網(wǎng)絡(luò)芯片和測試儀表,模擬網(wǎng)絡(luò)芯片和測試儀表都是運(yùn)行在虛擬機(jī)上,運(yùn)行模擬網(wǎng)絡(luò)芯片的虛擬機(jī)為被測設(shè)備,運(yùn)行模擬測試儀表的虛擬機(jī)為測試儀表,模擬網(wǎng)絡(luò)芯片和模擬測試儀表的網(wǎng)絡(luò)端口映射到虛擬機(jī)的網(wǎng)絡(luò)端口,虛擬機(jī)的網(wǎng)口間進(jìn)行虛擬連接;從用戶角度看,除了處理速度可能不一樣和虛擬測試中不關(guān)心的部分,模擬網(wǎng)絡(luò)芯片對報(bào)文的處理跟真實(shí)網(wǎng)絡(luò)芯片完全相同;系統(tǒng)軟件可以使用模擬網(wǎng)絡(luò)芯片為其提供API與之交互;模擬測試儀表可以根據(jù)用戶配置,發(fā)送報(bào)文,接收報(bào)文和分析報(bào)文結(jié)果。上述模擬網(wǎng)絡(luò)芯片的端口與虛擬機(jī)的網(wǎng)口的映射關(guān)系可以在端口映射表中動態(tài)配置。上述模擬測試儀表的端口與虛擬機(jī)的網(wǎng)口的映射關(guān)系可以在端口映射表中動態(tài)配置。上述模擬網(wǎng)絡(luò)芯片和模擬測試儀表同樣可以運(yùn)行在真實(shí)的計(jì)算機(jī)上,通過真實(shí)的網(wǎng)線連接計(jì)算機(jī)的網(wǎng)口,構(gòu)成一個(gè)可以跟其他真實(shí)網(wǎng)絡(luò)設(shè)備互通的測試系統(tǒng)。上述模擬網(wǎng)絡(luò)芯片中,如果某部分功能在測試中不關(guān)心,則此部分功能可以不在模擬網(wǎng)絡(luò)芯片中實(shí)現(xiàn)或者與真實(shí)網(wǎng)絡(luò)芯片實(shí)現(xiàn)得不同。上述模擬網(wǎng)絡(luò)芯片中可以增加額外的調(diào)試系統(tǒng),方便問題的診斷。上述虛擬機(jī)是一臺抽象的計(jì)算機(jī),擁有網(wǎng)絡(luò)接口設(shè)備,文件系統(tǒng),能夠在其中執(zhí)行其他應(yīng)用程序,進(jìn)行系統(tǒng)調(diào)用。上述每臺虛擬機(jī)擁有一個(gè)管理網(wǎng)口,測試人員可以遠(yuǎn)程登陸到每臺虛擬機(jī)上,實(shí)現(xiàn)自動化測試。當(dāng)此測試系統(tǒng)應(yīng)用在真實(shí)計(jì)算機(jī)環(huán)境中時(shí),如果模擬網(wǎng)絡(luò)芯片和模擬測試儀表的端口與計(jì)算機(jī)的網(wǎng)口一對一地映射,這樣就需要很多物理網(wǎng)卡。為了節(jié)約成本,可以通過在報(bào)文中插入一個(gè)字段,攜帶報(bào)文的源端口信息,這樣可以將多個(gè)模擬網(wǎng)絡(luò)芯片或者模擬測試儀表的端口映射到一個(gè)物理網(wǎng)絡(luò)端口,減少測試中所需計(jì)算機(jī)網(wǎng)卡的數(shù)量。上述運(yùn)行系統(tǒng)軟件的虛擬機(jī)跟真實(shí)的被測設(shè)備使用的操作系統(tǒng)平臺相同。本發(fā)明網(wǎng)絡(luò)設(shè)備虛擬測試系統(tǒng)解決了上述的兩個(gè)問題。通過使用軟件模擬網(wǎng)絡(luò)芯片和測試儀表,然后分別運(yùn)行在虛擬機(jī)上,網(wǎng)絡(luò)芯片和測試儀表的網(wǎng)口分別映射到虛擬機(jī)上的網(wǎng)口,然后連接虛擬機(jī)的網(wǎng)口,就可以構(gòu)建出所需的測試網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。所有虛擬機(jī)都是運(yùn)行在測試服務(wù)器上,不需要任何物理測試儀表和被測設(shè)備。當(dāng)測試中發(fā)現(xiàn)了問題,可以使用調(diào)試工具跟蹤模擬網(wǎng)絡(luò)芯片處理報(bào)文的內(nèi)部流程,使得對很多問題的診斷變得更加簡單方便。本發(fā)明的有益效果是通過本發(fā)明,可以實(shí)現(xiàn)在虛擬測試環(huán)境中完成對網(wǎng)絡(luò)設(shè)備的測試,而不需要大量的物理測試設(shè)備,大大節(jié)省了測試成本。同時(shí)可以使用軟件調(diào)試工具跟蹤模擬網(wǎng)絡(luò)芯片內(nèi)部的處理過程,使得問題的診斷更加便利。圖1是本發(fā)明所提供的虛擬測試系統(tǒng)示意圖。5圖2是本發(fā)明虛擬測試系統(tǒng)搭建的流程圖。圖3是本發(fā)明模擬網(wǎng)絡(luò)芯片處理單播報(bào)文的流程圖。圖4是本發(fā)明測試系統(tǒng)應(yīng)用在真實(shí)計(jì)算機(jī)上的系統(tǒng)示意圖。圖5是本發(fā)明報(bào)文格式示意圖。標(biāo)號說明1、測試服務(wù)器11、虛擬機(jī)111、虛擬機(jī)網(wǎng)口112、模擬測試儀表113、模擬網(wǎng)絡(luò)芯片114、系統(tǒng)軟件12、虛擬網(wǎng)絡(luò)連接4X、測試系統(tǒng)應(yīng)用在真實(shí)計(jì)算機(jī)環(huán)境中的測試組件41、計(jì)算機(jī)411、計(jì)算機(jī)網(wǎng)口42、物理網(wǎng)線5X、報(bào)文中的域51、以太網(wǎng)報(bào)文二層頭52、報(bào)文載荷53、報(bào)文校驗(yàn)54、內(nèi)部報(bào)文頭541、內(nèi)部報(bào)文頭的其他信息542、源端口號。具體實(shí)施例方式圖1示出了本發(fā)明的一個(gè)實(shí)施例。在此實(shí)施例中,虛擬測試系統(tǒng)為本發(fā)明提供的虛擬測試系統(tǒng),運(yùn)行在測試服務(wù)器上。虛擬測試系統(tǒng)由一臺或多臺虛擬機(jī)組成,每臺虛擬機(jī)擁有指定數(shù)量的網(wǎng)口,如果某臺虛擬機(jī)被用作測試儀表,則此虛擬機(jī)上需運(yùn)行模擬測試儀表。如果某臺虛擬機(jī)被用作被測設(shè)備,則此虛擬機(jī)上需運(yùn)行模擬網(wǎng)絡(luò)芯片,如果是進(jìn)行系統(tǒng)軟件測試,同時(shí)還需要在此虛擬機(jī)上運(yùn)行系統(tǒng)軟件。虛擬機(jī)的網(wǎng)口之間的連接為虛擬網(wǎng)絡(luò)連接。模擬網(wǎng)絡(luò)芯片或者模擬測試儀表的網(wǎng)口跟虛擬機(jī)的網(wǎng)口是一一映射的,這個(gè)映射信息存放在一張端口映射表中。虛擬機(jī)的網(wǎng)口接收到報(bào)文后,會被轉(zhuǎn)交給模擬網(wǎng)絡(luò)芯片或者模擬測試儀進(jìn)行處理,模擬網(wǎng)絡(luò)芯片或者模擬測試儀根據(jù)接收報(bào)文的虛擬機(jī)網(wǎng)口在端口映射表中查找對應(yīng)的模擬網(wǎng)絡(luò)芯片端口號或者模擬測試儀的端口號。表1為一張模擬網(wǎng)絡(luò)芯片的端口映射表。6<table>tableseeoriginaldocumentpage7</column></row><table>表1模擬網(wǎng)絡(luò)芯片或者模擬測試儀表的每個(gè)網(wǎng)絡(luò)端口都有一個(gè)對應(yīng)的虛擬機(jī)的網(wǎng)口。一般虛擬機(jī)上會多創(chuàng)建一個(gè)網(wǎng)口,作為虛擬機(jī)自身的管理網(wǎng)口,方便測試人員遠(yuǎn)程登陸到虛擬機(jī)上,實(shí)現(xiàn)自動化測試。模擬網(wǎng)絡(luò)芯片會為系統(tǒng)軟件提供與真實(shí)網(wǎng)絡(luò)芯片類似的API。這些API主要包括配置網(wǎng)絡(luò)芯片,與網(wǎng)絡(luò)芯片間的報(bào)文交互等等。圖2示出了虛擬測試系統(tǒng)的創(chuàng)建流程圖。首先進(jìn)入步驟201,運(yùn)行一臺虛擬機(jī),虛擬機(jī)上創(chuàng)建指定數(shù)量的網(wǎng)口,然后進(jìn)入步驟202。在步驟202中,判斷此虛擬機(jī)是否被用著被測設(shè)備,如果是,則進(jìn)入步驟203,否則,則虛擬機(jī)就是被用著測試儀表,因此進(jìn)入步驟204。在步驟203中,運(yùn)行模擬網(wǎng)絡(luò)芯片,然后進(jìn)入步驟205。在步驟204中,運(yùn)行模擬測試儀表,然后進(jìn)入步驟207。在步驟205中,判定是否需要進(jìn)行系統(tǒng)軟件測試,如果需要,則進(jìn)入步驟206,否則進(jìn)入步驟207。在步驟206中,運(yùn)行系統(tǒng)軟件,然后進(jìn)入步驟207。在步驟207中,判定是否還需要創(chuàng)建測試儀表或者被測設(shè)備。這要根據(jù)測試的需求判斷,如果還需要創(chuàng)建,則返回步驟201,否則進(jìn)入步驟208。在步驟208中,按照測試網(wǎng)絡(luò)拓?fù)?,連接虛擬機(jī)間的網(wǎng)口,至此,虛擬測試系統(tǒng)創(chuàng)建完成。圖3示出了模擬網(wǎng)絡(luò)芯片處理單播報(bào)文的流程圖。首先進(jìn)入步驟301,判定接收到的報(bào)文是否來自虛擬機(jī)網(wǎng)口,如果是,則進(jìn)入步驟302,否則此報(bào)文就是來自系統(tǒng)軟件,因此進(jìn)入步驟303。在步驟302中,在端口映射表中查找接收到此報(bào)文的虛擬機(jī)網(wǎng)口所對應(yīng)的模擬網(wǎng)絡(luò)芯片的端口號,此端口號被用作報(bào)文的源端口號。然后進(jìn)入步驟304。在步驟303中,將報(bào)文的源端口號設(shè)置為系統(tǒng)軟件所對應(yīng)的端口號。然后進(jìn)入步驟304。在步驟304中,模擬網(wǎng)絡(luò)芯片根據(jù)內(nèi)部處理邏輯,配置和報(bào)文所帶信息,對報(bào)文進(jìn)行處理。報(bào)文處理包括報(bào)文目的端口查詢,報(bào)文編輯等等。然后進(jìn)入步驟305。在步驟305中,判斷在步驟304中查詢出來的報(bào)文的目的端口為那一類,如果報(bào)文的目的端口為虛擬機(jī)網(wǎng)口所對應(yīng)的端口,則進(jìn)入步驟306。如果報(bào)文的目的端口為系統(tǒng)軟件所對應(yīng)的端口,則進(jìn)入步驟308。否則進(jìn)入步驟307。在步驟306中,再次查找端口映射表,找到與報(bào)文目的端口對應(yīng)的虛擬機(jī)的網(wǎng)口,然后將報(bào)文從此網(wǎng)口發(fā)出。至此,此報(bào)文處理結(jié)束。在步驟307中,丟棄此報(bào)文。至此,此報(bào)文的處理結(jié)束。在步驟308中,將報(bào)文發(fā)轉(zhuǎn)交給系統(tǒng)軟件,由系統(tǒng)軟件對報(bào)文做進(jìn)一步處理。至此,此報(bào)文的處理結(jié)束。圖4示出了測試系統(tǒng)應(yīng)用在真實(shí)計(jì)算機(jī)環(huán)境中的實(shí)施例。運(yùn)行有模擬測試儀表的計(jì)算機(jī)就是一臺功能相對簡單的測試儀表。運(yùn)行有模擬網(wǎng)絡(luò)芯片和系統(tǒng)軟件的計(jì)算機(jī)就是一臺通過軟件轉(zhuǎn)發(fā)的被測設(shè)備。使用物理網(wǎng)線連接這些計(jì)算機(jī)的網(wǎng)口,就可以搭建成真實(shí)的測試網(wǎng)絡(luò)拓?fù)?。這些計(jì)算機(jī)還可以跟其他真實(shí)的網(wǎng)絡(luò)設(shè)備進(jìn)行互聯(lián),進(jìn)行產(chǎn)品的互通測試。由于模擬網(wǎng)絡(luò)芯片或者模擬測試儀表的每個(gè)網(wǎng)口都需要跟計(jì)算機(jī)上的一個(gè)物理網(wǎng)口綁定,這樣當(dāng)模擬網(wǎng)絡(luò)芯片或者模擬測試儀表有很多端口的時(shí)候,就相應(yīng)地需要很多物理網(wǎng)卡,這樣就增加了測試成本。為了減少對物理網(wǎng)卡的需求,可以將報(bào)文的端口信息放到報(bào)文內(nèi),這樣可以實(shí)現(xiàn)多個(gè)模擬網(wǎng)絡(luò)芯片或者模擬測試儀表的端口映射到一個(gè)物理網(wǎng)□。圖5示出了攜帶有端口信息的以太網(wǎng)報(bào)文格式。端口信息放到一個(gè)內(nèi)部報(bào)文頭中。發(fā)送端會將它所期望的接收端的接收端口的端口號放到內(nèi)部報(bào)文頭中,然后插入到報(bào)文內(nèi),接收端收到此報(bào)文后,首先會提取內(nèi)部報(bào)文頭中的端口號信息,此端口號就會作為報(bào)文的源端口號,然后刪除內(nèi)部報(bào)文頭,最后對報(bào)文進(jìn)行進(jìn)一步處理。權(quán)利要求一種網(wǎng)絡(luò)設(shè)備虛擬測試系統(tǒng)的設(shè)計(jì)方法,其特征在于所述方法是通過軟件模擬網(wǎng)絡(luò)設(shè)備中的網(wǎng)絡(luò)芯片和測試儀表,模擬網(wǎng)絡(luò)芯片和模擬測試儀表都是運(yùn)行在虛擬機(jī)上,運(yùn)行模擬網(wǎng)絡(luò)芯片的虛擬機(jī)為被測設(shè)備,運(yùn)行模擬測試儀表的虛擬機(jī)為測試儀表,模擬網(wǎng)絡(luò)芯片和模擬測試儀表的網(wǎng)絡(luò)端口映射到虛擬機(jī)的網(wǎng)絡(luò)端口,虛擬機(jī)的網(wǎng)口間進(jìn)行虛擬連接;從用戶角度看,除了處理速度可能不一樣和虛擬測試中不關(guān)心的部分,模擬網(wǎng)絡(luò)芯片對報(bào)文的處理跟真實(shí)網(wǎng)絡(luò)芯片完全相同;系統(tǒng)軟件可以使用模擬網(wǎng)絡(luò)芯片為其提供API與之交互;模擬測試儀表可以根據(jù)用戶配置,發(fā)送報(bào)文,接收報(bào)文和分析報(bào)文結(jié)果。2.根據(jù)權(quán)利要求1所述的一種網(wǎng)絡(luò)設(shè)備虛擬測試系統(tǒng)的設(shè)計(jì)方法,其特征在于所述模擬網(wǎng)絡(luò)芯片和模擬測試儀表的端口與虛擬機(jī)的網(wǎng)口的映射關(guān)系在端口映射表中動態(tài)配置,所述模擬測試儀表的端口與虛擬機(jī)的網(wǎng)口的映射關(guān)系在端口映射表中動態(tài)配置。3.根據(jù)權(quán)利要求1或2所述的一種網(wǎng)絡(luò)設(shè)備虛擬測試系統(tǒng)的設(shè)計(jì)方法,其特征在于所述模擬網(wǎng)絡(luò)芯片和模擬測試儀表同樣可以運(yùn)行在真實(shí)的計(jì)算機(jī)上,通過真實(shí)的網(wǎng)線連接計(jì)算機(jī)的網(wǎng)口,構(gòu)成一個(gè)可以跟其他真實(shí)網(wǎng)絡(luò)設(shè)備互通的測試系統(tǒng)。4.根據(jù)權(quán)利要求1或2所述的一種網(wǎng)絡(luò)設(shè)備虛擬測試系統(tǒng)的設(shè)計(jì)方法,其特征在于所述模擬網(wǎng)絡(luò)芯片中,如果某部分功能在測試中不關(guān)心,則此部分功能不在模擬網(wǎng)絡(luò)芯片中實(shí)現(xiàn)或者與真實(shí)網(wǎng)絡(luò)芯片實(shí)現(xiàn)得不同。5.根據(jù)權(quán)利要求1或2所述的一種網(wǎng)絡(luò)設(shè)備虛擬測試系統(tǒng)的設(shè)計(jì)方法,其特征在于所述模擬網(wǎng)絡(luò)芯片中增加額外的調(diào)試系統(tǒng)。6.根據(jù)權(quán)利要求1或2所述的一種網(wǎng)絡(luò)設(shè)備虛擬測試系統(tǒng)的設(shè)計(jì)方法,其特征在于所述虛擬機(jī)是一臺抽象的計(jì)算機(jī),擁有網(wǎng)絡(luò)接口設(shè)備,文件系統(tǒng),能夠在其中執(zhí)行其他應(yīng)用程序,進(jìn)行系統(tǒng)調(diào)用。7.根據(jù)權(quán)利要求1或2所述的一種網(wǎng)絡(luò)設(shè)備虛擬測試系統(tǒng)的設(shè)計(jì)方法,其特征在于所述每臺虛擬機(jī)擁有一個(gè)管理網(wǎng)口。8.根據(jù)權(quán)利要求1或2所述的一種網(wǎng)絡(luò)設(shè)備虛擬測試系統(tǒng)的設(shè)計(jì)方法,其特征在于通過在報(bào)文中插入一個(gè)字段,攜帶報(bào)文的源端口信息,這樣將多個(gè)模擬網(wǎng)絡(luò)芯片或者模擬測試儀表的端口映射到一個(gè)物理網(wǎng)絡(luò)端口。9.根據(jù)權(quán)利要求1或2所述的一種網(wǎng)絡(luò)設(shè)備虛擬測試系統(tǒng)的設(shè)計(jì)方法,其特征在于所述運(yùn)行系統(tǒng)軟件的虛擬機(jī)跟真實(shí)的被測設(shè)備使用的操作系統(tǒng)平臺相同。10.根據(jù)權(quán)利要求1或2所述的一種網(wǎng)絡(luò)設(shè)備虛擬測試系統(tǒng)的設(shè)計(jì)方法,其特征在于所述虛擬測試系統(tǒng)的創(chuàng)建流程為首先進(jìn)入步驟201,運(yùn)行一臺虛擬機(jī),虛擬機(jī)上創(chuàng)建指定數(shù)量的網(wǎng)口,然后進(jìn)入步驟202,在步驟202中,判斷此虛擬機(jī)是否被用著被測設(shè)備,如果是,則進(jìn)入步驟203,否則,則虛擬機(jī)就是被用著測試儀表,因此進(jìn)入步驟204,在步驟203中,運(yùn)行模擬網(wǎng)絡(luò)芯片,然后進(jìn)入步驟205,在步驟204中,運(yùn)行模擬測試儀表,然后進(jìn)入步驟207,在步驟205中,判定是否需要進(jìn)行系統(tǒng)軟件測試,如果需要,則進(jìn)入步驟206,否則進(jìn)入步驟207,在步驟206中,運(yùn)行系統(tǒng)軟件,然后進(jìn)入步驟207,在步驟207中,判定是否還需要創(chuàng)建測試儀表或者被測設(shè)備,這要根據(jù)測試的需求判斷,如果還需要創(chuàng)建,則返回步驟201,否則進(jìn)入步驟208,在步驟208中,按照測試網(wǎng)絡(luò)拓?fù)洌B接虛擬機(jī)間的網(wǎng)口,至此,虛擬測試系統(tǒng)創(chuàng)建完成;所述模擬網(wǎng)絡(luò)芯片處理單播報(bào)文的流程為首先進(jìn)入步驟301,判定接收到的報(bào)文是否來自虛擬機(jī)網(wǎng)口,如果是,則進(jìn)入步驟302,否則此報(bào)文就是來自系統(tǒng)軟件,因此進(jìn)入步驟303,在步驟302中,在端口映射表中查找接收到此報(bào)文的虛擬機(jī)網(wǎng)口所對應(yīng)的模擬網(wǎng)絡(luò)芯片的端口號,此端口號被用作報(bào)文的源端口號,然后進(jìn)入步驟304,在步驟303中,將報(bào)文的源端口號設(shè)置為系統(tǒng)軟件所對應(yīng)的端口號,然后進(jìn)入步驟304,在步驟304中,模擬網(wǎng)絡(luò)芯片根據(jù)內(nèi)部處理邏輯,配置和報(bào)文所帶信息,對報(bào)文進(jìn)行處理,報(bào)文處理包括報(bào)文目的端口查詢,報(bào)文編輯,然后進(jìn)入步驟305,在步驟305中,判斷在步驟304中查詢出來的報(bào)文的目的端口為那一類,如果報(bào)文的目的端口為虛擬機(jī)網(wǎng)口所對應(yīng)的端口,則進(jìn)入步驟306,如果報(bào)文的目的端口為系統(tǒng)軟件所對應(yīng)的端口,則進(jìn)入步驟308,否則進(jìn)入步驟307,在步驟306中,再次查找端口映射表,找到與報(bào)文目的端口對應(yīng)的虛擬機(jī)的網(wǎng)口,然后將報(bào)文從此網(wǎng)口發(fā)出,至此,此報(bào)文處理結(jié)束,在步驟307中,丟棄此報(bào)文,至此,此報(bào)文的處理結(jié)束,在步驟308中,將報(bào)文發(fā)轉(zhuǎn)交給系統(tǒng)軟件,由系統(tǒng)軟件對報(bào)文做進(jìn)一步處理,至此,此報(bào)文的處理結(jié)束;所述源端口信息放到一個(gè)內(nèi)部報(bào)文頭中,發(fā)送端會將它所期望的接收端的接收端口的端口號放到內(nèi)部報(bào)文頭中,然后插入到報(bào)文內(nèi),接收端收到此報(bào)文后,首先會提取內(nèi)部報(bào)文頭中的端口號信息,此端口號就會作為報(bào)文的源端口號,然后刪除內(nèi)部報(bào)文頭,最后對報(bào)文進(jìn)行進(jìn)一步處理。全文摘要本發(fā)明涉及一種網(wǎng)絡(luò)設(shè)備虛擬測試系統(tǒng)的設(shè)計(jì)方法,是通過軟件模擬網(wǎng)絡(luò)設(shè)備中的網(wǎng)絡(luò)芯片和測試儀表,模擬網(wǎng)絡(luò)芯片和模擬測試儀表都是運(yùn)行在虛擬機(jī)上,模擬網(wǎng)絡(luò)芯片和模擬測試儀表的網(wǎng)絡(luò)端口映射到虛擬機(jī)的網(wǎng)絡(luò)端口,虛擬機(jī)的網(wǎng)口間進(jìn)行虛擬連接;從用戶角度看,除了處理速度可能不一樣和虛擬測試中不關(guān)心的部分,模擬網(wǎng)絡(luò)芯片對報(bào)文的處理跟真實(shí)網(wǎng)絡(luò)芯片完全相同;系統(tǒng)軟件可以使用模擬網(wǎng)絡(luò)芯片為其提供API與之交互;模擬測試儀表可以根據(jù)用戶配置,發(fā)送報(bào)文,接收報(bào)文和分析報(bào)文結(jié)果。本發(fā)明方法大大節(jié)省了網(wǎng)絡(luò)設(shè)備的測試成本,并且使得診斷測試中發(fā)現(xiàn)的問題更加簡單方便。文檔編號H04L12/26GK101778016SQ20101001711公開日2010年7月14日申請日期2010年1月1日優(yōu)先權(quán)日2010年1月1日發(fā)明者丁賢根,何慈康,鄭有為,顏小波申請人:江蘇華麗網(wǎng)絡(luò)工程有限公司