專利名稱:一種報(bào)文特征的匹配方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)技術(shù),尤其涉及一種報(bào)文特征的匹配方法及裝置。
背景技術(shù):
互聯(lián)網(wǎng)的發(fā)展使得網(wǎng)絡(luò)設(shè)備的應(yīng)用越來(lái)越廣泛?,F(xiàn)今的網(wǎng)絡(luò)設(shè)備不僅僅需要進(jìn)行報(bào)文的二三層轉(zhuǎn)發(fā),而且還需要對(duì)報(bào)文進(jìn)行諸如Qos以及安全等應(yīng)用處理。這些新的特性的引入對(duì)報(bào)文的各種ACL匹配功能需求尤為明顯,在現(xiàn)今使用的大部分網(wǎng)絡(luò)設(shè)備中,ACL 技術(shù)已經(jīng)很成熟。一般的ACL查找匹配工作多數(shù)采用三態(tài)內(nèi)容尋址存儲(chǔ)器TCAM(Ternary Content-Addressable Memory)來(lái)完成,以減少對(duì)性能的影響。目前主流的TCAM的位寬一般可配置為72比特、144比特、288比特以及576比特四種中的任意一種。目前針對(duì)IPv4 報(bào)文五元組(源/目的IP,源/目的端口以及協(xié)議類型)ACL匹配通常使用144比特已經(jīng)足夠了。但是隨著網(wǎng)絡(luò)的發(fā)展,IPv4已經(jīng)無(wú)法滿足海量IP地址的需求,于是IPv6適用需要就顯得尤為迫切,針對(duì)IPv6報(bào)文的ACL匹配同樣也成為各種網(wǎng)絡(luò)設(shè)備需要支持的功能。IPv4五元組由32位源IP、32位目的IP、16位源port、16位目的port以及8位協(xié)議號(hào)組成,總計(jì)104比特,這樣TCAM選擇144比特位寬就可以支持,一般的網(wǎng)絡(luò)設(shè)備都能達(dá)到良好的匹配性能。而IPV6的五元組由1 位源IP、U8位目的IP、16位源port、16位目的port、8位協(xié)議號(hào)組成,總計(jì)四6比特,這樣TCAM就必須選擇576比特位寬,相當(dāng)于匹配每個(gè)IPv6報(bào)文的性能比IPv4降低了 4倍,并且容量下降為之前的四分之一。另外,由于每個(gè)表項(xiàng)會(huì)導(dǎo)致浪費(fèi)576496 = 280位TCAM的位寬,浪費(fèi)更多的規(guī)則匹配表項(xiàng),成本較高;同時(shí)由于位寬占用較多,導(dǎo)致每個(gè)報(bào)文的查找性能下降嚴(yán)重。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供一種對(duì)報(bào)文特征匹配的裝置,其應(yīng)用于網(wǎng)絡(luò)設(shè)備中,該裝置包括特征提取單元,用于從網(wǎng)絡(luò)設(shè)備接收到的報(bào)文中提取預(yù)定的報(bào)文特征;特征壓縮單元,用于將報(bào)文特征進(jìn)行壓縮;TCAM單元,用于根據(jù)壓縮后的報(bào)文特征查找報(bào)文在預(yù)定訪問(wèn)控制表項(xiàng)中的匹配結(jié)果,并輸出所述匹配結(jié)果。優(yōu)選地,還包括報(bào)文處理單元,用于根據(jù)所述匹配結(jié)果對(duì)報(bào)文進(jìn)行相應(yīng)處理。優(yōu)選地,所述報(bào)文為IPV6報(bào)文,所述報(bào)文特征為報(bào)文五元組,所述五元組包括源 IP地址、目的IP地址、源端口、目的端口以及協(xié)議類型。優(yōu)選地,特征壓縮單元執(zhí)行的壓縮過(guò)程為將五元組中的協(xié)議類型字段寫(xiě)入源IP 地址及目的IP地址的高位字段中,然后將修改后的源IP地址、修改后目的IP地址、源端口以及目的端口作為壓縮后的五元組提交給TCAM單元。優(yōu)選地,所述高位字段為源IP地址的前3比特以及目的IP地址的前3比特,所述協(xié)議類型字段長(zhǎng)度為8比特,所述特征壓縮單元,進(jìn)一步根據(jù)預(yù)先設(shè)定的映射表,將所述長(zhǎng)度為8比特的協(xié)議類型映射為6比特的協(xié)議類型,然后再寫(xiě)入所述源/目的IP地址的前3 比特。優(yōu)選地,還包括報(bào)文分類單元,用于判斷報(bào)文是IPv6報(bào)文還是Ipv4報(bào)文,對(duì)于 IPv6報(bào)文將其提交給特征壓縮單元處理,對(duì)于IPv4報(bào)文則將其提交給TCAM單元處理。本發(fā)明還一種對(duì)報(bào)文特征匹配的方法,其應(yīng)用于網(wǎng)絡(luò)設(shè)備中,該方法包括A、從網(wǎng)絡(luò)設(shè)備接收到的報(bào)文中提取預(yù)定的報(bào)文特征;B、將報(bào)文特征進(jìn)行壓縮;C、用于根據(jù)壓縮后的報(bào)文特征查找報(bào)文在預(yù)定訪問(wèn)控制表項(xiàng)中的匹配結(jié)果,并輸出所述匹配結(jié)果。優(yōu)選地,還包括D、根據(jù)所述匹配結(jié)果對(duì)報(bào)文進(jìn)行相應(yīng)處理。優(yōu)選地,所述報(bào)文為IPV6報(bào)文,所述報(bào)文特征為報(bào)文五元組,所述五元組包括源 IP地址、目的IP地址、源端口、目的端口以及協(xié)議類型。優(yōu)選地,所述壓縮過(guò)程為將五元組中的協(xié)議類型字段寫(xiě)入源IP地址及目的IP地址的高位字段中,然后將修改后的源IP地址、修改后目的IP地址、源端口以及目的端口作為壓縮后的五元組提交給TCAM單元。優(yōu)選地,所述高位字段為源IP地址的前3比特以及目的IP地址的前3比特,所述協(xié)議類型字段長(zhǎng)度為8比特,所述特征壓縮單元,進(jìn)一步根據(jù)預(yù)先設(shè)定的映射表,將所述長(zhǎng)度為8比特的協(xié)議類型映射為6比特的協(xié)議類型,然后再寫(xiě)入所述源/目的IP地址的前3 比特。優(yōu)選地,還包括E、判斷報(bào)文是IPv6報(bào)文還是Ipv4報(bào)文,對(duì)于Ipv6報(bào)文轉(zhuǎn)步驟B,對(duì)于IPv4報(bào)文轉(zhuǎn)步驟C。本發(fā)明可以有效節(jié)省TCAM資源,充分利用了 TCAM的容量,將其性能發(fā)揮到最大限度,同時(shí)減少了每個(gè)IPv6報(bào)文TCAM的查找性能損耗。
圖1是本發(fā)明一種實(shí)施方式的流程圖。圖2是本發(fā)明一種實(shí)施方式的邏輯原理圖。圖3是本發(fā)明ACL表象的組織結(jié)構(gòu)圖。
具體實(shí)施例方式針對(duì)現(xiàn)有技術(shù)的問(wèn)題,常見(jiàn)的設(shè)計(jì)思路是調(diào)整TCAM規(guī)格,然而這樣新的設(shè)計(jì)會(huì)引發(fā)成本的上升。本發(fā)明另辟蹊徑,從五元組本身著手,使得其能夠最大限度適配到已有的 TCAM配置規(guī)格,最大限度地利用TCAM的性能。在較佳的實(shí)施方式中,本發(fā)明可以通過(guò)邏輯器件技術(shù)(比如FPGA等)來(lái)實(shí)現(xiàn),請(qǐng)參考圖1以及圖2,本發(fā)明報(bào)文壓縮裝置包括特征提取單元、特征壓縮單元、TCAM單元、報(bào)文分類單元以及報(bào)文處理單元,其基本的處理流程如下。
步驟101,從網(wǎng)絡(luò)設(shè)備接收到的報(bào)文中提取預(yù)定的報(bào)文特征。本步驟由特征提取單元執(zhí)行。以IP報(bào)文為例,網(wǎng)絡(luò)設(shè)備會(huì)對(duì)自己接收到的報(bào)文進(jìn)行ACL (訪問(wèn)控制列表)匹配, 而匹配的對(duì)象通常是報(bào)文特征,最為常見(jiàn)的有報(bào)文的三元組以及五元組。以下以五元組 (源IP地址、目的IP地址、源端口、目的端口以及協(xié)議類型)為例進(jìn)行講解。報(bào)文特征的提取在現(xiàn)有技術(shù)中已經(jīng)有廣泛的教導(dǎo),在此不再一一細(xì)述。步驟102,將報(bào)文特征進(jìn)行壓縮。本步驟由報(bào)文壓縮單元處理。如背景技術(shù)提到的那樣,一個(gè)IPv6報(bào)文的五元組共占據(jù)了四6個(gè)比特,其比TCAM 最接近的288個(gè)比特的位寬規(guī)格大8個(gè)比特。本發(fā)明通過(guò)壓縮的方法將五元組的296個(gè)比特壓縮為288個(gè)比特,使得TCAM能夠處理經(jīng)過(guò)壓縮的五元組??紤]到,協(xié)議類型這個(gè)字段共占據(jù)8個(gè)比特,本發(fā)明一種較佳的實(shí)施方式是將這個(gè)8個(gè)比特壓縮掉。一種方式是,從五元組的源和目的IP地址的高位比特中選取出8個(gè)比特,然后將協(xié)議類型寫(xiě)入這8個(gè)比特。因?yàn)镮P地址的高位特別(高64位)中有一些比特對(duì)于一些實(shí)際應(yīng)用來(lái)說(shuō)通常是固定的,因而可以加以利用。進(jìn)一步來(lái)說(shuō),由于修改IP地址,其可能導(dǎo)致出錯(cuò),雖然其可能性比較低。但為了穩(wěn)妥起見(jiàn),可以對(duì)高位比特的選擇加以限制??紤]到全局IPv6單播地址的最高3位為001,在現(xiàn)網(wǎng)絕大部分應(yīng)用中IPv6地址的高3比特一般不會(huì)變化,因此可以僅僅利用IP地址的前 3個(gè)比特,這樣一來(lái),修改IP地址出錯(cuò)的可能性微乎其微。更進(jìn)一步來(lái)說(shuō),源以及目的IP地址的前3個(gè)比特的總長(zhǎng)度為6個(gè)比特,其小于協(xié)議類型字段長(zhǎng)度8個(gè)比特。為了解決這個(gè)問(wèn)題,有兩種方法第一種不做特別處理,使用6 個(gè)比特來(lái)表達(dá)協(xié)議類型,因?yàn)镮P協(xié)議字段現(xiàn)在只有100多種,常用的更少,一般都在64以內(nèi),因此6個(gè)比特完全可以勝任絕大部分的應(yīng)用。第二種方式是設(shè)置一張映射表,如前所述的那樣,雖然協(xié)議類型有8個(gè)比特,即256種可能,但實(shí)際上用到的一般不超過(guò)64種。映射表主要是將8個(gè)比特的協(xié)議類型映射為6個(gè)比特;比如說(shuō)將協(xié)議類型為200 (需要使用8個(gè)比特)映射到協(xié)議類型為63 (僅需要6個(gè)比特)。步驟103,根據(jù)報(bào)文特征查找報(bào)文在預(yù)定訪問(wèn)控制表項(xiàng)中的匹配結(jié)果,并輸出所述匹配結(jié)果。本步驟由TCAM單元處理。IPv6報(bào)文的五元組經(jīng)過(guò)步驟102壓縮以后其長(zhǎng)度等于288比特,滿足了 TCAM單元的規(guī)格要求,可以送入TCAM單元進(jìn)行表項(xiàng)的匹配。TCAM表項(xiàng)中一般存放有訪問(wèn)控制列表 (ACL)的表項(xiàng)。請(qǐng)參考圖3,其中示出了 288位的ACL表項(xiàng)的組織形式。對(duì)ACL匹配后可以輸出相應(yīng)的匹配結(jié)果,其包括命中和未命中。針對(duì)匹配結(jié)果,網(wǎng)絡(luò)設(shè)備可以用相應(yīng)的處理, 比如未命中的可以丟棄,命中的可以轉(zhuǎn)發(fā)或者重定向或者上送軟件處理。這些針對(duì)輸出結(jié)果進(jìn)行相應(yīng)的處理在本發(fā)明是由報(bào)文處理單元執(zhí)行。報(bào)文處理單元是一種泛指,即報(bào)文通過(guò)訪問(wèn)控制列表匹配后的各種可能的處理單元都可視為報(bào)文處理單元。由于報(bào)文的后續(xù)是很常見(jiàn)的現(xiàn)有技術(shù),本發(fā)明不再一一細(xì)述。步驟104,在對(duì)報(bào)文特征壓縮之前,還可以進(jìn)一步判斷報(bào)文是IPv6報(bào)文還是Ipv4 報(bào)文,如果是IPv6報(bào)文則轉(zhuǎn)步驟102將其提交給特征壓縮單元處理,對(duì)于IPv4報(bào)文則轉(zhuǎn)步驟103,將其報(bào)文特征提交給TCAM單元處理。本步驟又報(bào)文分類單元處理??紤]到現(xiàn)有的網(wǎng)絡(luò)中會(huì)同時(shí)存在IPv4以及IPv6兩種版本的IP報(bào)文,并且考慮到這種情況將在很長(zhǎng)一段時(shí)間內(nèi)持續(xù)存在,本發(fā)明可以針對(duì)兩者做區(qū)分處理,步驟104作為一個(gè)可選步驟可進(jìn)一步提升本發(fā)明的實(shí)用性。IP報(bào)文版本的識(shí)別屬于常見(jiàn)的技術(shù),不需要詳述。本發(fā)明通過(guò)對(duì)報(bào)文特征的巧妙壓縮設(shè)計(jì),在最大限度上利用了 TCAM性能的極限, 避免了 TCAM處理資源的浪費(fèi),并且成本比較低。以上所描述的僅僅是本發(fā)明較佳的實(shí)現(xiàn)方式,并不用以限定本發(fā)明的保護(hù)范圍, 任何等同的變化和修改皆應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種對(duì)報(bào)文特征匹配的裝置,其應(yīng)用于網(wǎng)絡(luò)設(shè)備中,該裝置包括特征提取單元,用于從網(wǎng)絡(luò)設(shè)備接收到的報(bào)文中提取預(yù)定的報(bào)文特征;特征壓縮單元,用于將報(bào)文特征進(jìn)行壓縮;TCAM單元,用于根據(jù)壓縮后的報(bào)文特征查找報(bào)文在預(yù)定訪問(wèn)控制表項(xiàng)中的匹配結(jié)果, 并輸出所述匹配結(jié)果。
2.根據(jù)權(quán)利要求1所述的裝置,其特征在于,還包括報(bào)文處理單元,用于根據(jù)所述匹配結(jié)果對(duì)報(bào)文進(jìn)行相應(yīng)處理。
3.根據(jù)權(quán)利要求1所述的裝置,其特征在于,所述報(bào)文為IPV6報(bào)文,所述報(bào)文特征為報(bào)文五元組,所述五元組包括源IP地址、目的IP地址、源端口、目的端口以及協(xié)議類型。
4.根據(jù)權(quán)利要求3所述的裝置,其特征在于,特征壓縮單元執(zhí)行的壓縮過(guò)程為將五元組中的協(xié)議類型字段寫(xiě)入源IP地址及目的IP地址的高位字段中,然后將修改后的源IP地址、修改后目的IP地址、源端口以及目的端口作為壓縮后的五元組提交給TCAM單元。
5.根據(jù)權(quán)利要求4所述的裝置,其特征在于,所述高位字段為源IP地址的前3比特以及目的IP地址的前3比特,所述協(xié)議類型字段長(zhǎng)度為8比特,所述特征壓縮單元,進(jìn)一步根據(jù)預(yù)先設(shè)定的映射表,將所述長(zhǎng)度為8比特的協(xié)議類型映射為6比特的協(xié)議類型,然后再寫(xiě)入所述源/目的IP地址的前3比特。
6.根據(jù)權(quán)利要求1所述的裝置,其特征在于,還包括報(bào)文分類單元,用于判斷報(bào)文是 IPv6報(bào)文還是Ipv4報(bào)文,對(duì)于Ipv6報(bào)文將其提交給特征壓縮單元處理,對(duì)于IPv4報(bào)文則將其提交給TCAM單元處理。
7.一種對(duì)報(bào)文特征匹配的方法,其應(yīng)用于網(wǎng)絡(luò)設(shè)備中,該方法包括 A、從網(wǎng)絡(luò)設(shè)備接收到的報(bào)文中提取預(yù)定的報(bào)文特征;B、將報(bào)文特征進(jìn)行壓縮;C、用于根據(jù)壓縮后的報(bào)文特征查找報(bào)文在預(yù)定訪問(wèn)控制表項(xiàng)中的匹配結(jié)果,并輸出所述匹配結(jié)果。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,還包括D、根據(jù)所述匹配結(jié)果對(duì)報(bào)文進(jìn)行相應(yīng)處理。
9.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述報(bào)文為IPV6報(bào)文,所述報(bào)文特征為報(bào)文五元組,所述五元組包括源IP地址、目的IP地址、源端口、目的端口以及協(xié)議類型。
10.根據(jù)權(quán)利要求9所述的方法,其特征在于,所述壓縮過(guò)程為將五元組中的協(xié)議類型字段寫(xiě)入源IP地址及目的IP地址的高位字段中,然后將修改后的源IP地址、修改后目的IP地址、源端口以及目的端口作為壓縮后的五元組提交給TCAM單元。
11.根據(jù)權(quán)利要求10所述的方法,其特征在于,所述高位字段為源IP地址的前3比特以及目的IP地址的前3比特,所述協(xié)議類型字段長(zhǎng)度為8比特,所述特征壓縮單元,進(jìn)一步根據(jù)預(yù)先設(shè)定的映射表,將所述長(zhǎng)度為8比特的協(xié)議類型映射為6比特的協(xié)議類型,然后再寫(xiě)入所述源/目的IP地址的前3比特。
12.根據(jù)權(quán)利要求7所述的方法,其特征在于,在步驟B之前,還包括E、判斷報(bào)文是IPv6報(bào)文還是Ipv4報(bào)文,對(duì)于Ipv6報(bào)文轉(zhuǎn)步驟B,對(duì)于IPv4報(bào)文轉(zhuǎn)步馬聚Co
全文摘要
本發(fā)明提供一種對(duì)報(bào)文特征匹配的裝置,其應(yīng)用于網(wǎng)絡(luò)設(shè)備中,該裝置包括特征提取單元,用于從網(wǎng)絡(luò)設(shè)備接收到的報(bào)文中提取預(yù)定的報(bào)文特征;特征壓縮單元,用于將報(bào)文特征進(jìn)行壓縮;TCAM單元,用于根據(jù)壓縮后的報(bào)文特征查找報(bào)文在預(yù)定訪問(wèn)控制表項(xiàng)中的匹配結(jié)果,并輸出所述匹配結(jié)果。本發(fā)明可以有效節(jié)省TCAM資源,充分利用了TCAM的容量,將其性能發(fā)揮到最大限度,同時(shí)減少了每個(gè)IPv6報(bào)文TCAM的查找性能損耗。
文檔編號(hào)H04L12/56GK102291301SQ20111022781
公開(kāi)日2011年12月21日 申請(qǐng)日期2011年8月10日 優(yōu)先權(quán)日2011年8月10日
發(fā)明者李炳志, 滕飛, 王濤, 陳鵬 申請(qǐng)人:杭州迪普科技有限公司