一种大规模网络流量建模与并行仿真方法

专利2026-02-06  15


本发明属于计算机网络领域,具体涉及一种大规模网络流量建模与并行仿真方法。


背景技术:

1、随着计算机网络的快速发展,网络规模迅猛扩增,这些网络流量给网络中各个应用所带来的压力快速增加,而对于一些还尚未成熟、还未经测试的应用更是需要流量进行提前进行通信测试,因此能评价通信的设计协议等的流量显得非常重要。但是用于测试的流量往往会因为某些限制会导致数量、种类并不会太多,当需要进行大量复杂流量进行测试评价时流量显然无法达到要求,于是模拟流量生成技术应运而生。该技术能够生成服从现实流量流量分布的模拟流量代替现实流量,并且使用者能够根据自己的需求调整模拟流量生成的种类、速度和数量,适用于各种不同的场合。

2、最初的流量生成模型是基于泊松分布的,这个模型是假设数据包到达的过程符合泊松过程,而这样的流量生成器模型使用概率分布来对流量模式进行建模以此来计算流量,显而易见是不可能完全模拟现实世界复杂的数据包流量的,后来出现的自相似流量建模,比如基于分形布朗运动(fbm)的流量建模,那是一个基于分形布朗运动的聚合无连接流量的抽象模型,还包括分形高斯噪声(fgn)流量建模,他们会因为一些负信号导致并不是很契合真实流量的特征。而分形自回归滑动平均(farima)模型可以同时捕获短程依赖性和长期依赖性,所以可以用它对流量进行建模和预测,但是其计算过程十分复杂。还有基于一个多层感知器神经网络和一个随机误差生成器提出了一种生成自相似流量的新模型,该模型能在随机误差生成器的帮助下,使生成的流量具有与真实流量一样的自相似,但显然其有着当神经网络模型比较简单时不能比较完全地学习到流量特征的缺点。

3、由于互联网的逐渐普及以及网络结构的复杂化,越来越多的领域对于生成流量的需求得到增加,而现有流量生成技术存在以下问题:一是因为随着计算机技术、网络技术和通信技术的不断发展,越来越多的不同协议的流量流入网络,现在的网络流量尤其是骨干网中的流量,其分布变得越来越复杂,而现有的流量生成方案无法快速、有效地处理分布这么复杂的流量,导致其生成效率总是比较低下,无法达到现实流量生成业务的要求;二是因为对于现实流量分布复杂的特点,现有的流量生成方法方案不够合理,无法完全提取学习到现实流量特征的复杂分布,通常只能实现生成分布相对简单的流量,并不能生成能够模拟现实世界中复杂分布的流量数据,所以通过现有流量生成方法生成的流量往往不够合理真实。因此能够生成分布复杂、种类多、更加符合现实分布的模拟流量的方案变得极为重要。


技术实现思路

1、为解决上述技术问题,本发明提供了一种大规模网络流量建模与并行仿真方法,能够以更高的效率处理例如骨干网流量的大规模复杂流量,能够生成分布更加复杂、更符合现实特点的模拟网络流量。

2、本发明采用的技术方案为:一种大规模网络流量建模与并行仿真方法,具体步骤如下:

3、s1、基于libcap设计抓包程序,把抓包程序部署到网关路由器上采集流量数据包的信息,并提取收集得到的流量数据包的头部信息;

4、s2、基于步骤s1得到的头部信息对数据包进行流识别获得tcp流数据;

5、s3、基于步骤s2得到的tcp流数据,选择并提取基于网络的自相似性统计流特征;

6、s4、基于步骤s3统计的流特征,基于minibatch kmeans进行无监督聚类,将特征相关性强的网络流量聚为一类;

7、其中,minibatch kmeans的聚类簇数参数设置为900。

8、s5、对步骤s4聚类后的每一类流量数据进行预处理,然后基于wgan-gp构建流量生成模型,通过多进程将每类流量作为训练数据放入wgan-gp流量生成模型中进行并行训练,得到多个类流量的流量生成模型;

9、s6、基于步骤s5,再次通过多进程让所有训练完的wgan-gp流量生成模型并行生成流量,并将各自生成的流量合并在一起,最终得到分布复杂并且符合现实的模拟网络流量。

