《一种支持多端口的网络数据报文统计系统.pdf》由会员分享,可在线阅读,更多相关《一种支持多端口的网络数据报文统计系统.pdf(7页完整版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 102404222 A (43)申请公布日 2012.04.04 C N 1 0 2 4 0 4 2 2 2 A *CN102404222A* (21)申请号 201110383669.X (22)申请日 2011.11.28 H04L 12/56(2006.01) (71)申请人曙光信息产业(北京)有限公司 地址 100084 北京市海淀区水磨西街64号 (72)发明人张磊 窦晓光 李旭 李静 纪奎 张英文 (74)专利代理机构北京安博达知识产权代理有 限公司 11271 代理人徐国文 (54) 发明名称 一种支持多端口的网络数据报文统计系统 (57) 摘要 本发明。
2、提供了一种支持多端口的网络数据报 文统计系统,支持多端口的网络数据报文统计系 统,其包括:报文触发电路和统计输出电路,所述 统计系统包括统计设备,所述报文触发电路、所述 统计设备和所述统计输出电路依次连接;所述报 文统计系统利用型号为lx130t的fpga芯片。本发 明提供的支持多端口的网络数据报文统计系统, 可以对数据报文进行无遗漏的统计。 (51)Int.Cl. (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 1 页 说明书 3 页 附图 2 页 CN 102404226 A 1/1页 2 1.一种支持多端口的网络数据报文统计系统,其包括:报文触发电路和统计输出电 。
3、路,其特征在于,所述统计系统包括统计设备,所述报文触发电路、所述统计设备和所述统 计输出电路依次连接。 2.根据权利要求1所述的报文统计系统,其特征在于,所述报文触发电路,包括:和网 络接入端口匹配的1bit控制触发器CtrlTrig和与其连接的N bit数据触发器DataTrig; 其中,N为小于等于16的自然数。 3.根据权利要求1所述的报文统计系统,其特征在于,所述统计设备,包括:CPU地址 译码电路、地址锁存转换电路、CPU读脉冲寄存电路、触发累计电路、计数器轮转电路和存储 缓冲区;所述CPU地址译码电路、所述地址锁存转换电路和所述触发累计电路依次连接;所 述CPU读脉冲寄存电路、所述。
4、触发累计电路、所述计数器轮转电路和所述存储缓冲区依次 连接;所述触发累计电路与所述报文触发电路连接,所述CPU读脉冲寄存电路向所述统计 输出电路发送CPU读有效数据。 4.根据权利要求2所述的报文统计系统,其特征在于,所述N bit数据触发器DataTrig 的N值设置为1时,对统计报文类型进行计数;否则对统计报文字节进行计数。 5.根据权利要求3所述的报文统计系统,其特征在于,所述CPU地址译码电路为所述统 计设备产生读触发信号。 6.根据权利要求3所述的报文统计系统,其特征在于,所述存储缓冲区为双口RAM,所 述双口RAM采用LUT RAM结构。 7.根据权利要求3所述的报文统计系统,其特。
5、征在于,所述计数器轮转电路存储所述 存储缓冲区的地址总线RdAddress的译码结果,并将存储结果和当前周期读出的数据相 加后,在下一周期写入所述LUT RAM;所述计数器轮转电路与所述存储缓冲区的地址总线 RdAddress一一对应。 8.根据权利要求1-7所述的报文统计系统,其特征在于,所述报文统计系统使用型号 为lx130t的fpga芯片。 权 利 要 求 书CN 102404222 A CN 102404226 A 1/3页 3 一种支持多端口的网络数据报文统计系统 技术领域 0001 本发明属于网络数据传输领域,具体讲涉及一种支持多端口的网络数据报文统计 系统。 背景技术 0002 。
6、报文的各种类型的统计是网络接入设备的一种基本功能。通过对报文的各种统计 类型,以及对流量的分析,可以发现网络设备设计不合理或者性能瓶颈的所在,也有利于优 化网络设备的某些功能,来满足客户对服务质量的要求。例如:网络接入设备处理过多的异 常报文而导致其服务性能降低,若在设备的关键模块存在各种统计功能,则可以找出异常 原因的所在,提升设备的性能来满足客户的需求。 0003 在现有技术中,最直接的报文统计方法是针对每个端口的类型分别设计计数器, 若存在24个网络端口,并需统计接收报文总数、bad包数、包长信息,则需要24x3x32 2304个触发器资源,这会导致资源浪费并且收敛时序十分不易的问题。 。
7、0004 专利号为ZL03132077.5的、名称为“网络信息交换中多端口收发包数统计方法” 的发明中披露了一种报文统计的方法,其能够统计16端口以太网报文的数量;但是,其实 现方法存在以下弊端: 0005 首先用blockram生成的ram占用的是xilinx fpga 18KBRAMs,这种资源只有在 fpga内部的指定列中存在,若限定与统计功能在此位置的周围,势必会对接口端的时序收 敛带来严重问题; 0006 其次,此发明的计数器406根据状态机402提供的信号将RAM送出的数据加1后 再送入RAM中,即此发明对地址中的技术类型只能进行一次触发,但在网络接入中,每个端 口数据包的输入是随。
8、机的若当16端口在某时钟周期同时刻都有计数需求时,不能对多个 端口同时计数。 0007 最后,此发明限制其使用目标网络为帧间隔为96bit的以太网,若目标网络的封 装格式为PPP帧,也就是帧间隔为最小8bit,则会出现不能计数的问题。 发明内容 0008 为克服上述缺陷,本发明提供了一种支持多端口的网络数据报文统计系统,可以 对数据报文进行无遗漏的统计。 0009 为实现上述目的,本发明提供一种支持多端口的网络数据报文统计系统,其包括: 报文触发电路和统计输出电路,其改进之处在于,所述统计系统包括统计设备,所述报文触 发电路、所述统计设备和所述统计输出电路依次连接。 0010 本发明提供的优选。
9、技术方案中,所述报文触发电路,包括:和网络接入端口匹配的 1bit控制触发器CtrlTrig和与其连接的N bit数据触发器DataTrig;其中,N为小于等于 16的自然数。 0011 本发明提供的第二优选技术方案中,所述统计设备,包括:CPU地址译码电路、地 说 明 书CN 102404222 A CN 102404226 A 2/3页 4 址锁存转换电路、CPU读脉冲寄存电路、触发累计电路、计数器轮转电路和存储缓冲区;所 述CPU地址译码电路、所述地址锁存转换电路和所述触发累计电路依次连接;所述CPU读脉 冲寄存电路、所述触发累计电路、所述计数器轮转电路和所述存储缓冲区依次连接;所述触 。
10、发累计电路与所述报文触发电路连接,所述CPU读脉冲寄存电路向所述统计输出电路发送 CPU读有效数据。 0012 本发明提供的第三优选技术方案中,所述N bit数据触发器DataTrig的N值设置 为1时,对统计报文类型进行计数;否则对统计报文字节进行计数。 0013 本发明提供的第四优选技术方案中,所述CPU地址译码电路为所述统计设备产生 读触发信号。 0014 本发明提供的第五优选技术方案中,所述存储缓冲区为双口RAM,所述双口RAM采 用LUT RAM结构。 0015 本发明提供的第六优选技术方案中,所述计数器轮转电路存储所述存储缓冲区的 地址总线RdAddress的译码结果,并将存储结果。
11、和当前周期读出的数据相加后,在下一周 期写入所述LUT RAM;所述计数器轮转电路与所述存储缓冲区的地址总线RdAddress一一 对应。 0016 本发明提供的第七优选技术方案中,所述报文统计系统使用型号为lx130t的 fpga芯片。 0017 与现有技术比,本发明提供的一种支持多端口的网络数据报文统计系统,可节省 fpga内部的内存资源,并且统计电路的位置可随接口位置随意移动,避免了在时序上收敛 严重的问题;而且不受限于某种网络协议,不仅可以用于以太网,还可以用于SDH系统,可 以适用于不同大小封装的数据帧;再者,可以对数据报文进行无遗漏的统计;最后,可以同 时对多个端口的数据报文进行统。
12、计。 附图说明 0018 图1为网络数据报文统计系统的结构示意图。 0019 图2为CPU读地址n的时序图。 0020 图3为网络20个端口同时接收28bytes的小包时序图。 具体实施方式 0021 如图1所示,支持多端口的网络数据报文统计系统,其包括:报文触发电路和统计 输出电路,所述统计系统包括统计设备,所述报文触发电路、所述统计设备和所述统计输出 电路依次连接。所述报文统计系统使用型号为lx130t的fpga芯片。 0022 本发明提供的第二优选技术方案中,所述统计设备,包括:CPU地址译码电路、地 址锁存转换电路、CPU读脉冲寄存电路、触发累计电路、计数器轮转电路和存储缓冲区;所 述。
13、CPU地址译码电路、所述地址锁存转换电路和所述触发累计电路依次连接;所述CPU读脉 冲寄存电路、所述触发累计电路、所述计数器轮转电路和所述存储缓冲区依次连接;所述触 发累计电路与所述报文触发电路连接,所述CPU读脉冲寄存电路向所述统计输出电路发送 CPU读有效数据。 0023 所述支持多端口的网络数据报文统计系统,利用fpga内部分布式ram资源构建的 说 明 书CN 102404222 A CN 102404226 A 3/3页 5 存储缓冲区,设计一种支持目标网络移植简单、统一功能无遗漏的装置,其结构包括报文触 发电路、CPU地址译码电路、统计电路和统计输出电路。 0024 所述报文触发电。
14、路,针对每个网络接入端口设计一个1bit控制触发器CtrlTrig 和一个N bit数据触发器DataTrig,其中,1N16;当CtrlTrig有效时,也就是高 电平时,同时意味着DataTrig数据是有效的,也就是带外控制的原理;当统计功能模块只 进行报文的某种类型数量统计时DataTrig为1bit数据触发器,也就是N1;当统计功能 需要统计报文字节时,N1,例如16,可统计长度为65535的包长,对于所有网络环境这个 计数长度是可以满足的,设计可根据自己网络环境中最大报文长度的限制简单修改N的值 即可; 0025 所述CPU地址译码电路,产生统计功能模块利用的读触发信号; 0026 所。
15、述统计电路是支持多端口的网络数据报文统计系统的核心: 0027 1)、其功能可实现单一触发信号的统计和数据总线的统计功能,也就是DataTrig 寄存器N1的情况; 0028 2)、存储缓冲区采用双口RAM实现,RAM的实现采用fpga的LUT搭建,例如实现 一个宽度48bit、深度32的RAM块,仅仅使用了48个Iut资源,相比于资源有限的几十个 blockram资源来说更加划算,并且fpga的Iut资源已经可以达到上万甚至数十万的级别; 0029 3)、所述CPU读脉冲寄存电路,使CPU读使能信号对于某个统计功能模块来说只有 一个时钟周期的脉冲,我们把此脉冲进行两次寄存使用,记为ReadD。
16、ly0、ReadDly1;输出有 效读数据为ReadDly1高电平时,CPU才当前输出的统计数据; 0030 4)、如图2所示,当有读脉冲Read出现时,CPU读脉冲寄存电路把地址译码电路输 入的读地址寄存器值CpuRdAddr锁存到RAM地址总线RdAddress,在ReadDly0时刻把地址 总线RdAddress上周期的地址进行“加一”操作,而其他周期RdAddress重复进行“加一”操 作;与此同时,针对多端口的RAM地址写译码器锁存电路时钟处于工作状态,也就是把当前 统计类型脉冲利用一个计数器轮转电路根据RdAddress的译码结果进行存储,存储结果与 当前周期读出的数据进行“加操作。
17、”,在下一周期写入RAM,这样做的目的是防止读周期出现 时,出现漏统计的现象;PktTypeCnt寄存器的个数也就是根据网络端口的数量而设定的, 如24个网络接口,则设计24个PktTypeCnt寄存器,每个RAM地址对应一个PktTypeCnt寄 存器,当有类型统计触发时并且ReadDly0无效时,根据RdAddress地址对其进行“置一”操 作,若类型触发失效,则进行“置零”操作,若无读请求时,进行“加一”操作; 0031 5)、本装置的RAM所有统计都是基于RAM的基本操作,核心就是设计的多个计数器 轮转电路和RdAddress地址译码电路的配合使用;当只统计报文类型计数时,DataTr。
18、ig的N 值置为1与CtrlTrig做“与操作”即可,这样当进行fpga综合步骤时,自然节省了一半的寄 存器资源;当切换网络时只需考虑此网络环境中存在的最下包长即可,例如当接入SDH系 统时,假设最小PPP帧最小为28Byte,端口数若为20口时,可以线速的无遗漏的统计,图3 为一种20端口同时收28bytes的小包并且在某一时钟周期同时触发报文类型计数时的时 序图。 0032 需要声明的是,本发明内容及具体实施方式意在证明本发明所提供技术方案的实 际应用,不应解释为对本发明保护范围的限定。本领域技术人员在本发明的精神和原理启 发下,可作各种修改、等同替换、或改进。但这些变更或修改均在申请待批的保护范围内。 说 明 书CN 102404222 A CN 102404226 A 1/2页 6 图1 图2 说 明 书 附 图CN 102404222 A CN 102404226 A 2/2页 7 图3 说 明 书 附 图CN 102404222 A 。