一种基于多节点流量回放的网络背景生成系统及方法技术方案

技术编号:19597918 阅读:64 留言:0更新日期:2018-11-28 06:29
本发明专利技术提供一种基于多节点流量回放的网络背景生成方法,通过对流量文件预处理模块,回放网络生成模块和多节点流量回放模块相互调用,共同完成多节点网络流量回放工作;流量文件预处理模块为回放网络生成模块提供输入信息。该模块对流量文件进行分割,生成数据流文件,并对数据流文件进行统计分析,形成统计信息;利用流量文件预处理模块的统计信息,经过回放网络映射,输出构建回放网络拓扑所需的配置文件;根据配置文件生成回放网络,并将分析处理后的数据流文件分发给每个节点;能够在用户只上传流量文件和少量参数的情况下,通过对流量文件的分析以及统计信息的利用,生成虚拟网络拓扑,使用多节点流量回放的方式完成背景流量生成。

【技术实现步骤摘要】
一种基于多节点流量回放的网络背景生成系统及方法
本专利技术涉及方案选取领域,尤其涉及一种基于多节点流量回放的网络背景生成系统及方法。
技术介绍
在网络场景构建过程中,流量回放作为常用方法,是一种利用实验平台生成具备主机间交互能力的网络以及节点,并将预先捕获的数据包文件经过清洗后注入节点,并按照数据包文件原始顺序对其进行重新回放,实现模拟特定网络场景流量交互的技术。目前,流量回放方法按照回放方式主要分为以下两类:一种是基于数学模型生成特定的流量,并在主机之间或主机内的多个网卡之间进行回放;另一种是捕获真实流量并重新回放的方法。对于基于模型生成流量并回放的方案,只单纯考虑流量的基本特征,如数据包大小,持续时间等,并且产生单一类型的网络流量,无法满足流量的自相似性和长相关性特征。此外,对于现有的基于真实流量进行回放的方法,虽然能够保证流量的自相似性和长相关性特征,但是,其回放场景多是在单个主机的多个网卡或两台主机之间,无法满足靶场环境背景流量模拟的规模。
技术实现思路
为了克服上述现有技术中的不足,本专利技术提一种基于多节点流量回放的网络背景生成系统,包括:多节点流量回放调度模块,流量文件预处理模块,回放网络生成模块以及多节点流量回放模块;多节点流量回放调度模块用于在回放过程中对总体回放过程进行全局调度管理,通过对流量文件预处理模块,回放网络生成模块和多节点流量回放模块相互调用,共同完成多节点网络流量回放工作;流量文件预处理模块对流量文件进行分割生成数据流文件,并对数据流文件进行统计分析,生成统计信息;生成的统计信息为回放网络生成模块提供输入信息;回放网络生成模块用于利用流量文件预处理模块的统计信息,经过回放网络映射,输出构建回放网络拓扑所需的配置文件;根据配置文件生成回放网络及流量分配关系文件,并将数据流文件分发给虚拟节点;多节点流量回放模块用于在生成的回放网络中,对齐回放节点时间,构造数据包和发送数据包,完成多节点回放任务。优选地,多节点流量回放调度模块还用于读取用户控制命令,解析命令,获取回放程序开始时间;当用户输入时间早于当前时刻,回放程序默认完成所有初始化工作后立即开始;流量文件预处理模块还用于读取流量文件,并对流量文件进行数据预处理,包括流量清洗,流量分割和信息统计;回放网络生成模块还用于利用流量文件预处理模块生成文件,将数据流统计信息文件作为输入参数,经过映射算法后,得到回放网络拓扑文件,流量分配关系文件;完成回放网络拓扑构建和节点数据流文件下发以及IP映射文件的创建等回放网络生成任务;完成回放节点的初始化工作;多节点流量回放模块还用于当回放节点接收回放过程开始的指令时,每台机器开始自身回放过程;每台机器中对数据包内容进行重构,放入缓冲区中根据相对时间间隔等待发送。优选地,流量文件包含如下信息:时间戳timestamp,协议类型protocol,源IP地址src_ip,源端口号src_port,目的IP地址dst_ip,目的端口号dst_port和数据包内容信息content;根据四元组信息:(src_ip,dst_ip,src_port,dst_port)作为分割规则,对流量文件进行分割操作,得到多个分割的数据流文件;遍历每个数据流文件,统计每个数据流文件大小flow_size,数据包数目packet_number,每个数据包的时间戳timestamp;利用数据流文件中第一个数据包时间戳first_timestamp,最后一个时间戳last_timestamp,计算该数据流文件的持续时间constant_time;利用每个数据包的时间戳,计算每个数据包与第一个数据包间的时间间隔packet_interval。优选地,回放网络生成模块的回放网络映射方式为:进行回放节点的映射工作以及进行网络拓扑的映射工作;进行回放节点的映射工作过程中,预设数据流文件数据包数目,数据流文件大小,数据流文件持续时间,数据包的时间间隔,并将回放速率作为是否映射成功的判断条件;预设数据流文件的持续时间为T,数据包大小为S,平均速率为V,则V=S/T(byte/s)根据每个流文件的信息,计算出每个数据流文件的平均速率,放入集合Vf={Vf1,Vf2,Vf3,…};预先测试不同资源类型的节点的标准速率,在集合V={V1,V2,V3,…};将Vf中的数据与V中的数据进行比较;两者的差为Vr,第i类资源类型的节点中的低速队列为V_lowi,中速队列为V_midi,匹配库队列为V_allowi则若其中,是低速阈值,是映射阈值;遍历完成后,得到不同资源类型的低速和中速队列以及已经分配好的数据流文件和资源类型的对应关系;进行网络拓扑的映射工作过程中,对V_lowi和V_midi中的数据流文件进行合并操作;从V_lowi和V_midi中随机选取两个数据流文件m和n,计算Vmn;Vmn=(Sm+Sn)/(Tm+Tn)若其中,Vi_com是合并速率阈值;对于情况一,继续计算平均数据包时间间隔和平均流大小当两者均满足PS_com时,将该阈值统称为合并准确性阈值,将m,n放入V_allowi;若不满足PS_com,则重新分别读取V_lowi和V_midi中的其它数据流文件进行比较;第二次遍历结束后,剩余的每种资源类型两种队列中的数据流文件都是无法相互合并的文件;进行第三次遍历,此时,V_lowi和V_midi中的每个队列中多个数据流文件需要合并;第三次遍历过程中,对于同一队列中的数据流文件,依据该类型节点中的空闲磁盘大小取相应数目的数据流文件,并对时间间隔进行均值化操作,当时间间隔满足阈值VTi_com时,该阈值称为合并时间间隔阈值,m,n…放入V_allowi;不满足VTi_com,取出平均时间间隔较小的数据流文件,继续比较;当数据流文件数目减少为1个时,不用比较,直接将其分配给该节点;经过上述三轮遍历过程后,输出流量分配关系文件,为如下形式:节点名称node_name,数据流文件名列表flow_list,节点资源类型node_type;完成节点的映射工作后,映射回放网络拓扑;回放网络拓扑映射过程分为两部分,子网中节点的分配过程以及子网间的连通过程;回放网络拓扑中包含多个节点,每个节点都包含数据流文件;将节点的分配问题转换为节点映射过程中的后两个遍历过程;统计属于同一会话过程中两个方向的数据流文件在不同子网中的数目,任何两个子网间的数目满足某个阈值时,该阈值统称为连通阈值,将两个子网间进行连通;否则,子网间没有通路;经过连通过程后,回放网络拓扑映射过程结束;输出两个文件,分别为子网拓扑文件和整体网络拓扑文件;其中,子网拓扑文件中的内容项为如下形式:(节点名称列表node_name_list,子网名称subnet_name)。整体网络拓扑文件中的内容项为如下形式:(子网名称subnet_name,连通子网列表subnet_attach_list)。优选地,回放网络生成模块还用于生成回放网络拓扑,回放网络拓扑文件以及流量分配关系文件;回放网络拓扑文件包括两个子文件,分别是整体网络拓扑文件和子网拓扑文件;整体网络文件包含多个子网和子网间路由器的拓扑结构,子网拓扑文件包含的是每个子网中的节点部署数目信息;流量分配关系文件的内容包含了每个数据流文件本文档来自技高网...

