本申請(qǐng)涉及報(bào)文匹配,尤其涉及一種基于fpga的線速比特掩碼報(bào)文匹配方法及裝置。
背景技術(shù):
1、網(wǎng)絡(luò)中對(duì)特定的報(bào)文進(jìn)行特定的處理時(shí),通常需要在網(wǎng)絡(luò)設(shè)備上配置報(bào)文規(guī)則。相關(guān)技術(shù)方案中,網(wǎng)絡(luò)設(shè)備接收到報(bào)文后,從報(bào)文中提取五元組信息,采用掩碼五元組匹配方法和哈希算法進(jìn)行報(bào)文的規(guī)則匹配,以實(shí)現(xiàn)快速的數(shù)據(jù)包匹配,但是會(huì)降低報(bào)文匹配的精度。掩碼規(guī)則功能通常由tcam芯片(ternary?content?addressable?memory,三態(tài)內(nèi)容尋址存儲(chǔ)器)來(lái)實(shí)現(xiàn)。對(duì)于規(guī)則數(shù)量要求不高的報(bào)文處理的應(yīng)用場(chǎng)景來(lái)說(shuō),由于該芯片價(jià)格比較貴,導(dǎo)致產(chǎn)品的成本增加,并且有帶寬瓶頸無(wú)法實(shí)現(xiàn)線速匹配。
技術(shù)實(shí)現(xiàn)思路
1、本申請(qǐng)的目的在于提供一種基于fpga的線速比特掩碼報(bào)文匹配方法及裝置,能夠線速的實(shí)現(xiàn)報(bào)文的規(guī)則匹配,降低產(chǎn)品的成本。
2、第一方面,本申請(qǐng)?zhí)峁┝艘环N基于fpga的線速比特掩碼報(bào)文匹配方法,該fpga包括至少一個(gè)塊ram,塊ram包括多個(gè)存儲(chǔ)地址,存儲(chǔ)地址所對(duì)應(yīng)的存儲(chǔ)空間具有n個(gè)比特位,方法包括:
3、獲取預(yù)設(shè)的n個(gè)匹配規(guī)則,每個(gè)匹配規(guī)則包括規(guī)則號(hào)、關(guān)鍵字和所述關(guān)鍵字對(duì)應(yīng)的掩碼,所述規(guī)則號(hào)為0~n-1,n為自然數(shù);
4、根據(jù)n個(gè)匹配規(guī)則在所述塊ram中執(zhí)行匹配規(guī)則的配置,匹配規(guī)則的配置的步驟包括:針對(duì)每一個(gè)匹配規(guī)則,根據(jù)匹配規(guī)則中掩碼的有效位以及對(duì)應(yīng)的關(guān)鍵字,確定所述匹配規(guī)則所對(duì)應(yīng)的至少一個(gè)存儲(chǔ)地址,以匹配規(guī)則的規(guī)則號(hào)確定存儲(chǔ)地址的n個(gè)比特位中所要配置的比特位,在所要配置的比特位中寫(xiě)入用以表征匹配規(guī)則生效的生效比特值;
5、對(duì)接收?qǐng)?bào)文進(jìn)行解析生成五元組信息,以五元組信息作為塊ram的存儲(chǔ)地址,讀取存儲(chǔ)地址所對(duì)應(yīng)的多個(gè)生效比特值,基于每一個(gè)生效比特值確定接收?qǐng)?bào)文命中的各個(gè)匹配規(guī)則的規(guī)則號(hào)。
6、第二方面,本申請(qǐng)?zhí)峁┮环N基于fpga的線速比特掩碼報(bào)文匹配裝置,該fpga包括至少一個(gè)塊ram,塊ram包括多個(gè)存儲(chǔ)地址,存儲(chǔ)地址所對(duì)應(yīng)的存儲(chǔ)空間具有n個(gè)比特位,裝置包括:
7、獲取模塊,用于獲取預(yù)設(shè)的n個(gè)匹配規(guī)則,每個(gè)匹配規(guī)則包括規(guī)則號(hào)、關(guān)鍵字和關(guān)鍵字對(duì)應(yīng)的掩碼,規(guī)則號(hào)為0~n-1,n為自然數(shù);
8、規(guī)則配置模塊,用于根據(jù)n個(gè)匹配規(guī)則在塊ram中執(zhí)行匹配規(guī)則的配置,匹配規(guī)則的配置的步驟包括:針對(duì)每一個(gè)匹配規(guī)則,根據(jù)匹配規(guī)則中掩碼的有效位以及對(duì)應(yīng)的關(guān)鍵字,確定匹配規(guī)則所對(duì)應(yīng)的至少一個(gè)存儲(chǔ)地址,以匹配規(guī)則的規(guī)則號(hào)確定存儲(chǔ)地址的n個(gè)比特位中所要配置的比特位,在所要配置的比特位中寫(xiě)入用以表征匹配規(guī)則生效的生效比特值;
9、報(bào)文匹配模塊,用于對(duì)接收?qǐng)?bào)文進(jìn)行解析生成五元組信息,以五元組信息作為塊ram的存儲(chǔ)地址,讀取存儲(chǔ)地址所對(duì)應(yīng)的多個(gè)生效比特值,基于各個(gè)生效比特值所對(duì)應(yīng)的各個(gè)比特位,確定接收?qǐng)?bào)文命中的各個(gè)匹配規(guī)則的規(guī)則號(hào)。
10、第三方面,本申請(qǐng)?zhí)峁┮环N通信設(shè)備,包括如上所述的基于fpga的線速比特掩碼報(bào)文匹配裝置。
11、本申請(qǐng)根據(jù)預(yù)設(shè)的匹配規(guī)則,實(shí)現(xiàn)在塊ram中匹配規(guī)則的配置,能夠直接以五元組信息作為塊ram的讀地址,在塊ram中進(jìn)行規(guī)則匹配的查找,能夠線速的實(shí)現(xiàn)報(bào)文的規(guī)則匹配,并能夠提高報(bào)文精確匹配。利用fpga內(nèi)部的塊ram實(shí)現(xiàn)匹配規(guī)則的存儲(chǔ)功能和報(bào)文的規(guī)則匹配功能,不采用外部tcam的技術(shù)方案,能夠降低產(chǎn)品的成本。
1.一種基于fpga的線速比特掩碼報(bào)文匹配方法,其特征在于,所述fpga包括至少一個(gè)塊ram,所述塊ram包括多個(gè)存儲(chǔ)地址,所述存儲(chǔ)地址所對(duì)應(yīng)的存儲(chǔ)空間具有n個(gè)比特位,所述方法包括:
2.根據(jù)權(quán)利要求1所述的基于fpga的線速比特掩碼報(bào)文匹配方法,其特征在于,根據(jù)所述匹配規(guī)則中掩碼的有效位以及對(duì)應(yīng)的關(guān)鍵字,確定所述匹配規(guī)則所對(duì)應(yīng)的至少一個(gè)存儲(chǔ)地址,包括:
3.根據(jù)權(quán)利要求1所述的基于fpga的線速比特掩碼報(bào)文匹配方法,其特征在于,所述fpga包括第一塊ram、第二塊ram和第三塊ram,所述關(guān)鍵字為源端口的高八比特位、源端口的低八比特位和協(xié)議號(hào),所述掩碼分別對(duì)應(yīng)為源端口的高八比特位掩碼、源端口的低八比特位掩碼和協(xié)議號(hào)掩碼,所述匹配規(guī)則的配置的步驟具體包括:
4.根據(jù)權(quán)利要求3所述的基于fpga的線速比特掩碼報(bào)文匹配方法,其特征在于,基于所述至少一個(gè)生效比特值確定所述接收?qǐng)?bào)文命中的至少一個(gè)匹配規(guī)則的規(guī)則號(hào),包括:
5.根據(jù)權(quán)利要求1所述的基于fpga的線速比特掩碼報(bào)文匹配方法,其特征在于,所述fpga包括第四塊ram、第五塊ram和第六塊ram,所述關(guān)鍵字為目的端口的高八比特位、目的端口的低八比特位和協(xié)議號(hào),所述掩碼分別對(duì)應(yīng)為目的端口的高八比特位掩碼、目的端口的低八比特位掩碼和協(xié)議號(hào)掩碼,所述匹配規(guī)則的配置的步驟具體包括:
6.根據(jù)權(quán)利要求5所述的基于fpga的線速比特掩碼報(bào)文匹配方法,其特征在于,基于所述至少一個(gè)生效比特值確定所述接收?qǐng)?bào)文命中的至少一個(gè)匹配規(guī)則的規(guī)則號(hào),包括:
7.根據(jù)權(quán)利要求1所述的基于fpga的線速比特掩碼報(bào)文匹配方法,其特征在于,所述fpga包括16個(gè)第七塊ram,所述關(guān)鍵字為源ip地址關(guān)鍵字、目的ip地址關(guān)鍵字、固定位置特征碼關(guān)鍵字中的其中之一,所述掩碼對(duì)應(yīng)為源ip地址掩碼、目的ip地址掩碼、固定位置特征碼掩碼中的其中之一,所述源ip地址關(guān)鍵字、源ip地址掩碼、目的ip地址關(guān)鍵字、目的ip地址掩碼、固定位置特征碼關(guān)鍵字及固定位置特征碼掩碼均為128位比特,所述匹配規(guī)則的配置的步驟具體包括:
8.根據(jù)權(quán)利要求1所述的基于fpga的線速比特掩碼報(bào)文匹配方法,其特征在于,所述fpga還包括k個(gè)lut?ram,所述lut?ram包括多個(gè)存儲(chǔ)地址,所述存儲(chǔ)地址所對(duì)應(yīng)的存儲(chǔ)空間具有m個(gè)比特位,所述匹配規(guī)則的配置的步驟包括:
9.一種基于fpga的線速比特掩碼報(bào)文匹配裝置,其特征在于,所述fpga包括至少一個(gè)塊ram,所述塊ram包括多個(gè)存儲(chǔ)地址,所述存儲(chǔ)地址所對(duì)應(yīng)的存儲(chǔ)空間具有n個(gè)比特位,所述裝置包括:
10.一種通信設(shè)備,其特征在于,包括如權(quán)利要求9所述的基于fpga的線速比特掩碼報(bào)文匹配裝置。