[發明專利]一種實現數據包線速處理的方法和裝置有效
| 申請號: | 200710085197.3 | 申請日: | 2007-03-19 |
| 公開(公告)號: | CN101136854A | 公開(公告)日: | 2008-03-05 |
| 發明(設計)人: | 江帆 | 申請(專利權)人: | 中興通訊股份有限公司 |
| 主分類號: | H04L12/56 | 分類號: | H04L12/56;H04L12/46 |
| 代理公司: | 北京安信方達知識產權代理有限公司 | 代理人: | 許志勇;顏濤 |
| 地址: | 518057廣東省深圳市南山*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 實現 數據包 處理 方法 裝置 | ||
技術領域
本發明涉及以太網數據傳輸處理領域,具體地說,涉及一種實現以太網數據包線速處理的方法和裝置。
背景技術
在以太網數據傳輸處理領域中,需要對接收到的數據包進行包處理和緩存,傾向于采用先處理后緩存的策略。在數據包緩存之前,主要進行流分類以及許可控制處理。當從各個端口提取數據流數據包時,如果發現是包首數據,則拷貝一份通過控制總線送往流分類單元進行相應的處理,提取包首過程嚴格按照先后次續,這樣可以保證最先返回流ID結果的必然是第一個提取的包首。流分類單元接收數據包的包首字節數據后,首先進行幀頭分析,然后進行MAC地址學習查找,基于端口ID進行標簽提取,最后根據流標簽進行流二叉樹查找,獲得數據包的流ID。
在收到數據流數據包尾時,需根據當前數據流的包信息(包長、數據流ID)進行許可控制操作以實現作流量監管。在做許可控制時,必須知道數據流的流ID,才能做出相應的決策處理諸如速率限制、隨機早期丟棄等。因此,在輸入控制單元收到包首且為包尾數據流時,在流分類獲得相應的數據包流分類信息后方可進行許可控制。當數據包需要分次傳輸時,則在數據包結束時將根據數據流的相關信息即前面提及的數據流ID以及包長信息做許可控制。
因此,在對數據包采用先處理后緩存策略時,存儲數據包前需要對數據包進行流分類查找以及根據流的許可控制以實現作流量監管。而且,對同一個數據包而言,是以串行的方式進行這兩步的處理,流分類處理得到數據包所對應的流ID,而許可控制則是基于流的許可控制,數據包處理的時間將取決于流分類和許可控制的時間。尤其是在多端口、高帶寬線速數據流輸入時,雖然可以針對不同的端口輸入啟用獨自的處理流程可以有效解決線速處理數據包,但這是以犧牲邏輯規模和功耗為前提的。因此,在線速輸入數據流帶寬比較大的情況下,兼顧設計的邏輯規模和功耗,實現數據包的線速處理便成了一個需要解決的重要性能問題。
發明內容
本發明所要解決的技術問題在于提供一種實現數據包線速處理的方法和裝置,以解決在處理多端口、高帶寬線速數據流輸入數據包時,性能對制約整個數據包線速處理流程的瓶頸問題,同時也兼顧了邏輯規模和功耗問題。
為了解決上述問題,本發明提供了一種實現數據包線速處理的裝置,應用于處理多端口、高帶寬線速數據流輸入數據包,其特征在于,包括:
輸入端口調度單元,用于根據一定的調度策略調度當前多端口數據流輸入請求中的端口獲得響應權;
輸入端口數據緩存單元,用于對獲得響應權的端口的數據流輸入數據包執行FIFO(First?In?First?Out,先進先出)的緩存處理;
流分類單元,用于對數據包的包首數據進行幀頭分析,然后進行MAC地址查找,并基于對應端口ID進行標簽提取,根據該標簽獲得該數據包的流ID;
包首數據修改單元,用于根據所述流分類單元的結果,對該數據包進行VLAN標簽的修改;
輸入端口數據緩存調度單元,用于調度所述輸入端口數據緩存單元中存儲的端口數據流輸入數據包的非包首數據;
許可控制單元,用于對端口數據流輸入數據包的非包首數據占用緩存空間的情況對數據包進行隨機早期丟棄,對數據包進行流量監管處理,同時對數據流輸入的速率進行限制;
切片控制單元,用于接收所述包首數據修改單元、許可控制單元和輸入端口數據緩存調度單元的結果,重新拼裝各端口的數據流輸入數據包中的數據;
數據流數據存儲器,用于存儲所述切片控制單元輸出的結果。
本發明所述的裝置,其中,所述許可控制單元,進一步包括:應用的算法有隨機早期丟棄算法和/或雙漏桶限速算法。
本發明所述的裝置,其中,所述輸入端口調度單元中的調度策略,為帶有優先級或權重的調度仲裁策略或為不帶優先級和權重的簡單輪循調度仲裁策略;
其中,所述輸入端口調度單元,進一步包括:
基于數據包執行處理類型以及輸入數據流數據端口的類型選擇調度策略。
本發明所述的裝置,其中,所述輸入端口數據緩存單元,進一步包括:
對獲得響應權的端口的數據流輸入數據包的包首數據部分緩存在包首的先進先出緩存單元中;對獲得響應權的不同端口的數據流輸入數據包的非包首數據部分緩存在各自相應的非包首的先進先出緩存單元中。
本發明所述的裝置,其中,進一步包括:
切片數據緩存單元,用于根據先進先出緩存所述切片控制單元輸出的數據。
本發明所述的裝置,其中,所述包首數據修改單元中的VLAN標簽的修改,包括:添加、刪除或替換。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中興通訊股份有限公司,未經中興通訊股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200710085197.3/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種機械振動監測裝置
- 下一篇:數碼顯微鏡





