当前位置: 首页 > 专利查询>清华大学专利>正文

一种可扩展的可重构交换机包解析器基本处理单元结构制造技术

技术编号:23609052 阅读:63 留言:0更新日期:2020-03-28 09:02
本发明专利技术涉及一种可扩展的可重构交换机包解析器基本处理单元结构,其包括PE_config、Cell单元、PE_bypass单元、Offset单元、frame数据通路和IRF数据通路;PE_config为基本处理单元配置单元;所述Cell单元用来实现对协议报文的解析;所述frame数据通路是向所述Cell单元提供数据;所述IRF数据通路是用来暂存解析过程中所产生的结果和需要跨层传递的临时中间数据;所述PE_config单元是完成所述Cell单元中PB、PC的查找表的表项内容的配置;所述PE_bypass单元主要实现跨层协议的处理;所述Offset单元用来实现每层基本处理单元的frame数据通路的起始数据访问位置的偏移工作。本发明专利技术具有很高的灵活性,并支持用户自定义网络协议的解析,对SDN实现了很好的支持。

An extensible basic processing unit structure of reconfigurable switch packet parser

【技术实现步骤摘要】
一种可扩展的可重构交换机包解析器基本处理单元结构
本专利技术涉及一种以太网交换机芯片设计
,特别是关于一种可扩展的可重构交换机包解析器基本处理单元结构。
技术介绍
交换机转发引擎是交换机中的核心部件,它完成对接收的报文进行关键字段提取,然后形成路由表的查表请求,发给搜索引擎,再将搜索引擎返回的查表结果进行处理形成新的描述符,再根据新的描述符(经过描述符交换)对原始报文进行报文修改(替换、添加和删除等),最终将封装好的新的报文进行转发。而决定这些修改处理操作的是协议报文首部的关键字段和交换机设置的转发和分类规则,因此需要对协议的数据报文首部进行解析和提取。交换机转发引擎的数据包解析器就是针对网络协议报文首部进行解析,它把来自转发引擎的数据帧首部和对应的端口信息、存储地址等描述信息(描述符)作为输入数据,并对这些数据中的关键字段进行解析、识别和提取操作,用来输出给转发引擎中后续的搜索引擎。在实际的数据包解析器模块中除了对报文头部的解析和字段提取,还会携带原始输入的描述符,跟随报文沿着流水线向后级传递,但不参与提取过程。软件定义网络(SDN)是一种新型网络创造架构,网络虚拟化的一种实现方式。对于网络协议数据报文头的解析技术而言,SDN的需求体现在支持用户自定义的协议,即通过软件编程使得芯片能够识别并解析不同的数据帧格式,这就要求数据包解析器的硬件设计具有一定的灵活性,即通过软件配置能够使得同一硬件支持用户自定义的协议的报文解析。在高性能以太网交换机芯片中,目前数据包解析器普遍采用流水线结构,所有输入的数据包都按照相同的流水线逐级传递,中间不能停顿以确保数据在交换机芯片内部不会出现拥塞。包解析的各步操作按照协议封装层次顺序依次排列在流水线中,大多数网络数据包解析过程都可以看成是多叉树结构,在每一层针对本层树节点的对应域进行提取、匹配,从而实现本层协议的解析。因此每层协议的解析硬件也具有相似性,因此,每级流水线可以采用相同的可重构基本处理单元(ProcessElement,PE)来构成,每级基本处理单元对应一层包头(一层协议)的解析,这样可以简化硬件设计和配置文件的生成。在先申请的“一种可破坏硬件木马的可重构交换机转发引擎解析器”(申请号201910003982.2)中提出了采用可重构的硬件实现解析器的方式——协议定义的帧格式的字段的数量、位置、关键字内容与协议类型、帧格式之间的对应关系都可以通过配置芯片内的配置寄存器、查找表(存储器)来实现配置。其基本单元的数据通路采用了PA、PB、PC的3级结构,分别完成关键字提取、关键字匹配、下级与本级封装帧头字段偏移量和字段标识查找的功能。但是它不能对关键字段进行进一步解析,无法完成包的分类和属性标注、合法性检查等操作。
技术实现思路
针对上述问题,本专利技术的目的是提供一种可扩展的可重构交换机包解析器基本处理单元结构,其具有高度的灵活性,资源占用率较少。为实现上述目的,本专利技术采取以下技术方案:一种可扩展的可重构交换机包解析器基本处理单元结构,其特征在于:所述基本处理单元包括PE_config、Cell单元、PE_bypass单元、Offset单元、frame数据通路和IRF数据通路;PE_config为基本处理单元配置单元;所述Cell单元用来实现对协议报文的解析,所述Cell单元中包含PA、PB、PC和Action;所述frame数据通路是向所述Cell单元提供数据,所述Cell单元能在所述frame数据通路中提取出任意指定的数据匹配域;所述IRF数据通路是用来暂存解析过程中所产生的结果和需要跨层传递的临时中间数据,其在第一层输入的是由前端的报文预解析模块产生的初始数据,然后每经过一层基本处理单元,寄存器的数量增加相应量,为每层所述基本处理单元处理过程中所新产生的数据包描述信息;所述PE_config单元是完成所述Cell单元中PB、PC的查找表的表项内容的配置;所述PE_bypass单元主要实现跨层协议的处理:在本级基本处理单元的查找表中没有该协议类型的信息,则需要跳过本级基本处理单元,输出给下一级基本处理单元处理;所述Offset单元用来实现每层基本处理单元的frame数据通路的起始数据访问位置的偏移工作。进一步,所述Cell单元有两种不同的形式:Cell_A单元和Cell_B单元。进一步,所述Cell_A单元包含PA、PB、PC_cur、PC_nxt和Action;所述Cell_B单元包含PA、PB、PC_cur和Action;所述PA是用来实现特定数据域的提取,所述PA的输入为前一级基本处理单元输出的关键字段偏移量、本级frame寄存器的待提取的数据帧,输出为提取出来的关键字段;所述PB的输入为本级各所述PA输出的关键字段,其核心是一个匹配查找表,把关键字段组合和其中存储的匹配模板一一比较,输出匹配的模板所对应的协议类型信息,如果关键字段和任何特征模板都不匹配,则发送非法标识到所述PC,所述PB每个匹配模板还有一个对应的掩码字,用来忽略不关心的比特;所述PC为查找表结构,所述PC中有PC_cur和PC_nxt两种表项,其中所述PC_cur表用来根据所述PB表的匹配结果索引出要执行的动作,所述PC_nxt表项用来根据所述PB表的匹配结果索引出下一层基本处理单元要提取的关键字的偏移量;所述Action用来执行所述PC表索引出的对应的动作,执行结果被写入所述IRF。进一步,所述Action接收来自所述PC的超长指令字,解析指令,取源操作数并执行,所述Action执行的指令的源操作数来自frame、IRF或立即数寄存器。进一步,所述Action内部有3种指令单元:ALU单元、MOV单元和SET单元,每种指令单元各8个,共24个;一个超长指令字包含24个子指令分别控制这24个指令单元。进一步,所述ALU单元用来执行大于、等于比较操作;所述MOV单元用来执行复制操作,其将frame或IRF中的数据赋值到IRF寄存器中;所述SET单元用来执行置数操作,其将数值域的值赋值到对应的IRF寄存器中。进一步,由结构相同的所述基本处理单元级联构成解析器,级联数N等于所要解析的最大封装层次数量;每一层次的封装协议对应一个所述基本处理单元。进一步,所述基本处理单元级数N,各个处理单元中的所述PA的数量、PB和PC中查找表的输入输出位宽与容量、Offset的大小都根据系统所支持的协议情况的需求来确定。本专利技术由于采取以上技术方案,其具有以下优点:1、本专利技术在可破坏硬件木马的可重构交换机转发引擎解析器的基础上,增加了action单元,支持了基于关键字段值的简单计算、条件检查,从而能够在包解析时完成对报文的初步分类、生成简单描述符、执行检查,丰富了解析器的功能,节省了后端处理的压力。2、本专利技术提出了可扩展的PE结构,通过模块化扩展能够使得PE单元适应不同协议层次的不同解析需求,具有先进性。3、为了支持SDN需求,交换机转发引擎的数据包解析器必须具有高度的灵活性,因此本专利技术提出了一种通过静态配置可以实现不同解析逻辑(包括用户自定义本文档来自技高网
...

【技术保护点】
1.一种可扩展的可重构交换机包解析器基本处理单元结构,其特征在于:所述基本处理单元包括PE_config、Cell单元、PE_bypass单元、Offset单元、frame数据通路和IRF数据通路;PE_config为基本处理单元配置单元;/n所述Cell单元用来实现对协议报文的解析,所述Cell单元中包含PA、PB、PC和Action;/n所述frame数据通路是向所述Cell单元提供数据,所述Cell单元能在所述frame数据通路中提取出任意指定的数据匹配域;/n所述IRF数据通路是用来暂存解析过程中所产生的结果和需要跨层传递的临时中间数据,其在第一层输入的是由前端的报文预解析模块产生的初始数据,然后每经过一层基本处理单元,寄存器的数量增加相应量,为每层所述基本处理单元处理过程中所新产生的数据包描述信息;/n所述PE_config单元是完成所述Cell单元中PB、PC的查找表的表项内容的配置;/n所述PE_bypass单元主要实现跨层协议的处理:在本级基本处理单元的查找表中没有该协议类型的信息,则需要跳过本级基本处理单元,输出给下一级基本处理单元处理;/n所述Offset单元用来实现每层基本处理单元的frame数据通路的起始数据访问位置的偏移工作。/n...

【技术特征摘要】
1.一种可扩展的可重构交换机包解析器基本处理单元结构,其特征在于:所述基本处理单元包括PE_config、Cell单元、PE_bypass单元、Offset单元、frame数据通路和IRF数据通路;PE_config为基本处理单元配置单元;
所述Cell单元用来实现对协议报文的解析,所述Cell单元中包含PA、PB、PC和Action;
所述frame数据通路是向所述Cell单元提供数据,所述Cell单元能在所述frame数据通路中提取出任意指定的数据匹配域;
所述IRF数据通路是用来暂存解析过程中所产生的结果和需要跨层传递的临时中间数据,其在第一层输入的是由前端的报文预解析模块产生的初始数据,然后每经过一层基本处理单元,寄存器的数量增加相应量,为每层所述基本处理单元处理过程中所新产生的数据包描述信息;
所述PE_config单元是完成所述Cell单元中PB、PC的查找表的表项内容的配置;
所述PE_bypass单元主要实现跨层协议的处理:在本级基本处理单元的查找表中没有该协议类型的信息,则需要跳过本级基本处理单元,输出给下一级基本处理单元处理;
所述Offset单元用来实现每层基本处理单元的frame数据通路的起始数据访问位置的偏移工作。


2.如权利要求1所述基本处理单元结构,其特征在于:所述Cell单元有两种不同的形式:Cell_A单元和Cell_B单元。


3.如权利要求2所述基本处理单元结构,其特征在于:所述Cell_A单元包含PA、PB、PC_cur、PC_nxt和Action;所述Cell_B单元包含PA、PB、PC_cur和Action;
所述PA是用来实现特定数据域的提取,所述PA的输入为前一级基本处理单元输出的关键字段偏移量、本级frame寄存器的待提取的数据帧,输出为提取出来的关键字段;
所述PB的输入为本级各所述PA输出的关键字段,其核心是一个匹配查找表,把关键...

【专利技术属性】
技术研发人员:李翔宇
申请(专利权)人:清华大学
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1