【技术保护点】
1.一种基于多节点流量回放的网络背景生成系统,其特征在于,包括:多节点流量回放调度模块,流量文件预处理模块,回放网络生成模块以及多节点流量回放模块;多节点流量回放调度模块用于在回放过程中对总体回放过程进行全局调度管理,通过对流量文件预处理模块,回放网络生成模块和多节点流量回放模块相互调用,共同完成多节点网络流量回放工作;流量文件预处理模块用于对流量文件进行分割生成数据流文件,并对数据流文件进行统计分析,生成统计信息;生成的统计信息为回放网络生成模块提供输入信息;回放网络生成模块用于利用流量文件预处理模块的统计信息,经过回放网络映射,输出构建回放网络拓扑所需的配置文件;根据配置文件生成回放网络及流量分配关系文件,并将数据流文件分发给虚拟节点;多节点流量回放模块用于在生成的回放网络中,对齐回放节点时间,构造数据包和发送数据包,完成多节点回放任务。

【技术特征摘要】
1.一种基于多节点流量回放的网络背景生成系统,其特征在于,包括:多节点流量回放调度模块,流量文件预处理模块,回放网络生成模块以及多节点流量回放模块;多节点流量回放调度模块用于在回放过程中对总体回放过程进行全局调度管理,通过对流量文件预处理模块,回放网络生成模块和多节点流量回放模块相互调用,共同完成多节点网络流量回放工作;流量文件预处理模块用于对流量文件进行分割生成数据流文件,并对数据流文件进行统计分析,生成统计信息;生成的统计信息为回放网络生成模块提供输入信息;回放网络生成模块用于利用流量文件预处理模块的统计信息,经过回放网络映射,输出构建回放网络拓扑所需的配置文件;根据配置文件生成回放网络及流量分配关系文件,并将数据流文件分发给虚拟节点;多节点流量回放模块用于在生成的回放网络中,对齐回放节点时间,构造数据包和发送数据包,完成多节点回放任务。2.根据权利要求1所述的基于多节点流量回放的网络背景生成系统,其特征在于,多节点流量回放调度模块还用于读取用户控制命令,解析命令,获取回放程序开始时间;当用户输入时间早于当前时刻,回放程序默认完成所有初始化工作后立即开始;流量文件预处理模块还用于读取流量文件,并对流量文件进行数据预处理,包括流量清洗,流量分割和信息统计;回放网络生成模块还用于利用流量文件预处理模块生成文件,将数据流统计信息文件作为输入参数,经过映射算法后,得到回放网络拓扑文件,流量分配关系文件;完成回放网络拓扑构建和节点数据流文件下发以及IP映射文件的创建等回放网络生成任务;完成回放节点的初始化工作;多节点流量回放模块还用于当回放节点接收回放过程开始的指令时,每台机器开始自身回放过程;每台机器中对数据包内容进行重构,放入缓冲区中根据相对时间间隔等待发送。3.根据权利要求1所述的基于多节点流量回放的网络背景生成系统,其特征在于,流量文件包含如下信息:时间戳timestamp,协议类型protocol,源IP地址src_ip,源端口号src_port,目的IP地址dst_ip,目的端口号dst_port和数据包内容信息content;根据四元组信息:(src_ip,dst_ip,src_port,dst_port)作为分割规则,对流量文件进行分割操作,得到多个分割的数据流文件;遍历每个数据流文件,统计每个数据流文件大小flow_size,数据包数目packet_number,每个数据包的时间戳timestamp;利用数据流文件中第一个数据包时间戳first_timestamp,最后一个时间戳last_timestamp,计算该数据流文件的持续时间constant_time;利用每个数据包的时间戳,计算每个数据包与第一个数据包间的时间间隔packet_interval。4.根据权利要求1所述的基于多节点流量回放的网络背景生成系统,其特征在于,回放网络生成模块的回放网络映射方式为:进行回放节点的映射工作以及进行网络拓扑的映射工作;进行回放节点的映射工作过程中,预设数据流文件数据包数目,数据流文件大小,数据流文件持续时间,数据包的时间间隔,并将回放速率作为是否映射成功的判断条件;预设数据流文件的持续时间为T,数据包大小为S,平均速率为V,则V=S/T(byte/s)根据每个流文件的信息,计算出每个数据流文件的平均速率,放入集合Vf={Vf1,Vf2,Vf3,…};预先测试不同资源类型的节点的标准速率,在集合V={V1,V2,V3,…};将Vf中的数据与V中的数据进行比较;两者的差为Vr,第i类资源类型的节点中的低速队列为V_lowi,中速队列为V_midi,匹配库队列为V_allowi则若其中,是低速阈值,是映射阈值;遍历完成后,得到不同资源类型的低速和中速队列以及已经分配好的数据流文件和资源类型的对应关系;进行网络拓扑的映射工作过程中,对V_lowi和V_midi中的数据流文件进行合并操作;从V_lowi和V_midi中随机选取两个数据流文件m和n,计算Vmn;Vmn=(Sm+Sn)/(Tm+Tn)若其中,Vi_com是合并速率阈值;对于情况一,继续计算平均数据包时间间隔和平均流大小当两者均满足PS_com时,将该阈值统称为合并准确性阈值,将m,n放入V_allowi;若不满足PS_com,则重新分别读取V_lowi和V_midi中的其它数据流文件进行比较;第二次遍历结束后,剩余的每种资源类型两种队列中的数据流文件都是无法相互合并的文件;进行第三次遍历,此时,V_lowi和V_midi中的每个队列中多个数据流文件需要合并;第三次遍历过程中,对于同一队列中的数据流文件,依据该类型节点中的空闲磁盘大小取相应数目的数据流文件,并对时间间隔进行均值化操作,当时间间隔满足阈值VTi_com时,该阈值称为合并时间间隔阈值,m,n…放入V_allowi;不满足VTi_com,取出平均时间间隔较小的数据流文件,继续比较;当数据流文件数目减少为1个时,不用比较,直接将其分配给该节点;经过上述三轮遍历过程后,输出流量分配关系文件,为如下形式:节点名称node_name,数据流文件名列表flow_list,节点资源类型node_type;完成节点的映射工作后,映射回放网络拓扑;回放网络拓扑映射过程分为两部分,子网中节点的分配过程以及子网间的连通过程;回放网络拓扑中包含多个节点,每个节点都包含数据流文件;将节点的分配问题转换为节点映射过程中的后两个遍历过程;统计属于同一会话过程中两个方向的数据流文件在不同子网中的数目,任何两个子网间的数目满足某个阈值时,该阈值统称为连通阈值,将两个子网间进行连通;否则,子网间没有通路;经过连通过程后,回放网络拓扑映射过程结束;输出两个文件,分别为子网拓扑文件和整体网络拓扑文件;其中,子网拓扑文件中的内容项为如下形式:(节点名称列表node_name_list,子网名称subnet_name);整体网络拓扑文件中的内容项为如下形式:(子网名称subnet_name,连通子网列表subnet_attach_list)。5.根据权利要求1所述的基于多节点流量回放的网络背景生成系统,其特征在于,回放网络生成模块还用于生成回放网络拓扑,回放网络拓扑文件以及流量分配关系文件;回放网络拓扑文件包括两个子文件,分别是整体网络拓扑文件和子网拓扑文件;整体网络文件包含多个子网和子网间路由器的拓扑结构,子网拓扑文件包含的是每个子网中的节点部署数目信息;流量分配关系文件的内容包含了每个数据流文件与某个子网中的节点间对应关系;解析整体网络拓扑文件,根据整体网络拓扑文件内容,启动回放网络生成程序,生成相应数目的网络和子网,并生成路由器连通多个回放网络;继续解析子网结构文件,启动回放节点生成程序,在上一步创建的网络中生成相应数目的回放节点;解析流量分配关系文件,根据节点名称项将对应的数据流文件发送相应的节点;收集所有节点的IP地址,生成节点IP地址列表,并使用流量分配关系文件,针对每个数据流文件,生成IP地址与原始IP地址的IP映射表文件。6.根据权利要求1所述的基于多节点流量回放的网络背景生成系统,其特征在于,回放网络生成模块中的回放节点的初始化工作包括:对所有节点发送统一对时指令,节点接收命令后执行时间对齐程序;调度程序获取每个数据流文件第一个数据包的时间戳,比较时间早晚,对于最早的时间戳,以最早的时间戳作为回放的起始时间点,并将它发送至所有节点,所有数据包以该起始时间计算数据流文件中数据包的相对时间戳,并将原始时间戳替换;根据节点中数据流文件的数目启动相应数目的线程,并将部分数据包读取发送缓冲区中,等待调度程序的启动命令。7.根据权利要求1所述的基于多节点流量回放的网络背景生成系统,其特征在于,多节点流量回放模块还用于当系统时间没有到达回放开始时间时,程序休眠并再次询问;当系统时间到...

【专利技术属性】
技术研发人员:黄志贤王巍黄俊恒王佰玲刘红日董开坤
申请(专利权)人:哈尔滨工业大学威海
类型:发明
国别省市:山东,37

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

1