流量统计装置及方法

文档序号:7705705阅读:144来源:国知局
专利名称:流量统计装置及方法
技术领域
本发明涉及网络流量统计技术,具体涉及一种流量统计装置及方法。
背景技术
网络设备中的流量统计是一个非常重要的规格,运行商可以凭借该功能和 QoS(服务质量)共同实现用户网络的管理、计费。随着网络技术的发展,核心路由器需要在IOOG上实现流量统计,包括包计数、字 节计数等。当需要统计的队列在IK以下时,可以通过片内缓存实现,但如果需要统计的队 列数目在100K以上时,占用片内缓存过大,就需要利用片外缓存实现。如图1所示,为了实现流量统计,目前最为常用的技术是采用外挂RLDRAM(低延迟 动态随机存储器)或QDR RAM (四倍数据速率随机存储器)等高速RAM (随机存储器)器件 来实现。当本设备100中的报文处理模块101收到一个IP包时,需要在入队、出队、丢弃时 进行统计,根据实际规格可实现包数统计、包长统计。一个IP包最多可产生8个统计需求, 其中入队、丢弃是互斥的。每完成一次统计操作,需要首先从RLD RAM中读出原统计值,然 后加1再写入RLD RAM中。当缓存读写控制模块102从CPU接口 103接收到CPU下发的一个读统计操作时, 需要从RLD RAM/QDR RAM中读出统计值,并写零到RLD RAM的同一地址。这样实现了读清 的功能,可以保证长期统计的正确性。CPU读清操作相对于正常的统计可以看作是一种流量 突发,在某些情况下导致读写带宽不够,正常统计需求被丢弃,从而统计不准。以200MHz QDR RAM为例,最高可实现200MX4次读写操作,可以满足当前10G、40G 网络设备的需求,但不能满足更高设备的统计需求。RLD RAM的读写带宽更小,目前只适用 于IOG的网络设备。如果要实现100G网络设备的统计需求,现有技术中必须同时外挂两片 QDR RAM才能满足要求,需要将近200个I/O管脚,不仅成本高,而且结构复杂,对系统硬件、 PCB (印刷电路板)布线等要求也很高。

发明内容
本发明实施例提供一种流量统计装置及方法,能够简单、方便地支持不同的统计规格,节省I/O管脚。本发明实施例提供的一种流量统计装置,包括报文统计单元,用于对接收的报文进行统计,获得各报文的统计信息;统计信息封装单元,用于将所述报文统计单元获得的多个报文的统计信息封装到 一个统计报文中发送;统计缓存处理单元,用于接收所述统计报文,并根据所述统计报文中的统计信息 计算并保存统计值。本发明实施例提供的一种流量统计方法,包括
对接收的报文进行统计,获得各报文的统计信息; 将获得的多个报文的统计信息封装到一个统计报文,并发送所述统计报文到统计 缓存处理单元;由所述统计缓存处理单元根据所述统计报文中的统计信息计算并保存统计值。本发明实施例提供的流量统计装置及方法,通过对接收的报文进行统计,获得各 报文的统计信息;将所述报文统计单元获得的多个报文的统计信息封装到一个统计报文中 发送到统计缓存处理单元,由所述统计缓存处理单元根据所述统计报文中的统计信息计算 并保存统计值。从而可以由设计者定制统计缓存处理单元,灵活支持不同的统计规格。而 且,由于不需外挂QDR RAM或RLDRAM,因此可以大大节省I/O管脚,相对现有技术外挂缓存 的方案,可以节省近150个I/O管脚,简化了结构,降低了成本。


