一種針對交換機系統(tǒng)仿真驗證的數(shù)據(jù)包追蹤方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,具體涉及一種針對交換機系統(tǒng)仿真驗證的數(shù)據(jù)包追蹤方法。
【背景技術(shù)】
[0002]隨著通信行業(yè)的發(fā)展,交換機的發(fā)展突飛猛進,各種協(xié)議標(biāo)準(zhǔn)以及交換方案越來越復(fù)雜,交換機系統(tǒng)越來越龐大,交換機系統(tǒng)的仿真測試也變得日益復(fù)雜。
[0003]隨著交換機系統(tǒng)仿真測試的難度增加,其測試方法也越來越多。如中國發(fā)明專利CN103440195A公開了一種基于邏輯芯片的交換機芯片驗證方法和裝置,介紹了一種仿真驗證交換機芯片的方法,使得配置用例更簡單。如中國發(fā)明專利CN104253723A公開了一種基于軟硬件協(xié)同實現(xiàn)的交換機驗證測試的方法及裝置,介紹了一種將軟件配置和硬件高速特性結(jié)合的方法。如中國發(fā)明專利CN104065536A公開了一種基于UVM驗證方法的以太網(wǎng)交換機FPGA驗證方法,介紹了一種引入UVM方法學(xué),針對某類特定交換機系統(tǒng)的驗證平臺。諸如此類交換機的仿真驗證方法的研究和發(fā)明越來越多。但這些方法都專注于驗證的方法學(xué)及驗證平臺的結(jié)構(gòu),對仿真檢測出來的問題的定位手段并沒有研究。
[0004]在越來越復(fù)雜的交換機系統(tǒng)仿真驗證中,數(shù)據(jù)包丟失或者錯誤的問題的定位將會越來越復(fù)雜。數(shù)據(jù)包在交換機系統(tǒng)中會存在切片為信元、還有組播、廣播等一系列復(fù)雜情況,其選擇轉(zhuǎn)發(fā)的通路也不是我們指定或很容易計算出來的,找尋數(shù)據(jù)包的蹤跡也變得困難,一般多為從下游往上游一級一級尋找,效率很低,定位數(shù)據(jù)包丟失或者錯誤這類問題耗費的人力成本巨大。為了解決這個問題,需要研究如何提高數(shù)據(jù)包丟失或者錯誤這類問題的定位效率的方法。
【發(fā)明內(nèi)容】
[0005]本發(fā)明所要解決的技術(shù)問題是解決當(dāng)數(shù)據(jù)包丟失或者錯誤這類問題發(fā)生時,提高數(shù)據(jù)包追蹤和定位效率的問題。
[0006]為了解決上述技術(shù)問題,本發(fā)明所采用的技術(shù)方案是提供一種針對交換機系統(tǒng)仿真驗證的數(shù)據(jù)包追蹤方法,包括以下步驟:
[0007]第一步:完成數(shù)據(jù)包關(guān)鍵信息的識別,一般包括:流ID(stream_id),標(biāo)識該數(shù)據(jù)包屬于哪一條數(shù)據(jù)流;場景ID(scenar1_id),標(biāo)識該數(shù)據(jù)包在對應(yīng)數(shù)據(jù)流中的序號;數(shù)據(jù)包ID(data_id),激勵發(fā)生器產(chǎn)生的數(shù)據(jù)包的序號,全局唯一;拷貝ID(copy_id),針對組播和廣播場景,數(shù)據(jù)包會存在復(fù)制的情況,該ID標(biāo)識拷貝的序號。如果是基于信元處理的,一個包可能會被切片為多個信元,需要增加切片ID(fragment_id),標(biāo)識該信元是對應(yīng)數(shù)據(jù)包的第幾個切片。
[0008]第二步:在仿真時,激勵發(fā)生器(generator)中添加數(shù)據(jù)包的關(guān)鍵信息。
[0009]第三步:在關(guān)鍵節(jié)點采集、刷新和輸出數(shù)據(jù)包的關(guān)鍵信息到文本。
[0010]第四步:使用本發(fā)明的命令按照一定關(guān)鍵信息組合,搜索出數(shù)據(jù)包或?qū)?yīng)各信元的路徑(信元經(jīng)過的模塊)信息。
[0011]在上述方法中,需要自行添加數(shù)據(jù)包的標(biāo)識符,根據(jù)調(diào)試功能開關(guān)打印數(shù)據(jù)包的關(guān)鍵信息、使用本發(fā)明提供的命令尋找數(shù)據(jù)包(在交換機系統(tǒng)中可能被切為一個或多個信元)的路徑。
[0012]在上述方法中,如果是電路級代碼,則將標(biāo)識符攜帶在填充(padding)部分;如果是事務(wù)級代碼,則構(gòu)造一個關(guān)鍵信息結(jié)構(gòu),攜帶相關(guān)信息。
[0013]在上述方法中,所述標(biāo)識符要求相對獨立,不影響被測設(shè)計(DUT)的功能。
[0014]本發(fā)明通過標(biāo)識數(shù)據(jù)包關(guān)鍵信息并且按照命令對關(guān)鍵信息進行搜索,使得數(shù)據(jù)包的行蹤一目了然,不需要一級一級查找,且一鍵式操作減少定位問題的人力成本,可以提高數(shù)據(jù)包丟失和錯誤這類問題的定位效率,并具有以下優(yōu)點:
[0015](1)從龐大的數(shù)據(jù)中,找到所需要知道的數(shù)據(jù)包的路徑信息,縮小問題定位范圍;
[0016](2)按照命令設(shè)置,直觀顯示路徑信息結(jié)果,免去一級一級查找數(shù)據(jù)包信息的繁瑣工序;
[0017](3)上述關(guān)鍵信息,可以涵蓋目前通信交換機應(yīng)用的各場景,不同的信息組合可以應(yīng)對不同場景的定位需求。
[0018](4)關(guān)鍵信息可以作為數(shù)據(jù)包的一部分填充,或作為額外的數(shù)據(jù)結(jié)構(gòu)隨數(shù)據(jù)包一起傳遞,即便是已經(jīng)完成的驗證平臺,也可以修改很少部分使用該發(fā)明,不影響原有功能。
【附圖說明】
[0019]圖1深色部分為本發(fā)明提供的一種針對交換機系統(tǒng)仿真驗證的數(shù)據(jù)包追蹤方法在驗證平臺和DUT中涉及的位置;
[0020]圖2為本發(fā)明提供的一種針對交換機系統(tǒng)仿真驗證的數(shù)據(jù)包追蹤方法的方法流程圖。
【具體實施方式】
[0021]下面結(jié)合說明書附圖和【具體實施方式】對本發(fā)明做出詳細的說明。
[0022]本發(fā)明實施例提供了一種針對交換機系統(tǒng)仿真驗證的數(shù)據(jù)包追蹤方法,如圖1、圖2所示,所述方法包括以下步驟:
[0023]第一步:完成數(shù)據(jù)包關(guān)鍵信息的識別。
[0024]數(shù)據(jù)包關(guān)鍵信息一般包括:
[0025]流ID (stream_id),標(biāo)識該數(shù)據(jù)包屬于哪一條數(shù)據(jù)流;
[0026]場景ID (scenar1_id),標(biāo)識該數(shù)據(jù)包在對應(yīng)數(shù)據(jù)流中的序號;
[0027]數(shù)據(jù)包ID(data_id),激勵發(fā)生器產(chǎn)生的數(shù)據(jù)包的序號,全局唯一;
[0028]拷貝ID (copy_id),針對組播和廣播場景,數(shù)據(jù)包會存在復(fù)制的情況,該ID標(biāo)識拷貝的序號。
[0029]如果是基于信元處理的,一個包可能會被切片為多個信元,需要增加切片ID (fragment_id),標(biāo)識該信元是對應(yīng)數(shù)據(jù)包的第幾個切片。
[0030]第二步:在仿真時,在激勵發(fā)生器(generator)中添加數(shù)據(jù)包的關(guān)鍵信息,如圖1中的101。
[0031]第三步:在關(guān)鍵節(jié)點采集、刷新和輸出數(shù)據(jù)包的關(guān)鍵信息到文本,如圖1中的102。
[0032]第四步:按照一定關(guān)鍵信息的組合,從文本中搜索出數(shù)據(jù)包ID或?qū)?yīng)各信元的路徑(信元經(jīng)過的模塊)信息。
[0033]如圖2所示,第二步的具體步驟說明如下:
[0034]步驟201:在激勵發(fā)生器中添加數(shù)據(jù)包的關(guān)鍵信息:stream_id、scenar1_id和data_id,在仿真平臺中對應(yīng)位置為圖1中的generator ;
[0035]步驟202:在DUT各相連模塊中間的連線上插入關(guān)鍵信息采集刷新模塊,在仿真平臺中對應(yīng)位置為圖1中DUT內(nèi)的關(guān)鍵信息采集刷新模塊;
[0036]步驟203:判斷DUT是否有信元切片處理,如果有則進入步驟204,否則直接進入步驟 205 ;
[0037]步驟204:在與DUT信元切片處理模塊輸出連接的關(guān)鍵信息采集刷新模塊中,提取信元在對應(yīng)數(shù)據(jù)包中的序號,刷新對應(yīng)信元關(guān)鍵信息的fragment_id,其余關(guān)鍵信息不變,然