10、进一步地,所述步骤s1具体如下:

11、首先基于libcap设计抓包程序,利用libcap中的函数只抓取数据包的头部信息作为采集流量的基础信息,且所述抓包程序只采集数据包头部的信息。

12、然后对抓包程序进行交叉编译后部署到网关路由器上,选择指定的网卡进行监听,持续抓取流量数据包。

13、其中,网关路由器选取为软路由,操作系统为openwrt系统。

14、抓包程序采取得到的数据包数据为二进制形式,则设计一个二进制文件读取程序,将采集下来的数据包数据的二进制文件读取为txt文件。

15、其中,所述txt文件记录采集得到的每个数据包详细的头部信息。

16、进一步地,所述步骤s2具体如下:

17、基于步骤s1采集到的流量数据包,首先根据协议字段分出属于tcp协议和udp协议的数据包,将属于udp协议的数据包丢弃,对属于tcp协议的数据包进行流识别。

18、其中,流识别即根据数据包的头部信息中的ip地址、目的ip地址、源端口、目的端口、协议五个字段对每个包进行分析并识别该包属于的流。

19、然后将(ip地址、目的ip地址、源端口、目的端口)四元组相同或者(目的ip地址、ip地址、目的端口、源端口)四元组相同的包归属于同一条流,对得到的流采用数据结构字典对其进行储存。

20、其中,字典的key是(ip地址、目的ip地址、源端口、目的端口)四元组,value则是用于表示流的自定义类,该自定义类用一个列表来存储该流中所有的数据包,并用其它成员变量和成员函数来统计这条流其它的特征。

21、最后,所述自定义类统计过后,进行流过滤,剔除因特殊情况的只存在一个数据包、没有syn报文、握手失败或者没有正常结束的tcp流,只留下正常、健康的tcp流。

22、进一步地,所述步骤s3具体如下:

23、对原始流量数据进行解析,最终选取52个数据包级别特征作为一条tcp流的最终特征,其中包括:上/下行数据包数量、总数据包数、总数据包大小、上/下行数据包大小、上/下行数据包到达时间间隔q1分位数、上/下行数据包到达时间间隔q3分位数、上/下行数据包到达时间间隔均值、上/下行数据包大小最大值、上/下行数据包大小最小值、上/下行数据包间隔最大值、上/下行数据包间隔最小值、上/下行数据包大小中位数、上/下行数据包大小平均值、上/下行数据包大小众数、上/下行数据包间隔中位数、上/下行数据包间隔平均值、上/下行数据包间隔众数、上/下行数据包大小极差、上/下行数据包大小方差、上/下行数据包间隔极差、上/下行数据包间隔方差、上/下行数据包大小偏度、上/下行数据包大小峰度、上/下行数据包间隔偏度、上/下行数据包间隔峰度、ip地址、目的ip地址、源端口、目的端口。

24、进一步地,所述步骤s5具体如下:

25、所述wgan-gp流量生成模型包括:生成器网络模块、判别器网络模块。

26、其中,生成器网络模块的输入向量维度为32维,输出向量维度为2维,包括4个线性层和3个relu层;判别器网络模块的输入向量维度为2维,输出向量维度为1维,包括4个线性层和3个relu层。

27、将步骤s4聚类后的tcp流数据分别在各自类中进行拆分与计算,将流拆回数据包并得到每一类中的每一个数据包的包大小特征和包间隔时间特征,用包大小特征和包间隔时间特征这两个特征对每个包进行建模,随后对各类中数据包的上述两个特征进行标准化处理。

28、其中,标准化处理后的数据包将用于wgan-gp流量生成模型训练,每一类对应训练一个wgan-gp流量生成模型。

29、标准化处理后的数据包数据按照批量大小为64进行批量处理,批量处理后数据直接作为wgan-gp流量生成模型的训练数据,最后通过多进程对多类数据进行并行训练。

30、在训练过程中,wgan-gp流量生成模型生成长度为32维的标准高斯随机变量作为生成器的输入,使其根据该输入生成一个长度为2维向量,则该向量表示生成的一个数据包,为假样本,然后将生成的假样本和真实数据包一同输入判别器,让判别器对它们进行区分。

