專(zhuān)利名稱(chēng):一種支持多端口的網(wǎng)絡(luò)數(shù)據(jù)報(bào)文統(tǒng)計(jì)系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于網(wǎng)絡(luò)數(shù)據(jù)傳輸領(lǐng)域,具體講涉及一種支持多端口的網(wǎng)絡(luò)數(shù)據(jù)報(bào)文統(tǒng)計(jì)系統(tǒng)。
背景技術(shù):
報(bào)文的各種類(lèi)型的統(tǒng)計(jì)是網(wǎng)絡(luò)接入設(shè)備的一種基本功能。通過(guò)對(duì)報(bào)文的各種統(tǒng)計(jì)類(lèi)型,以及對(duì)流量的分析,可以發(fā)現(xiàn)網(wǎng)絡(luò)設(shè)備設(shè)計(jì)不合理或者性能瓶頸的所在,也有利于優(yōu)化網(wǎng)絡(luò)設(shè)備的某些功能,來(lái)滿足客戶對(duì)服務(wù)質(zhì)量的要求。例如網(wǎng)絡(luò)接入設(shè)備處理過(guò)多的異常報(bào)文而導(dǎo)致其服務(wù)性能降低,若在設(shè)備的關(guān)鍵模塊存在各種統(tǒng)計(jì)功能,則可以找出異常原因的所在,提升設(shè)備的性能來(lái)滿足客戶的需求。在現(xiàn)有技術(shù)中,最直接的報(bào)文統(tǒng)計(jì)方法是針對(duì)每個(gè)端口的類(lèi)型分別設(shè)計(jì)計(jì)數(shù)器, 若存在M個(gè)網(wǎng)絡(luò)端口,并需統(tǒng)計(jì)接收?qǐng)?bào)文總數(shù)、bad包數(shù)、包長(zhǎng)信息,則需要Mx3x32 = 2304個(gè)觸發(fā)器資源,這會(huì)導(dǎo)致資源浪費(fèi)并且收斂時(shí)序十分不易的問(wèn)題。專(zhuān)利號(hào)為ZL03132077. 5的、名稱(chēng)為“網(wǎng)絡(luò)信息交換中多端口收發(fā)包數(shù)統(tǒng)計(jì)方法” 的發(fā)明中披露了一種報(bào)文統(tǒng)計(jì)的方法,其能夠統(tǒng)計(jì)16端口以太網(wǎng)報(bào)文的數(shù)量;但是,其實(shí)現(xiàn)方法存在以下弊端首先用blockram生成的ram占用的是xilinx fpga 18KBRAMs,這種資源只有在 fpga內(nèi)部的指定列中存在,若限定與統(tǒng)計(jì)功能在此位置的周?chē)?,?shì)必會(huì)對(duì)接口端的時(shí)序收斂帶來(lái)嚴(yán)重問(wèn)題;其次,此發(fā)明的計(jì)數(shù)器406根據(jù)狀態(tài)機(jī)402提供的信號(hào)將RAM送出的數(shù)據(jù)加1后再送入RAM中,即此發(fā)明對(duì)地址中的技術(shù)類(lèi)型只能進(jìn)行一次觸發(fā),但在網(wǎng)絡(luò)接入中,每個(gè)端口數(shù)據(jù)包的輸入是隨機(jī)的若當(dāng)16端口在某時(shí)鐘周期同時(shí)刻都有計(jì)數(shù)需求時(shí),不能對(duì)多個(gè)端口同時(shí)計(jì)數(shù)。最后,此發(fā)明限制其使用目標(biāo)網(wǎng)絡(luò)為幀間隔為96bit的以太網(wǎng),若目標(biāo)網(wǎng)絡(luò)的封裝格式為PPP幀,也就是幀間隔為最小8bit,則會(huì)出現(xiàn)不能計(jì)數(shù)的問(wèn)題。
發(fā)明內(nèi)容
為克服上述缺陷,本發(fā)明提供了一種支持多端口的網(wǎng)絡(luò)數(shù)據(jù)報(bào)文統(tǒng)計(jì)系統(tǒng),可以對(duì)數(shù)據(jù)報(bào)文進(jìn)行無(wú)遺漏的統(tǒng)計(jì)。為實(shí)現(xiàn)上述目的,本發(fā)明提供一種支持多端口的網(wǎng)絡(luò)數(shù)據(jù)報(bào)文統(tǒng)計(jì)系統(tǒng),其包括 報(bào)文觸發(fā)電路和統(tǒng)計(jì)輸出電路,其改進(jìn)之處在于,所述統(tǒng)計(jì)系統(tǒng)包括統(tǒng)計(jì)設(shè)備,所述報(bào)文觸發(fā)電路、所述統(tǒng)計(jì)設(shè)備和所述統(tǒng)計(jì)輸出電路依次連接。本發(fā)明提供的優(yōu)選技術(shù)方案中,所述報(bào)文觸發(fā)電路,包括和網(wǎng)絡(luò)接入端口匹配的 Ibit控制觸發(fā)器CtrlTrig和與其連接的N bit數(shù)據(jù)觸發(fā)器DataTrig ;其中,N為小于等于 16的自然數(shù)。本發(fā)明提供的第二優(yōu)選技術(shù)方案中,所述統(tǒng)計(jì)設(shè)備,包括CPU地址譯碼電路、地址鎖存轉(zhuǎn)換電路、CPU讀脈沖寄存電路、觸發(fā)累計(jì)電路、計(jì)數(shù)器輪轉(zhuǎn)電路和存儲(chǔ)緩沖區(qū);所述CPU地址譯碼電路、所述地址鎖存轉(zhuǎn)換電路和所述觸發(fā)累計(jì)電路依次連接;所述CPU讀脈沖寄存電路、所述觸發(fā)累計(jì)電路、所述計(jì)數(shù)器輪轉(zhuǎn)電路和所述存儲(chǔ)緩沖區(qū)依次連接;所述觸發(fā)累計(jì)電路與所述報(bào)文觸發(fā)電路連接,所述CPU讀脈沖寄存電路向所述統(tǒng)計(jì)輸出電路發(fā)送 CPU讀有效數(shù)據(jù)。本發(fā)明提供的第三優(yōu)選技術(shù)方案中,所述N bit數(shù)據(jù)觸發(fā)器DataTrig的N值設(shè)置為1時(shí),對(duì)統(tǒng)計(jì)報(bào)文類(lèi)型進(jìn)行計(jì)數(shù);否則對(duì)統(tǒng)計(jì)報(bào)文字節(jié)進(jìn)行計(jì)數(shù)。本發(fā)明提供的第四優(yōu)選技術(shù)方案中,所述CPU地址譯碼電路為所述統(tǒng)計(jì)設(shè)備產(chǎn)生讀觸發(fā)信號(hào)。本發(fā)明提供的第五優(yōu)選技術(shù)方案中,所述存儲(chǔ)緩沖區(qū)為雙口 RAM,所述雙口 RAM采用LUT RAM結(jié)構(gòu)。本發(fā)明提供的第六優(yōu)選技術(shù)方案中,所述計(jì)數(shù)器輪轉(zhuǎn)電路存儲(chǔ)所述存儲(chǔ)緩沖區(qū)的地址總線RdAddress的譯碼結(jié)果,并將存儲(chǔ)結(jié)果和當(dāng)前周期讀出的數(shù)據(jù)相加后,在下一周期寫(xiě)入所述LUT RAM ;所述計(jì)數(shù)器輪轉(zhuǎn)電路與所述存儲(chǔ)緩沖區(qū)的地址總線RdAddress —一對(duì)應(yīng)。本發(fā)明提供的第七優(yōu)選技術(shù)方案中,所述報(bào)文統(tǒng)計(jì)系統(tǒng)使用型號(hào)為lxl30t的 fpga芯片。與現(xiàn)有技術(shù)比,本發(fā)明提供的一種支持多端口的網(wǎng)絡(luò)數(shù)據(jù)報(bào)文統(tǒng)計(jì)系統(tǒng),可節(jié)省 fpga內(nèi)部的內(nèi)存資源,并且統(tǒng)計(jì)電路的位置可隨接口位置隨意移動(dòng),避免了在時(shí)序上收斂嚴(yán)重的問(wèn)題;而且不受限于某種網(wǎng)絡(luò)協(xié)議,不僅可以用于以太網(wǎng),還可以用于SDH系統(tǒng),可以適用于不同大小封裝的數(shù)據(jù)幀;再者,可以對(duì)數(shù)據(jù)報(bào)文進(jìn)行無(wú)遺漏的統(tǒng)計(jì);最后,可以同時(shí)對(duì)多個(gè)端口的數(shù)據(jù)報(bào)文進(jìn)行統(tǒng)計(jì)。
圖1為網(wǎng)絡(luò)數(shù)據(jù)報(bào)文統(tǒng)計(jì)系統(tǒng)的結(jié)構(gòu)示意圖。圖2為CPU讀地址η的時(shí)序圖。圖3為網(wǎng)絡(luò)20個(gè)端口同時(shí)接收kbytes的小包時(shí)序圖。
具體實(shí)施例方式如圖1所示,支持多端口的網(wǎng)絡(luò)數(shù)據(jù)報(bào)文統(tǒng)計(jì)系統(tǒng),其包括報(bào)文觸發(fā)電路和統(tǒng)計(jì)輸出電路,所述統(tǒng)計(jì)系統(tǒng)包括統(tǒng)計(jì)設(shè)備,所述報(bào)文觸發(fā)電路、所述統(tǒng)計(jì)設(shè)備和所述統(tǒng)計(jì)輸出電路依次連接。所述報(bào)文統(tǒng)計(jì)系統(tǒng)使用型號(hào)為lxl30t的fpga芯片。本發(fā)明提供的第二優(yōu)選技術(shù)方案中,所述統(tǒng)計(jì)設(shè)備,包括CPU地址譯碼電路、地址鎖存轉(zhuǎn)換電路、CPU讀脈沖寄存電路、觸發(fā)累計(jì)電路、計(jì)數(shù)器輪轉(zhuǎn)電路和存儲(chǔ)緩沖區(qū);所述CPU地址譯碼電路、所述地址鎖存轉(zhuǎn)換電路和所述觸發(fā)累計(jì)電路依次連接;所述CPU讀脈沖寄存電路、所述觸發(fā)累計(jì)電路、所述計(jì)數(shù)器輪轉(zhuǎn)電路和所述存儲(chǔ)緩沖區(qū)依次連接;所述觸發(fā)累計(jì)電路與所述報(bào)文觸發(fā)電路連接,所述CPU讀脈沖寄存電路向所述統(tǒng)計(jì)輸出電路發(fā)送 CPU讀有效數(shù)據(jù)。所述支持多端口的網(wǎng)絡(luò)數(shù)據(jù)報(bào)文統(tǒng)計(jì)系統(tǒng),利用fpga內(nèi)部分布式ram資源構(gòu)建的存儲(chǔ)緩沖區(qū),設(shè)計(jì)一種支持目標(biāo)網(wǎng)絡(luò)移植簡(jiǎn)單、統(tǒng)一功能無(wú)遺漏的裝置,其結(jié)構(gòu)包括報(bào)文觸發(fā)電路、CPU地址譯碼電路、統(tǒng)計(jì)電路和統(tǒng)計(jì)輸出電路。所述報(bào)文觸發(fā)電路,針對(duì)每個(gè)網(wǎng)絡(luò)接入端口設(shè)計(jì)一個(gè)Ibit控制觸發(fā)器CtrlTrig 和一個(gè)N bit數(shù)據(jù)觸發(fā)器DataTrig,其中,1 < = N< = 16 ;當(dāng)CtrlTrig有效時(shí),也就是高電平時(shí),同時(shí)意味著DataTrig數(shù)據(jù)是有效的,也就是帶外控制的原理;當(dāng)統(tǒng)計(jì)功能模塊只進(jìn)行報(bào)文的某種類(lèi)型數(shù)量統(tǒng)計(jì)時(shí)DataTrig為Ibit數(shù)據(jù)觸發(fā)器,也就是N = 1 ;當(dāng)統(tǒng)計(jì)功能需要統(tǒng)計(jì)報(bào)文字節(jié)時(shí),N興1,例如16,可統(tǒng)計(jì)長(zhǎng)度為65535的包長(zhǎng),對(duì)于所有網(wǎng)絡(luò)環(huán)境這個(gè)計(jì)數(shù)長(zhǎng)度是可以滿足的,設(shè)計(jì)可根據(jù)自己網(wǎng)絡(luò)環(huán)境中最大報(bào)文長(zhǎng)度的限制簡(jiǎn)單修改N的值即可;所述CPU地址譯碼電路,產(chǎn)生統(tǒng)計(jì)功能模塊利用的讀觸發(fā)信號(hào);所述統(tǒng)計(jì)電路是支持多端口的網(wǎng)絡(luò)數(shù)據(jù)報(bào)文統(tǒng)計(jì)系統(tǒng)的核心1)、其功能可實(shí)現(xiàn)單一觸發(fā)信號(hào)的統(tǒng)計(jì)和數(shù)據(jù)總線的統(tǒng)計(jì)功能,也就是DataTrig 寄存器N > 1的情況;2)、存儲(chǔ)緩沖區(qū)采用雙口 RAM實(shí)現(xiàn),RAM的實(shí)現(xiàn)采用fpga的LUT搭建,例如實(shí)現(xiàn)一個(gè)寬度48bit、深度32的RAM塊,僅僅使用了 48個(gè)Iut資源,相比于資源有限的幾十個(gè) blockram資源來(lái)說(shuō)更加劃算,并且fpga的Iut資源已經(jīng)可以達(dá)到上萬(wàn)甚至數(shù)十萬(wàn)的級(jí)別;3)、所述CPU讀脈沖寄存電路,使CPU讀使能信號(hào)對(duì)于某個(gè)統(tǒng)計(jì)功能模塊來(lái)說(shuō)只有一個(gè)時(shí)鐘周期的脈沖,我們把此脈沖進(jìn)行兩次寄存使用,記為ReadDlyO、ReadDlyl ;輸出有效讀數(shù)據(jù)為ReadDlyl高電平時(shí),CPU才當(dāng)前輸出的統(tǒng)計(jì)數(shù)據(jù);4)、如圖2所示,當(dāng)有讀脈沖Read出現(xiàn)時(shí),CPU讀脈沖寄存電路把地址譯碼電路輸入的讀地址寄存器值CpuRdAddr鎖存到RAM地址總線RdAddress,在ReadDlyO時(shí)刻把地址總線RdAddress上周期的地址進(jìn)行“加一”操作,而其他周期RdAddress重復(fù)進(jìn)行“加一”操作;與此同時(shí),針對(duì)多端口的RAM地址寫(xiě)譯碼器鎖存電路時(shí)鐘處于工作狀態(tài),也就是把當(dāng)前統(tǒng)計(jì)類(lèi)型脈沖利用一個(gè)計(jì)數(shù)器輪轉(zhuǎn)電路根據(jù)RdAddress的譯碼結(jié)果進(jìn)行存儲(chǔ),存儲(chǔ)結(jié)果與當(dāng)前周期讀出的數(shù)據(jù)進(jìn)行“加操作”,在下一周期寫(xiě)入RAM,這樣做的目的是防止讀周期出現(xiàn)時(shí),出現(xiàn)漏統(tǒng)計(jì)的現(xiàn)象;PktTypeCnt寄存器的個(gè)數(shù)也就是根據(jù)網(wǎng)絡(luò)端口的數(shù)量而設(shè)定的, 如M個(gè)網(wǎng)絡(luò)接口,則設(shè)計(jì)M個(gè)PktTypeCnt寄存器,每個(gè)RAM地址對(duì)應(yīng)一個(gè)PktTypeCnt寄存器,當(dāng)有類(lèi)型統(tǒng)計(jì)觸發(fā)時(shí)并且ReadDlyO無(wú)效時(shí),根據(jù)RdAddress地址對(duì)其進(jìn)行“置一”操作,若類(lèi)型觸發(fā)失效,則進(jìn)行“置零”操作,若無(wú)讀請(qǐng)求時(shí),進(jìn)行“加一”操作;5)、本裝置的RAM所有統(tǒng)計(jì)都是基于RAM的基本操作,核心就是設(shè)計(jì)的多個(gè)計(jì)數(shù)器輪轉(zhuǎn)電路和RdAddress地址譯碼電路的配合使用;當(dāng)只統(tǒng)計(jì)報(bào)文類(lèi)型計(jì)數(shù)時(shí),DataTrig的N 值置為1與CtrlTrig做“與操作”即可,這樣當(dāng)進(jìn)行fpga綜合步驟時(shí),自然節(jié)省了一半的寄存器資源;當(dāng)切換網(wǎng)絡(luò)時(shí)只需考慮此網(wǎng)絡(luò)環(huán)境中存在的最下包長(zhǎng)即可,例如當(dāng)接入SDH系統(tǒng)時(shí),假設(shè)最小PPP幀最小為28Byte,端口數(shù)若為20 口時(shí),可以線速的無(wú)遺漏的統(tǒng)計(jì),圖3 為一種20端口同時(shí)收kbytes的小包并且在某一時(shí)鐘周期同時(shí)觸發(fā)報(bào)文類(lèi)型計(jì)數(shù)時(shí)的時(shí)序圖。需要聲明的是,本發(fā)明內(nèi)容及具體實(shí)施方式
意在證明本發(fā)明所提供技術(shù)方案的實(shí)際應(yīng)用,不應(yīng)解釋為對(duì)本發(fā)明保護(hù)范圍的限定。本領(lǐng)域技術(shù)人員在本發(fā)明的精神和原理啟發(fā)下,可作各種修改、等同替換、或改進(jìn)。但這些變更或修改均在申請(qǐng)待批的保護(hù)范圍內(nèi)。
權(quán)利要求
1.一種支持多端口的網(wǎng)絡(luò)數(shù)據(jù)報(bào)文統(tǒng)計(jì)系統(tǒng),其包括報(bào)文觸發(fā)電路和統(tǒng)計(jì)輸出電路,其特征在于,所述統(tǒng)計(jì)系統(tǒng)包括統(tǒng)計(jì)設(shè)備,所述報(bào)文觸發(fā)電路、所述統(tǒng)計(jì)設(shè)備和所述統(tǒng)計(jì)輸出電路依次連接。
2.根據(jù)權(quán)利要求1所述的報(bào)文統(tǒng)計(jì)系統(tǒng),其特征在于,所述報(bào)文觸發(fā)電路,包括和網(wǎng)絡(luò)接入端口匹配的Ibit控制觸發(fā)器CtrlTrig和與其連接的N bit數(shù)據(jù)觸發(fā)器DataTrig ; 其中,N為小于等于16的自然數(shù)。
3.根據(jù)權(quán)利要求1所述的報(bào)文統(tǒng)計(jì)系統(tǒng),其特征在于,所述統(tǒng)計(jì)設(shè)備,包括CPU地址譯碼電路、地址鎖存轉(zhuǎn)換電路、CPU讀脈沖寄存電路、觸發(fā)累計(jì)電路、計(jì)數(shù)器輪轉(zhuǎn)電路和存儲(chǔ)緩沖區(qū);所述CPU地址譯碼電路、所述地址鎖存轉(zhuǎn)換電路和所述觸發(fā)累計(jì)電路依次連接;所述CPU讀脈沖寄存電路、所述觸發(fā)累計(jì)電路、所述計(jì)數(shù)器輪轉(zhuǎn)電路和所述存儲(chǔ)緩沖區(qū)依次連接;所述觸發(fā)累計(jì)電路與所述報(bào)文觸發(fā)電路連接,所述CPU讀脈沖寄存電路向所述統(tǒng)計(jì)輸出電路發(fā)送CPU讀有效數(shù)據(jù)。
4.根據(jù)權(quán)利要求2所述的報(bào)文統(tǒng)計(jì)系統(tǒng),其特征在于,所述Nbit數(shù)據(jù)觸發(fā)器DataTrig 的N值設(shè)置為1時(shí),對(duì)統(tǒng)計(jì)報(bào)文類(lèi)型進(jìn)行計(jì)數(shù);否則對(duì)統(tǒng)計(jì)報(bào)文字節(jié)進(jìn)行計(jì)數(shù)。
5.根據(jù)權(quán)利要求3所述的報(bào)文統(tǒng)計(jì)系統(tǒng),其特征在于,所述CPU地址譯碼電路為所述統(tǒng)計(jì)設(shè)備產(chǎn)生讀觸發(fā)信號(hào)。
6.根據(jù)權(quán)利要求3所述的報(bào)文統(tǒng)計(jì)系統(tǒng),其特征在于,所述存儲(chǔ)緩沖區(qū)為雙口RAM,所述雙口 RAM采用LUT RAM結(jié)構(gòu)。
7.根據(jù)權(quán)利要求3所述的報(bào)文統(tǒng)計(jì)系統(tǒng),其特征在于,所述計(jì)數(shù)器輪轉(zhuǎn)電路存儲(chǔ)所述存儲(chǔ)緩沖區(qū)的地址總線RdAddress的譯碼結(jié)果,并將存儲(chǔ)結(jié)果和當(dāng)前周期讀出的數(shù)據(jù)相加后,在下一周期寫(xiě)入所述LUT RAM ;所述計(jì)數(shù)器輪轉(zhuǎn)電路與所述存儲(chǔ)緩沖區(qū)的地址總線 RdAddress--對(duì)應(yīng)。
8.根據(jù)權(quán)利要求1-7所述的報(bào)文統(tǒng)計(jì)系統(tǒng),其特征在于,所述報(bào)文統(tǒng)計(jì)系統(tǒng)使用型號(hào)為lxl30t的fpga芯片。
全文摘要
本發(fā)明提供了一種支持多端口的網(wǎng)絡(luò)數(shù)據(jù)報(bào)文統(tǒng)計(jì)系統(tǒng),支持多端口的網(wǎng)絡(luò)數(shù)據(jù)報(bào)文統(tǒng)計(jì)系統(tǒng),其包括報(bào)文觸發(fā)電路和統(tǒng)計(jì)輸出電路,所述統(tǒng)計(jì)系統(tǒng)包括統(tǒng)計(jì)設(shè)備,所述報(bào)文觸發(fā)電路、所述統(tǒng)計(jì)設(shè)備和所述統(tǒng)計(jì)輸出電路依次連接;所述報(bào)文統(tǒng)計(jì)系統(tǒng)利用型號(hào)為lx130t的fpga芯片。本發(fā)明提供的支持多端口的網(wǎng)絡(luò)數(shù)據(jù)報(bào)文統(tǒng)計(jì)系統(tǒng),可以對(duì)數(shù)據(jù)報(bào)文進(jìn)行無(wú)遺漏的統(tǒng)計(jì)。
文檔編號(hào)H04L12/56GK102404222SQ201110383669
公開(kāi)日2012年4月4日 申請(qǐng)日期2011年11月28日 優(yōu)先權(quán)日2011年11月28日
發(fā)明者張磊, 張英文, 李旭, 李靜, 竇曉光, 紀(jì)奎 申請(qǐng)人:曙光信息產(chǎn)業(yè)(北京)有限公司