CN107666417B - 实现ipfix随机采样的方法 - Google Patents
实现ipfix随机采样的方法 Download PDFInfo
- Publication number
- CN107666417B CN107666417B CN201710970713.4A CN201710970713A CN107666417B CN 107666417 B CN107666417 B CN 107666417B CN 201710970713 A CN201710970713 A CN 201710970713A CN 107666417 B CN107666417 B CN 107666417B
- Authority
- CN
- China
- Prior art keywords
- sampling
- message
- random
- window
- ipfix
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/022—Capturing of monitoring data by sampling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种实现IPFIX随机采样的方法,包括:配置芯片的随机采样间隔,作为采样窗口大小;在当前采样窗口内,芯片收到首个报文时,触发多项式随机数生成器生成随机数;芯片根据随机数选择所需采样的报文,并将所述采样报文发送至IPFIX引擎;当前采样窗口的最后一个报文到达后,当前采样过程结束,进入下一个采样窗口,其中,所述多项式随机数生成器根据所述采样间隔选择相应位宽的随机多项式并生成随机数。本发明通过多项式随机数实现在指定大小窗口内对报文进行随机采样,从而达到IPFIX采样更符合实际流轮廓和减小流表消耗的目的。
Description
技术领域
本发明涉及计算机网络技术,具体涉及一种实现IPFIX随机采样的方法。
背景技术
IPFIX(IP Flow Information Export,IP流信息输出)是一种基于网络IP流信息的统计技术,它可以对网络中的业务流量情况进行统计和分析。现已广泛地应用于计费、网络规划、网络监控、用户监控及分析等网络管理领域,并以其良好的可扩展性和灵活性,被广大的网络设备厂商所接受。
交换机芯片实现IPFIX(IP Flow Information Export)的基本原理是:通过IPFIXEngine实现IP数据流多方面的统计和监测,其中IPFIX Engine主要包括Key(哈希查找识别出流)和Record(对flow进行相关统计,如报文个数统计)两部分。每有一条新的数据流到达IPFIX Engine就会被学习到芯片内存中,从而占据一定规格的内存容量。
随着网络规模的变大以及IP流量的剧增,交换机中用于实现IPFIX的内存容量变得非常紧缺,于是出现了采样机制。基本的采样机制是固定采样,即每第N个数据包允许采样并送进IPFIX Engine作进一步处理。通过配置N值,能够明显地降低了IPFIX内存的消耗。但由于是每间隔N个包做一次采样,这种周期性采样一定程度上损失了对流量轮廓描述的准确度,这对于流量工程实现是不能接受的。
发明内容
针对上述技术的不足,本发明的主要目的在于,提供一种方法,通过多项式随机数实现在指定大小窗口内对报文进行随机采样,从而达到IPFIX采样更符合实际流轮廓和减小流表消耗的目的。
为实现前述目的,本发明公开了一种实现IPFIX随机采样的方法,具体包括以下步骤:
S1.配置芯片的随机采样间隔,作为采样窗口大小;
S2.在当前采样窗口内,芯片收到首个报文时,触发多项式随机数生成器生成随机数;
S3.芯片根据随机数采样规则选择所需采样的报文,并将所述采样报文发送至IPFIX引擎;
S4.当前采样窗口的最后一个报文到达后,当前采样过程结束,进入下一个采样窗口,返回执行S2步骤;
其中,所述多项式随机数生成器根据所述采样间隔选择相应位宽的随机多项式并生成随机数。
优选地,所述随机数采样规则包括:对收到的报文进行编号或计数,当报文的编号或累加的报文个数等于所述随机数时,对当前报文进行采样。
优选地,所述步骤S3之后,还包括IPFIX引擎将所述采样报文的流描述信息写到内存中。
优选地,随机采样过程中使用全局寄存器标示所述采样过程中的部分状态,所述状态至少包括:
当前报文编号或报文个数,当前采样窗口内生成的随机数,窗口内是否已有报文采样,采样间隔,被采样的报文标记。
优选地,所述采样间隔配置为2的N次幂。
优选地,所述多项式随机数生成器根据采样间隔的二进制位宽选择随机多项式。
与现有技术相比,本发明的优点在于:本发明公开的一种实现IPFIX随机采样的方法,通过多项式随机数实现在指定大小窗口内对报文进行随机采样,从而达到IPFIX采样更符合实际流轮廓和减小流表消耗的目的。
附图说明
图1是本发明一典型实施例提出的一种实现IPfix随机采样的过程示意图;
图2是本发明一典型实施例提出的一种实现IPfix随机采样的状态机流程图。
具体实施方式
鉴于现有技术中的不足,本案发明人经长期研究和大量实践,得以提出本发明的技术方案。如下将对该技术方案、其实施过程及原理等作进一步的解释说明。
本发明实施例提出的一种实现IPFIX随机采样的方法,通过多项式随机数实现在指定大小窗口内对报文进行随机采样,从而达到IPFIX采样更符合实际流轮廓和减小流表消耗的目的。所述方法具体包括:
S1.配置芯片的随机采样间隔,作为采样窗口大小;
S2.在当前采样窗口内,芯片收到首个报文时,触发多项式随机数生成器生成随机数;
S3.芯片根据随机数采样规则选择所需采样的报文,并将所述采样报文发送至IPFIX引擎;
S4.当前采样窗口的最后一个报文到达后,当前采样过程结束,进入下一个采样窗口,返回执行S2步骤。
其中,多项式随机数生成器根据配置的采样间隔选择相应位宽的随机多项式并生成随机数,每一个新的采样窗口到来的首个报文会触发多项式的重新构建,从而实现阈值范围内随机数的产生。假设配置的采样间隔为4,即4个报文中随机对其中一个报文实现采样。多项式的幂次取决于采样间隔的二进制值位宽,那么采用二进制表示4个状态,至少需要2个比特的位宽,所以芯片自动选择位宽为2的多项式实现随机数的产生,产生的值范围在0到3之间,然后根据设定的采样规则,在4个报文中随机选择出一个报文进行采样。若采样间隔为8,那么多项式的幂次为3,芯片自动选择位宽为3的多项式实现随机数的产生,产生的值范围在0到7之间,以此类推。由于多项式的选择由二进制位宽决定,所以采样间隔通常应配置成2的N次幂,如2,4,8等。
IPFIX引擎(IPFIX Engine)用于IP流的监测和记录,通过配置采样间隔,可以根据IPFIX内存的消耗情况调节采样周期,从而有效地减轻IPFIX内存的过快消耗。
优选地,随机数采样规则可设定为:对收到的报文进行编号或计数,当报文的编号或累加的报文个数等于所述随机数时,对当前报文进行采样。例如,仍以上述采样间隔设置为4为例,生成的随机数范围为0~3,那么可对收到的报文进行从0递增编号,首个报文的编号为0,以此类推,若生成的随机数为2,则对编号为2的报文即第三个收到的报文进行采样;又或者对报文进行计数,当累计的报文个数与随机数相等时,对当前报文进行采样。
但是,需要特别注意的是,在设置采样规则时,应尽量避免随机生成值与报文设定值的范围不一致的情况。例如,当采样间隔为4,芯片选择位宽为2的多项式实现随机数的产生,则产生的值范围在0到3之间,仍采用上述报文的编号或累加的报文个数等于所述随机数时进行采样的规则的情况下,那么当报文编号或者报文个数从1开始计数时,由于随机数的最大值为3,则任意窗口内第4个到达的报文都无法参与采样。因此,为了更好的实现随机采样以刻画实际的流轮廓,在设定采样规则时,应特别注意编号或计数的初始值,例如可以设置报文编号从0开始累加,使得编号范围也在0~3之内;或设置报文个数等于随机数+1时进行采样,则实际的随机生成值的范围为1~4,使之符合报文计数的一般规律。其中,随机数+1的运算可在随机数生成器内直接进行,也可在设置采样规则时进行。本领域技术人员应当理解,上述所描述的具体实施例仅用以解释本发明,并不用于限定本发明的保护范围,基于以上思想所做出的等效变化均应当在本发明的保护范围之内。
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
下面通过一典型实施例对本发明的技术方案进行进一步说明,如图1所示,设置采样间隔为4,随机生成值等于随机数+1,由随机数生成器内部运算直接产生,芯片选择当前窗口内的报文累计个数等于随机生成值时对报文进行采样。在第一采样窗口内,首个报文到达时,触发多项式随机数生成器生成随机生成值为3,则首个报文不采样,直到第3个报文到达,报文个数与随机生成值相等,则对其进行采样,并送至IPFIX引擎,IPFIX引擎将当前报文的流描述信息写入IPFIX内存。当第4个报文到达后,报文个数已达到最大窗口大小,说明当前报文已处于采样窗口边缘,当前采样窗口结束,进入第二采样窗口。
在第二采样窗口内,首个报文到达触发多项式随机数生成器生成随机生成值,数值为4,首个报文仍旧不采样,直至第4个报文到达,报文个数与随机生成值相等,对其进行采样,IPFIX引擎将当前报文的流描述信息写入IPFIX内存。同时当前报文个数已达到最大窗口数,当前采样窗口结束,继续进行下一窗口采样,并重复以上随机采样过程,直至芯片结束报文采样。
在如上所述的采样过程中,还包括使用全局寄存器标示采样过程中的一些状态,例如报文个数、随机数、采样间隔即窗口大小,当前窗口是否已有采样以及标记被采样报文等。
图2是本发明一典型实施例提供的随机采样状态机流程图,图中的状态变量说明如下:
PacketCount:用于统计当前报文个数;
RandomValue:第一个报文触发生成的随机数;
SampledInWindow:值为1时表示窗口内已有报文采样;
SampleInterval:采样间隔;
IsSamplePacket:标记用于采样的报文,值为1时表示当前报文被采样。
采样规则为报文个数等于随机生成数时,对报文进行采样,具体采样过程包括:
步骤201,初始化状态变量;
将各状态变量初始化,PacketCount=0,RandomValue=0,SampledInWindow=0,IsSamplePacket=0,SampleInterval为配置的采样间隔值。
步骤202,接收报文,PacketCount加1;
步骤203,判断PacketCount是否等于1,若PacketCount等于1,执行步骤204;否则执行步骤205;
步骤204,根据SampleInterval选择随机多项式,并初始化RandomValue;
多项式随机数生成器根据SampleInterval选择相应位宽的多项式生成随机数,并赋值给RandomValue。根据此流程的采样规则,RandomValue的实际值应优选设定为随机数+1。
步骤205,判断PacketCount是否等于RandomValue,若相等,执行步骤206;否则执行步骤207;
步骤206,IsSamplePacket置为1,标记当前报文为采样报文;SampledInWindow置1,表示窗口内已有报文采样;
步骤207,判断PacketCount是否等于SampleInterval;若相等,执行步骤208;否则执行步骤209;
步骤208,将PacketCount和SampledInWindow清零;
PacketCount等于SampleInterval,报文个数已达到窗口大小,说明报文已经处于采样窗口边缘,即将进入下一个采样窗口,因此,需要对报文计数和窗口报文采样标记清零。
步骤209,判断IsSamplePacket是否为1,若是执行步骤210;否则返回步骤202;
步骤210,IPFIX实现报文采样;
IPFIX引擎对当前报文进行采样,并将报文的流描述信息存到IPFIX内存中。
步骤211,将状态IsSamplePacket清零,返回步骤202。
本发明根据不同的采样间隔,选择对应位宽的多项式,从而实现阈值范围内随机数的产生,并根据产生的随机值指定阈值内所需采样的报文。通过多项式随机数实现在指定大小窗口内对报文进行随机采样,从而达到IPFIX采样更符合实际流轮廓和减小流表消耗的目的。
应当理解,上述实施例仅为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人士能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所作的等效变化或修饰,都应涵盖在本发明的保护范围之内。
Claims (3)
1.一种实现IPFIX随机采样的方法,其特征在于,该方法包括以下步骤:
S1.配置芯片的随机采样间隔,作为采样窗口大小;
S2.在当前采样窗口内,芯片收到首个报文时,触发多项式随机数生成器生成随机数;
S3.芯片根据随机数采样规则选择所需采样的报文,并将所述采样报文发送至IPFIX引擎;
S4.当前采样窗口的最后一个报文到达后,当前采样过程结束,进入下一个采样窗口,返回执行S2步骤;
其中,所述采样间隔配置为2的N次幂,所述多项式随机数生成器根据所述采样间隔的二进制位宽选择随机多项式;所述随机数采样规则包括:对收到的报文进行编号或计数,当报文的编号或累加的报文个数等于所述随机数时,对当前报文进行采样;所述IPFIX引擎用于IP流的监测和记录,根据IPFIX内存的消耗情况调节采样周期;步骤S4中,在进入下一个采样窗口前,对报文计数和窗口报文采样标记清零。
2.根据权利要求1所述的IPFIX随机采样的方法,其特征在于:所述步骤S3之后,还包括IPFIX引擎将所述采样报文的流描述信息写到内存中。
3.根据权利要求1所述的IPFIX随机采样的方法,其特征在于:随机采样过程中使用全局寄存器标示所述采样过程中的部分状态,所述状态至少包括:
当前报文编号或报文个数、当前采样窗口内生成的随机数、窗口内是否已有报文采样、采样间隔和被采样的报文标记。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710970713.4A CN107666417B (zh) | 2017-10-18 | 2017-10-18 | 实现ipfix随机采样的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710970713.4A CN107666417B (zh) | 2017-10-18 | 2017-10-18 | 实现ipfix随机采样的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107666417A CN107666417A (zh) | 2018-02-06 |
CN107666417B true CN107666417B (zh) | 2021-04-30 |
Family
ID=61098393
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710970713.4A Active CN107666417B (zh) | 2017-10-18 | 2017-10-18 | 实现ipfix随机采样的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107666417B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110308998B (zh) * | 2019-07-11 | 2021-09-07 | 中通服创立信息科技有限责任公司 | 一种海量数据的采样方法及装置 |
CN111030939B (zh) * | 2019-12-05 | 2022-08-26 | 苏州盛科通信股份有限公司 | 基于芯片实现ipfix的输出方法及装置 |
CN112422360A (zh) * | 2020-10-14 | 2021-02-26 | 锐捷网络股份有限公司 | 一种报文采样方法、装置、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101841436A (zh) * | 2010-03-02 | 2010-09-22 | 北京星网锐捷网络技术有限公司 | Ipfix服务器性能的测试方法、装置和系统 |
US7941529B2 (en) * | 2008-03-10 | 2011-05-10 | Cisco Technology, Inc. | Periodic exporting of information over a flow protocol |
CN104579810A (zh) * | 2013-10-23 | 2015-04-29 | 中兴通讯股份有限公司 | 软件定义网络流量采样方法和系统 |
CN104904160A (zh) * | 2012-11-09 | 2015-09-09 | 思杰系统有限公司 | 用于数据流的应用流的系统和方法 |
WO2016106592A1 (zh) * | 2014-12-30 | 2016-07-07 | 华为技术有限公司 | 一种特征信息分析方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101159673B (zh) * | 2007-11-01 | 2010-06-23 | 杭州华三通信技术有限公司 | 一种随机抽样方法和装置 |
CN103916289B (zh) * | 2014-03-21 | 2017-04-12 | 烽火通信科技股份有限公司 | Ipfix输出器中的报文筛选装置及方法 |
-
2017
- 2017-10-18 CN CN201710970713.4A patent/CN107666417B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7941529B2 (en) * | 2008-03-10 | 2011-05-10 | Cisco Technology, Inc. | Periodic exporting of information over a flow protocol |
CN101841436A (zh) * | 2010-03-02 | 2010-09-22 | 北京星网锐捷网络技术有限公司 | Ipfix服务器性能的测试方法、装置和系统 |
CN104904160A (zh) * | 2012-11-09 | 2015-09-09 | 思杰系统有限公司 | 用于数据流的应用流的系统和方法 |
CN104579810A (zh) * | 2013-10-23 | 2015-04-29 | 中兴通讯股份有限公司 | 软件定义网络流量采样方法和系统 |
WO2016106592A1 (zh) * | 2014-12-30 | 2016-07-07 | 华为技术有限公司 | 一种特征信息分析方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107666417A (zh) | 2018-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6850902B2 (ja) | ネットワークにおけるトラフィックの異常を検出するための方法および装置 | |
CN107666417B (zh) | 实现ipfix随机采样的方法 | |
WO2021088484A1 (zh) | 一种网络时延检测方法及相关设备 | |
CN108259426B (zh) | 一种DDoS攻击检测方法及设备 | |
EP3823217A1 (en) | Network flow measurement method, network measurement device and control plane device | |
CN107231266A (zh) | 报文通道的检测方法及装置 | |
CN106789697B (zh) | 一种提高大批量网络流表老化效率的方法及装置 | |
US7715317B2 (en) | Flow generation method for internet traffic measurement | |
Hammerschmidt et al. | Efficient learning of communication profiles from ip flow records | |
CN111355670A (zh) | 一种流量识别方法、装置、电子设备及存储介质 | |
CN113364722B (zh) | 网络安全防护方法和装置 | |
CN108024222B (zh) | 流量话单生成方法和装置 | |
CN112019393B (zh) | 一种确定时延的方法及装置 | |
Turkovic et al. | Detecting heavy hitters in the data-plane | |
CN113518017B (zh) | 一种网络状态分析方法、装置、设备及机器可读存储介质 | |
CN106254375B (zh) | 一种无线热点设备的识别方法及装置 | |
CN110995546B (zh) | 报文采样方法及装置 | |
CN111835599B (zh) | 一种基于SketchLearn的混合网络测量方法、装置及介质 | |
CN107995014B (zh) | 基于告警信息发现功能拓扑的方法及装置 | |
CN112272184B (zh) | 一种工业流量检测的方法、装置、设备及介质 | |
CN110225025B (zh) | 异常网络数据行为模型的获取方法、装置、电子设备及存储介质 | |
CN112422360A (zh) | 一种报文采样方法、装置、设备及介质 | |
Henke et al. | Empirical evaluation of hash functions for packetid generation in sampled multipoint measurements | |
CN113810336A (zh) | 一种数据报文加密判定方法、装置及计算机设备 | |
Korzhuk et al. | Reduction of the feature space for the detection of attacks of wireles sensor networks |
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 | ||
CP01 | Change in the name or title of a patent holder |
Address after: 215000 unit 13 / 16, 4th floor, building B, No.5 Xinghan street, Suzhou Industrial Park, Jiangsu Province Patentee after: Suzhou Shengke Communication Co.,Ltd. Address before: 215000 unit 13 / 16, 4th floor, building B, No.5 Xinghan street, Suzhou Industrial Park, Jiangsu Province Patentee before: CENTEC NETWORKS (SU ZHOU) Co.,Ltd. |
|
CP01 | Change in the name or title of a patent holder |