浓毛老太交欧美老妇热爱乱,蜜臀性色av免费,妺妺窝人体色www看美女,久久久久久久久久久大尺度免费视频,麻豆人妻无码性色av专区

位置:51電子網(wǎng) » 技術(shù)資料 » EDA/PLD

用CAM實(shí)現(xiàn)OC-48線(xiàn)速字符串匹配的FPGA設(shè)計(jì)

發(fā)布時(shí)間:2008/5/28 0:00:00 訪(fǎng)問(wèn)次數(shù):1209

互聯(lián)網(wǎng)絡(luò)蓬勃發(fā)展的今天,在網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)(nids)中,大部分的網(wǎng)絡(luò)入侵檢測(cè)設(shè)備幾乎都依賴(lài)于一些基于特征碼檢測(cè)的字符串匹配算法,而字符串匹配算法的實(shí)現(xiàn)幾乎都是由軟件來(lái)實(shí)現(xiàn)的。目前應(yīng)用比較成功的實(shí)例有,snort軟件使用字符串匹配算法對(duì)包含特征碼的數(shù)據(jù)包進(jìn)行檢測(cè)。但是軟件在內(nèi)容字節(jié)流中進(jìn)行搜索匹配時(shí),需要在不同的處理單元中/內(nèi)搬移或讀取數(shù)據(jù),這對(duì)于高速實(shí)現(xiàn)線(xiàn)速(oc-48)的檢測(cè)系統(tǒng)來(lái)說(shuō),帶來(lái)了很大的處理負(fù)荷。因此,如果采用硬件在數(shù)據(jù)包進(jìn)入內(nèi)存之前實(shí)現(xiàn)字符串匹配這一功能,將大大減少后端軟件操作的處理負(fù)載。

基于ixp2400和fpga的系統(tǒng)結(jié)構(gòu)

ixp2400是英特爾公司推出的第二代網(wǎng)絡(luò)處理器芯片,大量應(yīng)用于寬帶接入、防火墻、nids和負(fù)載均衡等系統(tǒng)中,它能滿(mǎn)足oc-48網(wǎng)絡(luò)線(xiàn)速的處理要求。玉衡銥達(dá)公司設(shè)計(jì)開(kāi)發(fā)的骨干網(wǎng)絡(luò)監(jiān)控系統(tǒng)采用了ixp2400作為數(shù)據(jù)包主處理器,fpga作為協(xié)處理器的硬件架構(gòu)來(lái)實(shí)現(xiàn),系統(tǒng)結(jié)構(gòu)框圖如圖1所示。

如圖1所示,系統(tǒng)外接了4個(gè)千兆光口,用以接收和發(fā)送數(shù)據(jù)包,它是整個(gè)監(jiān)控系統(tǒng)和骨干網(wǎng)絡(luò)的交際通道。光口數(shù)據(jù)包通過(guò)光模塊進(jìn)入pmc-sierra公司的mac3386芯片。接收數(shù)據(jù)包時(shí),以太網(wǎng)幀數(shù)據(jù)包從千兆光口進(jìn)入mac3386,mac3386對(duì)數(shù)據(jù)包進(jìn)行解碼后通過(guò)pos phy3接口進(jìn)入fpga的fifo單元,同時(shí)對(duì)進(jìn)入fpga的數(shù)據(jù)包進(jìn)行模式字符串(pattern-string)的匹配操作,處理后的數(shù)據(jù)包通過(guò)pos phy3接口傳輸?shù)絠xp2400的msf單元進(jìn)行下一步的處理。發(fā)送時(shí),fpga只需要將ixp2400發(fā)送來(lái)的數(shù)據(jù)包通過(guò)pos phy3接口傳輸給mac3386,mac3386對(duì)數(shù)據(jù)包進(jìn)行編碼后發(fā)送給光模塊,光模塊通過(guò)光口將數(shù)據(jù)包發(fā)送出去。ixp2400提供了一組數(shù)據(jù)總線(xiàn)來(lái)訪(fǎng)問(wèn)外部設(shè)備寄存器,ixp2400中稱(chēng)之為慢端口(slow port)。在這里,和fpga相連的慢端口總線(xiàn)的一部分功能是作為寫(xiě)入fpga的模式字符串通道。


圖1:基于ixp2400和fpga的系統(tǒng)結(jié)構(gòu)示意圖。

pos phy3是一種標(biāo)準(zhǔn)化的網(wǎng)絡(luò)傳輸接口,接口數(shù)據(jù)傳輸速率為2.5gbps,最大支持oc-48的傳輸速率接口。pos phy3包括接收和發(fā)送兩組32位總線(xiàn),工作頻率為104mhz,峰值吞吐率為3.2gbps。支持2.5gbps數(shù)據(jù)包的全雙工操作。pos phy3接口接收時(shí)序圖如圖2所示。


