基于交换芯片实现报文高速统计的方法及装置的制造方法

文档序号:8225919阅读:610来源:国知局
基于交换芯片实现报文高速统计的方法及装置的制造方法
【技术领域】
[0001]本发明涉及网络通信领域,尤其涉及一种基于交换芯片实现报文高速统计的方法及装置。
【背景技术】
[0002]在现有的交换系统中,网络处理器一般是基于ASIC芯片设计,所述ASIC为Applicat1n Specific Integrated Circuit的英文缩写,是一种为专门目的而设计的集成电路;其特点是面向特定用户的需求,ASIC在批量生产时与通用集成电路相比具有体积更小、功耗更低、可靠性提高、性能提高、保密性增强、成本降低等优点。通常情况下,报文在所述网络处理器内部不同的阶段,需要做不同的统计,在统计时,会把统计指令发给统计模块,现有技术中,该统计模块通常仅基于Stats RAM进行处理;若报文也正处于高速转发阶段,且在对报文统计过程中,每个报文统计的次数多,由于所述Stats RAM的速度比较慢,则会使统计模块来不及处理报文,而导致报文缓存溢出,丢失部分统计信息。
[0003]进一步的,为了实现报文的高速转发,现有技术中的解决方案为:限制对一个报文的统计次数,一般将各个阶段的统计次数限制为1-2次,然而,随着网络业务的叠加,报文在高速转发过程中,需要能同时支持4-5次统计,甚至更多,上述方案很难满足实际需求,从而会因统计次数达不到实际要求而产出更多的问题。
[0004]综上,在报文高速转发过程中,现有技术中通常采用上述两种方案对报文进行统计,两个方案需要对并行统计次数或并行统计阶段做选择取舍,而在报文高速转发过程中,无论做哪种取舍,均对报文的传递结果产生不良的影响。

【发明内容】

