[發明專利]一種報文分流方法和網絡設備有效
| 申請號: | 201210049250.5 | 申請日: | 2012-02-29 |
| 公開(公告)號: | CN102546441A | 公開(公告)日: | 2012-07-04 |
| 發明(設計)人: | 鄧士恩 | 申請(專利權)人: | 杭州華三通信技術有限公司 |
| 主分類號: | H04L12/56 | 分類號: | H04L12/56 |
| 代理公司: | 北京德琦知識產權代理有限公司 11018 | 代理人: | 謝安昆;宋志強 |
| 地址: | 310053 浙江省杭州市高新技術產業*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 報文 分流 方法 網絡設備 | ||
技術領域
本發明涉及通信技術領域,特別涉及一種報文分流方法和網絡設備。
背景技術
現有多核設備中,將CPU0用作控制核,運行操作系統;將其他CPU用作數據核,負責數據接收和轉發。流量在數據核上的分配越均勻,越能充分利用CPU資源,性能越好。目前的流量分配,通常是根據報文五元組,即源IP地址、目的IP地址、協議號、源端口號和目的端口號,進行分流,同一條流的報文進入同一個CPU處理,多條流分配到不同的CPU上處理。因此,一種好的分流方法,可以讓流量盡可能均勻地分配在多個數據核上,對多核網絡設備性能起著至關重要的作用。
現有實現分流的方法的具體流程為:接收報文,提取報文的五元組。報文五元組為源IP地址、目的IP地址、協議號、源端口號和目的端口號。根據該五元組進行CRC32哈希,將哈希值模數據核個數并將模結果加1,得到數值與CPU隊列匹配,由于CPU隊列與CPU一一對應,因此將接收的報文分配到匹配的CPU隊列所對應的數據核進行處理。由于對模的結果進行了加1處理,因此結果不存在與匹配隊列0的報文,即不需要有報文分配到CPU0控制核進行處理。
現有實現方法中的模運算,是計算復雜度很高的運算。目前多核處理器的CPU個數通常為2K(k=2,3,...),那么數據核的個數為2K-1,因此不能使用與運算取代模運算。這種使用模運算實現報文分流方法既消耗資源又影響性能,如果資源不夠,將無法實現報文分流。
發明內容
有鑒于此,本發明提供一種報文分流方法和網絡設備,能夠提高報文分流效率,降低資源消耗。
為解決上述技術問題,本發明的技術方案是這樣實現的:
一種報文分流方法,預設隊列號為0到2K-1的隊列,預設數值,所述預設數值按從大到小排序為M1,...,Mi,...,Mn,其中,M1根據隊列號為0的隊列上的流量與總流量的比值的范圍確定,M2,...,Mi,...,Mn根據M1確定,K、n、i,M1,...,Mi,...,Mn為自然數,Mn-1>Mn=2,所述方法包括:
接收報文,根據報文類型提取所述接收報文的元組信息,并根據所述提取的元組信息進行均衡運算,將均衡運算值按照每份K比特數劃分;
在均衡運算值劃分的份數中,獲取M1份K比特數,并進行求和運算,將所述求和運算的結果劃分為M2份K比特數;
獲取所述M2份K比特數,并進行求和運算,將所述M2份K比特數求和運算的結果劃分為M3份K比特數,并獲取所述M3份K比特數進行求和運算,以此類推,直到獲取Mn份K比特數并進行求和運算,將所述Mn份K比特數進行求和運算的結果劃分為Mn份K比特數,獲取當前Mn份K比特數進行求和運算;
將所述接收的報文分配到隊列號與當前Mn份K比特數求和運算的結果相同的隊列中。
一種報文分流方法,預設隊列號為1到2K-1的隊列,預設數值,所述預設數值從大到小排序為M1,...,Mi,...,Mn,其中,M1根據非均衡流量與總流量的比值的范圍確定,M2,...,Mi,...,Mn根據M1確定,K、n、i,M1,...,Mi,...,Mn為自然數,Mn-1>Mn=2,所述方法包括:
接收報文,根據報文類型提取所述接收報文的元組信息,并根據所述提取的元組信息進行均衡運算,將均衡運算值按照每份K比特數劃分;
在均衡運算值劃分的份數中,獲取M1份K比特數,并進行求和運算,將所述求和運算的結果劃分為M2份K比特數;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于杭州華三通信技術有限公司,未經杭州華三通信技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210049250.5/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:直動式電極絲前端處理裝置
- 下一篇:電火花成型機電控裝置