31、其中,生成器损失函数表达式如下:

32、lossg=-d(g(z))

33、其中,g(z)表示生成器的输出,即为生成器生成的假样本,d(g(z))表示将生成器的输出作为判别器的输入,从而得到的判别器的输出。

34、判别器的损失函数表达式如下:

35、lossd=d(g(z))-d(x)+weight*gp

36、其中,z表示输入的32维的标准高斯随机变量,x表示真实的数据包数据,gp表示梯度惩罚项,weight表示根据实际情况设置的梯度惩罚项的权重。

37、wgan-gp流量生成模型训练过程中,采取的训练策略具体如下:

38、先固定生成器参数,并将梯度惩罚项的权重设置为0.001,用学习率大小为0.0001的随机梯度下降优化器更新判别器的参数。且判别器每更新5次,就固定判别器的参数并用学习率大小为0.0001的随机梯度下降优化器更新生成器的参数1次,最终判别器训练轮数设置为12000轮次,生成器则是训练2400轮次。

39、wgan-gp流量生成模型训练完成后,画出生成的流量与真实的流量的散点对比图和概率密度对比图来判断模型的生成效果。

40、本发明的有益效果:本发明的方法首先在网关路由器上采集流量数据包信息,并提取收集的流量数据包的头部信息,再对数据包进行流识别获得tcp流数据,基于网络自相似性统计流特征并进行无监督聚类,将相关性强的流聚为一类,将聚类完后的每一类流量数据进行预处理,再通过多进程将每类流量作为训练数据放入wgan-gp流量生成模型中进行训练,得到多个类流量的流量生成模型,并通过多进程让所有训练完的流量生成模型并行生成流量,将各自生成的流量合并,得到分布复杂并且符合现实的模拟网络流量。本发明的方法能够对大规模的网络流量进行处理,高效率处理骨干网流量的大规模复杂流量,生成分布更加复杂、更符合现实特点的模拟网络流量。

41、本发明的方法通过对采集得到的大规模、具有复杂特征的网络流量利用无监督学习方法进行聚类,识别出了具有自相似的流量,降低了流量特征的复杂度,并对每一类特征相对简单的流量进行单独建模,提高流量建模与后续流量生成的准确性。本发明的方法使用wgan-gp流量生成模型对每一类特征相对简单的流量进行训练与生成,它对比于现有模型拥有更好、更稳定的生成效果。而通过多进程实现多模型并行生成则不仅能够提高流量生成的效率,而且能通过控制并行数来控制生成流量的大小与包含的类别,实现流量的灵活生成。


技术特征:

1.一种大规模网络流量建模与并行仿真方法,具体步骤如下:

2.根据权利要求1所述的一种大规模网络流量建模与并行仿真方法,其特征在于,所述步骤s1具体如下:

3.根据权利要求1所述的一种大规模网络流量建模与并行仿真方法,其特征在于,所述步骤s2具体如下:

4.根据权利要求1所述的一种大规模网络流量建模与并行仿真方法,其特征在于,所述步骤s3具体如下:

5.根据权利要求1所述的一种大规模网络流量建模与并行仿真方法,其特征在于,所述步骤s5具体如下:


技术总结
本发明公开了一种大规模网络流量建模与并行仿真方法,首先在网关路由器上采集流量数据包信息,并提取收集的流量数据包的头部信息,再对数据包进行流识别获得TCP流数据,基于网络自相似性统计流特征并进行无监督聚类,将相关性强的流聚为一类,将聚类完后的每一类流量数据进行预处理,再通过多进程将每类流量作为训练数据放入WGAN‑GP流量生成模型中进行训练,得到多个类流量的流量生成模型,并通过多进程让所有训练完的流量生成模型并行生成流量,将各自生成的流量合并,得到分布复杂并且符合现实的模拟网络流量。本发明的方法能够对大规模的网络流量进行处理,高效率处理骨干网流量的大规模复杂流量,生成分布更加复杂、更符合现实特点的模拟网络流量。

技术研发人员:费高雷,郑昊天,胡光岷
受保护的技术使用者:电子科技大学
技术研发日:
技术公布日:2024/12/17
转载请注明原文地址:https://xbbs.6miu.com/read-29460.html