交换芯片基于cpureasonid实现CoPP的方法和装置制造方法及图纸

技术编号:33638545 阅读:19 留言:0更新日期:2022-06-02 01:55
本发明专利技术提供一种交换芯片基于cpureasonid实现CoPP的方法和装置,该方法包括:在将报文上送CPU时赋予相应的cpureasonid,以用于上层协议栈区分具体的协议报文类型;为所有的cpureasonid映射一个exceptionIndex,并携带exceptionEn等于1的flag,exceptionEn用于标识报文在fwd模块是否需要复制上送CPU;在入口方向对携带exceptionEn等于1的flag的报文,根据其具体的exceptionIndex作为索引查找对应的CoppCtl表项获取限速Ptr;根据Ptr找到预设的Copp限速模块,Copp限速模块对接收到的报文进行处理,其中,所述Copp限速模块采用pps的单令牌桶模式,通过定时刷新令牌,来控制报文的转发和上送。转发和上送。转发和上送。

【技术实现步骤摘要】
交换芯片基于cpu reason id实现CoPP的方法和装置


[0001]本专利技术涉及交换机
,尤其涉及一种交换芯片基于cpu reason id实现CoPP的方法和装置。

技术介绍

[0002]交换机的转发引擎具有处理性能高的优点,若通过转发引擎在转发面实现安全检测,识别出非法报文并合理的处理,对网络安全来说是最好的方案。然而转发引擎一般都是通过硬件实现,如ASIC芯片、NP芯片等,其灵活性不如纯软件,其只能够对具有固定特征、无需复杂计算和处理的非法报文进行检测,并且安全处理机制要求较为简单且流程相对固定。但转发面相对于控制面来说,其处理能力可以认为是无限的,转发面能够轻易的上送海量的报文,将控制面直接冲击过载。
[0003]为了防止转发面上送过多的报文给控制面,需要对上送管道进行限速,同时,为了不影响正常的业务运行,转发面与控制面间的管道控制机制只能保证CPU不会被攻击过载,并不感知上送的报文是否存在安全隐患。而Copp可实现上述目的,Copp(Control of PlaneProtect,控制平面保护),用于对上送CPU的报文进行限速,可针对上送CPU的报文进行限制和约束,使单位时间内上送CPU报文的数量限制在一定范围之内,从而保护CPU的安全,保证CPU对业务的正常处理。
[0004]目前现有对CPU报文限速的方法,有通过入方向使用ACL匹配报文特征,进而将报文Copy一份至CPU,并设置一个限速上送。因为交换芯片中有很多硬件逻辑会进行协议报文的识别,并且芯片ACL的资源是十分宝贵的,所以使用这种方式即使芯片已经识别了协议报文却还是需要额外配置一条ACL才能进行限速处理。这种方式就导致了不必要的ACL的条目浪费。还有的方法是使用cpu队列的流量整形,因为cpu队列有限,所以这种方式会导致多种协议报文混在一个队列中,无法做到精确的针对每一种协议报文进行限速。

技术实现思路