圖2:pos phy3接口接收邏輯時(shí)序圖。

該時(shí)序圖描述了pos phy3接口接收數(shù)據(jù)包時(shí),數(shù)據(jù)流在pos phy3總線(xiàn)上的傳輸方式和相關(guān)的控制信號(hào)關(guān)系。關(guān)于更進(jìn)一步的詳細(xì)描述可以參考pos phy3接口標(biāo)準(zhǔn)文檔。

系統(tǒng)采用時(shí)鐘同步設(shè)計(jì),在時(shí)鐘上升沿進(jìn)行數(shù)據(jù)采樣,與fpga相連的mac3386、ixp2400的工作時(shí)鐘由fpga的dcm單元提供,可以保證數(shù)據(jù)采集的同步和穩(wěn)定性。

cam的設(shè)計(jì)

本設(shè)計(jì)中,由于要實(shí)現(xiàn)幾路32b的模式字符串匹配,需要占用大量的ram存儲(chǔ)單元,同時(shí)還得為數(shù)據(jù)包緩存fifo保留一定的存儲(chǔ)單元,綜合幾家fpga芯片廠商ram的存儲(chǔ)容量,決定選用賽靈思的virtex2或virtex pro系列的fpga芯片,因?yàn)閷?duì)于相同規(guī)模的邏輯資源和寄存器資源來(lái)說(shuō), virtex2或virtex pro系列的fpga芯片的ram容量比其他廠商都要多幾倍。

fpga中,與ram存儲(chǔ)單元相關(guān)的資源有三類(lèi):block ram、lut、寄存器。這三類(lèi)資源可以通過(guò)配置和粘合邏輯(glue logic)實(shí)現(xiàn)為不同類(lèi)型和位寬大小的單端口/雙端口ram、rom、cam、fifo等。fpga中cam的實(shí)現(xiàn)和配置非常靈活,cam是實(shí)現(xiàn)模式字符串模式匹配的核心資源。

cam即內(nèi)容可尋址存儲(chǔ)器。cam這種存儲(chǔ)器在其每個(gè)存儲(chǔ)單元都包含了一個(gè)內(nèi)嵌的比較邏輯,cam基于內(nèi)容尋址,通過(guò)硬件電路并行查找,實(shí)現(xiàn)快速匹配。一般來(lái)說(shuō)在一個(gè)時(shí)鐘周期內(nèi),寫(xiě)入cam的待比較數(shù)據(jù)和其內(nèi)部存儲(chǔ)的每一個(gè)數(shù)據(jù)進(jìn)行比較,并返回與端口數(shù)據(jù)相同的內(nèi)部數(shù)據(jù)存儲(chǔ)的地址和是否匹配的標(biāo)識(shí)符。cam的這種并行處理特性使得它在數(shù)據(jù)分選領(lǐng)域倍受青睞,被廣泛應(yīng)用在以太網(wǎng)網(wǎng)址搜尋、路由器中的地址交換表、高速數(shù)據(jù)處理等方面。

cam對(duì)于高速的數(shù)據(jù)包模式字符串匹配查找操作來(lái)說(shuō),我們需要足夠快的時(shí)間來(lái)完成,如果按照pos phy3接口標(biāo)準(zhǔn)來(lái)說(shuō),必須保證寄存器建立(setup)時(shí)間和cam一次查找匹配時(shí)間之和小于1個(gè)周期10ns(一般情況下,fpga設(shè)計(jì)中的保持(hold up)時(shí)間都可以滿(mǎn)足,可以不予考慮)。根據(jù)fpga芯片廠商數(shù)據(jù)手冊(cè)提供的性能基準(zhǔn)數(shù)據(jù),我們配置cam存儲(chǔ)器選用的資源是block ram,配置的地址匹配類(lèi)型選擇的是非編碼地址的多匹配方式(multi match unencoded),選用該項(xiàng)配置的cam32_32完成一次匹配查找的操作時(shí)間為7ns左右,cam32_32的配置大小是32位位寬,32個(gè)存儲(chǔ)單元的地址深度。

對(duì)于pos phy3的接口標(biāo)準(zhǔn)來(lái)說(shuō),數(shù)據(jù)傳輸操作周期為10ns,根據(jù)性能基準(zhǔn)數(shù)據(jù),我們因此除去寄存器的建立時(shí)間(<2ns),完成一次cam匹配操作是完全可以和pos phy3的接口標(biāo)準(zhǔn)相匹配的。根據(jù)數(shù)據(jù)包在pos phy3接口的傳輸字節(jié)