图1是现有技术中采用RLDRAM或QDR实现流量统计的结构示意图;图2是本发明实施例流量统计装置的结构示意图;图3是本发明实施例中统计报文格式示意图;图4是本发明实施例流量统计装置中统计缓存处理单元的结构示意图;图5是本发明实施例流量统计方法的流程图。
具体实施例方式为了使本技术领域的人员更好地理解本发明实施例的方案,下面结合附图和实施 方式对本发明实施例作进一步的详细说明。参照图2,是本发明实施例流量统计装置的结构示意图。该装置包括报文统计单元201、统计信息封装单元202和统计缓存处理单元203。 其中,报文统计单元201,用于对接收的报文比如IP报文进行统计,获得各报文的统计信 息;统计信息封装单元202,用于将所述报文统计单元201获得的多个报文的统计信息封装 到一个统计报文中发送;统计缓存处理单元203,用于接收所述统计报文,并根据所述统计 报文中的统计信息计算并保存统计值。在该实施例中,统计信息封装单元202封装后的统计报文格式如图3所示。其中, Flow ID是指报文所属的队列ID ;Length是指报文的长度;Cnt Type是指报文的统计类型, 包括入队统计、出队统计、丢弃统计等。统计信息封装单元202和统计缓存处理单元203通过高速串行总线相连,比如 SERDES(serializer/deserializer,串行 / 解串器)总线。统计信息封装单元202收到报文统计单元201发送的报文的统计信息后,将其缓 存至一 FIFO(先进先出)队列中,积累到N(N的数值可以任意设定)个后,将这N个报文的 统计信息封装成一个统一的统计报文,通过所述高速串行总线相连发送到统计缓存处理单 元203中,由统计缓存处理单元203完成统计计数功能。为了适用于不同流量等级统计需求,所述统计缓存处理单元可以有多个,如图2 所示,统计缓存处理单元203和统计缓存处理单元204通过高速串行总线串连连接,各统计 缓存处理单元的结构相同,可以采用一片ASIC(专用集成电路)来实现。
统计缓存处理单元203的一种优选结构如图4所示,其包括总线选择子单元401 和统计值保存子单元402。其中,总线选择子单元401,用于接收所述统计信息封装单元201 发送的统计报文,并根据所述统计信息中的流标识分发所述统计报文;统计值保存子单元 402,用于接收所述总线选择子单元401分发给自己的统计报文,并根据所述统计报文计算 出统计值并保存。为了存储不同类别的统计值,可以设置多个统计值保存子单元,如图4所示,统计值保存子单元402、403、404通过内部并行总线连接于总线选择子单元401。假设总线选择子单元401根据所述统计信息中的流标识选择统计值保存子单元 402,通过所述内部并行总线将所述统计报文写入统计值保存子单元402。统计值保存子单 元402接收到分发给自己的统计报文后,提取其中的FlowID、Length、Cnt Type等内容,计 算出统计值并保存。可以将所述统计值保存子单元402看作是带有控制逻辑的SDRAM(同步动态随机 存取存储器),在实际应用中,也可以通过对现有的SDRAM进行逻辑封装来实现。当有多个统计值保存子单元时,每个统计值保存子单元可以存储不同类型的统计 值,比如,统计值保存子单元402存储入队统计值,统计值保存子单元403存储出队统计值, 统计值保存子单元404存储丢弃统计值。当然,在流量较小时,也可以只设置一个统计值保 存子单元存储不同类型的统计值,在需要读写不同的统计值时,只需根据各统计值的地址 即可读取或写入。在设置有多个所述统计缓存处理单元时,为了保证各统计缓存处理单元从所述统 计信息封装单元202收到的统计报文正确,并且不会因误操作使得分发的统计报文丢失, 在所述统计缓存处理单元203中还可进一步设置有转发子单元405,同样,该转发子单元 405通过内部并行总线与所述总线选择子单元401相连。总线选择子单元401在收到所述统计信息封装单元202发送的统计报文后,根据 所述统计报文中的信息将不属于本统计缓存处理单元203的统计报文发送给所述转发子 单元405,由所述转发子单元405将该统计报文转发给其他统计缓存处理单元或丢弃。在一片ASIC不能实现所述统计缓存处理单元的情况下,比如,一个统计缓存处理 单元可以实现100K流队列的统计需求,要满足250K的规格可以使用3个统计缓存处理单 元完成。当统计报文到达第一个统计缓存处理单元时,如果该统计报文不属于本统计缓存 处理单元处理的统计信息,可以将该统计报文缓存至一个FIFO队列中,积累至预定个数后 发送给下一个统计缓存处理单元,当然,也可以立即将该统计报文发送给下一个统计缓存 处理单元。在具体应用时,各统计缓存处理单元还可以自带CPU接口和PCI (外部设备互连标 准接口),以便于和CPU及其他外部设备的互连。本发明实施例的流量统计装置,可以由设计者定制统计缓存处理单元,灵活支持 不同的统计规格。而且,由于不需外挂QDR RAM、或RLD RAM,因此可以大大节省I/O管脚。 现有技术中用外挂存储器的方案需要外挂两片以上,每片需要70个左右的I/O管脚。本 发明实施例的流量统计装置中,统计信息封装单元和统计缓存处理单元间使用高速串行接 口,只需要4个I/O管脚。可见,相对现有技术外挂缓存的方案,可以节省近150个I/O管 脚。
本发明实施例还提供了一种流量统计方法,如图5所示,是该方法的流程图,包 括步骤501,对接收的报文进行统计,获得各报文的统计信息;步骤502,将获得的多个报文的统计信息封装到一个统计报文,并发送所述统计报 文到统计缓存处理单元;封装后的统计报文的格式如前面所述,包括Flow ID、Length、Cnt Type,其中, Cnt Type可以是入队统计、出队统计、丢弃统计等。所述统计缓存处理单元的结构在前面也有详细的描述,在此不在赘述。需要说明的是,在具体应用中,根据流量统计的规格不同,可以设置一个或多个 所 述统计缓存处理单元,分别处理不同的统计报文。各统计缓存处理单元之间通过高速串行 总线串接,而且,所述统计报文的发送也可以通过高速串行总线进行。每个统计缓存处理单元接收到所述统计报文后,如果判断不是自己应处理的统计 报文,比如根据所述统计报文中的Flow ID,通过所述高速串行总线将所述统计报文发送给 下一级的缓存处理单元。步骤503,由所述统计缓存处理单元根据所述统计报文中的统计信息计算并保存 统计值。对于每个所述统计缓存处理单元,需要根据接收到的统计报文中的统计信息,计 算并保存相应的统计值。具体地,所述统计缓存处理单元根据所述统计信息中的流标识将 所述统计报文分发到一个或多个统计值保存子单元;由所述统计值保存子单元根据分发给 自己的统计报文计算出统计值并保存。为了便于区分不同类型的统计值,可以设置多个统计值保存子单元,采用内部并 行总线将所述统计报文分发到不同的统计值保存子单元。例如,统计的类型包括报文个数统计、报文长度统计。对于不同队列的统计,比如 丢弃统计、入队统计、出队统计等的统计,采用同样的处理方式,将对应不同队列的统计值 保存到不同的存储地址。对于报文个数的统计,从相应的统计值保存子单元中取出原统计值,然后加1,再 重写入该统计值保存子单元中。对于报文长度的统计,需要从相应的统计值保存子单元中 取出原统计值,然后加上当前报文的长度值,再重新存入该统计值保存子单元中。本发明实施例的流量统计方法,可以由设计者定制统计缓存处理单元,灵活支持不同的统计规格。而且,由于不需外挂QDR RAM、或RLD RAM,因此可以大大 节省I/O管脚。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以 通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中, 所述的存储介质,如ROM/RAM、磁碟、光盘等。以上对本发明实施例进行了详细介绍,本文中应用了具体实施方式
对本发明进行 了阐述,以上实施例的说明只是用于帮助理解本发明的方法及设备;同时,对于本领域的 一般技术人员,依据本发明的思想,在具体实施方式
及应用范围上均会有改变之处,综上所 述,本说明书内容不应理解为对本发明的限制。
权利要求
一种流量统计装置,其特征在于,包括报文统计单元,用于对接收的报文进行统计,获得各报文的统计信息;统计信息封装单元,用于将所述报文统计单元获得的多个报文的统计信息封装到一个统计报文中发送;统计缓存处理单元,用于接收所述统计报文,并根据所述统计报文中的统计信息计算并保存统计值。
2.根据权利要求1所述的装置,其特征在于,所述统计缓存处理单元包括总线选择子单元,用于接收所述统计信息封装单元发送的统计报文,并根据所述统计 信息中的流标识分发所述统计报文;统计值保存子单元,用于接收所述总线选择子单元分发给自己的统计报文,并根据所 述统计报文计算出统计值并保存。
3.根据权利要求2所述的装置,其特征在于,所述统计缓存处理单元有多个,并通过高 速串行总线串连,所述统计缓存处理单元还包括转发子单元,用于向其他统计缓存处理单元转发或丢弃统计报文;所述总线选择子单元,还用于将不属于本统计缓存处理单元的统计报文发送给所述转 发子单元。
4.根据权利要求3所述的装置,其特征在于,所述统计值保存子单元、所述转发子单元 通过内部并行总线连接到所述总线选择子单元。
5.根据权利要求1至4任一项所述的装置,其特征在于,所述统计信息封装单元和所述 统计缓存处理单元通过高速串行总线相连。
6.一种流量统计方法,其特征在于,包括对接收的报文进行统计,获得各报文的统计信息;将获得的多个报文的统计信息封装到一个统计报文,并发送所述统计报文到统计缓存 处理单元;由所述统计缓存处理单元根据所述统计报文中的统计信息计算并保存统计值。
7.根据权利要求6所述的方法,其特征在于,所述由所述统计缓存处理单元根据所述 统计报文中的统计信息计算并保存统计值包括根据所述统计信息中的流标识将所述统计报文分发到至少一个统计值保存子单元;由所述统计值保存子单元根据分发给自己的统计报文计算出统计值并保存。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括所述统计缓存处理单元将接收到的不属于本统计缓存处理单元的统计报文进行转发 或丢弃。
9.根据权利要求7所述的方法,其特征在于,所述根据所述统计信息中的流标识将所 述统计报文分发到至少一个统计值保存子单元包括通过内部并行总线将所述统计报文分 发到至少一个统计值保存子单元。
10.根据权利要求6至9任一项所述的方法,其特征在于,所述发送所述统计报文到统 计缓存处理单元包括通过高速串行总线发送所述统计报文到统计缓存处理单元。
全文摘要
本发明公开了一种流量统计装置及方法,所述装置包括报文统计单元,用于对接收的报文进行统计,获得各报文的统计信息;统计信息封装单元,用于将所述报文统计单元获得的多个报文的统计信息封装到一个统计报文中发送;统计缓存处理单元,用于接收所述统计报文,并根据所述统计报文中的统计信息计算并保存统计值。利用本发明,可以简单、方便地支持不同的统计规格,节省I/O管脚。
文档编号H04L12/56GK101848132SQ20091011937
公开日2010年9月29日 申请日期2009年3月24日 优先权日2009年3月24日
发明者周健, 靳亮 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1