[0005]为了解决上述技术问题,本专利技术公开了一种交换芯片基于cpu reason id实现CoPP的方法和装置,提出了一种不需要使用ACL功能,基于芯片硬件逻辑识别的协议报文的cpu reason id进行上送控制面限速的方法。
[0006]为达到上述目的,本专利技术的技术方案提供了一种交换芯片基于cpu reason id实现CoPP的方法,其包括如下步骤:
[0007]在将报文上送CPU时赋予相应的cpu reason id,以用于上层协议栈区分具体的协议报文类型;
[0008]为所有的cpu reason id映射一个exceptionIndex,并携带exceptionEn等于1的flag,exceptionEn用于标识报文在转发模块是否需要复制上送CPU;
[0009]在入口方向对携带exceptionEn等于1的flag的报文,根据其具体的exceptionIndex作为索引查找对应的CoppCtl表项获取限速Ptr;
[0010]根据Ptr找到预设的Copp限速模块,所述Copp限速模块对接收到的报文进行处理,其中,所述Copp限速模块采用pps的单令牌桶模式,通过定时刷新令牌,来控制报文的转发和上送。
[0011]在进一步的技术方案中,所述Copp限速模块对接收到的报文进行处理包括:当接收到报文时,查看对应的Copp表项的令牌桶是否为空,如果为空,则将该报文对应的exceptionEn置为0,并将该报文按照正常数据报文进行处理传至后续的模块;如果令牌桶中有令牌,则减去一个令牌,并将报文传至后续处理模块,后续转发模块根据exceptionEn的flag将报文上送CPU进行处理。
[0012]在进一步的技术方案中,令牌桶中的令牌按照用户配置的限速速率由芯片按照一定频率定时刷新至令牌桶中。
[0013]在进一步的技术方案中,上送CPU的报文包括用户自定义的协议报文以及通用协议报文。
[0014]在进一步的技术方案中,用户自定义的协议报文在L2PDU、L3PDU、ACL、FLOWMATCH模块中实现。
[0015]本专利技术还提供了一种交换芯片基于cpu reason id实现CoPP的装置,其包括如下模块:
[0016]cpu reason id赋予模块,用于在将报文上送CPU时赋予相应的cpu reason id,以用于上层协议栈区分具体的协议报文类型;
[0017]exceptionIndex映射模块,用于为所有的cpu reason id映射一个exceptionIndex,并携带exceptionEn等于1的flag,exceptionEn用于标识报文在转发模块是否需要复制上送CPU;
[0018]限速Ptr获取模块,用于在入口方向对携带exceptionEn等于1的flag的报文,根据其具体的exceptionIndex作为索引查找对应的CoppCtl表项获取限速Ptr;
[0019]报文处理模块,用于根据Ptr找到预设的Copp限速模块,所述Copp限速模块对接收到的报文进行处理,其中,所述Copp限速模块采用pps的单令牌桶模式,通过定时刷新令牌,来控制报文的转发和上送。
[0020]在进一步的技术方案中,所述Copp限速模块对接收到的报文进行处理包括:当接收到报文时,查看对应的Copp表项的令牌桶是否为空,如果为空,则将该报文对应的exceptionEn置为0,并将该报文按照正常数据报文进行处理传至后续的模块;如果令牌桶中有令牌,则减去一个令牌,并将报文传至后续处理模块,后续转发模块根据exceptionEn的flag将报文上送CPU进行处理。
[0021]在进一步的技术方案中,令牌桶中的令牌按照用户配置的限速速率由芯片按照一定频率定时刷新至令牌桶中。
[0022]在进一步的技术方案中,上送CPU的报文包括用户自定义的协议报文以及通用协议报文。
[0023]在进一步的技术方案中,用户自定义的协议报文在L2PDU、L3PDU、ACL、FLOWMATCH模块中实现。
附图说明
[0024]图1是本专利技术交换芯片对上送CPU报文的处理流程的示意图;
[0025]图2是本专利技术交换芯片Copp限速模块的处理流程的示意图。
具体实施方式
[0026]下面结合具体实施例对本专利技术的技术方案作进一步的描述,但本专利技术并不限于这些实施例。
[0027]本专利技术为一种交换芯片基于cpu reason id实现CoPP的方法及装置,提出一种不需要使用ACL功能,基于芯片硬件逻辑识别的协议报文的cpu reason id进行上送控制面限速的方法。
[0028]交换芯片的上送CPU的报文可以大概分为两类,一类是用户自定义的一些协议报文在L2PDU、L3PDU、ACL、FLOWMATCH等模块实现,还有一类是芯片写死的一些通用的已知协议报文。对于这两类的报文在上送CPU时都会赋予一个cpu reason id用于上层协议栈区分具体的协议报文类型。本专利实本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种交换芯片基于cpu reason id实现CoPP的方法,其特征在于,包括如下步骤:在将报文上送CPU时赋予相应的cpu reason id,以用于上层协议栈区分具体的协议报文类型;为所有的cpu reason id映射一个exceptionIndex,并携带exceptionEn等于1的flag,exceptionEn用于标识报文在转发模块是否需要复制上送CPU;在入口方向对携带exceptionEn等于1的flag的报文,根据其具体的exceptionIndex作为索引查找对应的CoppCtl表项获取限速Ptr;根据Ptr找到预设的Copp限速模块,所述Copp限速模块对接收到的报文进行处理,其中,所述Copp限速模块采用pps的单令牌桶模式,通过定时刷新令牌,来控制报文的转发和上送。2.根据权利要求1所述的方法,其特征在于,所述Copp限速模块对接收到的报文进行处理包括:当接收到报文时,查看对应的Copp表项的令牌桶是否为空,如果为空,则将该报文对应的exceptionEn置为0,并将该报文按照正常数据报文进行处理传至后续的模块;如果令牌桶中有令牌,则减去一个令牌,并将报文传至后续处理模块,后续转发模块根据exceptionEn的flag将报文上送CPU进行处理。3.根据权利要求2所述的方法,其特征在于,令牌桶中的令牌按照用户配置的限速速率由芯片按照一定频率定时刷新至令牌桶中。4.根据权利要求1

3中任一项所述的方法,其特征在于,上送CPU的报文包括用户自定义的协议报文以及通用协议报文。5.根据权利要求4所述的方法,其特征在于,用户自定义的协议报文在L2PDU、L3PDU、ACL、FLOWMATCH模块中实现。6.一种交换芯片基于cpu reason id实现CoPP的装置,其特征在于...

【专利技术属性】
技术研发人员:鲁庆男
申请(专利权)人:昆高新芯微电子江苏有限公司
类型:发明
国别省市:

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

1