互聯(lián)網(wǎng)絡(luò)蓬勃發(fā)展的今天,在網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)(nids)中,大部分的網(wǎng)絡(luò)入侵檢測(cè)設(shè)備幾乎都依賴(lài)于一些基于特征碼檢測(cè)的字符串匹配算法,而字符串匹配算法的實(shí)現(xiàn)幾乎都是由軟件來(lái)實(shí)現(xiàn)的。目前應(yīng)用比較成功的實(shí)例有,snort軟件使用字符串匹配算法對(duì)包含特征碼的數(shù)據(jù)包進(jìn)行檢測(cè)。但是軟件在內(nèi)容字節(jié)流中進(jìn)行搜索匹配時(shí),需要在不同的處理單元中/內(nèi)搬移或讀取數(shù)據(jù),這對(duì)于高速實(shí)現(xiàn)線(xiàn)速(oc-48)的檢測(cè)系統(tǒng)來(lái)說(shuō),帶來(lái)了很大的處理負(fù)荷。因此,如果采用硬件在數(shù)據(jù)包進(jìn)入內(nèi)存之前實(shí)現(xiàn)字符串匹配這一功能,將大大減少后端軟件操作的處理負(fù)載。

基于ixp2400和fpga的系統(tǒng)結(jié)構(gòu)

ixp2400是英特爾公司推出的第二代網(wǎng)絡(luò)處理器芯片,大量應(yīng)用于寬帶接入、防火墻、nids和負(fù)載均衡等系統(tǒng)中,它能滿(mǎn)足oc-48網(wǎng)絡(luò)線(xiàn)速的處理要求。玉衡銥達(dá)公司設(shè)計(jì)開(kāi)發(fā)的骨干網(wǎng)絡(luò)監(jiān)控系統(tǒng)采用了ixp2400作為數(shù)據(jù)包主處理器,fpga作為協(xié)處理器的硬件架構(gòu)來(lái)實(shí)現(xiàn),系統(tǒng)結(jié)構(gòu)框圖如圖1所示。

如圖1所示,系統(tǒng)外接了4個(gè)千兆光口,用以接收和發(fā)送數(shù)據(jù)包,它是整個(gè)監(jiān)控系統(tǒng)和骨干網(wǎng)絡(luò)的交際通道。光口數(shù)據(jù)包通過(guò)光模塊進(jìn)入pmc-sierra公司的mac3386芯片。接收數(shù)據(jù)包時(shí),以太網(wǎng)幀數(shù)據(jù)包從千兆光口進(jìn)入mac3386,mac3386對(duì)數(shù)據(jù)包進(jìn)行解碼后通過(guò)pos phy3接口進(jìn)入fpga的fifo單元,同時(shí)對(duì)進(jìn)入fpga的數(shù)據(jù)包進(jìn)行模式字符串(pattern-string)的匹配操作,處理后的數(shù)據(jù)包通過(guò)pos phy3接口傳輸?shù)絠xp2400的msf單元進(jìn)行下一步的處理。發(fā)送時(shí),fpga只需要將ixp2400發(fā)送來(lái)的數(shù)據(jù)包通過(guò)pos phy3接口傳輸給mac3386,mac3386對(duì)數(shù)據(jù)包進(jìn)行編碼后發(fā)送給光模塊,光模塊通過(guò)光口將數(shù)據(jù)包發(fā)送出去。ixp2400提供了一組數(shù)據(jù)總線(xiàn)來(lái)訪(fǎng)問(wèn)外部設(shè)備寄存器,ixp2400中稱(chēng)之為慢端口(slow port)。在這里,和fpga相連的慢端口總線(xiàn)的一部分功能是作為寫(xiě)入fpga的模式字符串通道。


圖1:基于ixp2400和fpga的系統(tǒng)結(jié)構(gòu)示意圖。

pos phy3是一種標(biāo)準(zhǔn)化的網(wǎng)絡(luò)傳輸接口,接口數(shù)據(jù)傳輸速率為2.5gbps,最大支持oc-48的傳輸速率接口。pos phy3包括接收和發(fā)送兩組32位總線(xiàn),工作頻率為104mhz,峰值吞吐率為3.2gbps。支持2.5gbps數(shù)據(jù)包的全雙工操作。pos phy3接口接收時(shí)序圖如圖2所示。


圖2:pos phy3接口接收邏輯時(shí)序圖。

該時(shí)序圖描述了pos phy3接口接收數(shù)據(jù)包時(shí),數(shù)據(jù)流在pos phy3總線(xiàn)上的傳輸方式和相關(guān)的控制信號(hào)關(guān)系。關(guān)于更進(jìn)一步的詳細(xì)描述可以參考pos phy3接口標(biāo)準(zhǔn)文檔。

