1.一種報文轉(zhuǎn)發(fā)方法,其特征在于,所述方法包括:
根據(jù)接收到的報文,查詢當(dāng)前CPU本地建立的半連接會話表中是否存在與所述報文對應(yīng)的半連接會話,所述半連接會話表中包含不同報文對應(yīng)的半連接會話,以及所述半連接會話分別對應(yīng)的CPU;
若存在,則通過與所述報文對應(yīng)的半連接會話對應(yīng)的CPU對所述報文進行轉(zhuǎn)發(fā);
若不存在,則根據(jù)與所述報文對應(yīng)的全會話建立策略對所述報文對應(yīng)的全會話進行半連接拆分,建立與所述報文對應(yīng)的半連接會話,并通過建立的半連接會話對應(yīng)的CPU對所述報文進行轉(zhuǎn)發(fā)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)與所述報文對應(yīng)的全會話建立策略對所述報文對應(yīng)的全會話進行半連接拆分,建立與所述報文對應(yīng)的半連接會話包括:
根據(jù)所述全會話建立策略對所述全會話進行半連接拆分,得到兩個半連接;
確定轉(zhuǎn)發(fā)所述報文的半連接對應(yīng)的CPU;
在確定的CPU本地建立所述報文對應(yīng)的半連接會話。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,確定轉(zhuǎn)發(fā)所述報文的半連接對應(yīng)的CPU包括:
根據(jù)多隊列哈希算法和所述報文五元組的鍵值獲取轉(zhuǎn)發(fā)所述報文的半連接的CPU;
將根據(jù)多隊列哈希算法和所述報文五元組的鍵值獲取的CPU確定為轉(zhuǎn)發(fā)所述報文的半連接對應(yīng)的CPU。
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,確定轉(zhuǎn)發(fā)所述報文的半連接對應(yīng)的CPU包括:
確定多個CPU是否存在負載不均衡;
若存在,則選取多個CPU中負載最小的CPU確定為轉(zhuǎn)發(fā)所述報文的半連接對應(yīng)的CPU;
若不存在,則根據(jù)多隊列哈希算法和所述報文五元組的鍵值獲取轉(zhuǎn)發(fā)報文的半連接的CPU;
根據(jù)多隊列哈希算法和所述報文五元組的鍵值獲取的CPU確定為轉(zhuǎn)發(fā)所述報文的半連接對應(yīng)的CPU。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,選取多個CPU中負載最小的CPU確定為轉(zhuǎn)發(fā)報文的半連接對應(yīng)的CPU包括:
獲取通過多個CPU中每個CPU建立的半連接會話個數(shù);
將建立半連接會話個數(shù)最少的CPU確定為轉(zhuǎn)發(fā)報文的半連接對應(yīng)的CPU。
6.根據(jù)權(quán)利要求4或5所述的方法,其特征在于,在選取多個CPU中負載最小的CPU確定為轉(zhuǎn)發(fā)所述報文的半連接對應(yīng)的CPU之后,所述方法還包括:
當(dāng)接收到新的報文時,通過調(diào)用硬件驅(qū)動函數(shù)將所述新的報文哈希給負載最小的CPU進行轉(zhuǎn)發(fā)。
7.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述方法還包括:
當(dāng)接收到全會話建立策略的更新信息時,查詢所述轉(zhuǎn)發(fā)所述報文的半連接的CPU建立的半連接會話,并更新所述建立的半連接會話的更新標(biāo)志位,以便于所述轉(zhuǎn)發(fā)報文的半連接的CPU根據(jù)所述更新標(biāo)志位對所述建立的半連接會話進行更新。
8.一種報文轉(zhuǎn)發(fā)裝置,其特征在于,所述裝置包括:
查詢單元,用于根據(jù)接收到的報文,查詢當(dāng)前CPU本地建立的半連接會話表中是否存在與所述報文對應(yīng)的半連接會話,所述半連接會話表中包含不同報文對應(yīng)的半連接會話以及所述半連接會話分別對應(yīng)的CPU;
轉(zhuǎn)發(fā)單元,用于若所述查詢單元查詢存在與所述報文對應(yīng)的半連接會話,則通過與所述報文對應(yīng)的半連接會話對應(yīng)的CPU對所述報文進行轉(zhuǎn)發(fā);
建立單元,用于若所述查詢單元查詢不存在與所述報文對應(yīng)的半連接會話,則根據(jù)與所述報文對應(yīng)的全會話建立策略對所述報文對應(yīng)的全會話進行半連接拆分,建立與所述報文對應(yīng)的半連接會話;
所述轉(zhuǎn)發(fā)單元,還用于通過所述建立單元建立的半連接會話對應(yīng)的CPU對所述報文進行轉(zhuǎn)發(fā)。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述建立單元包括:
拆分模塊,用于根據(jù)所述全會話建立策略對所述全會話進行半連接拆分,得到兩個半連接;
確定模塊,用于確定轉(zhuǎn)發(fā)所述報文的半連接對應(yīng)的CPU;
建立模塊,用于在確定的CPU本地建立所述報文對應(yīng)的半連接會話。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述確定模塊包括:
獲取子模塊,用于根據(jù)多隊列哈希算法和所述報文五元組的鍵值獲取轉(zhuǎn)發(fā)所述報文的半連接的CPU;
第一確定子模塊,用于將根據(jù)多隊列哈希算法和所述報文五元組的鍵值獲取的CPU確定為轉(zhuǎn)發(fā)所述報文的半連接對應(yīng)的CPU。