[發明專利]允許報頭層的擴展和塌縮以實現靈活修改的方法及其裝置有效
| 申請號: | 201510272409.3 | 申請日: | 2015-05-25 |
| 公開(公告)號: | CN105282033B | 公開(公告)日: | 2021-03-12 |
| 發明(設計)人: | C·辛格;T·丹尼爾;G·施密特 | 申請(專利權)人: | 馬維爾亞洲私人有限公司 |
| 主分類號: | H04L12/741 | 分類號: | H04L12/741;H04L12/721 |
| 代理公司: | 北京市金杜律師事務所 11256 | 代理人: | 王茂華;董典紅 |
| 地址: | 新加坡*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 允許 報頭 擴展 實現 靈活 修改 方法 及其 裝置 | ||
技術領域
本發明涉及分組報頭修改。更具體地,本發明涉及一種使用位矢量來允許分組內的報頭層的擴展和塌縮用于實現靈活修改的方法及其裝置。
背景技術
網絡分組經由因特網使用的協議、比如傳輸控制協議/網際協議/以太網協議(TCP/IP/以太網)承載數據。典型交換機能夠在向目的地或者向另一交換機發送出分組之前修改傳入的分組的各種字段。出于各種原因而修改傳入的分組,比如分組將被轉發到何處、目的地支持的協議、分組的優先級、協議報頭的傳入格式等。由于網絡協議正在演變,協議報頭的一個或者多個字段可以是可任選的,這使交換機的硬件變復雜,因為在協議報頭內的給定的字段可能不總是處于固定的偏移。
在分組的修改期間,現有技術的交換機線性地處理分組中的每個協議層。這樣的處理會產生與網絡有關的性能問題,包括時延,這可能使實現方式過度提供處理資源。
發明內容
用于修改分組報頭的裝置的實施例涉及使用位矢量來允許分組內的協議報頭的擴展和塌縮用于實現靈活修改。重寫引擎將每個協議報頭擴展成通用格式并且應用各種命令來修改經一般化的協議報頭。重寫引擎針對經一般化的協議報頭維護位矢量,其中在位矢量中的每個位表示經一般化的協議報頭的字節。在位矢量中被標注為0的位對應于無效字節,而在位矢量中被標注為1的位對應于有效字節。重寫引擎使用位矢量來去除在已經對經一般化的協議報頭操作所有命令之后的所有無效字節以由此形成新協議報頭。
在一個方面中,提供一種重寫引擎的方法。該方法包括針對經一般化的協議報頭維護位矢量。經一般化的協議報頭是被擴展成通用格式的分組的協議報頭。通用格式包括協議的所有可能字段。無論協議報頭對應于協議的哪個變體,字段中的每個字段都具有相同偏移。位矢量包括針對經一般化的協議報頭的每個字節的每字節的位。
該方法也包括基于對至少一個經一般化的協議報頭的修改來更新位矢量。在一些實施例中,修改使用來自在網絡交換機的存儲器中存儲的通用命令集合的至少一個命令來修改至少一個經一般化的協議報頭。
該方法也包括使用經更新的位矢量來壓縮至少一個經一般化的協議報頭。在一些實施例中,在使用經更新的位矢量之前,對位矢量和經更新的位矢量執行XOR操作以確定多少位被改變,這允許重寫引擎考慮被刪除和添加的字節。
在另一方面中,提供一種網絡交換機的方法。該方法包括在網絡交換機的傳入端口處接收分組并且根據用于分組的每個協議報頭的通用格式來使該協議報頭一般化。檢測從分組的協議報頭的缺失字段。基于檢測,通過包括缺失字段來將協議報頭擴展成通用格式。
該方法也包括針對每個經一般化的協議報頭維護位矢量。位矢量包括針對無效字段而被標注為0的位和針對有效字段而被標注為1的位
該方法也包括:修改經一般化的協議報頭中的至少一個經一般化的協議報頭,由此更新位矢量。在一些實施例中,修改使用來自在網絡交換機的存儲器中存儲的通用命令集合的至少一個命令來修改至少一個經一般化的協議報頭。在一些實施例中,對至少一個經一般化的協議報頭的修改是基于網絡交換機的傳出端口的出口端口類型。
該方法也包括使經更新的位矢量塌縮。在一些實施例中,通過移位經更新的位矢量以去除在經更新的位矢量中被標注為0的每個位來使經更新的位矢量塌縮。
該方法也包括基于經塌縮的位矢量形成緊湊協議報頭。經由網絡交換機的傳出端口發射至少具有緊湊協議報頭的分組。在一些實施例中,在發射分組之前,對針對執行的所有操作而添加或者刪除的字節的數目進行計數。
在又一方面中,提供一種網絡交換機。網絡交換機包括:輸入端口,用于接收分組;以及存儲器,存儲通用命令集合。通用命令集合被用于報頭修改,而不管傳入報頭如何。在一些實施例中,通用命令集合包括刪除命令、復制命令和移動命令。
網絡交換機也包括重寫引擎。重寫引擎使用位矢量以允許分組的協議報頭的擴展和塌縮,由此通過使用通用命令集合來實現分組的靈活修改。
在一些實施例中,協議報頭中的每個協議報頭根據對應協議特有的由軟件定義的映射中的一個映射被一般化。在一些實施例中,由軟件定義的映射被存儲在存儲器中。
每個經一般化的協議報頭包括位矢量,位矢量具有針對無效字段而被標注為0的位和針對有效字段而被標注為1的位。在一些實施例中,重寫引擎在經一般化的協議報頭被修改之后更新位矢量。在一些實施例中,重寫引擎去除在經更新的位矢量中被標注為0的每個位以使經更新的位矢量塌縮。新報頭基于經塌縮的位矢量而形成。
在一些實施例中,網絡交換機也包括用于發射具有新報頭的分組的傳出端口。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于馬維爾亞洲私人有限公司,未經馬維爾亞洲私人有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201510272409.3/2.html,轉載請聲明來源鉆瓜專利網。





