解析器、分组处理装置以及相关方法制造方法及图纸

技术编号:11596675 阅读:68 留言:0更新日期:2015-06-12 07:04
本发明专利技术提供一种解析器、分组处理装置以及相关方法。解析器用于解析分组中的报头,包含多个水平字段选择器,多个比较器以及内容可寻址存储器式装置,多个水平字段选择器中的每一水平字段选择器用于选择第一比特位组;多个比较器分别耦接于多个水平字段选择器,其中多个比较器中的每一比较器用于将对应的水平字段选择器所选出的第一比特位组与指定值作比较,以产生比较结果;内容可寻址存储器式装置用于接收产生自多个比较器的多个比较结果,以及使用多个比较结果作为第一输入搜寻数据。本发明专利技术的解析器、分组处理装置以及相关方法可增进分组处理的弹性。

【技术实现步骤摘要】

本专利技术的实施例关于转发分组的
技术实现思路
,尤其关于一种用于解析分组中的报头(header)的解析器(例如软件定义解析器)以及与其相关的分组处理装置。
技术介绍
网络交换器(network switch)是一种链接(link)不同电子装置的电脑网络装置。举例来说,网络交换器会接收来自链接于该网络交换器的第一电子装置传来的分组,并且会只对用于接收分组的第二电子装置传送修改后的分组或未经修改的分组。解析器(parser)是网络交换器中的重要元件,尤其是解析器会经由遍历(traverse)协议树(protocol tree)以及提取感兴趣的报头字段(field),来对分组报头进行提取,后续的分组处理电路会参考该解析结果,来对分组报头进行分类以及执行动作命令。为了达到更好的分组处理性能,解析器可使用固定的硬件电路来实施。然而,这样的解析器设计会缺乏弹性,因此有需要一种创新的解析器设计来加强弹性。
技术实现思路
有鉴于此,本专利技术特提供以下技术方案:本专利技术实施例提供一种解析器,用于解析分组中的报头,解析器包含多个水平字段选择器,多个比较器以及内容可寻址存储器式装置,多个水平字段选择器中的每一水平字段选择器用于选择第一比特位组;多个比较器分别耦接于多个水平字段选择器,其中多个比较器中的每一比较器用于将对应的水平字段选择器所选出的第一比特位组与指定值作比较,以产生比较结果;内容可寻址存储器式装置用于接收产生自多个比较器的多个比较结果,以及使用多个比较结果作为第一输入搜寻数据。本专利技术实施例另提供一种一种分组处理装置,包含解析器以及分组处理电路,解析器用于解析分组的报头,以经由提取来自报头的至少一个用户定义字段来产生解析结果,以及根据指定的集合识别符及指定的协议识别符来将至少一个用户定义字段储存于解析结果中的集合;分组处理电路用于至少部分地基于解析结果的数据结构,来进行分组处理操作。本专利技术实施例另提供一种用于解析分组中的报头的方法,包含选择多个第一比特位组;将多个第一比特位组分别与多个指定值作比较,以产生多个比较结果;以及将多个比较结果作为输入搜寻数据来输入内容可寻址存储器式装置。本专利技术实施例另提供一种分组处理方法,包含使用解析器来解析分组的报头,以经由自报头提取出至少一个用户定义字段来产生解析结果,以及根据指定的集合识别符以及指定的协议识别符来将至少一个用户定义字段储存于解析结果中的集合;以及至少部分地基于解析结果的数据结构,来进行分组处理操作。利用本专利技术的解析器、分组处理装置、用于解析分组中的报头的方法以及分组处理方法可增进分组处理的弹性。【附图说明】图1是根据本专利技术实施例的弹性分组处理装置的示意图。图2是图1所示的软件定义解析器的范例的示意图。图3是图2所示的解析状态表的每一表入口的数据结构的示意图。图4是图2所示的比较引擎的范例的示意图。图5是图2所示的动作表的每一表出口的数据结构的示意图。图6是图2所示的移位引擎的范例的示意图。图7是图2所示的提取引擎的范例的示意图。【具体实施方式】在说明书及权利要求书当中使用了某些词汇来指称特定的组件。所属领域中的技术人员应可理解,制造商可能会用不同的名词来称呼同样的组件。本说明书及权利要求书并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的基准。在通篇说明书及权利要求书当中所提及的「包含」是开放式的用语,故应解释成「包含但不限定于」。另外,「耦接」一词在此包含任何直接及间接的电气连接手段。因此,若文中描述第一装置耦接于第二装置,则代表第一装置可直接电气连接于第二装置,或透过其它装置或连接手段间接地电气连接至第二装置。本专利技术提出了一种使用可编程解析状态表的软件定义(software-defined)解析器。此外,该软件定义解析器会在本专利技术的以集合为基础的(union based)结构中产生解析结果,其中该解析结果中的每一集合包含提取(extract)自分组的报头的用户定义字段(user-defined field)。因此,后续的分组处理电路(包含入口(ingress)分组处理电路以及出口(egress)分组处理电路)用于基于设置于本专利技术的以集合为基础的结构中的用户定义字段所组成的解析结果来进行操作。如此一来,可实现增进分组处理的弹性的目的。关于使用该软件定义解析器的弹性分组处理装置的细节将详述如后。图1是根据本专利技术一实施例的弹性分组处理装置100的示意图,举例来说,弹性分组处理装置100可为网络交换器。如图1所示,弹性分组处理装置100包含介质访问控制(media access control,MAC)层接收接口(标示为“MAC RX”)102、软件定义解析器(software-defined parser,SDP)104、多个分组处理电路(例如多个流引擎(flow engines))106_1~106_N、流量管理器(traffic manager,TM)108、分组修改电路110以及MAC层传送接口(标示为“MAC TX”)112。MAC层接收接口102用于自入口接口(ingress port)(未图示)接收分组(即入口分组),且MAC层传送接口112用于透过出口接口(egress port)(未图示)来转发分组。由MAC层接收接口102所接收的分组(即入口分组)PKT会被软件定义解析器104处理以进行分组报头辨识。软件定义解析器104会基于解析分组PKT中不同协议的报头而产生解析结果PR,并且将具有提取到的分组报头信息的解析结果PR提供给后续的分组处理电路(例如流引擎106_1~106_N)。流引擎106_1~106_N中一个或多个流引擎可基于分组PKT的解析结果PR来建立至少一个搜寻关键字(search key),并且使用该至少一个搜寻关键字来搜寻流程表114以进行分组报头分类(classification)。基于分组报头分类的结果,流引擎106_1~106_N中一个或多个流引擎可搜寻指令表(instruction table)116来决定用于分组的动作命令。此外,流引擎106_1~106_N中一个或多个流引擎可基于分组PKT的解析结果PR来建立散列关键字(hash key),并且参照该散列关键字来选择性地进行动态负载平衡(dynamic load balancing),以转发由分组PKT产生的出口分组PKT’。流量管理器108至少用于处理分组的排序(queu本文档来自技高网...

【技术保护点】
一种解析器,用于解析分组中的报头,该解析器包含:多个水平字段选择器,该多个水平字段选择器中的每一水平字段选择器用于选择第一比特位组;多个比较器,分别耦接于该多个水平字段选择器,其中该多个比较器中的每一比较器用于将对应的水平字段选择器所选出的第一比特位组与指定值作比较,以产生比较结果;以及内容可寻址存储器式装置,用于接收产生自该多个比较器的多个比较结果,以及使用该多个比较结果作为第一输入搜寻数据。

【技术特征摘要】
2013.12.04 US 61/911,992;2014.10.22 US 14/520,3501.一种解析器,用于解析分组中的报头,该解析器包含:
多个水平字段选择器,该多个水平字段选择器中的每一水平字段选择器用
于选择第一比特位组;
多个比较器,分别耦接于该多个水平字段选择器,其中该多个比较器中的
每一比较器用于将对应的水平字段选择器所选出的第一比特位组与指定值作比
较,以产生比较结果;以及
内容可寻址存储器式装置,用于接收产生自该多个比较器的多个比较结果,
以及使用该多个比较结果作为第一输入搜寻数据。
2.根据权利要求1所述的解析器,其特征在于,产生自该多个水平字段选
择器的多个第一比特位组包含具有读取自至少一个通用寄存器的多个比特位的
至少一个第一比特位组。
3.根据权利要求2所述的解析器,其特征在于,该至少一个通用寄存器储
存有与该分组相关的接口信息。
4.根据权利要求1所述的解析器,其特征在于,另包含:
垂直字段选择器,用于选择第二比特位组;
其中该内容可寻址存储器式装置另用于接收来自该第二比特位组的第二输
入搜寻数据。
5.根据权利要求4所述的解析器,其特征在于,该第一输入搜寻数据的多
个比特位分别被输入至该内容可寻址存储器式装置的多个第一列;该第二输入
搜寻数据的多个比特位分别被输入至该内容可寻址存储器式装置的多个第二列;
以及该多个第一列不同于该多个第二列。
6.根据权利要求5所述的解析器,其特征在于,当该报头属于对内报头时,
旗标会用第一逻辑值来设定,以及当该报头属于对外报头时,该旗标会用不同
于该第一逻辑值的第二逻辑值来设定;该旗标被输入至该内容可寻址存储器式
装置中的第三列;以及该第三列不同于该多个第一列以及该多个第二列。
7.根据权利要求4所述的解析器,其特征在于,该第二比特位组具有读取
自至少一个通用寄存器的比特位。
8.根据权利要求7所述的解析器,其特征在于,该至少一个通用寄存器用
于储存与该分组相关的接口信息。
9.根据权利要求1所述的解析器,其特征在于,该多个比较器中的每一比
较器用于根据指定的掩模来将该第一比特位组与该指定值进行比较。
10.根据权利要求1所述的解析器,其特征在于,另包含:
提取字段选择器;
其中针对该第一输入搜寻数据匹配于该内容可寻址存储器式装置的至少一
个内容可寻址存储器入口而产生的该内容可寻址存储器式装置的输出,该提取
字段选择器会自该报头中提取至少一个用户定义字段,以及根据指定的集合识
别符以及指定的协议辨识符来将该至少一个用户定义字段储存于解析结果中的
集合。
11.根据权利要求1所述的解析器,其特征在于,该第一输入搜寻数据的多
个比特位被分别输入至该内容可寻址存储器式装置的多个第一列;当该报头属
于对内报头时,旗标会用第一逻辑值来设定,以及当该报头属于对外报头时,
该旗标会用不同于该第一逻辑值的第二逻辑值来设定;该旗标被输入至...

【专利技术属性】
技术研发人员:吕国正庄渊程
申请(专利权)人:联发科技股份有限公司
类型:发明
国别省市:中国台湾;71

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

1