[0005]本发明的目的在于提供一种基于交换芯片实现报文高速统计方法及装置。
[0006]为实现上述目的之一,本发明一实施方式提供的基于交换芯片实现报文高速统计方法,所述方法包括:接收报文,根据报文携带的信息在交换机的各个统计阶段对所述报文做相应统计生成报文统计信息;
将所述报文统计信息对应存储到所述各个统计阶段对应的Cache中,完成报文在所述交换机各个统计阶段的统计需求;
所述Cache根据交换机各个统计阶段的总数量以及各个统计阶段的位置关系进行配置,其用于记录及存储报文在各个统计阶段的报文统计信息。
[0007]作为本发明的进一步改进,所述“所述Cache根据交换机各个统计阶段的总数量以及各个统计阶段的位置关系进行配置”具体包括:
对所述交换机的各个统计阶段一对一配置Cache。
[0008]作为本发明的进一步改进,所述“所述Cache根据交换机各个统计阶段的总数量以及各个统计阶段的位置关系进行配置”具体包括:
获取报文在通过所述交换机高速转发过程中,所述交换机中互斥运行的统计阶段; 并对互斥运行的多个统计阶段配置同一个Cache。
[0009]作为本发明的进一步改进,在所述交换机中配置触发定时器和Stats RAM存储器;
所述“将所述报文统计信息对应存储到所述各个统计阶段对应的Cache中”后,所述方法还包括:
在所述触发定时器的每个扫描周期后,将各个所述Cache中的报文统计信息对应累加到所述Stats RAM存储器中,同时,将所述Cache中的报文统计信息清空。
[0010]作为本发明的进一步改进,为交换机的各个统计阶段对应预置不同的pointer,通过所述Pointer将各个统计阶段生成的报文统计信息索引到其唯一对应的所述Cache中;
为每个所述Cache对应预置不同的Base,通过所述Po inter+Base将各个统计阶段生成的报文统计信息索引到其唯一对应的所述Stats RAM存储器中。
[0011]为实现上述目的之一,本发明一实施方式提供的基于交换芯片实现报文高速统计装置,所述装置包括:统计信息生成模块、信息处理模块、存储模块;
统计信息生成模块用于接收报文,根据报文携带的信息在交换机的各个统计阶段对所述报文做相应统计生成报文统计信息;
信息处理模块,用于将所述报文统计信息对应存储到所述各个统计阶段对应的Cache中,完成报文在所述交换机各个统计阶段的统计需求;
所述Cache设置于所述存储模块中,其根据交换机各个统计阶段的总数量以及各个统计阶段的位置关系进行配置,用于记录及存储报文在各个统计阶段的报文统计信息。
[0012]作为本发明的进一步改进,所述存储模块还用于对所述交换机的各个统计阶段一对一配置Cache。
[0013]作为本发明的进一步改进,所述存储模块还用于获取报文在通过所述交换机高速转发过程中,所述交换机中互斥运行的统计阶段;
并对互斥运行的多个统计阶段配置同一个Cache。
[0014]作为本发明的进一步改进,所述存储模块中还配置触发定时器和Stats RAM存储器;
所述信息处理模块还用于在所述触发定时器的每个扫描周期后,将各个所述Cache中的报文统计信息对应累加到所述Stats RAM存储器中,同时,将所述Cache中的报文统计信息清空。
[0015]作为本发明的进一步改进,所述存储模块为交换机的各个统计阶段对应预置不同的pointer,所述信息处理模块通过所述Pointer将各个统计阶段生成的报文统计信息索引到其唯一对应的所述Cache中;
所述存储模块为每个所述Cache对应预置不同的Base,所述信息处理模块通过所述Pointer+Base将各个统计阶段生成的报文统计信息索引到其唯一对应的所述Stats RAM存储器中。
[0016]与现有技术相比,本发明的有益效果是:本发明的基于交换芯片实现报文高速统计方法及装置,在交换机中增加Cache,并将生成的报文统计信息缓存到所述Cache中,在网络处理器高速转发的时候,有效增加对报文的统计次数以及统计准确度,且支持各个不同的统计阶段同时使能统计功能,以满足各种网络业务的需要。
【附图说明】
[0017]图1是本发明一实施方式中基于交换芯片实现报文高速统计方法的流程图;
图2是本发明一实施方式中基于交换芯片实现报文高速统计方法的模块图;
图3是本发明一实施方式中L2VPN场景下的报文经过交换机的各个统计阶段的结构示意图;
图4是在图3基础上增加Cache的结构示意图;
图5是本发明一实施方式的配置结构示意图。
【具体实施方式】
[0018]以下将结合附图所示的【具体实施方式】对本发明进行详细描述。但这些实施方式并不限制本发明,本领域的普通技术人员根据这些实施方式所做出的结构、方法、或功能上的变换均包含在本发明的保护范围内。
[0019]如图1所示,在本发明的一实施方式中,所述基于交换芯片实现报文高速统计方法,包括:
接收报文,根据报文携带的信息在交换机的各个统计阶段对所述报文做相应统计生成报文统计信息;
在报文的转发过程中,根据报文携带信息的不同,以及用户的需求,交换机中各个统计阶段的个数是非常多的,一般会超过20个,在本发明一【具体实施方式】中,为了便于描述,结合图3所示,以L2VPN场景下的交换机为例做具体描述,该场景中,仅列举了其中的6个统计阶段。
[0020]本实施方式中,在L2VPN场景下,报文进入交换机后,在交换机的各个统计阶段做相应的解析生成报文统计信息,并将该报文统计信息存储在所述交换机中,待用户对某一统计阶段的数据有需求时,调用该统计阶段的报文统计信息。
[0021]报文进入交换机后,依次通过Parser 1、L2/L3/MPLSLookup (TCAM/SRAM) ,Process,Ingress ACL、Forward、Queuing、Parser2、Packet Modificat1n、Egress ACL 后车专发到其他报文接收设备。
[0022]其中,所述Parserl基于报文的L2/L3/L4 header做解析;L2/L3/MPLSLookup (TCAM/SRAM)表示根据Parserl的信息做查表操作;Process为根据查表结果,对报文做处理,找到出端口 ;Ingress ACL表示使用访问控制列表,控制报文的丢弃等行为;Forward表示给报文加内部控制头,再发到下一个模块;Queuing表示入queue、drop queue以及对报文做调度等;Parser2表示Egress方向的报文解析;Packet Modificat1n表示对报文进行编辑Egress ACL表示使用访问控制列表,控制报文的丢弃等行为。
[0023]在交换机的上述行为中,对报文先后做6次统计,报文经过Process时,对报文解封装处理,相应对其做两次统计:即统计阶段1:对外层Label统计,统计阶段2:对内层Label统计;报文经过Queuing时,对报文入queue、drop queue均会做的统计,即统计阶段3:入queue的统计,统计阶段4:drop queue的统计;报文
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1