專利名稱:一種10Gbps網(wǎng)絡流量下測試TCP并發(fā)連接的測試裝置的制作方法
技術領域:
本發(fā)明屬于網(wǎng)絡通信領域,具體講涉及一種IOGbps網(wǎng)絡流量下測試TCP并發(fā)連接的測試裝置。
背景技術:
TCP是一個面向連接的協(xié)議,雙方發(fā)送數(shù)據(jù)之前,首先都需建立一條連接,建立連接的過程采用三次握手的方式。第一次握手建立連接時,客戶(C)端發(fā)送syn包(syn = j)到服務器⑶端,并進入SYN_SEND狀態(tài),等待S端確認;第二次握手S端收到syn包, 必須確認C端的SYN(ack = j+Ι),同時自己也發(fā)送一個SYN包(syn = k),即SYN+ACK包, 此時S端進入SYN_RECV狀態(tài);第三次握手C端收到S端的SYN+ACK包,向S端發(fā)送確認包 ACK (ack = k+Ι),此包發(fā)送完畢,C端和S端進入ESTABLISHED狀態(tài),完成三次握手;完成三次握手后,C端與S端開始傳送數(shù)據(jù)。而并發(fā)連接數(shù)是指網(wǎng)絡服務器設備或防火墻設備對TCP連接的處理能力,是網(wǎng)絡服務器設備或防火墻設備能夠穿過被測設備的主機之間或主機與被測設備之間能夠同時維持的最大TCP連接的總數(shù),此指標反映出它們對多個連接的訪問控制能力和連接狀態(tài)跟蹤能力,這個參數(shù)的大小直接影響到它們所能支持的最大信息點數(shù)。TCP并發(fā)連接的測試采用反復搜索機制進行,在每次反復過程中,以低于被測設備所能承受的連接速率發(fā)送不同數(shù)量的并發(fā)連接,直至得出被測設備的最大TCP并發(fā)連接數(shù)。在10(ibpS流量下,TCP連接可達到千萬級別,因此就需要一種簡單可靠的裝置實現(xiàn)千萬級別并發(fā)流的構造,而通過軟件模擬測試的方法受限于測試時間,若測試千萬級別的并發(fā)流連接,測試時間要以“天”為單位,測試的時間長。
發(fā)明內容
為克服上述缺陷,本發(fā)明提供了一種10(ibpS網(wǎng)絡流量下測試TCP并發(fā)連接的測試裝置,基于fpga實現(xiàn),以簡單可靠的方式實現(xiàn)千萬級別并發(fā)流的測試,而且可以減少測試的時間。為實現(xiàn)上述目的,本發(fā)明提供一種10(ibpS網(wǎng)絡流量下測試TCP并發(fā)連接測試裝置,所述測試裝置包括主機和測試單元;所述測試單元包括與所述主機連接的PCIe控制器,所述測試單元與所述主機通過PCIe總線連接,其改進之處在于,與所述PCIe控制器連接的并發(fā)測試單元。本發(fā)明提供的優(yōu)選技術方案中,所述并發(fā)測試單元包括依次連接的 TxDuplicate 電路、TxAddPayload 電路和 IOG 以太網(wǎng)控制器(IOGEthernet IP)。本發(fā)明提供的第二優(yōu)選技術方案中,所述主機包括生成對握手報文進行并發(fā)流頭部構造的寄存器值DuplicateCnt和IPhcSt印的寄存器;所述主機向所述PCIe控制器傳輸握手報文頭部(IP Head)。本發(fā)明提供的第三優(yōu)選技術方案中,在所述主機的控制下,所述PCIe總線將所述寄存器值DuplicateCnt和IPIndt印解析為控制信息(control msg),并將所述控制信息 (control msg)傳遞到所述PCIe控制器。本發(fā)明提供的第四優(yōu)選技術方案中,所述PCIe控制器將接收的所述握手報文頭部(IP Head)和所述控制信息(control msg)傳遞給所述TxDuplicate電路。本發(fā)明提供的第五優(yōu)選技術方案中,根據(jù)接收的所述控制信息(control msg),所述TxDuplicate電路分別對每個握手報文頭部(IP Head)進行并發(fā)流頭部構造,并將處理過的握手報文頭部(IP Head)傳遞給所述TxAddPayload電路。本發(fā)明提供的第六優(yōu)選技術方案中,所述TxDuplicate電路對所述握手報文頭部 (IP Head)進行并發(fā)流頭部構造的過程包括對所述握手報文頭部(IP Head)進行復制,并對所述握手報文頭部(IP Head)的源IP和目的IP進行步長累加。本發(fā)明提供的第七優(yōu)選技術方案中,所述TxAddPayload電路設置有Payload域; 根據(jù)所述握手報文的長度,所述TxAddPayload電路把處理過的所述握手報文頭部(IP Head)添加payload域;所述添加的Payload域為字節(jié)累加形式。本發(fā)明提供的第八優(yōu)選技術方案中,所述IOG以太網(wǎng)控制器(IOGEthernet IP)接收并傳輸經(jīng)過所述TxAddPayload電路添加Payload域的所述握手報文頭部(IP Head)。本發(fā)明提供的第九優(yōu)選技術方案中,所述TxDuplicate電路和TxAddPayload電路使用型號為Ixl30t的fpga芯片。與現(xiàn)有技術比,本發(fā)明提供的一種10(ibpS網(wǎng)絡流量下測試TCP并發(fā)連接的測試裝置,通過對寄存器值DuplicateCnt和IPhcSt印的配置和三次握手報文的發(fā)送,可以輕松完成千萬級別并發(fā)連接的發(fā)送至被測設備;且縮短了測試的時間;再者,采用軟硬件協(xié)同工作的方式,由主機配置硬件進行工作,只需更改簡單的幾個參數(shù)即可測試被測設備的TCP 并發(fā)連接數(shù),突破了軟件訪存和PCIe總線帶寬限制,可保證線速發(fā)送軟件所需下發(fā)的連接數(shù)和并發(fā)數(shù)據(jù)。
圖1為10(ibpS網(wǎng)絡流量下測試TCP并發(fā)連接的測試裝置的結構示意圖。圖2為TxDuplicate電路的主控狀態(tài)機。圖3為TxAddPayload電路的主控狀態(tài)機。
具體實施例方式本發(fā)裝置是基于fpga實現(xiàn),fpga最大特點是靈活的在線可編程性;本裝置為服務器插卡式,主機與板卡為PCIel. Oxl總線,最高有效帶寬為2(ibpS ;網(wǎng)絡接入部分為10G以太網(wǎng),線路流量為10. 3125(ibps。如圖1所示,IOGbps網(wǎng)絡流量下測試TCP并發(fā)連接的測試裝置,所述測試裝置包括主機和與其通過PCIe總線連接的測試單元;所述測試單元包括與所述主機連接的 PCIe控制器,以及與所述PCIe控制器連接的并發(fā)測試單元;所述并發(fā)測試單元包括依次連接的 TxDuplicate 電路、TxAddPayload 電路和 10G 以太網(wǎng)控制器(IOGEthernet IP)。本發(fā)明在fpga內部實現(xiàn)了兩個硬件電路一、TxDuplicate電路接收PCIe控制器下發(fā)的C端與S端和S端與C端的連接握手報文頭部,頭部長度為40Bytes,TxDuplicate電路根據(jù)軟件下發(fā)的寄存器值 DuplicateCnt和IPIncM印分別對每個握手包進行報文的復制和IP頭的源IP、目的IP進行等步長累加,達到構造并發(fā)流頭部的功能,此電路核心為一個主控狀態(tài)機和一個深度40 的ram資源,復制改造的連接緩存到f ifo內待TxAddPayload電路處理;二、TxAddPayload電路把處理過的IP頭部根據(jù)握手報文長度IP length進行 payload域的添加,因為是測試TCP并發(fā)連接數(shù),并不關系TCP所封裝的應用類型,所以此電路添加的I^ayload域為字節(jié)累加形式,添加處理后發(fā)送到IOG以太網(wǎng)控制器后到光纖傳輸, 本電路由一個主控狀態(tài)機實現(xiàn)。所述TxDuplicate電路和TxAddPayload電路使用型號為Ixl30t的fpga芯片。裝置的啟動由主機軟件配置啟動,若軟件下達系統(tǒng)啟動信號,fpga內部邏輯即復位成功并處于待轉狀態(tài);在圖1中,Host主機可根據(jù)被測設備標稱的連接數(shù)進行粗顆粒的設置,配置DuplicateCnt和IPIndt印所屬的寄存器;兩個寄存器通值通過PCIe總線解析后形Control Msg信息成傳遞給fpga內部的TxDuplicate電路,TxDuplicate模塊根據(jù) Control Msg啟動主控狀態(tài)機。如圖2所示,當Host啟動Ready信號時,狀態(tài)機準備在初始Idle狀態(tài),若PCIe 已經(jīng)完成一個IP頭信息的寫fifo后,會向TxDuplicate模塊發(fā)送一個qRdy信號, TxDuplicate模塊讀取這40Bytes的信息同時存入復制模塊的ram內部,也就是Duplicate 狀態(tài),此時TxDuplicate電路會初始DuplicateCnt為Host配置的計數(shù)器值,也就是需要復制IP報文頭部的次數(shù),每復制一次做“減一”操作,直至計數(shù)器清零此IP報文頭部完成復制,也就是ReadRam狀態(tài)跳到Idle的條件;這里注意 TxAddPayloadFifoFul 1信號, Duplicate狀態(tài)跳轉的同時要判斷TxAdd Payload模塊的fifo是否屬于非滿(fifo寫信號使能的閥值)的狀態(tài),若閥值允許才進行寫操作也就是復制狀態(tài)才可以進行復制跳轉。如圖3所示,此圖為TxAddPayload電路的主控狀態(tài)機,此電路的兩個接口為讀 TxDuplicate模塊的fifo和寫IOGE接口 IP fifo ;Idle狀態(tài)的啟動也由Host端的Ready啟動,若TxDuplicate電路已經(jīng)完成一個IP Head報文頭的寫入后,此模塊開始讀取40Bytes 的信息,這里的HeadCnt為控制IPHead狀態(tài)跳轉的條件,因為本發(fā)明的系統(tǒng)位寬為SBytes 總線寬度,需5個時鐘周期才能完成一個頭部的讀寫;當HeadCnt = 5時,完成頭部的讀取, 同時將IP頭中的packetlength域提取出并進行“減八”操作,也就是GenerateCnt計數(shù)器的作用,若此計數(shù)器記錄到“O < GenerateCnt < 8”的條件時,就結束一個復制IP頭并添加payload的操作。最后將IP head兩次處理的完整IP報文輸入給IOG以太網(wǎng)控制器(IOGEthernet IP)進行相應處理后發(fā)送到網(wǎng)絡接口并到被測設備。需要聲明的是,本發(fā)明內容及具體實施方式
意在證明本發(fā)明所提供技術方案的實際應用,不應解釋為對本發(fā)明保護范圍的限定。本領域技術人員在本發(fā)明的精神和原理啟發(fā)下,可作各種修改、等同替換、或改進。但這些變更或修改均在申請待批的保護范圍內。
權利要求
1.一種10(ibpS網(wǎng)絡流量下測試TCP并發(fā)連接測試裝置,所述測試裝置包括主機和測試單元;所述測試單元包括與所述主機連接的PCIe控制器,所述測試單元與所述主機通過 PCIe總線連接,其特征在于,與所述PCIe控制器連接的并發(fā)測試單元。
2.根據(jù)權利要求1所述的測試裝置,其特征在于,所述并發(fā)測試單元包括依次連接的 TxDuplicate 電路、TxAddPayload 電路和 IOG 以太網(wǎng)控制器(IOGEthernet IP)。
3.根據(jù)權利要求1所述的測試裝置,其特征在于,所述主機包括生成對握手報文進行并發(fā)流頭部構造的寄存器值DuplicateCnt和IPhcSt印的寄存器;所述主機向所述PCIe 控制器傳輸握手報文頭部(IP Head)。
4.根據(jù)權利要求1所述的測試裝置,其特征在于,在所述主機的控制下,所述PCIe總線將所述寄存器值DuplicateCnt和IPIndt印解析為控制信息(control msg),并將所述控制信息(control msg)傳遞到所述PCIe控制器。
5.根據(jù)權利要求3或4所述的測試裝置,其特征在于,所述PCIe控制器將接收的所述握手報文頭部(IP Head)和所述控制信息(control msg)傳遞給所述TxDuplicate電路。
6.根據(jù)權利要求5所述的測試裝置,其特征在于,根據(jù)接收的所述控制信息(control msg),所述TxDuplicate電路分別對每個握手報文頭部(IP Head)進行并發(fā)流頭部構造,并將處理過的握手報文頭部(IPHead)傳遞給所述TxAddPayload電路。
7.根據(jù)權利要求6所述的測試裝置,其特征在于,所述TxDuplicate電路對所述握手報文頭部(IP Head)進行并發(fā)流頭部構造的過程包括對所述握手報文頭部(IP Head)進行復制,并對所述握手報文頭部(IPHead)的源IP和目的IP進行步長累加。
8.根據(jù)權利要求5所述的測試裝置,其特征在于,所述TxAddPayload電路設置有 Payload域;根據(jù)所述握手報文的長度,所述TxAddPayload電路把處理過的所述握手報文頭部(IP Head)添加payload域;所述添加的I^ayload域為字節(jié)累加形式。
9.根據(jù)權利要求3、8所述的測試裝置,其特征在于,所述IOG以太網(wǎng)控制器 (IOGEthernet IP)接收并傳輸經(jīng)過所述TxAddPayload電路添加Payload域的所述握手報文頭部(IP Head)。
10.根據(jù)權利要求2所述的測試裝置,其特征在于,所述TxDuplicate電路和 TxAddPayload電路使用型號為Ixl30t的fpga芯片。
全文摘要
本發(fā)明提供了一種10Gbps網(wǎng)絡流量下測試TCP并發(fā)連接的測試裝置,包括主機和與其通過PCIe總線連接的測試單元;所述測試單元包括與所述主機連接的PCIe控制器,與所述PCIe控制器連接的并發(fā)測試單元;所述并發(fā)測試單元包括依次連接的TxDuplicate電路、TxAddPayload電路和10G以太網(wǎng)控制器。本發(fā)明提供的10Gbps網(wǎng)絡流量下測試TCP并發(fā)連接的測試裝置,基于fpga實現(xiàn),以簡單可靠的方式實現(xiàn)千萬級別并發(fā)流的測試,而且可以減少測試的時間。
文檔編號H04L12/26GK102546290SQ20111038403
公開日2012年7月4日 申請日期2011年11月28日 優(yōu)先權日2011年11月28日
發(fā)明者劉朝輝, 張磊, 張英文, 李旭, 李靜, 白宗元, 紀奎 申請人:曙光信息產(chǎn)業(yè)(北京)有限公司