红名单:恶意流量IP,当前IP所属所有流量不进行任何检测,直接阻断
黄名单:恶意流量IP,当前IP所属所有流量不进行TCP重组,但进行单包检测
绿名单:合法流量IP,当前IP所属所有流量不进行TCP重组,但进行单包检测
泊松抽样是随机抽样的一种,由于它不易产生同步问题,可以对周期行为进行精确测量;也不易受其它新加抽样的影响,因此,IPPM 将泊松抽样推荐为网络流量抽样的使用方法。
产生泊松分布抽样间隔步骤:
#include "stdlib.h"
#include <time.h>
double Uniform(double a,double b,long int*seed)
{
double t;
*seed=2045*(*seed)+1;
*seed=*seed-(*seed/1048576)*1048576;
t=(*seed)/1048576.0;
t=a+(b-a)*t;
return(t);
}
double Poisson(double lambda, long nSeed)
{
double u = Uniform(0.0, 1.0, &nSeed);
double fRet = log(u) * (-1) *lambda;
if(fRet < 1.0)
{
return Poisson(lambda, ++nSeed);
}
return fRet;
}
int main(int argc, char* argv[])
{
double fPoint,fSum;
int i,j;
int nLambda = 30;
srand((unsigned)time( NULL ));
fSum = .0;
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
{
fPoint = Poisson(nLambda , rand());
fSum += fPoint;
printf("%-13.7f", fPoint);
}
printf("/n");
}
fSum/=100;
printf("平均值为:%-13.7f/n",fSum);
return 0;
}
网络流量具有两个显著特点: a) 短流的数量远远多于长流的数量; b) 采用相同的抽样概率,短流被抽样的概率远小于长流被抽样的概率。通常情况下,异常攻击流量如 DDoS、端口扫描和蠕虫传播等都是短流形式,所以,为了确保后续异常攻击流量检测的有效性,在设计抽样算法时必须提高短流的抽样精度。
检测到异常流量时,设置自适应抽样的抽样概率为 p1 = 0.2,p2 = 0.1,p3 = 0.01,未检测到异常流量时,设置为固定抽样概率 p = 0.2
令常数 T1、TN 表示两个超时阈值,T1<TN,常数 tg 表示一个时间粒度常量,且 TN-T1是 tg 的整数倍数,如果我们使用超时阈值集合{T1, T1+tg, ......,TN},对同一IP trace 进行网络流识别的话,将会产生一系列的网络流集合,这些网络流集合中的网络流数量,按照其对应超时阈值的顺序进行排列将构成一个数列{FT1, FT1+tg, ......, FTN}。
对于任意一个超时阈值 t,当使用它对某个 IP trace 进行网络流识别时,其生成的所有网络流数量记为 Ft,对于比它大的后一个超时阈值 t+tg,基于相同的 IP trace 生成的所有网络流数量记为 Ft+tg,那么就可以得到超时阈值 t 对应的网络流数量变化率,标记为 CPFNt:
MC:网络流数量变化率集合的平均值
RC:网络流数量变化率平均值MC的四分之三
合理的 TCP 网络流超时阈值不仅需要大于所有的 MC 波动超时阈值,而且需要其所对应的网络流数量变化率小于合理参考值 RC,这样的超时阈值称为合理超时阈值,能够保障 TCP 网络流的完整性。同时,考虑到 TCP 网络流的识别效率问题,则选择合理超时阈值中的最小值作为该 IP trace 网络流量数据的超时阈值,因此:
在当前的网络环境下 64 秒对于网络流识别而言,是一个合理的超时阈值经验值,能够在一定程度上保障网络流的完整性和识别率
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。