專利名稱:報文處理方法、裝置和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)通信技術(shù)領(lǐng)域,尤其涉及一種報文處理方法、裝置和系統(tǒng)。
背景技術(shù):
隨著網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,網(wǎng)絡(luò)報文處理的要求也越來越高,除了路由轉(zhuǎn) 發(fā)之外,還要求對網(wǎng)絡(luò)報文的狀態(tài)和內(nèi)容等進行檢查,出現(xiàn)了很多對性能要求 很高的網(wǎng)絡(luò)安全設(shè)備和內(nèi)容處理設(shè)備,因此靈活的網(wǎng)絡(luò)處理器或者通用多核處 理器也越來越多的應(yīng)用在網(wǎng)絡(luò)設(shè)備上,這兩者都屬于多核處理器的范疇。
目前,網(wǎng)絡(luò)報文的轉(zhuǎn)發(fā)采用流轉(zhuǎn)發(fā)的方式進行, 一個流就是一個會話,具 有相同源IP;電址、目的IP地址、協(xié)議號、源端口號、目的端口號的報文屬于同
—會話。
為了提高報文的處理速度,出現(xiàn)了多核處理器,將報文的處理M到多個 處理單元進行處理,
如圖l所示,將入接口接收到報文由硬件或者分發(fā)處理器均勻分散到多個處 理器上進行處理,每個處理器上運行的程序相同,由于每個報文從入接口到出
接口的處理時間可能不同,因此,在處理器對^JL進行處理之后,需要對報文 進行保序處理,保證報文從同 一個入接口進入的順序與從出接口發(fā)送出去的順 序保持一致。
在實現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問題 現(xiàn)有技術(shù)中,在分發(fā)報文時,不區(qū)分報文的類型,而實際上有的報文處理 時間長,有的報文處理時間短,對于由同一個處理器進行處理的報文,處理時 間長的報文會阻塞處理時間短的報文,給網(wǎng)絡(luò)報文帶來很大的延遲和抖動,以及性能下降;此外,由于報文從出接口發(fā)送出去之前,要進行保序處理,因此, 如果先處理完的報文進入入接口的時間比較晚的話,將會等待在其之前進入的 報文處理完之后才能發(fā)送出去,這樣會帶來更多的報文阻塞,導(dǎo)致轉(zhuǎn)發(fā)性能的 下降。
發(fā)明內(nèi)容
本發(fā)明的實施例提供一種報文處理方法、裝置和系統(tǒng),能夠提高報文的處 理性能。
為達到上述目的,本發(fā)明的實施例釆用如下技術(shù)方案
一種報式處理方法,包括
將入接口接收到的報文分發(fā)到第 一處理單元中;
查我是否存儲有所述報文的會話表;
若有,則根據(jù)所述會話表,將所述報文由第一處理單元進行處理; 若沒有,則將所述報文發(fā)送到第二處理單元進行處理。 一種報文處理裝置,包括
分發(fā)單元,用于將入接口接收到的報文分發(fā)到第 一處理單元中; 查找單元,用于查找是否存儲有所述報文的會話表; 第一處理單元,用于處理所述查找單元查找到所述會話表的^^艮文; 第二處理單元,用于處理所述查找單元沒有查找到所述會話表的報文。 一種報文處理系統(tǒng),包括
第一處理器,用于接收入接口分發(fā)的報文,查找是否存儲有所述報文的會 話表,-對存儲有所述會話表的報文進行處理,并將沒有存儲所述會話表的報文 轉(zhuǎn)發(fā)到第二處理器進行處理;
第二處理器,用于接收所述第一處理器轉(zhuǎn)發(fā)過來的沒有存儲所述會話表的報文,并對所述報文進行處理。
本發(fā)明實施例提供的報文處理方法、裝置和系統(tǒng),將入接口接收到的報文 分發(fā)到第一處理單元中,第一處理單元查找所述才艮文的會話表,若查找到所述
報文的會話表,則第一處理單元根據(jù)所述會話表處理所述才艮文;若沒有查找到 所述報文的會話表,則將所述報文轉(zhuǎn)發(fā)到第二處理單元進行處理。與現(xiàn)有技術(shù) 相比,本發(fā)明將處理時間長的報文和處理時間短的報文分離開,由第一處理單 元和第二處理單元分別對兩種報文進行處理,避免了報文的阻塞,減少了報文 的延遲和抖動,增加了報文流量,提高了報文的處理性能。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施 例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描 述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不 付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
閨l為現(xiàn)有技術(shù)中報文處理方法流程圖2為本發(fā)明實施例提供的報文處理方法流程圖3為本發(fā)明報文處理方法實施例一的方法流程圖3a為圖3中第二處理單元處理報文的詳細(xì)流程圖4為本發(fā)明實施例提供的報文處理裝置結(jié)構(gòu)示意圖5為本發(fā)明報文處理裝置實施例一的結(jié)構(gòu)示意圖6為本發(fā)明實施例提供的報文處理系統(tǒng)結(jié)構(gòu)示意圖7為本發(fā)明報文處理系統(tǒng)實施例 一 的結(jié)構(gòu)示意圖。
具體實施例方式
為了解決^L有技術(shù)中報文處理性能低的問題,本發(fā)明的實施例提供一種報文處理方法、^裝置和系統(tǒng)。
為使本發(fā)明技術(shù)方案的優(yōu)點更加清楚,下面結(jié)合附圖和實施例對本發(fā)明作 詳細(xì)i兌明。
本發(fā)明的實施例適用于在一個芯片上集成多個處理器內(nèi)核的多核處理器, 或者分散的多個處理器。
本發(fā)明約實施例提供一種報文處理方法,該方法能夠提高報文處理的性能。
如圖2所示,所述報文處理方法包括
S201 、將入接口接收到的報文分發(fā)到第 一處理單元中;
5202、 查找所述報文的會話表;
5203、 若查找到所述報文的會話表,則根據(jù)所述會話表,將所述報文由第 一處理單元進行處理;
5204、 若沒有查找到所述^1文的會話表,則將所述"l艮文轉(zhuǎn)到第二處理單元 進行處理。
本發(fā)明的實施例報文處理方法,將入接口接收到的報文分發(fā)到第一處理單 元中,第一處理單元查找所述報文的會話表,若查找到所述報文的會話表,則 第一處理單元根據(jù)所述會話表處理所述報文;若沒有查找到所述報文的會話表, 則將所述報文轉(zhuǎn)發(fā)到第二處理單元進行處理。與現(xiàn)有技術(shù)相比,本發(fā)明將處理 時間長的報文和處理時間短的報文分離開,由第一處理單元和第二處理單元分 別對兩種報文進行處理,避免了報文的阻塞,減少了報文的延遲和抖動,增加 了報文流量,提高了報文的處理性能。
下面給出本發(fā)明《^艮文處理方法的具體實施例。
實施例一
如圖3所示,所述^JL處理方法包括S301 、將入接口接收到的報文分發(fā)到第一處理單元中;
5302、 查找所述報文的會話表;
5303、 若查找到所述報文的會話表,則根據(jù)所述會話表,將所述報文由第 一處理單元進行處理;
其中,所述能夠查找到會話表的報文為后續(xù)報文,所述后續(xù)報文的處理流 程比較簡單,只需按照所述會話表中所記錄的對其進行后續(xù)處理即可,耗時較 短,由第一處理單元進行處理。
在所述步驟S303之后,還包括下面兩個步驟 S303a、對所述由第一處理單元處理后的報文進行保序處理; S303b、將經(jīng)過所述保序處理后的報文,由所述報文的會話表中記錄的出接 口發(fā)送步去;
5304、 若沒有查找到所述報文的會話表,則將所述報文轉(zhuǎn)到第二處理單元 進行處理;
其中,所述沒有查找到會話表的報文為首報文,所述首報文的處理耗時較 長,通常要查找訪問控制列表,確定對這個報文要做的后續(xù)處理,可能要查找 黑名單,確定是否要過濾此IP地址的報文,另外要查找路由表,確定這條流的 出接口。以上這些查表過程在軟件中很耗時,所以整個處理流程時間很長,由 第二處理單元進行處理。
如圖3a所示,所述步驟S304具體包括如下步驟
S304a、確定所述報文的出接口;
S304b、確定對所述報文所做的后續(xù)處理,并對所述報文進行所述后續(xù)處理; 通過查找ACL (Access Control List,訪問控制列表),確定對所述才艮文要 做的后續(xù)處理,并對所述^^文進行所述后續(xù)處理。S304c、將IP地址被記錄為黑名單的報文過濾并丟棄掉; S304d、生成所述才艮文的會話表;
其中,所^i艮文的會話表包括但不限于報文的源IP地址、目的IP地址、協(xié) 議號、源端口號、目的端口號。 S304e、存儲所述會話表;
其中,所述步驟S304b、 S304c為可選步驟,所述步驟S304a、 S304b、 S304c 的先后順序不作限制。
如圖3所示,在所述步驟S304之后,還包括如下步驟 S305、將所述報文由所述出接口發(fā)送出去;
因而,利用本發(fā)明的實施例報文處理方法,將首報文和后續(xù)報文區(qū)分開, 分別由第 一處理單元和第二處理單元進行處理,第 一處理單元根據(jù)后續(xù)報文的 會話表對所述后續(xù)報文進行處理,并將處理后的報文由出接口發(fā)送出去;第二 處理單元確《首報文的出接口以及后續(xù)處理,在對所述首報文進行后續(xù)處理后, 生成并存儲所述報文的會話表,最后將所述處理后的才艮文由出接口發(fā)送出去。 與現(xiàn)有技術(shù)相比,本發(fā)明能夠加快報文的處理速度,減少報文的延遲和抖動, 增加報文流量,提高報文的處理性能,提升報文的處理效率。
本發(fā)明的實施例還提供一種報文處理裝置,該裝置能夠提高報文處理的性能。
如圖4所示,所述裝置包括
分發(fā)單元4 01,用于將入接口接收到的報文分發(fā)到第 一處理單元4 0 3中; 查找單元402,用于查找所述報文的會話表;
第一處理單元403,用于根據(jù)所述查找單元402查找到的會話表,處理所述 報文;第二處理單元404,用于處理所述查找單元402沒有查找到所述會話表的報文。
本發(fā)明的實施例"^艮文處理裝置,將入接口接收到的"^艮文分發(fā)到第一處理單 元403中,第一處理單元403查找所述報文的會話表,若查找到所述報文的會話 表,則第一處理單元403根據(jù)所述會話表處理所述報文;若沒有查找到所述報文 的會話表,則將所述沖艮文轉(zhuǎn)發(fā)到第二處理單元404進行處理。與現(xiàn)有技術(shù)相比, 本發(fā)明將處理時間長的報文和處理時間短的報文分離開,由第一處理單元403和 第二處理單元404分別對兩種報文進行處理,避免了報文的阻塞,減少了報文的 延遲和抖動,增加了報文流量,提高了報文的處理性能。
下面給出本發(fā)明報文處理裝置的具體實施例。
實施例一
如圖5所示,所述裝置包括
分泉單元5 01,用于將入接口接收到的報文分發(fā)到第 一處理單元5 03中; 查找單元502,用于查找所述報文的會話表;
第一處理單元503,用于根據(jù)所述查找單元502查找到的會話表,處理所述 報文;
第二處理單元504,用于處理所述查找單元502沒有查找到所述會話表的報文。
如圖5所示,所述裝置還包括
保序單元505,用于對所述第一處理單元503處理后的報文進行保序處理; 第一發(fā)送單元506,用于將經(jīng)過所述保序單元505處理后的報文,由所述報 文的會話表中記錄的出接口發(fā)送出去。 如圖5所示,所述裝置還包括轉(zhuǎn)發(fā)單元507,用于將所述查找單元502沒有查找到所述會話表的報文轉(zhuǎn)發(fā) 到第二處理單元504中。
如圖5所示,所述第二處理單元504包括 出接口確定單元508,用于確定所述報文的出接口。
后續(xù)處理單元512,用于確定對所述報文所要做的后續(xù)處理,并對所述報文 進行所述后續(xù)處理;
過濾單元513,用于將IP地址被記錄為黑名單的報文過濾并丟棄掉。 如圖5所示,所述裝置還包括
第二發(fā)送單元509,用于將所述第二處理單元504處理后的報文由所述出接 口確定單元5jp8確定的出接口發(fā)送出去。 如圖5所示,所述裝置還包括
生成單元510,用于在所述第二處理單元504處理完所述才艮文后,生成所述 報文的會話表;
存儲單元511,用于存儲所述生成單元510生成的會話表。
因而,巧用本發(fā)明的實施例報文處理裝置,將首報文和后續(xù)報文區(qū)分開, 分別由第一處理單元503和第二處理單元504進行處理,第一處理單元503根據(jù)后 續(xù)報文的會話表對所述后續(xù)報文進行處理,并將處理后的報文由出接口發(fā)送出 去;第二處理單元504確定首報文的出接口以及后續(xù)處理,在對所述首報文進行 后續(xù)處理后,生成并存儲所述報文的會話表,最后將所述處理后的報文由出接 口發(fā)送出去。與現(xiàn)有技術(shù)相比,本發(fā)明能夠加快報文的處理速度,減少報文的 延遲和抖動,增加報文流量,提高報文的處理性能,提升報文的處理效率。
本發(fā)明的實施例還提供一種報文處理系統(tǒng),該系統(tǒng)能夠提高報文處理的性
臺匕如圖6所示,所述系統(tǒng)包括
第一處理器601,用于接收入接口分發(fā)的報文,查找所述報文的會話表,對 查找到所述會話表的報文進行處理,并將沒有查找到所述會話表的報文轉(zhuǎn)發(fā)到 第二處理器602進行處理;
第丄處理器602,用于接收所述第一處理器601轉(zhuǎn)發(fā)過來的沒有查找到所述 會話表的報文,并對所述報文進行處理。
本發(fā)明的實施例報文處理系統(tǒng),將入接口接收到的報文分發(fā)到第一處理器 601中,第一處理器601查找所述報文的會話表,若查找到所述報文的會話表, 則第一處理器601根據(jù)所述會話表處理所述報文;若沒有查找到所述報文的會話 表,則將所述報文轉(zhuǎn)發(fā)到第二處理器602進行處理。與現(xiàn)有技術(shù)相比,本發(fā)明將 處理時間長的報文和處理時間短的報文分離開,由第一處理器601和第二處理器 602分別對兩種報文進行處理,避免了報文的阻塞,減少了報文的延遲和抖動, 增加了報文流量,提高了報文的處理性能。
下面給出本發(fā)明>^艮文處理系統(tǒng)的具體實施例。
實施例一
如圖7所示,所述系統(tǒng)包括
第一處理器701,用于接收入接口分發(fā)的報文,查找所述報文的會話表,對 查找到所述會話表的報文進行處理,并將沒有查找到所述會話表的報文轉(zhuǎn)發(fā)到 第二處理器702進行處理;
第;處理器702,用于接收所述第一處理器701轉(zhuǎn)發(fā)過來的沒有查找到所述 會話表的報文,并對所述報文進行處理。
如圖7所示,所述系統(tǒng)還包括
分發(fā)單元703,用于將入接口的報文分發(fā)給第一處理器701。如圖7所示,所述系統(tǒng)還包括
保序單元704,用于對所述第一處理器701處理后的:^艮文進行保序處理。 如圖7所示,所述系統(tǒng)還包括
發(fā)送單元705,用于將所述第二處理器702處理后的^^文,以及經(jīng)保序單元 704進行保序處理后的報文,由出接口發(fā)送出去。
因而,利用本發(fā)明的實施例報文處理系統(tǒng),將首報文和后續(xù)報文區(qū)分開, 分別由第一處理器701和第二處理器702進行處理,第一處理器701根據(jù)后續(xù)報文 的會話表對所述后續(xù)報文進行處理,并將處理后的報文由出接口發(fā)送出去;第 二處理器702確定首報文的出接口以及后續(xù)處理,在對所述首報文進行后續(xù)處理 后,生成并存儲所述報文的會話表,最后將所述處理后的報文由出接口發(fā)送出 老。與現(xiàn)有技術(shù)相比,本發(fā)明能夠加快報文的處理速度,減少報文的延遲和抖 動,增加報文流量,提高報文的處理性能,提升報文的處理效率。
本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例方法中的全部或部分步驟是 可以通過程序來指令相關(guān)的硬件來完成,所述程序可以存儲于一計算機可讀取 存儲介質(zhì)中,所述存儲介質(zhì)為ROM/RAM、》茲碟、光盤等。
以上所述,僅為本發(fā)明實施例的具體實施方式
,但本發(fā)明實施例的保護范 閨并不局限予此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi), 可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明 實施例的保護范圍應(yīng)該以權(quán)利要求的保護范圍為準(zhǔn)。
權(quán)利要求
1、一種報文處理方法,其特征在于,包括將入接口接收到的報文分發(fā)到第一處理單元中;查找所述報文的會話表;若查找到所述報文的會話表,則根據(jù)所述會話表,將所述報文由第一處理單元進行處理;若沒有查找到所述報文的會話表,則將所述報文轉(zhuǎn)到第二處理單元進行處理。
2、 根據(jù)權(quán)利要求l所述的報文處理方法,其特征在于,在所述將所述報文 由第一處理單元進行處理的步驟之后,還包括對所述由第一處理單元處理后的"^艮文進^f亍保序處理; 將經(jīng)過所述保序處理后的報文,由所述報文的會話表中記錄的出接口發(fā)送 出去。
3、 根據(jù)權(quán)利要求l所述的報文處理方法,其特征在于,所述將所述報文發(fā) 送到第二處理單元進行處理的步驟包括確定所述報文的出接口。
4、 根據(jù)權(quán)利要求3所述的報文處理方法,其特征在于,在所述確定所述報 文的出接口的步驟之后,還包括將所述報文由所述出接口發(fā)送出去。
5、 根據(jù)權(quán)利要求4所述的報文處理方法,其特征在于,在所述將所述報文 由所述出接口發(fā)送出去的步驟之前,還包括生成所述報文的會話表; 存儲所述會話表。
6、 根據(jù)權(quán)利要求5所述的報文處理方法,其特征在于,在所述生成所述報文的會話表的步驟之前,還包括確定對所述報文所做的后續(xù)處理,并對所述報文進行所述后續(xù)處理。
7、 根據(jù)權(quán)利要求5所述的報文處理方法,其特征在于,在所述生成所述報 文的會話表的步驟之前,還包括將IP地址被記錄為黑名單的報文過濾并丟棄掉。
8、 根據(jù)權(quán)利要求1至7中任一項所述的報文處理方法,其特征在于,所述報 文的會話表包括報文的源IP地址、目的IP地址、協(xié)議號、源端口號、目的端口 號。
9、 一種報文處理裝置,其特征在于,包括分發(fā)早元,用于將入接口接收到的報文分發(fā)到第一處理單元中; 查找單元,用于查找所述報文的會話表;第一處理單元,用于根據(jù)所述查找單元查找到的會話表,處理所述報文; 第二處理單元,用于處理所述查找單元沒有查找到所述會話表的報文。
10、 根據(jù)權(quán)利要求9所述的報文處理裝置,其特征在于,所述裝置還包括 保序單元,用于對所述第一處理單元處理后的才艮文進行保序處理; 第一發(fā)送單元,用于將經(jīng)過所述保序單元處理后的報文,由所述報文的會話表中記錄的出接口發(fā)送出去。
11、 根據(jù)權(quán)利要求9所述的報文處理裝置,其特征在于,所述裝置還包括 轉(zhuǎn)發(fā)單元,用于將所述查找單元沒有查找到所述會話表的"R文轉(zhuǎn)發(fā)到第二處理單元中。
12、 根據(jù)權(quán)利要求9所述的報文處理裝置,其特征在于,所述第二處理單元 包括出接口確定單元,用于確定所述報文的出接口。
13、 根據(jù)權(quán)利要求12所述的報文處理裝置,其特征在于,所述報文處理裝置 還包括第二發(fā)送單元,用于將所述第二處理單元處理后的"^艮文由所述出接口確定 單元確定的出接口發(fā)送出去。
14、 根據(jù)權(quán)利要求13所述的報文處理裝置,其特征在于,所述報文處理裝 置還包括生成單元,用于在所述第二處理單元處理完所述報文后,生成所述報文的 會話表;存儲單元,用于存儲所述生成單元生成的會話表。
15、 根據(jù)權(quán)利要求12所述的報文處理裝置,其特征在于,所述第二處理單 元還包括后續(xù)處理單元,用于確定對所述報文所要做的后續(xù)處理,并對所述報文進 行所述后續(xù)處理。
16、 根竭權(quán)利要求U所述的報文處理裝置,其特征在于,所述第二處理單 元還包括過濾單元,用于將IP地址被記錄為黑名單的報文過濾并丟棄掉。
17、 一種才艮文處理系統(tǒng),其特征在于,包括第一處理器,用于接收入接口分發(fā)的報文,查找所述"t艮文的會話表,對查 找到所述會話表的報文進行處理,并將沒有查找到所述會話表的報文轉(zhuǎn)發(fā)到第 二處理器進行處理;第二處理器,用于接收所述第一處理器轉(zhuǎn)發(fā)過來的沒有查找到所述會話表的報文,并對所述^J:進行處理。
18、 根據(jù)權(quán)利要求17所述的報文處理系統(tǒng),其特征在于,還包括分發(fā)單元,用于將入接口的報文分發(fā)給第一處理器。
19、 根據(jù)權(quán)利要求17所述的報文處理系統(tǒng),其特征在于,還包括 保序單元,用于對所述第一處理器處理后的報文進行保序處理。
20、 根據(jù)權(quán)利要求19所述的報文處理系統(tǒng),其特征在于,還包括 發(fā)送單元,用于將所述第二處理器處理后的報文,以及經(jīng)保序單元進行保序處理后的報文,由出接口發(fā)送出去。
全文摘要
本發(fā)明實施例公開了一種報文處理方法、裝置和系統(tǒng),涉及數(shù)據(jù)通信技術(shù)領(lǐng)域,為解決現(xiàn)有技術(shù)中報文處理性能低的問題而發(fā)明。本發(fā)明實施例提供的報文處理方法,包括如下步驟將入接口接收到的報文分發(fā)到第一處理單元中;查找是否存儲有所述報文的會話表;若有,則根據(jù)所述會話表,將所述報文由第一處理單元進行處理;若沒有,則將所述報文發(fā)送到第二處理單元進行處理。本發(fā)明適用于在多核處理器或多處理器中進行報文處理。
文檔編號H04L29/06GK101304389SQ200810126768
公開日2008年11月12日 申請日期2008年6月20日 優(yōu)先權(quán)日2008年6月20日
發(fā)明者斌 梁, 濤 蔡 申請人:華為技術(shù)有限公司