系統(tǒng)采用時(shí)鐘同步設(shè)計(jì),在時(shí)鐘上升沿進(jìn)行數(shù)據(jù)采樣,與fpga相連的mac3386、ixp2400的工作時(shí)鐘由fpga的dcm單元提供,可以保證數(shù)據(jù)采集的同步和穩(wěn)定性。

cam的設(shè)計(jì)

本設(shè)計(jì)中,由于要實(shí)現(xiàn)幾路32b的模式字符串匹配,需要占用大量的ram存儲(chǔ)單元,同時(shí)還得為數(shù)據(jù)包緩存fifo保留一定的存儲(chǔ)單元,綜合幾家fpga芯片廠商ram的存儲(chǔ)容量,決定選用賽靈思的virtex2或virtex pro系列的fpga芯片,因?yàn)閷?duì)于相同規(guī)模的邏輯資源和寄存器資源來(lái)說(shuō), virtex2或virtex pro系列的fpga芯片的ram容量比其他廠商都要多幾倍。

fpga中,與ram存儲(chǔ)單元相關(guān)的資源有三類(lèi):block ram、lut、寄存器。這三類(lèi)資源可以通過(guò)配置和粘合邏輯(glue logic)實(shí)現(xiàn)為不同類(lèi)型和位寬大小的單端口/雙端口ram、rom、cam、fifo等。fpga中cam的實(shí)現(xiàn)和配置非常靈活,cam是實(shí)現(xiàn)模式字符串模式匹配的核心資源。

cam即內(nèi)容可尋址存儲(chǔ)器。cam這種存儲(chǔ)器在其每個(gè)存儲(chǔ)單元都包含了一個(gè)內(nèi)嵌的比較邏輯,cam基于內(nèi)容尋址,通過(guò)硬件電路并行查找,實(shí)現(xiàn)快速匹配。一般來(lái)說(shuō)在一個(gè)時(shí)鐘周期內(nèi),寫(xiě)入cam的待比較數(shù)據(jù)和其內(nèi)部存儲(chǔ)的每一個(gè)數(shù)據(jù)進(jìn)行比較,并返回與端口數(shù)據(jù)相同的內(nèi)部數(shù)據(jù)存儲(chǔ)的地址和是否匹配的標(biāo)識(shí)符。cam的這種并行處理特性使得它在數(shù)據(jù)分選領(lǐng)域倍受青睞,被廣泛應(yīng)用在以太網(wǎng)網(wǎng)址搜尋、路由器中的地址交換表、高速數(shù)據(jù)處理等方面。

cam對(duì)于高速的數(shù)據(jù)包模式字符串匹配查找操作來(lái)說(shuō),我們需要足夠快的時(shí)間來(lái)完成,如果按照pos phy3接口標(biāo)準(zhǔn)來(lái)說(shuō),必須保證寄存器建立(setup)時(shí)間和cam一次查找匹配時(shí)間之和小于1個(gè)周期10ns(一般情況下,fpga設(shè)計(jì)中的保持(hold up)時(shí)間都可以滿(mǎn)足,可以不予考慮)。根據(jù)fpga芯片廠商數(shù)據(jù)手冊(cè)提供的性能基準(zhǔn)數(shù)據(jù),我們配置cam存儲(chǔ)器選用的資源是block ram,配置的地址匹配類(lèi)型選擇的是非編碼地址的多匹配方式(multi match unencoded),選用該項(xiàng)配置的cam32_32完成一次匹配查找的操作時(shí)間為7ns左右,cam32_32的配置大小是32位位寬,32個(gè)存儲(chǔ)單元的地址深度。

對(duì)于pos phy3的接口標(biāo)準(zhǔn)來(lái)說(shuō),數(shù)據(jù)傳輸操作周期為10ns,根據(jù)性能基準(zhǔn)數(shù)據(jù),我們因此除去寄存器的建立時(shí)間(<2ns),完成一次cam匹配操作是完全可以和pos phy3的接口標(biāo)準(zhǔn)相匹配的。根據(jù)數(shù)據(jù)包在pos phy3接口的傳輸字節(jié)

相關(guān)IC型號(hào)

熱門(mén)點(diǎn)擊

 

推薦技術(shù)資料

聲道前級(jí)設(shè)計(jì)特點(diǎn)
    與通常的Hi-Fi前級(jí)不同,EP9307-CRZ這臺(tái)分... [詳細(xì)]
版權(quán)所有:51dzw.COM
深圳服務(wù)熱線(xiàn):13751165337  13692101218
粵ICP備09112631號(hào)-6(miitbeian.gov.cn)
公網(wǎng)安備44030402000607
深圳市碧威特網(wǎng)絡(luò)技術(shù)有限公司
付款方式


 復(fù)制成功!