報(bào)文處理轉(zhuǎn)發(fā)裝置及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信領(lǐng)域的報(bào)文轉(zhuǎn)發(fā)技術(shù),尤其涉及一種報(bào)文處理轉(zhuǎn)發(fā)裝置及方法。
【背景技術(shù)】
[0002]目前報(bào)文轉(zhuǎn)發(fā)通常由通用中央處理器CPU、完全可編程的網(wǎng)絡(luò)處理器NP或硬邏輯實(shí)現(xiàn)的芯片來實(shí)現(xiàn);通用CPU由于受限其處理性能,只能滿足一些極低線速要求的場(chǎng)景;可編程的網(wǎng)絡(luò)處理器靈活度很高,但是成本和功耗的代價(jià)也相對(duì)比較高;硬邏輯實(shí)現(xiàn)的芯片優(yōu)缺點(diǎn)也非常明顯,優(yōu)點(diǎn)是能很好的控制芯片的成本功耗,缺點(diǎn)是芯片開發(fā)過程中需要對(duì)業(yè)務(wù)流程的理解和梳理不能有差錯(cuò),從而導(dǎo)致開發(fā)過程中的開發(fā)及驗(yàn)證難度大的問題。
【發(fā)明內(nèi)容】
[0003]有鑒于此,本發(fā)明實(shí)施例期望提供一種報(bào)文處理轉(zhuǎn)發(fā)裝置及方法,以保持所述裝置具有一定的靈活性,同時(shí)維持較低的硬件成本以及較低的開發(fā)難度。
[0004]為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:
[0005]本發(fā)明第一方面提供一種報(bào)文處理轉(zhuǎn)發(fā)裝置,所述裝置包括至少一個(gè)處理結(jié)構(gòu);每一個(gè)所述處理結(jié)構(gòu)包括TCAM處理單元及查表單元;
[0006]所述TCAM處理單元包括:
[0007]第一提取模塊,用于從對(duì)應(yīng)于報(bào)文及報(bào)文描述符中提取特征字段;
[0008]匹配模塊,用于將所述特征字段與TCAM條目進(jìn)行匹配,形成匹配結(jié)果;
[0009]第一執(zhí)行模塊,為可編程模塊,用于依據(jù)所述匹配結(jié)果,對(duì)所述報(bào)文及所述報(bào)文描述符執(zhí)行第一次操作并形成鍵值域索引;
[0010]所述查表單元包括:
[0011]第二提取模塊,用于接收所述鍵值域索引并依據(jù)所述鍵值域索引獲取鍵值字段;
[0012]查表模塊,用于依據(jù)所述鍵值字段進(jìn)行查表,形成查表結(jié)果;
[0013]第二執(zhí)行模塊,為可編程模塊,用于根據(jù)所述查表結(jié)果對(duì)所述報(bào)文及所述報(bào)文描述輸入執(zhí)行第二次操作;
[0014]所述處理結(jié)構(gòu),還用于在指定的所述處理結(jié)構(gòu)執(zhí)行完所述第一次操作和所述第二次操作后,發(fā)送所述處理結(jié)構(gòu)處理后的所述報(bào)文。
[0015]優(yōu)選地,
[0016]所述TCAM處理單元還包括:
[0017]外圍邏輯模塊,用于將所述特征字段中的指定字段轉(zhuǎn)化成所述TCAM條目的匹配字段,并所述匹配字段發(fā)送給所述匹配模塊。
[0018]優(yōu)選地,
[0019]所述TCAM處理單元還包括:
[0020]第一獲取模塊,用于依據(jù)所述匹配結(jié)果獲取所述第一次操作的操作信息;
[0021]所述第一執(zhí)行模塊,具體用于依據(jù)所述操作信息,對(duì)所述報(bào)文執(zhí)行第一次操作并依據(jù)匹配結(jié)果查詢獲得對(duì)應(yīng)所述匹配結(jié)果的鍵值域索引。
[0022]優(yōu)選地,
[0023]所述第二提取模塊還用于將所述鍵值字段形成預(yù)定的鍵值結(jié)構(gòu),并將所述鍵值結(jié)構(gòu)發(fā)給所述查表模塊。
[0024]優(yōu)選地,
[0025]所述查表單元包括:
[0026]第二獲取模塊,用于依據(jù)所述查表結(jié)果獲取所述第二次操作的操作信息;
[0027]所述第二執(zhí)行模塊,具體用于依據(jù)所述操作信息,對(duì)所述報(bào)文執(zhí)行第二次操作。
[0028]優(yōu)選地,
[0029]所述第一執(zhí)行模塊和所述第二執(zhí)行模塊為超長(zhǎng)指令可編程模塊。
[0030]優(yōu)選地,
[0031]所述TCAM處理單元及所述查表單元,一次能夠處理N個(gè)所述特征字段;所述N為不小于1的整數(shù);
[0032]所述裝置還包括延時(shí)單元,且分別于所述TCAM處理單元及所述可編程邏輯指令查詢單元相連;
[0033]所述延時(shí)單元,用于當(dāng)所述特征字段的個(gè)數(shù)Μ大于所述Ν時(shí),存儲(chǔ)所述Μ個(gè)所述特征字段以及所述特征字段對(duì)應(yīng)的匹配結(jié)果和查表結(jié)果,等待所述TCAM處理單元及所述查表單元對(duì)所述Μ個(gè)所述特征字段處理之后,輸出所述報(bào)文。
[0034]本發(fā)明第二方面提供一種報(bào)文處理轉(zhuǎn)發(fā)方法,應(yīng)用于包括至少一個(gè)處理結(jié)構(gòu)的裝置中,所述處理結(jié)構(gòu)包括TCAM處理單元及查表單元;
[0035]通過所述TCAM處理單元從對(duì)應(yīng)于報(bào)文及報(bào)文描述符中提取特征字段;
[0036]依據(jù)所述匹配結(jié)果,采用所述TCAM處理單元中的可編程指令對(duì)所述報(bào)文及所述報(bào)文描述符執(zhí)行第一次操作并形成鍵值域索引;
[0037]通過所述查表單元接收所述鍵值域索引,依據(jù)所述鍵值域索引查找鍵值字段,依據(jù)所述鍵值字段進(jìn)行查表形成查表結(jié)果;
[0038]根據(jù)所述查表結(jié)果采用所述查表單元中的可編程指令對(duì)所述報(bào)文及所述報(bào)文描述符執(zhí)行第二次操作;
[0039]在指定的所述處理結(jié)構(gòu)執(zhí)行完所述第一次操作和所述第二次操作后,發(fā)送所述處理結(jié)構(gòu)處理后的所述報(bào)文。
[0040]優(yōu)選地,
[0041 ] 所述TCAM處理單元包括外圍邏輯模塊;
[0042]所述方法還包括:
[0043]通過所述外圍邏輯模塊將所述特征字段中的指定字段轉(zhuǎn)化成所述TCAM條目的匹配字段;
[0044]所述匹配字段用于與所述TCAM條目進(jìn)行匹配
[0045]優(yōu)選地,
[0046]所述依據(jù)所述匹配結(jié)果,采用所述TCAM處理單元中的可編程指令對(duì)所述報(bào)文執(zhí)行第一次操作并形成鍵值域索引包括:
[0047]依據(jù)所述匹配結(jié)果獲取所述第一次操作的操作信息;
[0048]依據(jù)所述操作信息,對(duì)所述報(bào)文執(zhí)行第一次操作;
[0049]依據(jù)所述匹配結(jié)果查詢對(duì)應(yīng)所述匹配結(jié)果的鍵值域索引。
[0050]優(yōu)選地,
[0051]所述方法還包括:
[0052]將所述鍵值字段形成預(yù)定的鍵值結(jié)構(gòu);
[0053]所述依據(jù)所述鍵值字段進(jìn)行查表形成查表結(jié)果具體為:
[0054]依據(jù)鍵值結(jié)構(gòu)進(jìn)行查表形成所述查表結(jié)果。
[0055]優(yōu)選地,
[0056]所述根據(jù)所述查表結(jié)果采用所述查表單元中的可編程指令對(duì)所述報(bào)文執(zhí)行第二次操作包括:
[0057]依據(jù)所述查表結(jié)果獲取所述第二次操作的操作信息;
[0058]依據(jù)所述操作信息,對(duì)所述報(bào)文執(zhí)行第二次操作。
[0059]優(yōu)選地,
[0060]所述TCAM處理單元和查表單元中的可編程指令為超長(zhǎng)指令。
[0061]優(yōu)選地,
[0062]所述TCAM處理單元及所述查表單元,一次能夠處理N個(gè)所述特征字段;所述N為不小于1的整數(shù);所述裝置還包括延時(shí)單元;
[0063]所述方法還包括:當(dāng)所述特征字段的個(gè)數(shù)Μ大于所述N時(shí),通過所述延時(shí)單元存儲(chǔ)所述Μ個(gè)所述特征字段以及所述特征字段對(duì)應(yīng)的匹配結(jié)果和查表結(jié)果,等待所述TCAM處理單元及所述查表單元對(duì)所述Μ個(gè)所述特征字段處理之后,輸出所述報(bào)文。
[0064]本發(fā)明實(shí)施例所述報(bào)文處理轉(zhuǎn)發(fā)方法及裝置,結(jié)合TCAM處理單元及查表單元,可通過對(duì)可編程的第一執(zhí)行模塊和第二執(zhí)行模塊進(jìn)行拓展實(shí)現(xiàn)所述裝置的行業(yè)務(wù)拓展及業(yè)務(wù)調(diào)整,保持較高的靈活性,相比較于硬邏輯芯片可降低開發(fā)難度及驗(yàn)證難度;通過TCAM處理單元的引入,采用TCAM對(duì)報(bào)文進(jìn)行部分處理,減少可編程模塊需要處理的工作量,可相對(duì)的降低成本及功耗等。
【附圖說明】
[0065]圖1為本發(fā)明實(shí)施例所述的報(bào)文處理轉(zhuǎn)發(fā)裝置的結(jié)構(gòu)示意圖;
[0066]圖2為本發(fā)明實(shí)施例所述的處理結(jié)構(gòu)的結(jié)構(gòu)示意圖之一;
[0067]圖3為本發(fā)明實(shí)施例所述的TCAM處理單元的結(jié)構(gòu)示意圖;
[0068]圖4為本發(fā)明實(shí)施例所述的處理結(jié)構(gòu)的結(jié)構(gòu)示意圖之二 ;
[0069]圖5為本發(fā)明實(shí)施例所述的報(bào)文處理方法的流程示意圖之一;
[0070]圖6為本發(fā)明實(shí)施例所述的執(zhí)行第一次操作并形成鍵值域索引的流程示意圖;
[0071]圖7為本發(fā)明示例所述的處理結(jié)構(gòu)的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0072]以下結(jié)合說明書附圖及具體實(shí)施例對(duì)本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)闡述。
[0073]實(shí)施例一
[0074]如圖1及圖2所示,本實(shí)施例提供一種報(bào)文處理轉(zhuǎn)發(fā)裝置,所述裝置包括至少一個(gè)處理結(jié)構(gòu)11 ;在圖1中所述裝置包括n+1個(gè)處理結(jié)構(gòu)CELL ;其中,所述η為不小1的整數(shù);所述至少一個(gè)處理結(jié)構(gòu)一次是CELL 0、CELL 1、......CELL n_l以及CELL η ;
[0075]每一個(gè)所述處理結(jié)構(gòu)11包括TCAM處理單元110及查表單元120 ;
[0076]所述TCAM處理單元包括:
[0077]第一提取模塊111,用于從對(duì)應(yīng)于報(bào)文及報(bào)文描述符中提取特征字段;
[0078]匹配模塊112,用于將所述特征字段與TCAM條目進(jìn)行匹配,形成匹配結(jié)果;
[0079]第一執(zhí)行模塊113,為可編程模塊,用于依據(jù)所述匹配結(jié)果,對(duì)所述報(bào)文及所述報(bào)文描述符執(zhí)行第一次操作并形成鍵值域索引;
[0080]所述查表單元120包括:
[0081]第二提取模塊121,用于接收所