[發(fā)明專利]一種多級并行高速處理下的可編程解析器及其解析方法有效
| 申請?zhí)枺?/td> | 202110026163.7 | 申請日: | 2021-01-08 |
| 公開(公告)號: | CN112732241B | 公開(公告)日: | 2022-04-01 |
| 發(fā)明(設(shè)計)人: | 唐棣;魯鵬;唐文龍;張偉;劉永沖;鄢文飛 | 申請(專利權(quán))人: | 烽火通信科技股份有限公司;武漢飛思靈微電子技術(shù)有限公司 |
| 主分類號: | G06F8/30 | 分類號: | G06F8/30;G06F8/41;G06F9/48;G06F9/50 |
| 代理公司: | 深圳市六加知識產(chǎn)權(quán)代理有限公司 44372 | 代理人: | 曲衛(wèi)濤 |
| 地址: | 430000 湖北省武*** | 國省代碼: | 湖北;42 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 多級 并行 高速 處理 可編程 解析 及其 方法 | ||
本發(fā)明涉及IP通信技術(shù)領(lǐng)域,提供了一種多級并行高速處理下的可編程解析器及其解析方法。解析器中的均衡cell解析引擎間的流量,將獲取到的數(shù)據(jù)包按照負(fù)載均衡分配到各個cell解析引擎中解析;根據(jù)多個并行匹配引擎的狀態(tài)跳轉(zhuǎn)的時隙,進(jìn)行數(shù)據(jù)包解析任務(wù)的分配;從數(shù)據(jù)包頭提取出待解析協(xié)議頭所包含字段的匹配信息,解析出相應(yīng)待解析協(xié)議頭的字段寫入數(shù)據(jù)包頭向量中;與所述二級排序管理模塊交互,管理多個cell解析引擎所解析得到包頭向量的出包選擇。本發(fā)明通過一級分發(fā)均衡模塊關(guān)聯(lián)下的多個cell解析引擎,以及各個cell解析引擎內(nèi)部中TCAM和SRAM關(guān)聯(lián)的多個匹配引擎,實現(xiàn)了并行處理提高整體的解析速率。
【技術(shù)領(lǐng)域】
本發(fā)明涉及IP通信技術(shù)領(lǐng)域,特別是涉及一種多級并行高速處理下的可編程解析器及其解析方法。
【背景技術(shù)】
交換機(jī)轉(zhuǎn)發(fā)引擎的數(shù)據(jù)包解析器就是針對網(wǎng)絡(luò)協(xié)議報文首部進(jìn)行解析,它把來自轉(zhuǎn)發(fā)引擎的數(shù)據(jù)幀首部和對應(yīng)的端口信息、存儲地址等描述信息(描述符)作為輸入數(shù)據(jù),并對這些數(shù)據(jù)中的關(guān)鍵字段進(jìn)行解析、識別和提取操作,用來輸出給轉(zhuǎn)發(fā)引擎中后續(xù)的搜索引擎。在實際的數(shù)據(jù)包解析器模塊中除了對報文頭部的解析和字段提取,還會攜帶原始輸入的描述符,跟隨報文沿著流水線向后級傳遞,但不參與提取過程。
軟件定義網(wǎng)絡(luò)(Software Defined Network,簡寫為:SDN)是一種新型網(wǎng)絡(luò)創(chuàng)造架構(gòu),網(wǎng)絡(luò)虛擬化的一種實現(xiàn)方式。對于網(wǎng)絡(luò)協(xié)議數(shù)據(jù)報文頭的解析技術(shù)而言,SDN的需求體現(xiàn)在支持用戶自定義的協(xié)議,即通過軟件編程使得芯片能夠識別并解析不同的數(shù)據(jù)幀格式,這就要求數(shù)據(jù)包解析器的硬件設(shè)計具有一定的靈活性,即通過軟件配置能夠使得同一硬件支持用戶自定義的協(xié)議的報文解析。
在高性能以太網(wǎng)交換機(jī)芯片中,目前數(shù)據(jù)包解析器普遍采用流水線結(jié)構(gòu),所有輸入的數(shù)據(jù)包都按照相同的流水線逐級傳遞,中間不能停頓以確保數(shù)據(jù)在交換機(jī)芯片內(nèi)部不會出現(xiàn)擁塞。包解析的各步操作按照協(xié)議封裝層次順序依次排列在流水線中,大多數(shù)網(wǎng)絡(luò)數(shù)據(jù)包解析過程都可以看成是多叉樹結(jié)構(gòu),在每一層針對本層樹節(jié)點的對應(yīng)域進(jìn)行提取、匹配,從而實現(xiàn)本層協(xié)議的解析。鑒于此,克服該現(xiàn)有技術(shù)所存在的缺陷是本技術(shù)領(lǐng)域亟待解決的問題。
【發(fā)明內(nèi)容】
本發(fā)明要解決的技術(shù)問題在普遍的可編程解析器的流水線設(shè)計結(jié)構(gòu)中,解析過程嚴(yán)格按照流水線逐級傳遞,中間不能停頓也不能跳轉(zhuǎn),以保證最后的出包順序和入包順序一致。在可編程的應(yīng)用中,由于考慮到現(xiàn)有協(xié)議的支持和用戶自定義協(xié)議的支持,可編程解析器需要預(yù)留大量的包頭解析信息包括現(xiàn)有應(yīng)用協(xié)議的包頭信息和一定數(shù)量的用戶自定義處理空間,在這種情況下,流水線結(jié)構(gòu)的劣勢是顯而易見的:
流水線延時長度=最大協(xié)議數(shù)+最大用戶自定義協(xié)議數(shù);
整個可編程解析器的延時,由預(yù)留的最大的流水線延時決定,該延時不區(qū)分芯片所在應(yīng)用,并且不區(qū)分長短包。業(yè)內(nèi)NPU架構(gòu)在處理短包應(yīng)用時,同樣會遇到效率低的問題。
本發(fā)明采用如下技術(shù)方案:
第一方面,本發(fā)明提供了一種多級并行高速處理下的可編程解析器,包括一級分發(fā)均衡模塊、cell解析引擎和一級排序管理模塊,其中,在每一個cell解析引擎中還包含二級分發(fā)均衡模塊和二級排序管理模塊,具體的:
所述一級分發(fā)均衡模塊,用于均衡cell解析引擎間的流量,將獲取到的數(shù)據(jù)包按照負(fù)載均衡分配到各個cell解析引擎中解析;
所述二級分發(fā)均衡模塊,用于根據(jù)cell解析引擎內(nèi)部多個并行匹配引擎的狀態(tài)跳轉(zhuǎn)的時隙,進(jìn)行數(shù)據(jù)包解析任務(wù)的分配;
所述cell解析引擎中的多個并行匹配引擎從數(shù)據(jù)包頭提取出待解析協(xié)議頭所包含字段的匹配信息傳遞給二級排序管理模塊,在二級排序管理模塊中解析出相應(yīng)待解析協(xié)議頭的字段寫入數(shù)據(jù)包頭向量中;
所述一級排序管理模塊,用于與所述二級排序管理模塊交互,管理多個cell解析引擎所解析得到包頭向量的出包選擇。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于烽火通信科技股份有限公司;武漢飛思靈微電子技術(shù)有限公司,未經(jīng)烽火通信科技股份有限公司;武漢飛思靈微電子技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110026163.7/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





