一種軟硬件協(xié)同實(shí)現(xiàn)用于交換機(jī)驗(yàn)證測試的流量生成器的制造方法
【專利摘要】本發(fā)明公開了一種軟硬件協(xié)同實(shí)現(xiàn)用于交換機(jī)驗(yàn)證測試的流量生成器,涉及通信系統(tǒng),尤指一種軟硬件協(xié)同產(chǎn)生數(shù)據(jù)流,用于交換機(jī)驗(yàn)證測試的裝置,包括:軟件部分的微處理器模塊、硬件部分的數(shù)據(jù)包生成模塊和網(wǎng)絡(luò)接口模塊,微處理器模塊通過總線與數(shù)據(jù)包生成模塊連接,采用C語言對軟件部分進(jìn)行設(shè)計(jì),根據(jù)用戶配置的流量模型產(chǎn)生流量模型控制信息;對硬件部分進(jìn)行模塊化設(shè)計(jì),根據(jù)微處理器模塊的控制信息,產(chǎn)生符合被測交換機(jī)協(xié)議標(biāo)準(zhǔn)和能夠模擬真實(shí)網(wǎng)絡(luò)環(huán)境的數(shù)據(jù)流,用于交換機(jī)的功能驗(yàn)證和性能測試。該流量生成器根據(jù)用戶配置,產(chǎn)生符合被測交換機(jī)協(xié)議和用戶配置的流量模型的數(shù)據(jù)流,具有靈活性高、成本低、數(shù)據(jù)流線速率高和可擴(kuò)展性好等優(yōu)點(diǎn)。
【專利說明】一種軟硬件協(xié)同實(shí)現(xiàn)用于交換機(jī)驗(yàn)證測試的流量生成器
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信系統(tǒng),尤指一種軟硬件協(xié)同產(chǎn)生數(shù)據(jù)流,用于交換機(jī)驗(yàn)證測試的
>J-U ρ?α裝直。
【背景技術(shù)】
[0002]在通信系統(tǒng)中,設(shè)備之間交換的數(shù)據(jù)單元長度是固定的或者可變的。數(shù)據(jù)單元可被稱為包、幀、信元或其他信息單元。所有這些數(shù)據(jù)單元在本發(fā)明中稱為數(shù)據(jù)包。數(shù)據(jù)包由包頭、載荷和包尾組成,包頭包含路由信息和其他重要信息。載荷包含有效的數(shù)據(jù)或者控制信息。包尾是檢錯信息和結(jié)束標(biāo)識。
[0003]交換機(jī)是一種通過識別MAC地址,完成數(shù)據(jù)包從輸入端口轉(zhuǎn)發(fā)到目的輸出端口的網(wǎng)絡(luò)設(shè)備。交換機(jī)作為現(xiàn)代大型網(wǎng)絡(luò)系統(tǒng)的基礎(chǔ),在信息交換、數(shù)據(jù)傳輸領(lǐng)域有著非常重要的作用,其性能決定著網(wǎng)絡(luò)系統(tǒng)的性能和穩(wěn)定性。所以,交換機(jī)的驗(yàn)證測試也成為了交換機(jī)研究的一個重要方向。
[0004]交換機(jī)的驗(yàn)證測試需要模擬實(shí)際的網(wǎng)絡(luò)流量環(huán)境?,F(xiàn)行交換機(jī)的網(wǎng)絡(luò)流量線速率已達(dá)到Gbps量級,而且在實(shí)際的網(wǎng)絡(luò)環(huán)境中負(fù)載流量可能出現(xiàn)各種不同的復(fù)雜情況。作為交換機(jī)驗(yàn)證測試的關(guān)鍵部分,流量生成器也成為重要的研究對象。
[0005]流量生成器,用于產(chǎn)生給定交換機(jī)性能測試所需的數(shù)據(jù)流,以模擬實(shí)際的網(wǎng)絡(luò)環(huán)境中的負(fù)載流量,其數(shù)據(jù)包速率和數(shù)據(jù)流量特性(如數(shù)據(jù)包發(fā)送時間間隔分布、數(shù)據(jù)包長度分布),在測試交換機(jī)系統(tǒng)的性能參數(shù)(如緩存和調(diào)度能力)中至關(guān)重要。為此,流量生成器需要模擬被測交換機(jī)系統(tǒng)所在特定網(wǎng)絡(luò)環(huán)境的流量情況,根據(jù)不同的網(wǎng)絡(luò)環(huán)境,生成具有不同特性的數(shù)據(jù)流。而且,單端口生成的數(shù)據(jù)流線速率必須達(dá)Gbps量級,還必須考慮流量負(fù)載條件、不同流量模型中的數(shù)據(jù)包發(fā)送時間間隔分布和數(shù)據(jù)包長度分布。
[0006]現(xiàn)行的交換機(jī)驗(yàn)證測試所需的流量生成器,大多是基于硬件的專用流量生成器或基于軟件的流量生成器。
[0007]基于硬件的專用流量生成器,根據(jù)被測交換機(jī)采用的協(xié)議類型(如TCP/IP等),可以實(shí)現(xiàn)不同網(wǎng)絡(luò)流量模型下的特定協(xié)議類型的數(shù)據(jù)流,但價格十分昂貴,其價格一般在幾萬到幾十萬美元。
[0008]基于軟件的流量生成器,可以配置為不同協(xié)議類型,靈活配置各種網(wǎng)絡(luò)流量模型。例如,分布式網(wǎng)絡(luò)流量生成器(D-1TG),使用PC機(jī)來模擬實(shí)現(xiàn)流量生成器,根據(jù)不同協(xié)議(如TCP,UDP, DNS和VoIP等),用戶可通過多種隨機(jī)分布模型來建模數(shù)據(jù)包發(fā)送時間間隔和數(shù)據(jù)包長度,以產(chǎn)生特定流量模型的數(shù)據(jù)流。但是該流量生成器能達(dá)到的數(shù)據(jù)流線速率僅為611Mbps。因此,基于軟件的流量生成器,其數(shù)據(jù)流線速率依賴于軟件運(yùn)行的硬件環(huán)境,擴(kuò)展性差,數(shù)據(jù)包帶寬有限,無法對多端口、高速率的交換機(jī)進(jìn)行性能評估。
【發(fā)明內(nèi)容】
[0009]針對【背景技術(shù)】中流量生成器的不足,設(shè)計(jì)一種軟硬件協(xié)同實(shí)現(xiàn)用于交換機(jī)驗(yàn)證測試的流量生成器,從而達(dá)到為多種協(xié)議類型交換機(jī)提供測試數(shù)據(jù)流時靈活性高、成本低、數(shù)據(jù)流線速率高和可擴(kuò)展性好的目的。
[0010]本發(fā)明的技術(shù)方案是一種軟硬件協(xié)同實(shí)現(xiàn)用于交換機(jī)驗(yàn)證測試的流量生成器,該流量生成器結(jié)合了【背景技術(shù)】中硬件流量生成器和軟件流量生成器的優(yōu)點(diǎn),可以為交換機(jī)的測試提供網(wǎng)絡(luò)流量。該流量生成器包括:軟件部分的微處理器模塊和硬件部分的數(shù)據(jù)包生成模塊、網(wǎng)絡(luò)接口模塊;微處理器模塊通過總線與數(shù)據(jù)包生成模塊連接,其特征在于微處理器模塊包括:配置模塊和流量模型控制模塊;
[0011]其中配置模塊在上電初始化后開始讀取用戶配置信息,讀取完成后對流量模型控制模塊進(jìn)行配置,并通過總線對數(shù)據(jù)包生成模塊進(jìn)行初始化;流量模型控制模塊則根據(jù)配置信息產(chǎn)生數(shù)據(jù)包發(fā)送時間間隔控制信息,通過總線控制數(shù)據(jù)包生成模塊。
[0012]所述數(shù)據(jù)包生成模塊包括:用戶配置控制器、數(shù)據(jù)包封裝器、數(shù)據(jù)包發(fā)送時序產(chǎn)生器和數(shù)據(jù)包發(fā)送控制器;
[0013]其中用戶配置控制器通過總線與微處理器模塊進(jìn)行通信,將微處理器模塊發(fā)送的各配置信息分別寫入對應(yīng)的配置單元;
[0014]數(shù)據(jù)包封裝器,讀取用戶配置控制器的協(xié)議類型控制信息、數(shù)據(jù)包目的端口控制信息、數(shù)據(jù)包長度控制信息,生成符合要求的數(shù)據(jù)包,并寫入數(shù)據(jù)包緩存;
[0015]數(shù)據(jù)包發(fā)送時序產(chǎn)生器,讀取用戶配置控制器的數(shù)據(jù)包發(fā)送時間間隔控制信息和數(shù)據(jù)包長度控制信息,對數(shù)據(jù)包發(fā)送時間間隔進(jìn)行修正,寫入發(fā)送時序緩存;
[0016]數(shù)據(jù)包發(fā)送控制器,讀取數(shù)據(jù)包封裝器的數(shù)據(jù)包和數(shù)據(jù)包發(fā)送時序產(chǎn)生器的數(shù)據(jù)包發(fā)送時間間隔控制信息,根據(jù)數(shù)據(jù)包發(fā)送時間間隔控制信息,控制發(fā)送數(shù)據(jù)包到網(wǎng)絡(luò)接口模塊。
[0017]所述用戶配置控制器具體包括:協(xié)議類型配置單元、偽隨機(jī)數(shù)發(fā)生單元、數(shù)據(jù)包目的端口地址配置單元、數(shù)據(jù)包長度配置單元和數(shù)據(jù)包發(fā)送時間間隔配置單元;
[0018]協(xié)議類型配置單元,通過總線與微處理器模塊通信,配置數(shù)據(jù)包的協(xié)議類型;
[0019]偽隨機(jī)數(shù)發(fā)生單元,產(chǎn)生偽隨機(jī)數(shù),用于產(chǎn)生均勻分布模型的控制信息;
[0020]數(shù)據(jù)包目的端口地址配置單元,通過總線與微處理器模塊通信,若數(shù)據(jù)包目的端口配置為服從均勻分布模型,則讀取偽隨機(jī)數(shù)發(fā)生單元的數(shù)據(jù)包目的端口控制信息,并寫入數(shù)據(jù)包目的端口地址配置單元的緩存;若數(shù)據(jù)包目的端口配置為固定端口,則讀取微處理器模塊傳輸?shù)臄?shù)據(jù)包目的端口控制信息,并寫入數(shù)據(jù)包目的端口地址配置單元的緩存;
[0021]數(shù)據(jù)包長度配置單元,通過總線與微處理器模塊通信,若數(shù)據(jù)包長度配置為服從均勻分布模型,則讀取偽隨機(jī)數(shù)發(fā)生單元的數(shù)據(jù)包長度控制信息,并寫入數(shù)據(jù)包長度配置單元的緩存;若數(shù)據(jù)包長度配置為固定長度,則讀取微處理器模塊傳輸?shù)臄?shù)據(jù)包長度控制信息,并寫入數(shù)據(jù)包長度配置單元的緩存;
[0022]數(shù)據(jù)包發(fā)送時間間隔配置單元,通過總線與微處理器模塊通信,將數(shù)據(jù)包發(fā)送時間間隔控制信息寫入數(shù)據(jù)包發(fā)送時間間隔配置單元的緩存。
[0023]所述數(shù)據(jù)包封裝器具體包括:數(shù)據(jù)包位段填充單元和數(shù)據(jù)包緩存單元;
[0024]數(shù)據(jù)包位段填充單元,讀取用戶配置控制器的協(xié)議類型、數(shù)據(jù)包目的端口控制信息、數(shù)據(jù)包長度控制信息,根據(jù)讀取的控制信息填充數(shù)據(jù)包的各個位段;
[0025]數(shù)據(jù)包緩存單元,將數(shù)據(jù)包位段填充單元生成的數(shù)據(jù)包,寫入數(shù)據(jù)包緩存單元。
[0026]所述數(shù)據(jù)包發(fā)送時序產(chǎn)生器具體包括:比較單元和發(fā)送時序緩存單元;
[0027]比較單元,讀取用戶配置控制器的數(shù)據(jù)包長度控制信息和數(shù)據(jù)包發(fā)送時間間隔控制信息,為了保證發(fā)送完整的數(shù)據(jù)包,需要將數(shù)據(jù)包發(fā)送時間間隔進(jìn)行修正,通過比較單元對數(shù)據(jù)包發(fā)送時間間隔和數(shù)據(jù)包長度進(jìn)行數(shù)值比較,若數(shù)據(jù)包發(fā)送時間間隔比數(shù)據(jù)包長度小,則將數(shù)據(jù)包發(fā)送時間間隔修正為數(shù)據(jù)包長度;否則不調(diào)整;
[0028]發(fā)送時間緩存單元,將修正后的數(shù)據(jù)包發(fā)送時間間隔寫入發(fā)送時序緩存單元。
[0029]所述數(shù)據(jù)包發(fā)送控制器具體包括:時間標(biāo)簽單元和發(fā)送控制單元;
[0030]時間標(biāo)簽單元,記錄流量生成器的當(dāng)前時間,加入數(shù)據(jù)包的時間位段,用于測試交換機(jī)的延遲性能;
[0031]發(fā)送控制單元,讀取數(shù)據(jù)包發(fā)送時序產(chǎn)生器中的數(shù)據(jù)包發(fā)送時間間隔控制信息,根據(jù)數(shù)據(jù)包發(fā)送時間間隔控制信息,讀取數(shù)據(jù)包封裝器的數(shù)據(jù)包緩存單元中的數(shù)據(jù)包、時間標(biāo)簽單元的時間信息,將時間信息加入數(shù)據(jù)包指定時間位段;根據(jù)數(shù)據(jù)包發(fā)送時間間隔控制信息,將數(shù)據(jù)包發(fā)送到網(wǎng)絡(luò)接口模塊。
[0032]本發(fā)明的有益效果是:本發(fā)明的流量生成器可靈活配置為多種預(yù)定負(fù)載條件和流量模型,并且單端口數(shù)據(jù)流線速率可達(dá)Gbps量級,可直接和交換機(jī)相連,為被測交換機(jī)提供能夠模擬實(shí)際網(wǎng)絡(luò)流量環(huán)境的測試數(shù)據(jù)流,用于交換機(jī)的驗(yàn)證測試。
【專利附圖】
【附圖說明】
[0033]圖1為流量生成器的網(wǎng)絡(luò)連接圖;
[0034]圖2為流量生成器整體結(jié)構(gòu)示意圖;
[0035]圖3為微處理器模塊結(jié)構(gòu)示意圖;
[0036]圖4為微處理器模塊工作的流程圖;
[0037]圖5為數(shù)據(jù)包生成模塊結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0038]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0039]本發(fā)明一實(shí)例中流量生成器與被測交換機(jī)的網(wǎng)絡(luò)連接圖如圖1所示。用戶通過PC機(jī)對流量生成器進(jìn)行配置,流量生成器模擬交換機(jī)工作時的網(wǎng)絡(luò)流量環(huán)境,產(chǎn)生測試數(shù)據(jù)流,通過物理鏈路與被測交換機(jī)相連,為被測交換機(jī)的驗(yàn)證測試提供測試數(shù)據(jù)流輸入。
[0040]具體地,在本發(fā)明一實(shí)例中,軟硬件協(xié)同實(shí)現(xiàn)的用于交換機(jī)驗(yàn)證測試的流量生成器整體結(jié)構(gòu)示意圖如圖2所示。本發(fā)明的流量生成器,可根據(jù)需要產(chǎn)生多種流量模型的數(shù)據(jù)流,可以為多種協(xié)議類型的交換機(jī)提供數(shù)據(jù)流輸入。在本發(fā)明實(shí)例中,流量生成器基于PowerPC和FPGA軟硬件協(xié)同實(shí)現(xiàn),采用C語言編寫模塊化代碼,對PowerPC的軟件模塊進(jìn)行設(shè)計(jì),采用Verilog HDL編寫模塊化RTL級代碼,對FPGA的硬件模塊進(jìn)行設(shè)計(jì)。
[0041 ] 所述流量生成器包括一個微處理器模塊1、N個數(shù)據(jù)包生成模塊2和N個網(wǎng)絡(luò)接口模塊3。
[0042]微處理器模塊1,用于讀取用戶配置,根據(jù)配置信息,產(chǎn)生流量模型控制信息,通過總線控制硬件模塊產(chǎn)生驗(yàn)證測試交換機(jī)所需的測試數(shù)據(jù)流;
[0043]數(shù)據(jù)包生成模塊2,根據(jù)微處理器模塊I的控制信息,產(chǎn)生交換機(jī)驗(yàn)證測試所需的數(shù)據(jù)包;根據(jù)流量模型控制信息,產(chǎn)生數(shù)據(jù)包發(fā)送時序,并根據(jù)數(shù)據(jù)包發(fā)送時序控制信息,控制數(shù)據(jù)包的發(fā)送;
[0044]網(wǎng)絡(luò)接口模塊3,用于接收數(shù)據(jù)包生成模塊2的數(shù)據(jù)包,并將并行數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù)流,傳輸?shù)奖粶y交換機(jī)。
[0045]本發(fā)明的流量生成器適用于N端口交換機(jī)的功能驗(yàn)證和性能測試,硬件部分采用模塊化設(shè)計(jì),模塊2和模塊3包括N個相同的子模塊,通過例化N個單端口,即可對N端口交換機(jī)進(jìn)行測試數(shù)據(jù)流輸入,下面針對單端口進(jìn)行說明。
[0046]微處理器模塊I結(jié)構(gòu)示意圖如圖3所示。所述微處理器模塊I具體包括:配置模塊12和流量模型控制模塊13。微處理器模塊I采用POwerPC440,通過PC1-E接口讀取用戶配置信號11,并根據(jù)配置信息控制FPGA產(chǎn)生所需的網(wǎng)絡(luò)數(shù)據(jù)流量。
[0047]所述的配置模塊12,在上電初始化后開始讀取用戶配置信息,若未進(jìn)行配置則繼續(xù)循環(huán)等待,若用戶配置完成,則進(jìn)入下一步,根據(jù)配置信息對流量模型控制模塊13進(jìn)行配置,然后通過PLB總線對硬件模塊進(jìn)行初始化,將被測交換機(jī)類型(如TCP/IP、FC等)、數(shù)據(jù)包目的地址分布模型(如均勻分布、非均勻分布等)和數(shù)據(jù)包長度模型(如定長、均勻分布等)配置到硬件模塊。
[0048]所述的流量模型控制模塊13,根據(jù)配置信息,產(chǎn)生用戶所需流量的數(shù)據(jù)包發(fā)送時間間隔控制信息,通過PLB總線控制硬件模塊,使數(shù)據(jù)包的發(fā)送時間間隔服從用戶配置的流量模型(如常數(shù)分布、泊松分布、馬爾科夫調(diào)制的泊松分布等)。
[0049]本發(fā)明一實(shí)例中微處理器模塊I (PowerPC)工作的流程圖如圖4所示,包括以下步驟:
[0050]S41, PowerPC在系統(tǒng)上電后,開始讀取用戶配置信息;
[0051]S42,判斷是否完成配置信息讀取,若用戶還未對流量生成器進(jìn)行配置,則繼續(xù)讀取用戶配置信息S42,若已完成用戶配置信息的讀取,則進(jìn)入S43 ;
[0052]S43,對流量模型控制模塊13進(jìn)行配置,進(jìn)入S44 ;
[0053]S44,通過總線初始化硬件模塊,進(jìn)入S45 ;
[0054]S45,流量模型控制模塊13根據(jù)配置信息,產(chǎn)生數(shù)據(jù)包發(fā)送時間間隔控制信息,更新流量模型控制模塊13狀態(tài),進(jìn)入S46 ;
[0055]S46,讀取數(shù)據(jù)包生成模塊2狀態(tài),若數(shù)據(jù)包生成模塊2未讀取數(shù)據(jù)包發(fā)送時間間隔控制信息,則進(jìn)入S46,等待硬件模塊讀取;若數(shù)據(jù)包生成模塊2已讀取數(shù)據(jù)包發(fā)送時間間隔控制信息,則進(jìn)入S45。
[0056]數(shù)據(jù)包生成模塊2結(jié)構(gòu)示意圖如圖5所示。該模塊根據(jù)微處理器模塊I的協(xié)議類型、數(shù)據(jù)包長度、數(shù)據(jù)包目的端口、數(shù)據(jù)包發(fā)送時間間隔等控制信息,產(chǎn)生被測交換機(jī)所需的測試數(shù)據(jù)流。所述數(shù)據(jù)包生成模塊2包括用戶配置控制器21、數(shù)據(jù)包封裝器22、數(shù)據(jù)包發(fā)送時序產(chǎn)生器23和數(shù)據(jù)包發(fā)送控制器24。
[0057]所述的用戶配置控制器21,通過PLB總線與PowerPC進(jìn)行通信。所述用戶配置控制器21具體包括協(xié)議類型配置單元211、偽隨機(jī)數(shù)發(fā)生單元212、數(shù)據(jù)包目的端口地址配置單元213、數(shù)據(jù)包長度配置單元214和數(shù)據(jù)包發(fā)送時間間隔配置單元215。
[0058]協(xié)議類型配置單元211,通過PLB總線與PowerPC通信,配置數(shù)據(jù)包的協(xié)議類型寄存器;
[0059]偽隨機(jī)數(shù)發(fā)生單元212,產(chǎn)生偽隨機(jī)數(shù),用于產(chǎn)生均勻分布模型(如數(shù)據(jù)包目的端口均勻分布、數(shù)據(jù)包長度均勻分布等)的控制信息;
[0060]數(shù)據(jù)包目的端口地址配置單元213,通過PLB總線與PowerPC通信,若數(shù)據(jù)包目的端口配置為服從均勻分布模型,則讀取偽隨機(jī)數(shù)發(fā)生單元212的數(shù)據(jù)包目的端口控制信息,并寫入數(shù)據(jù)包目的端口地址配置單元213的緩存;若數(shù)據(jù)包目的端口配置為固定端口,則讀取PowerPC傳輸?shù)臄?shù)據(jù)包目的端口控制信息,并寫入數(shù)據(jù)包目的端口地址配置單元213的緩存;
[0061]數(shù)據(jù)包長度配置單元214,通過PLB總線與PowerPC通信,若數(shù)據(jù)包長度配置為服從均勻分布模型,則讀取偽隨機(jī)數(shù)發(fā)生單元212的數(shù)據(jù)包長度控制信息,并寫入數(shù)據(jù)包長度配置單元214的緩存;若數(shù)據(jù)包長度配置為固定長度,則讀取PowerPC傳輸?shù)臄?shù)據(jù)包長度控制信息,并寫入數(shù)據(jù)包長度配置單元214的緩存;
[0062]數(shù)據(jù)包發(fā)送時間間隔配置單元215,通過PLB總線與PowerPC通信,將數(shù)據(jù)包發(fā)送時間間隔控制信息寫入數(shù)據(jù)包發(fā)送時間間隔配置單元215的緩存。
[0063]所述的數(shù)據(jù)包封裝器22用硬件實(shí)現(xiàn),讀取用戶配置控制器21的數(shù)據(jù)包長度控制信息和數(shù)據(jù)包目的端口控制信息,生成符合要求的數(shù)據(jù)包。所述的數(shù)據(jù)包封裝器22包括數(shù)據(jù)包位段填充單元221和數(shù)據(jù)包緩存單元222。
[0064]數(shù)據(jù)包位段填充單元221,讀取用戶配置控制器21的協(xié)議類型寄存器、數(shù)據(jù)包目的端口地址、數(shù)據(jù)包長度等控制信息,填充數(shù)據(jù)包的各個位段;
[0065]數(shù)據(jù)包緩存單元222,將數(shù)據(jù)包位段填充單元221生成的數(shù)據(jù)位段寫入數(shù)據(jù)包緩存,組成用戶所需的完整數(shù)據(jù)包。
[0066]所述的數(shù)據(jù)包發(fā)送時序產(chǎn)生器23,用于產(chǎn)生數(shù)據(jù)包發(fā)送時的控制時序信號。所述的數(shù)據(jù)包發(fā)送時序產(chǎn)生器23,包括一個比較單元231和一個發(fā)送時序緩存單元232。
[0067]比較單元231,讀取用戶配置控制器21的數(shù)據(jù)包長度控制信息和數(shù)據(jù)包發(fā)送時間間隔控制信息,為了保證發(fā)送完整的數(shù)據(jù)包,需要將數(shù)據(jù)包發(fā)送時間間隔進(jìn)行修正,通過比較單元231對數(shù)據(jù)包發(fā)送時間間隔和數(shù)據(jù)包長度進(jìn)行比較,若數(shù)據(jù)包發(fā)送時間間隔比數(shù)據(jù)包長度小,則將數(shù)據(jù)包發(fā)送時間間隔修正為數(shù)據(jù)包長度,否則不調(diào)整;
[0068]發(fā)送時序緩存單元232,將修正后的數(shù)據(jù)包發(fā)送時間間隔控制信息寫入發(fā)送時序緩存,用于控制數(shù)據(jù)包的發(fā)送時序。
[0069]所述的數(shù)據(jù)包發(fā)送控制器24,讀取發(fā)送時序緩存單元232的數(shù)據(jù)包發(fā)送時間間隔控制信息,將數(shù)據(jù)包封裝器22生成的數(shù)據(jù)包發(fā)送到網(wǎng)絡(luò)接口模塊3。所述的數(shù)據(jù)包發(fā)送控制器24包括一個時間標(biāo)簽單元241和一個發(fā)送控制單元242。
[0070]時間標(biāo)簽單元241,記錄流量生成器的當(dāng)前時間,發(fā)送控制單元242將發(fā)送時的時間加入數(shù)據(jù)包的時間位段,用于測試交換機(jī)的延遲性能;
[0071]發(fā)送控制單元242,讀取發(fā)送時序緩存單元232的數(shù)據(jù)包發(fā)送時間間隔控制信息,根據(jù)數(shù)據(jù)包發(fā)送時間間隔控制信息,讀取數(shù)據(jù)包緩存單元222的數(shù)據(jù)包,讀取時間標(biāo)簽單元241的時間信號,將時間信號加入數(shù)據(jù)包指定時間位段,根據(jù)數(shù)據(jù)包發(fā)送時間間隔控制信息,將數(shù)據(jù)包發(fā)送到網(wǎng)絡(luò)接口模塊3。
[0072]所述的網(wǎng)絡(luò)接口模塊3,接收數(shù)據(jù)包生成模塊2的數(shù)據(jù)包,并將并行數(shù)據(jù)轉(zhuǎn)換為交換機(jī)所需的光、電或無線信號等形式的串行數(shù)據(jù)流,傳輸?shù)奖粶y交換機(jī)。
[0073]相比與現(xiàn)有技術(shù)的缺點(diǎn)和不足,本發(fā)明有以下有益效果:
[0074](I)與基于硬件的專用流量生成器相比,如Ixia公司的Fibre Channel 2/4/8GLoad Modules,可以對8 口光纖交換機(jī)產(chǎn)生2G/4G/8G的網(wǎng)絡(luò)負(fù)載流量,但是價格昂貴,需要幾十萬人民幣。本發(fā)明的流量生成器成本低,配置靈活,可以產(chǎn)生多種預(yù)置負(fù)載情況和流量模型的網(wǎng)絡(luò)流量。
[0075](2)與基于軟件的流量生成器,如D-1TG,可以生成指數(shù)、泊松、常數(shù)、突發(fā)等多種流量模型的網(wǎng)絡(luò)流量,但最高數(shù)據(jù)流線速率依賴于所運(yùn)行的硬件,在PC機(jī)上運(yùn)行的D-1TG流量生成器,其線速率僅為611Mbps,不能用于測試Gbps量級的高速交換機(jī)的性能,并且擴(kuò)展端口時會降低單端口線速率。本發(fā)明的流量生成器單端口數(shù)據(jù)流線速率可達(dá)2Gbps,可以在保持單端口數(shù)據(jù)流線速率不變的同時,擴(kuò)展至更多端口。
[0076](3)本發(fā)明采用了基于PowerPC和FPGA的系統(tǒng)設(shè)計(jì)方案,通用性強(qiáng),可以連接多種協(xié)議類型(如TCP/IP、FC等)的交換機(jī),硬件采用模塊化容易實(shí)現(xiàn),軟件開發(fā)成本低、周期短、便于維護(hù)和功能變更。
[0077]以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所做的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種軟硬件協(xié)同實(shí)現(xiàn)用于交換機(jī)驗(yàn)證測試的流量生成器,該流量生成器包括:軟件部分的微處理器模塊、硬件部分的數(shù)據(jù)包生成模塊和網(wǎng)絡(luò)接口模塊,微處理器模塊通過總線與數(shù)據(jù)包生成模塊連接,其特征在于微處理器模塊包括:配置模塊和流量模型控制模塊; 其中配置模塊在上電初始化后開始讀取用戶配置信息,讀取完成后對流量模型控制模塊進(jìn)行配置,并通過總線對數(shù)據(jù)包生成模塊進(jìn)行初始化;流量模型控制模塊則根據(jù)配置信息產(chǎn)生數(shù)據(jù)包發(fā)送時間間隔控制信息,通過總線控制數(shù)據(jù)包生成模塊。
2.如權(quán)力要求I所述的一種軟硬件協(xié)同實(shí)現(xiàn)用于交換機(jī)驗(yàn)證測試的流量生成器,其特征在于所述數(shù)據(jù)包生成模塊包括:用戶配置控制器、數(shù)據(jù)包封裝器、數(shù)據(jù)包發(fā)送時序產(chǎn)生器和數(shù)據(jù)包發(fā)送控制器; 其中用戶配置控制器通過總線與微處理器模塊進(jìn)行通信,將微處理器模塊發(fā)送的各配置信息分別寫入對應(yīng)的配置單元; 數(shù)據(jù)包封裝器,讀取用戶配置控制器的協(xié)議類型控制信息、數(shù)據(jù)包目的端口控制信息、數(shù)據(jù)包長度控制信息,生成符合要求的數(shù)據(jù)包,并寫入數(shù)據(jù)包緩存; 數(shù)據(jù)包發(fā)送時序產(chǎn)生器,讀取用戶配置控制器的數(shù)據(jù)包發(fā)送時間間隔控制信息和數(shù)據(jù)包長度控制信息,對數(shù)據(jù)包發(fā)送時間間隔進(jìn)行修正,寫入發(fā)送時序緩存; 數(shù)據(jù)包發(fā)送控制器,讀取數(shù)據(jù)包封裝器的數(shù)據(jù)包和數(shù)據(jù)包發(fā)送時序產(chǎn)生器的數(shù)據(jù)包發(fā)送時間間隔控制信息,根據(jù)數(shù)據(jù)包發(fā)送時間間隔控制信息,控制發(fā)送數(shù)據(jù)包到網(wǎng)絡(luò)接口模塊。
3.如權(quán)力要求2所述的一種軟硬件協(xié)同實(shí)現(xiàn)用于交換機(jī)驗(yàn)證測試的流量生成器,其特征在于所述用戶配置控制器具體包括:協(xié)議類型配置單元、偽隨機(jī)數(shù)發(fā)生單元、數(shù)據(jù)包目的端口地址配置單元、數(shù)據(jù)包長度配置單元和數(shù)據(jù)包發(fā)送時間間隔配置單元; 協(xié)議類型配置單元,通過總線與微處理器模塊通信,配置數(shù)據(jù)包的協(xié)議類型; 偽隨機(jī)數(shù)發(fā)生單元,產(chǎn)生偽隨機(jī)數(shù),用于產(chǎn)生均勻分布模型的控制信息; 數(shù)據(jù)包目的端口地址配置單元,通過總線與微處理器模塊通信,若數(shù)據(jù)包目的端口配置為服從均勻分布模型,則讀取偽隨機(jī)數(shù)發(fā)生單元的數(shù)據(jù)包目的端口控制信息,并寫入數(shù)據(jù)包目的端口地址配置單元的緩存;若數(shù)據(jù)包目的端口配置為固定端口,則讀取微處理器模塊傳輸?shù)臄?shù)據(jù)包目的端口控制信息,并寫入數(shù)據(jù)包目的端口地址配置單元的緩存; 數(shù)據(jù)包長度配置單元,通過總線與微處理器模塊通信,若數(shù)據(jù)包長度配置為服從均勻分布模型,則讀取偽隨機(jī)數(shù)發(fā)生單元的數(shù)據(jù)包長度控制信息,并寫入數(shù)據(jù)包長度配置單元的緩存;若數(shù)據(jù)包長度配置為固定長度,則讀取微處理器模塊傳輸?shù)臄?shù)據(jù)包長度控制信息,并寫入數(shù)據(jù)包長度配置單元的緩存; 數(shù)據(jù)包發(fā)送時間間隔配置單元,通過總線與微處理器模塊通信,將數(shù)據(jù)包發(fā)送時間間隔控制信息寫入數(shù)據(jù)包發(fā)送時間間隔配置單元的緩存。
4.如權(quán)力要求2所述的一種軟硬件協(xié)同實(shí)現(xiàn)用于交換機(jī)驗(yàn)證測試的流量生成器,其特征在于所述數(shù)據(jù)包封裝器具體包括:數(shù)據(jù)包位段填充單元和數(shù)據(jù)包緩存單元; 數(shù)據(jù)包位段填充單元,讀取用戶配置控制器的協(xié)議類型、數(shù)據(jù)包目的端口控制信息、數(shù)據(jù)包長度控制信息,根據(jù)讀取的控制信息填充數(shù)據(jù)包的各個位段; 數(shù)據(jù)包緩存單元,將數(shù)據(jù)包位段填充單元生成的數(shù)據(jù)包,寫入數(shù)據(jù)包緩存單元。
5.如權(quán)力要求2所述的一種軟硬件協(xié)同實(shí)現(xiàn)用于交換機(jī)驗(yàn)證測試的流量生成器,其特征在于所述數(shù)據(jù)包發(fā)送時序產(chǎn)生器具體包括:比較單元和發(fā)送時序緩存單元; 比較單元,讀取用戶配置控制器的數(shù)據(jù)包長度控制信息和數(shù)據(jù)包發(fā)送時間間隔控制信息,為了保證發(fā)送完整的數(shù)據(jù)包,需要將數(shù)據(jù)包發(fā)送時間間隔進(jìn)行修正,通過比較單元對數(shù)據(jù)包發(fā)送時間間隔和數(shù)據(jù)包長度進(jìn)行數(shù)值比較,若數(shù)據(jù)包發(fā)送時間間隔比數(shù)據(jù)包長度小,則將數(shù)據(jù)包發(fā)送時間間隔修正為數(shù)據(jù)包長度;否則不調(diào)整; 發(fā)送時間緩存單元,將修正后的數(shù)據(jù)包發(fā)送時間間隔寫入發(fā)送時序緩存單元。
6.如權(quán)力要求2所述的一種軟硬件協(xié)同實(shí)現(xiàn)用于交換機(jī)驗(yàn)證測試的流量生成器,其特征在于所述數(shù)據(jù)包發(fā)送控制器具體包括:時間標(biāo)簽單元和發(fā)送控制單元; 時間標(biāo)簽單元,記錄流量生成器的當(dāng)前時間,加入數(shù)據(jù)包的時間位段,用于測試交換機(jī)的延遲性能; 發(fā)送控制單元,讀取數(shù)據(jù)包發(fā)送時序產(chǎn)生器中的數(shù)據(jù)包發(fā)送時間間隔控制信息,根據(jù)數(shù)據(jù)包發(fā)送時間間隔控制信息,讀取數(shù)據(jù)包封裝器的數(shù)據(jù)包緩存單元中的數(shù)據(jù)包、時間標(biāo)簽單元的時間信息,將時間信息加入數(shù)據(jù)包指定時間位段;根據(jù)數(shù)據(jù)包發(fā)送時間間隔控制信息,將數(shù)據(jù)包發(fā)送到網(wǎng)絡(luò)接口模塊。
【文檔編號】H04L12/26GK104168162SQ201410412512
【公開日】2014年11月26日 申請日期:2014年8月20日 優(yōu)先權(quán)日:2014年8月20日
【發(fā)明者】王曉婷, 郭華儉, 張微, 彭春, 胡浩, 王憶文, 李輝 申請人:電子科技大學(xué)