CN110855574B - 一种基于硬件实现数据流丢弃类型的统计方法及装置 - Google Patents
一种基于硬件实现数据流丢弃类型的统计方法及装置 Download PDFInfo
- Publication number
- CN110855574B CN110855574B CN201911003670.8A CN201911003670A CN110855574B CN 110855574 B CN110855574 B CN 110855574B CN 201911003670 A CN201911003670 A CN 201911003670A CN 110855574 B CN110855574 B CN 110855574B
- Authority
- CN
- China
- Prior art keywords
- statistical
- data
- type
- discarding
- data message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000007619 statistical method Methods 0.000 title claims description 10
- 238000000034 method Methods 0.000 claims abstract description 12
- 230000005055 memory storage Effects 0.000 claims description 16
- 238000013500 data storage Methods 0.000 claims description 4
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/29—Flow control; Congestion control using a combination of thresholds
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明揭示了一种基于硬件实现数据流丢弃类型的统计方法及装置,通过在每条流的数据存储器中设计多个丢弃类型的多个统计实例,实现对不同flow的不同丢弃类型的统计,并实现了在DMA缓存FULL的状态下保证不同丢弃类型的报文能够正常记录。
Description
技术领域
本发明涉及一种数据流丢弃类型的统计技术,尤其是涉及一种基于硬件实现数据流丢弃类型的统计方法及装置。
背景技术
在芯片处理的过程中,针对不同类型的报文会根据管理员策略以及报文特征产生不同类型的丢弃行为,并期望将不同的丢弃原因进行统计并通告给CPU。
具体地,如图1所示,当芯片确定了报文的丢弃类型,则将当前的数据报文以及该数据报文的丢弃类型信号送至IPFIX(IP Flow Information Export,IP数据流信息输出)模块,IPFIX根据管理员策略从上送的数据报文中抽取相应的字段,组成flow key(流关键字),用于标识当前的数据流。对于当前报文的丢弃类型进行丢弃报文的个数以及大小的统计,并将统计结果计入该flow对应的数据部分(AD:associated data),存入硬件内存。当报文的个数或者大小超过了管理员设定的阈值,则将当前flow的key以及对于丢弃报文的统计信息上送至DMA(Direct Memory Access,直接存储器存取)模块,促使CPU通过DMA读取出芯片上送的flow key和AD的信息。
但是上述方案中存在两个问题:
其一,由于报文的丢弃类型有很多种,在硬件上实现针对每条flow、每个丢弃类型进行统计,需要占用大量的硬件memory(存储)的,这对于硬件的开销是巨大的。
其二,报文的传输速率是要远大于CPU的读取速度的。因此CPU的读取速度可能会小于芯片上送信息到DMA模块的速度,导致会出现由于DMA的buffer(缓存)被占满而无法上送的现象,从而影响IPFIX模块对于flow的不同丢弃类型的统计。
发明内容
本发明的目的在于克服现有技术的缺陷,提供一种基于硬件实现数据流丢弃类型的统计方法及装置。
为实现上述目的,本发明提出如下技术方案:一种基于硬件实现数据流丢弃类型的统计方法,包括:
S1,在每条流的数据存储器中配置多个统计实例,每个统计实例中对应统计报文的一种丢弃类型;
S2,当IPFIX模块收到数据报文,则将所述数据报文的丢弃类型与其中一个所述统计实例中的丢弃类型进行比较,若相等,则将所述数据报文计入当前统计实例中,若不相等,则继续与另一个统计实例中的丢弃类型进行比较,直至将数据报文计入到与其丢弃类型相等的统计实例中。
优选地,所述方法包括:
S1′,在每条流的数据存储器中配置第一统计实例和第二统计实例;
S2′,当IPFIX模块收到数据报文,则将所述数据报文的丢弃类型与所述第一统计实例中的丢弃类型进行比较,若相等,则将所述数据报文计入所述第一统计实例中,若不相等,则进入步骤S3′;
S3′,将所述数据报文的丢弃类型与所述第二统计实例中的丢弃类型进行比较,若相等,则将所述数据报文计入所述第二统计实例中。
优选地,所述方法还包括:若所述数据报文与所有统计实例中的丢弃类型都不相等,则将所述数据报文计入全局统计数据。
优选地,在将当前数据报文计入相应统计实例后,判断所述统计实例中的统计数据是否超过预先配置的统计阈值,若超过,则将所述数据报文的关键字和统计数据上送给直接存储器存储模块,供CPU读取。
优选地,若所述直接存储器存储模块出现FULL事件,则芯片继续缓存当前统计数据,在下一个数据报文上送至IPFIX模块时再触发上送给直接存储器存储模块。
优选地,若所述直接存储器存储模块未出现FULL事件,则在将当前数据报文的关键字和统计数据上送给直接存储器存储模块后,清除芯片中所有统计实例中的统计数据。
本发明还揭示了另外一种技术方案:一种基于硬件实现数据流丢弃类型的统计装置,包括:
统计实例配置模块,用于在每条流的数据存储器中配置多个统计实例,每个统计实例中对应统计报文的一种丢弃类型;
统计数据模块,用于当IPFIX模块收到数据报文,则将所述数据报文的丢弃类型与其中一个所述统计实例中的丢弃类型进行比较,若相等,则将所述数据报文计入当前统计实例中,若不相等,则继续与另一个统计实例中的丢弃类型进行比较,直至将数据报文计入到与其丢弃类型相等的统计实例中。
优选地,所述装置还包括全局统计模块,用于在所述数据报文与所有统计实例中的丢弃类型都不相等的情况下,将所述数据报文计入全局统计数据。
优选地,所述装置还包括数据上送模块,用于在将当前数据报文计入相应统计实例后,判断所述统计实例中的统计数据是否超过预先配置的统计阈值,若超过,则将所述数据报文的关键字和统计数据上送给直接存储器存储模块,供CPU读取。
优选地,所述装置还包括数据清除模块,用于在所述直接存储器存储模块未出现FULL事件的情况下,在将当前数据报文的关键字和统计数据上送给直接存储器存储模块后,清除芯片中所有统计实例中的统计数据。
本发明的有益效果是:基于硬件实现了不同flow的不同丢弃类型的统计,并实现了在DMA缓存FULL的状态下保证不同丢弃类型的报文能够正常记录。
附图说明
图1是现有芯片统计数据流丢弃类型的流程示意图;
图2是本发明方法的流程示意图;
图3是本发明实施例芯片统计数据流丢弃类型的具体流程示意图。
具体实施方式
下面将结合本发明的附图,对本发明实施例的技术方案进行清楚、完整的描述。
本发明所揭示的一种基于硬件实现数据流丢弃类型的统计方法及装置,通过在每条流的数据存储器中设计多个丢弃类型的多个统计实例,实现对不同flow的不同丢弃类型的统计,并实现了在DMA缓存FULL的状态下保证不同丢弃类型的报文能够正常记录。可用于以太网环境,如数据中心网络、工业网络等。
结合图2和图3所示,本发明所揭示的一种基于硬件实现数据流丢弃类型的统计方法,包括:
S1,在每条流的数据存储器中配置多个统计实例,每个统计实例中对应统计报文的一种丢弃类型。
本实施例中,在每条流(flow)的数据存储器(AD)中配置了两个丢弃类型的统计实例,分别记为统计实例A和统计实例B,其中统计实例A中对应统计报文的丢弃类型A,统计实例B中对应统计报文的丢弃类型B,在其他实施例中,可以不限于是两个统计实例,如3个、4个等,每个统计实例中对应统计报文的一种丢弃类型即可。
S2,当IPFIX模块收到数据报文,则将所述数据报文的丢弃类型与其中一个所述统计实例中的丢弃类型进行比较,若相等,则将所述数据报文计入当前统计实例中,若不相等,则继续与另一个统计实例中的丢弃类型进行比较,直至将数据报文计入到与其丢弃类型相等的统计实例中。
具体地,当芯片确定了报文的丢弃类型,则将当前的数据报文以及该数据报文的丢弃类型信号送至IPFIX模块,当IPFIX模块收到该数据报文和丢弃类型,首先从该数据报文中抽取相应的字段,组成flow key(流关键字),用于标识当前的数据报文,并将当前的丢弃类型与当前flow的AD中的其中一个统计实例的丢弃类型进行比较,如果相等,则将数据报文计入当前的统计实例中,若不相等,则继续与另一个统计实例中的丢弃类型进行比较,直至将数据报文计入到与其丢弃类型相等的统计实例中。
且在将数据报文计入到相应的统计实例后,判断当前统计实例中的统计数据是否超过了管理员预先配置的阈值,如果超过了,则将当前数据报文的关键字(即上述流关键字)和统计数据(即包括当前数据报文的个数)上送给直接存储器存储模块(DMA),通知CPU读取数据(该数据包括流关键字和数据报文的个数)。如果DMA出现FULL(满)事件,导致当前的AD无法上送DMA,则芯片继续缓存当前AD,在下一个数据报文上送至IPFIX模块再触发上送DMA。如果未出现DMA FULL事件,则将当前flow的key以及整个统计信息上送至DMA缓存之后,清除芯片中所有统计实例的统计数据。
本实施例中,如图3所示,当IPFIX模块收到该数据报文和丢弃类型后,则首先将当前的丢弃类型与统计实例A中的丢弃类型A进行比较,如果相等,则将该数据报文计入统计实例A中,并判断当前统计实例A中的统计数据是否超过了管理员配置的阈值,如果超过了,则将所述数据报文的关键字和统计数据上送DMA,通知CPU读取。如果DMA出现FULL事件,导致当前的AD无法上送DMA,则芯片继续缓存当前AD,在下一个由于丢弃类型为A的数据报文上送至IPFIX模块再触发上送DMA。如果未出现DMA FULL事件,则将当前flow的key以及整个AD信息上送至DMA缓存之后,清除芯片中两个统计实例的统计数据。
如果当前的丢弃类型与统计实例A中的丢弃类型A不相等,则将当前的丢弃类型继续与统计实例B中的丢弃类型B进行比较,如果相等,则将该数据报文计入统计实例B中,并判断当前统计实例B中的统计数据是否超过了管理员配置的阈值,如果超过了则上送DMA,通知CPU读取数据。如果DMA出现FULL事件,导致当前的AD无法上送DMA,则芯片继续缓存当前AD,在下一个由于丢弃类型为B的丢弃报文上送至IPFIX模块再触发上送DMA。如果未出现DMA FULL事件,则将当前flow的key以及整个AD信息上送至DMA缓存之后,清除芯片中两个统计实例的统计数据。
另外,若所述数据报文与所有统计实例中的丢弃类型都不相等,则将所述数据报文计入全局统计数据,但是这种情况在实际的网络环境中比较极为罕见。本实施例中,则是如果当前的丢弃类型既不等于丢弃类型A也不等于丢弃类型B,则计入全局统计数据。
与上述一种基于硬件实现数据流丢弃类型的统计方法相对应的,本发明所揭示的一种基于硬件实现数据流丢弃类型的统计装置,包括:
统计实例配置模块,用于在每条流的数据存储器中配置多个统计实例,每个统计实例中对应统计报文的一种丢弃类型;
统计数据模块,用于当IPFIX模块收到数据报文,则将所述数据报文的丢弃类型与其中一个所述统计实例中的丢弃类型进行比较,若相等,则将所述数据报文计入当前统计实例中,若不相等,则继续与另一个统计实例中的丢弃类型进行比较,直至将数据报文计入到与其丢弃类型相等的统计实例中。
其中,上述统计实例配置模块和统计数据模块的具体工作原理可参照上述步骤S1和S2的描述,这里不作赘述。
本发明基于硬件实现了不同flow的不同丢弃类型的统计,并实现了在DMA缓存FULL的状态下保证不同丢弃类型的报文能够正常记录。
本发明的技术内容及技术特征已揭示如上,然而熟悉本领域的技术人员仍可能基于本发明的教示及揭示而作种种不背离本发明精神的替换及修饰,因此,本发明保护范围应不限于实施例所揭示的内容,而应包括各种不背离本发明的替换及修饰,并为本专利申请权利要求所涵盖。
Claims (5)
1.一种基于硬件实现数据流丢弃类型的统计方法,其特征在于,所述方法包括:
S1,在每条流的数据存储器中配置多个统计实例,每个统计实例中对应统计报文的一种丢弃类型;
S2,当IPFIX模块收到数据报文,则将所述数据报文的丢弃类型与其中一个所述统计实例中的丢弃类型进行比较,若相等,则将所述数据报文计入当前统计实例中,若不相等,则继续与另一个统计实例中的丢弃类型进行比较,直至将数据报文计入到与其丢弃类型相等的统计实例中;其中,
在将当前数据报文计入相应统计实例后,判断所述统计实例中的统计数据是否超过预先配置的统计阈值,若超过,则将所述数据报文的关键字和统计数据上送给直接存储器存储模块,供CPU读取;
若所述直接存储器存储模块出现FULL事件,则芯片继续缓存当前统计数据,在下一个数据报文上送至IPFIX模块时再触发上送给直接存储器存储模块;
若所述直接存储器存储模块未出现FULL事件,则在将当前数据报文的关键字和统计数据上送给直接存储器存储模块后,清除芯片中所有统计实例中的统计数据。
2.根据权利要求1所述的基于硬件实现数据流丢弃类型的统计方法,其特征在于,所述方法包括:
S1′,在每条流的数据存储器中配置第一统计实例和第二统计实例;
S2′,当IPFIX模块收到数据报文,则将所述数据报文的丢弃类型与所述第一统计实例中的丢弃类型进行比较,若相等,则将所述数据报文计入所述第一统计实例中,若不相等,则进入步骤S3′;
S3′,将所述数据报文的丢弃类型与所述第二统计实例中的丢弃类型进行比较,若相等,则将所述数据报文计入所述第二统计实例中。
3.根据权利要求1或2所述的基于硬件实现数据流丢弃类型的统计方法,其特征在于,所述方法还包括:若所述数据报文与所有统计实例中的丢弃类型都不相等,则将所述数据报文计入全局统计数据。
4.一种基于硬件实现数据流丢弃类型的统计装置,其特征在于,所述装置包括:
统计实例配置模块,用于在每条流的数据存储器中配置多个统计实例,每个统计实例中对应统计报文的一种丢弃类型;
统计数据模块,用于当IPFIX模块收到数据报文,则将所述数据报文的丢弃类型与其中一个所述统计实例中的丢弃类型进行比较,若相等,则将所述数据报文计入当前统计实例中,若不相等,则继续与另一个统计实例中的丢弃类型进行比较,直至将数据报文计入到与其丢弃类型相等的统计实例中;
数据上送模块,用于在将当前数据报文计入相应统计实例后,判断所述统计实例中的统计数据是否超过预先配置的统计阈值,若超过,则将所述数据报文的关键字和统计数据上送给直接存储器存储模块,供CPU读取;以及
数据清除模块,用于在所述直接存储器存储模块未出现FULL事件的情况下,在将当前数据报文的关键字和统计数据上送给直接存储器存储模块后,清除芯片中所有统计实例中的统计数据。
5.根据权利要求4所述的基于硬件实现数据流丢弃类型的统计装置,其特征在于,所述装置还包括全局统计模块,用于在所述数据报文与所有统计实例中的丢弃类型都不相等的情况下,将所述数据报文计入全局统计数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911003670.8A CN110855574B (zh) | 2019-10-22 | 2019-10-22 | 一种基于硬件实现数据流丢弃类型的统计方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911003670.8A CN110855574B (zh) | 2019-10-22 | 2019-10-22 | 一种基于硬件实现数据流丢弃类型的统计方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110855574A CN110855574A (zh) | 2020-02-28 |
CN110855574B true CN110855574B (zh) | 2022-08-12 |
Family
ID=69597852
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911003670.8A Active CN110855574B (zh) | 2019-10-22 | 2019-10-22 | 一种基于硬件实现数据流丢弃类型的统计方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110855574B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112543149B (zh) * | 2020-11-23 | 2022-08-26 | 苏州盛科通信股份有限公司 | 防止ipfix消息丢失的方法及其应用、asic芯片 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101321088A (zh) * | 2008-07-18 | 2008-12-10 | 北京星网锐捷网络技术有限公司 | 一种统计ip数据流信息的方法及装置 |
CN103560923A (zh) * | 2013-11-20 | 2014-02-05 | 烽火通信科技股份有限公司 | 分组传送网的网络故障快速定位方法 |
CN108462970A (zh) * | 2017-02-21 | 2018-08-28 | 中国移动通信有限公司研究院 | 一种丢包判决方法及装置 |
-
2019
- 2019-10-22 CN CN201911003670.8A patent/CN110855574B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101321088A (zh) * | 2008-07-18 | 2008-12-10 | 北京星网锐捷网络技术有限公司 | 一种统计ip数据流信息的方法及装置 |
CN103560923A (zh) * | 2013-11-20 | 2014-02-05 | 烽火通信科技股份有限公司 | 分组传送网的网络故障快速定位方法 |
CN108462970A (zh) * | 2017-02-21 | 2018-08-28 | 中国移动通信有限公司研究院 | 一种丢包判决方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110855574A (zh) | 2020-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11316889B2 (en) | Two-stage hash based logic for application layer distributed denial of service (DDoS) attack attribution | |
CN101399711B (zh) | 网络监视装置以及网络监视方法 | |
US10567426B2 (en) | Methods and apparatus for detecting and/or dealing with denial of service attacks | |
US20140022899A1 (en) | System and method for controlling threshold testing within a network | |
CN106921665B (zh) | 一种报文处理方法及网络设备 | |
US7864790B2 (en) | Method and apparatus for improving the management of data packets | |
CN108390856B (zh) | 一种DDoS攻击检测方法、装置及电子设备 | |
CN101547159A (zh) | 一种避免网络拥塞的方法和设备 | |
CN111970211A (zh) | 一种基于ipfix的大象流处理方法及装置 | |
CN112260899A (zh) | 基于mmu的网络监测方法和装置 | |
CN104717120A (zh) | 确定信息发送时间的方法和装置 | |
CN110912826A (zh) | 利用acl扩充ipfix表项的方法及装置 | |
CN110855574B (zh) | 一种基于硬件实现数据流丢弃类型的统计方法及装置 | |
US10873467B2 (en) | Method and system for compression and optimization of in-line and in-transit information security data | |
US20090201807A1 (en) | System and method for marking live test packets | |
Zhang et al. | Identifying elephant flows in internet backbone traffic with bloom filters and LRU | |
CN107196879B (zh) | Udp报文的处理方法、装置以及网络转发装置 | |
CN101883054B (zh) | 组播报文处理方法、装置和设备 | |
CN107566220B (zh) | 一种基于流量实现ipfix探测的方法及装置 | |
Liu et al. | Doom: a training-free, real-time video flow identification method for encrypted traffic | |
CN105141468B (zh) | 高效实现网络芯片流量统计的方法及装置 | |
CN112688924A (zh) | 网络协议分析系统 | |
CN115695041B (zh) | 基于sdn的ddos攻击检测与防护的方法及应用 | |
CN113965492A (zh) | 一种数据流统计方法及装置 | |
CN111884871B (zh) | 一种交换机丢弃报文检测的方法和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |