一种基于bloom滤波器的IPv6网络流测量方法技术

技术编号:34916679 阅读:30 留言:0更新日期:2022-09-15 07:07
该发明专利技术公开了一种基于bloom滤波器的IPv6网络流测量方法,属于网络流量估计领域。本发明专利技术能够实现对网络流量测量的误差更低,并且能够不增加甚至减少bloom滤波器的复杂度和存储空间。该方法仅使用bloom滤波器对网络进行低抽样频率的测量,因此可以有效减少bloom滤波器的误判率,然后使用ARIMA预测算法预测得到时序预测的网络流量,然后使用蚁群算法对时序预测的网络测量结果进行优化,因此可以在有限的抽样频率的条件下得到接近实际的网络流测量结果,在流量小,测量数据稀少的场景下也能应用,因而应用范围更加广泛。并且,由于bloom滤波器中存在预测模块,在流量剧烈变化时有良好的回归能力,相比于其他bloom滤波器,更适合流量变化剧烈和具有长期趋势性变化的流量测量。量。量。

【技术实现步骤摘要】
一种基于bloom滤波器的IPv6网络流测量方法


[0001]本专利技术属于网络数据流测量和统计领域,特别是涉及bloom滤波测量IPv6网络流的方法。

技术介绍

[0002]IPv6网络的规模更大、速率更快,对系统计算和存储资源提出了更高的要求,且增加了传统的对流经链路所有数据包进行捕获和测量的难度。抽样技术作为一种可扩展的数据缩减技术,其能够有效保留原始流量行为的细节,提高系统的处理效率和资源利用率。目前,应用较广泛的技术主要有哈希算法、超时策略和概要数据结构,并由此衍生出如流抽样、抽样与哈希结合的测量以及基于bloom滤波器的抽样测量等。其中,bloom滤波器具有简便易实现、资源利用率高以及处理速度快等优点,相比于传统随机抽样,能够判断当前分组报文是否是新流,且空间与时间复杂度都比较低,因此更加适合与网络流抽样。
[0003]但是,使用bloom滤波器的网络测量方法一直存在随着存入元素数量增加,误算率随之增加的问题。而为了对高速、大流量网络流量进行准确的测量,通常需要对网络进行更高频率的测量,从而导致元素数量增加,使得要么bloom滤波器复杂度和存储空间增加,要么使得误算率增加。bloom滤波器也有很多改进算法,主要有Counting bloom滤波器,Compressed bloom滤波器,Spectral bloom滤波器和Dynamic Counting滤波器。最具代表性的如Counting bloom滤波器,解决了删除元素的问题,降低了溢出率,增加了bloom滤波器的准确性。Spectral bloom滤波器,由于其存储类似于多重集结构,所以对于频繁的查询操作来说,可以很好的支持。Stable bloom滤波器大量压缩数据,使得在存储空间上降低要求,特别适用于数据流的重复检测。Dynamic Couting bloom滤波器使用多层Couting bloom滤波器,根据网络流量动态增加层数,减小了因计数器溢出造成的误算率。现有基于bloom滤波器的网络流测量技术大多对网络流进行被动的测量,因此需要高抽样频率以达到更好的测量结果,因此需要在误算率、计算复杂度和空间复杂度三者之间求均衡。少有技术充分利用有限的网络流测量结果对真实的网络流信息进行估计,并且采用主动获取的少量准确信息对估计结果进行修正。
[0004]在IPv6网络中的网络速度快,流量波动剧烈,测量得到的网络流量可以用时间序列表示。所以可以将流量建模成时间序列并发现流量的变化趋势,该建模方法属于时间序列分析领域,自回归积分移动平均(ARIMA)模型是最典型和最常用的时间序列分析模型。而在在对结果进行优化时,可以应用蚁群算法,蚁群算法(AC)是一种用于解决复杂组合优化问题,具有很强的发现好解的能力,具有高度的灵活性和健壮性。

技术实现思路

[0005]现有基于bloom滤波器的网络流测量技术大多对网络流进行被动的测量,少有技术充分利用有限的网络流测量结果对真实的网络流信息进行估计,并且采用主动获取的少量准确信息对估计结果进行修正。而自回归移动平均模型(ARIMA)特别适合用来对网络流
的变化趋势进行预测,并且可以利用蚁群算法(AC)对测量的结果进行优化,可以解决bloom滤波器对高抽样频率测量的依赖性。针对现有技术存在的缺点,本专利技术提出一种基于bloom滤波器的IPv6网络流测量方法,能够实现对网络流量测量的误差更低,并且能够不增加甚至减少bloom滤波器的复杂度和存储空间。该方法仅使用bloom滤波器对网络进行低抽样频率的测量,因此可以有效减少bloom滤波器的误判率,然后使用ARIMA预测算法预测得到时序预测的网络流量,然后使用蚁群算法对时序预测的网络测量结果进行优化,因此可以在有限的测量频率的条件下得到接近实际的网络流测量结果。
[0006]本专利技术技术方案为一种基于bloom滤波器的IPv6网络流测量方法,具体步骤如下:
[0007]步骤1:bloom滤波器初始化;
[0008]使用bloom滤波器,设置三层位向量,随机设置不同的位向量的动态装载因子上限;
[0009]步骤2:三层的位向量交替地测量网络流;
[0010]运用两层位向量同时对网络流展开测量,对两层位向量所得到的判定结果取交集,当一个位向量的装载数量达到上限时,随即进行初始化,由原本的另一个位向量和一个新的位向量开始工作,循环交替工作,得到的网络流测量结果;
[0011]步骤3:构建流量矩阵,利用步骤2中得到的网络流测量结果,预测出流量矩阵中每个流的网络流测量结果;具体过程如下:
[0012]步骤3.1:设置流的数量M和测量流量矩阵X,并对流量矩阵的第1到M个流依次进行如下操作;
[0013]当时间序列x(t)满足
[0014]E(x(t))=E(x(t

t

))=μ
ꢀꢀꢀ
(1)
[0015]E(x(t)

μ)2=E(x(t

t

)

μ)2=σ2ꢀꢀꢀ
(2)
[0016]cov(x(t),x(t

t

))=cov(x(t

j),x(t

j

t

))=γ
ꢀꢀꢀ
(3)
[0017]其中,x(t)表示时间序列,E(
·
)表示期望函数,cov(
·
)表示协方差函数,μ为时间序列的平均值,σ2为时间序列的方差,t

表示采样序列中上一个采样时刻,j为采样时隙的滑动间隔,γ为时间序列与时间间隔有关的自相关函数;对时间序列进行差分操作,循环计算直到时间序列x(t)不再满足(1),(2)和(3);
[0018]步骤3.2:对不平滑的时间序列要进行差分计算得到d,利用信息量准则AIC和贝叶斯信息量准则BIC确定参数,,确定参数p,q=argv(min(AIC),min(BIC))。
[0019]其中,
[0020]BIC=AIC+(log(L)

2)(p+q+1)
[0021]其中,L表示滞后算子;回归模型的残差平方和;p表示自回归项数;q表示滑动平均项数;d表示稳序列所做的差分次数。对ARIMA(p,d,q)模型进行拟合,ARIMA(p,d,q)模型为
[0022][0023]其中,L表示滞后算子;p表示滞后阶数;q表示移动平均项数;φ,θ分别表示循环迭代更新步长;利用循环迭代的方法拟合ARIMA(p,d,q)模型,如果服从高斯分布的随机误差u
(t)的期望E(u(t))=0,并且方差D(u(t))满足要求,则跳出循环,否则更新参数φ,θ,继续循环;得到预测流量x(t);
[0024]步骤4:使用基于拉取的方法发送请求消息来获取网络中的链路负载,基于误差最小化构造目标函数,并求解该目标本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于bloom滤波器的IPv6网络流测量方法,具体步骤如下:步骤1:bloom滤波器初始化;使用bloom滤波器,设置三层位向量,随机设置不同的位向量的动态装载因子上限;步骤2:三层的位向量交替地测量网络流;运用两层位向量同时对网络流展开测量,对两层位向量所得到的判定结果取交集,当一个位向量的装载数量达到上限时,随即进行初始化,由原本的另一个位向量和一个新的位向量开始工作,循环交替工作,得到的网络流测量结果;步骤3:构建流量矩阵,利用步骤2中得到的网络流测量结果,预测出流量矩阵中每个流的网络流测量结果;具体过程如下:步骤3.1:设置流的数量M和测量流量矩阵X,并对流量矩阵的第1到M个流依次进行如下操作;当时间序列x(t)满足E(x(t))=E(x(t

t

))=μ
ꢀꢀꢀꢀ
(1)E(x(t)

μ)2=E(x(t

t

)

μ)2=σ2ꢀꢀꢀꢀ
(2)cov(x(t),x(t

t

))=cov(x(t

j),x(t

j

t

))=γ
ꢀꢀꢀꢀ
(3)其中,x(t)表示时间序列,E(
·
)表示期望函数,cov(
·
)表示协方差函数,μ为时间序列的平均值,σ2为时间序列的方差,t

表示采样序列中上一个采样时刻,j为采样时隙的滑动间隔,γ为时间序列与时间间隔有关的自相关函数;对时间序列进行差分操作,循环计算直到时间序列x(t)不再满足(1),(2)和(3);步骤3.2:对不平滑的时间序列要进行差分计算得到d,利用信息量准则AIC和贝叶斯信息量准则BIC确定参数,,确定参数p,q=argv(min(AIC),min(BIC));其中,BIC=AIC+(log(L)

2)(p+q+1)其中,L表示滞后算子;回归模型的残差平方和;p表示自回归项数;q表示滑动平均项数;d表示稳序列所做的差分次数;对ARIMA(p,d,q)模型进行拟合,ARIMA(p,d,q)模型为其中,L表示滞后算子;p表示滞后阶数;q表示移动平均项数;φ,θ分别表示循环迭代更新步长;利用循环迭代的方法拟合ARIMA(p,d,q)模型,如果服从高斯分布的随机误差u(t)的期望E(u(t))=0,并且方差D(u(t))满足要求,则跳出循环,否则更新参数φ,θ,继续循环;得到预测流量x(t);步骤4:使用基于拉取的方法发送请求消息来获取网络中的链路负载,基于误差最小化构造目标函数,并求解该目标函数,使用得到的解对步骤3的估计结果进行修正,就可得到接近实际流量的测量结果。2.如权利要求1所述的一种基于bloom滤波器的IPv6网络流测量方法,其特征在于,所述步骤1中bloom滤波器,设计为三层位向量,其中任意2层位向量为工作状态;另一层位向量为等待状态,随机设置bloom滤波器中不同的位向量的动态装载因子上限,使用hash函数选择处于工作状态的位向量,通过对测量值进行量化,并利用流量之间的相关性计算获得
流量值,初始化具体过程如下:各位向量分别在一定范围内随机生成装载因子上限,B1,B2,B3,设置哈希函数数量k,位向量的长度m;初始化位向量A1,A2,A3,初始化n=n1=n2=0。3.如权利要求1所述的一种基于bloom滤波器的IPv6网络流测量方法,其特征在于,所述步骤2三层位向...

【专利技术属性】
技术研发人员:蒋定德陈建光王志浩霍留伟余知航
申请(专利权)人:电子科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1