CN108900360B - 一种基于多节点流量回放的网络背景生成系统及方法 - Google Patents

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

Info

Publication number
CN108900360B
CN108900360B CN201810908825.1A CN201810908825A CN108900360B CN 108900360 B CN108900360 B CN 108900360B CN 201810908825 A CN201810908825 A CN 201810908825A CN 108900360 B CN108900360 B CN 108900360B
Authority
CN
China
Prior art keywords
file
playback
node
flow
data stream
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
Application number
CN201810908825.1A
Other languages
English (en)
Other versions
CN108900360A (zh
Inventor
刘红日
王巍
王佰玲
黄志贤
董开坤
黄俊恒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Harbin Institute of Technology Weihai
Original Assignee
Harbin Institute of Technology Weihai
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Harbin Institute of Technology Weihai filed Critical Harbin Institute of Technology Weihai
Priority to CN201810908825.1A priority Critical patent/CN108900360B/zh
Publication of CN108900360A publication Critical patent/CN108900360A/zh
Application granted granted Critical
Publication of CN108900360B publication Critical patent/CN108900360B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/142Network analysis or design using statistical or mathematical methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0894Packet rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Environmental & Geological Engineering (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

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

Description

一种基于多节点流量回放的网络背景生成系统及方法
技术领域
本发明涉及方案选取领域,尤其涉及一种基于多节点流量回放的网络背景生成系统及方法。
背景技术
在网络场景构建过程中,流量回放作为常用方法,是一种利用实验平台生成具备主机间交互能力的网络以及节点,并将预先捕获的数据包文件经过清洗后注入节点,并按照数据包文件原始顺序对其进行重新回放,实现模拟特定网络场景流量交互的技术。目前,流量回放方法按照回放方式主要分为以下两类:一种是基于数学模型生成特定的流量,并在主机之间或主机内的多个网卡之间进行回放;另一种是捕获真实流量并重新回放的方法。对于基于模型生成流量并回放的方案,只单纯考虑流量的基本特征,如数据包大小,持续时间等,并且产生单一类型的网络流量,无法满足流量的自相似性和长相关性特征。此外,对于现有的基于真实流量进行回放的方法,虽然能够保证流量的自相似性和长相关性特征,但是,其回放场景多是在单个主机的多个网卡或两台主机之间,无法满足靶场环境背景流量模拟的规模。
发明内容
为了克服上述现有技术中的不足,本发明提一种基于多节点流量回放的网络背景生成系统,包括:多节点流量回放调度模块,流量文件预处理模块,回放网络生成模块以及多节点流量回放模块;
多节点流量回放调度模块用于在回放过程中对总体回放过程进行全局调度管理,通过对流量文件预处理模块,回放网络生成模块和多节点流量回放模块相互调用,共同完成多节点网络流量回放工作;
流量文件预处理模块对流量文件进行分割生成数据流文件,并对数据流文件进行统计分析,生成统计信息;生成的统计信息为回放网络生成模块提供输入信息;
回放网络生成模块用于利用流量文件预处理模块的统计信息,经过回放网络映射,输出构建回放网络拓扑所需的配置文件;根据配置文件生成回放网络及流量分配关系文件,并将数据流文件分发给虚拟节点;
多节点流量回放模块用于在生成的回放网络中,对齐回放节点时间,构造数据包和发送数据包,完成多节点回放任务。
优选地,多节点流量回放调度模块还用于读取用户控制命令,解析命令,获取回放程序开始时间;当用户输入时间早于当前时刻,回放程序默认完成所有初始化工作后立即开始;
流量文件预处理模块还用于读取流量文件,并对流量文件进行数据预处理,包括流量清洗,流量分割和信息统计;
回放网络生成模块还用于利用流量文件预处理模块生成文件,将数据流统计信息文件作为输入参数,经过映射算法后,得到回放网络拓扑文件,流量分配关系文件;完成回放网络拓扑构建和节点数据流文件下发以及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
Figure BDA0001761254630000031
其中,
Figure BDA0001761254630000032
是低速阈值,
Figure BDA0001761254630000033
是映射阈值;遍历完成后,得到不同资源类型的低速和中速队列以及已经分配好的数据流文件和资源类型的对应关系;
进行网络拓扑的映射工作过程中,对V_lowi和V_midi中的数据流文件进行合并操作;从V_lowi和V_midi中随机选取两个数据流文件m和n,计算Vmn;
Vmn=(Sm+Sn)/(Tm+Tn)
Figure BDA0001761254630000041
其中,Vi_com是合并速率阈值;
对于情况一,继续计算平均数据包时间间隔
Figure BDA0001761254630000042
和平均流大小
Figure BDA0001761254630000043
当两者均满足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)。
优选地,回放网络生成模块还用于生成回放网络拓扑,回放网络拓扑文件以及流量分配关系文件;
回放网络拓扑文件包括两个子文件,分别是整体网络拓扑文件和子网拓扑文件;整体网络文件包含多个子网和子网间路由器的拓扑结构,子网拓扑文件包含的是每个子网中的节点部署数目信息;流量分配关系文件的内容包含了每个数据流文件与某个子网中的节点间对应关系;
解析整体网络拓扑文件,根据整体网络拓扑文件内容,启动回放网络生成程序,生成相应数目的网络和子网,并生成路由器连通多个回放网络;继续解析子网结构文件,启动回放节点生成程序,在上一步创建的网络中生成相应数目的回放节点;
解析流量分配关系文件,根据节点名称项将对应的数据流文件发送相应的节点;
收集所有节点的IP地址,生成节点IP地址列表,并使用流量分配关系文件,针对每个数据流文件,生成IP地址与原始IP地址的IP映射表文件。
优选地,回放网络生成模块中的回放节点的初始化工作包括:对所有节点发送统一对时指令,节点接收命令后执行时间对齐程序;调度程序获取每个数据流文件第一个数据包的时间戳,比较时间早晚,对于最早的时间戳,以最早的时间戳作为回放的起始时间点,并将它发送至所有节点,所有数据包以该起始时间计算数据流文件中数据包的相对时间戳,并将原始时间戳替换;根据节点中数据流文件的数目启动相应数目的线程,并将部分数据包读取发送缓冲区中,等待调度程序的启动命令。
优选地,多节点流量回放模块还用于当系统时间没有到达回放开始时间时,程序休眠并再次询问;当系统时间到达回放时间时,调度程序发送回放开始指令;所有节点接收指令后,启动计时器;每个线程中循环获取当前计时器时间并与数据流统计信息文件中的数据包相对时间戳进行比较,当计时器时间满足发送数据包中的相对时间戳时,将原始数据包重新替换源IP地址和目的IP地址,源IP为回放节点IP地址,目的IP为IP映射文件中指定的目的IP地址;将原始数据包作为数据包内容,重新计算校验和后发送到目的节点,并将数据包信息和数据包发送结果记录到日志文件中返回给用户;当缓冲区中的数据包数目少于缓冲区容量的一半时,继续读取后续的数据包填充发送缓冲区;当数据包文件内容都被读取后,程序跳出循环,同时将回放结果统计信息写入日志文件。
一种基于多节点流量回放的网络背景生成方法,方法包括:
步骤一,多节点流量回放调度模块在回放过程中对总体回放过程进行全局调度管理,通过对流量文件预处理模块,回放网络生成模块和多节点流量回放模块相互调用,共同完成多节点网络流量回放工作;
步骤二,流量文件预处理模块对流量文件进行分割生成数据流文件,并对数据流文件进行统计分析,生成统计信息;生成的统计信息为回放网络生成模块提供输入信息;
步骤三,利回放网络生成模块利用流量文件预处理模块的统计信息,经过回放网络映射,输出构建回放网络拓扑所需的配置文件;根据配置文件生成回放网络及流量分配关系文件,并将数据流文件分发给虚拟节点;
步骤四,多节点流量回放模块在生成的回放网络中,对齐回放节点时间,构造数据包和发送数据包,完成多节点回放任务。
优选地,步骤一还包括:读取用户控制命令,解析命令,获取回放程序开始时间;当用户输入时间早于当前时刻,回放程序默认完成所有初始化工作后立即开始;
步骤二还包括:读取流量文件,并对流量文件进行数据预处理,包括流量清洗,流量分割和信息统计;
步骤三还包括:利用流量文件预处理模块生成文件,将数据流统计信息文件作为输入参数,经过映射算法后,得到回放网络拓扑文件,流量分配关系文件;完成回放网络拓扑构建和节点数据流文件下发以及IP映射文件的创建等回放网络生成任务;完成回放节点的初始化工作;
步骤四还包括:当回放节点接收回放过程开始的指令时,每台机器开始自身回放过程;每台机器中对数据包内容进行重构,放入缓冲区中根据相对时间间隔等待发送。
优选地,步骤三中的回放网络映射方式为:进行回放节点的映射工作以及进行网络拓扑的映射工作;
进行回放节点的映射工作过程中,预设数据流文件数据包数目,数据流文件大小,数据流文件持续时间,数据包的时间间隔,并将回放速率作为是否映射成功的判断条件;
预设数据流文件的持续时间为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
Figure BDA0001761254630000081
其中,
Figure BDA0001761254630000082
是低速阈值,
Figure BDA0001761254630000083
是映射阈值;遍历完成后,得到不同资源类型的低速和中速队列以及已经分配好的数据流文件和资源类型的对应关系;
进行网络拓扑的映射工作过程中,对V_lowi和V_midi中的数据流文件进行合并操作;从V_lowi和V_midi中随机选取两个数据流文件m和n,计算Vmn;
Vmn=(Sm+Sn)/(Tm+Tn)
Figure BDA0001761254630000084
其中,Vi_com是合并速率阈值;
对于情况一,继续计算平均数据包时间间隔
Figure BDA0001761254630000085
和平均流大小
Figure BDA0001761254630000086
当两者均满足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)。
优选地,步骤三还包括:生成回放网络拓扑,回放网络拓扑文件以及流量分配关系文件;
回放网络拓扑文件包括两个子文件,分别是整体网络拓扑文件和子网拓扑文件;整体网络文件包含多个子网和子网间路由器的拓扑结构,子网拓扑文件包含的是每个子网中的节点部署数目信息;流量分配关系文件的内容包含了每个数据流文件与某个子网中的节点间对应关系;
解析整体网络拓扑文件,根据整体网络拓扑文件内容,启动回放网络生成程序,生成相应数目的网络和子网,并生成路由器连通多个回放网络;继续解析子网结构文件,启动回放节点生成程序,在上一步创建的网络中生成相应数目的回放节点;
解析流量分配关系文件,根据节点名称项将对应的数据流文件发送相应的节点;
收集所有节点的IP地址,生成节点IP地址列表,并使用流量分配关系文件,针对每个数据流文件,生成IP地址与原始IP地址的IP映射表文件;
步骤三中的回放节点的初始化工作包括:对所有节点发送统一对时指令,节点接收命令后执行时间对齐程序;调度程序获取每个数据流文件第一个数据包的时间戳,比较时间早晚,对于最早的时间戳,以最早的时间戳作为回放的起始时间点,并将它发送至所有节点,所有数据包以该起始时间计算数据流文件中数据包的相对时间戳,并将原始时间戳替换;根据节点中数据流文件的数目启动相应数目的线程,并将部分数据包读取发送缓冲区中,等待调度程序的启动命令;
步骤四还包括:当系统时间没有到达回放开始时间时,程序休眠并再次询问;当系统时间到达回放时间时,调度程序发送回放开始指令;所有节点接收指令后,启动计时器;每个线程中循环获取当前计时器时间并与数据流统计信息文件中的数据包相对时间戳进行比较,当计时器时间满足发送数据包中的相对时间戳时,将原始数据包重新替换源IP地址和目的IP地址,源IP为回放节点IP地址,目的IP为IP映射文件中指定的目的IP地址;将原始数据包作为数据包内容,重新计算校验和后发送到目的节点,并将数据包信息和数据包发送结果记录到日志文件中返回给用户;当缓冲区中的数据包数目少于缓冲区容量的一半时,继续读取后续的数据包填充发送缓冲区;当数据包文件内容都被读取后,程序跳出循环,同时将回放结果统计信息写入日志文件。
从以上技术方案可以看出,本发明具有以下优点:
本发明能够在用户只上传流量文件和少量参数的情况下,通过分析流量文件,获取一系列统计信息。并经过回放网络映射模型处理后,得到回放网络拓扑配置文件,从而生成回放网络拓扑和回放节点,并在该拓扑中进行多节点的流量回放过程。本发明针对不同领域可在不同场景中应用,如在网络安全领域下,可用于网络攻防实验环境构建;在性能测试领域,可用于网络硬件设备性能测试和网络软件的压力测试;在人类动力学研究领域,可用于群体用户网络行为研究等等。
附图说明
为了更清楚地说明本发明的技术方案,下面将对描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为基于多节点流量回放的网络背景生成系统示意图;
图2为基于多节点流量回放的网络背景生成方法流程图;
图3为基于多节点流量回放的网络背景生成方法实施例流程图。
具体实施方式
本发明提供一种基于融合思想的实体多准则综合排序方法,如图1所示,包括:多节点流量回放调度模块1,流量文件预处理模块2,回放网络生成模块3以及多节点流量回放模块4;多节点流量回放调度模块1用于在回放过程中对总体回放过程进行全局调度管理,通过对流量文件预处理模块2,回放网络生成模块3和多节点流量回放模块4相互调用,共同完成多节点网络流量回放工作;
流量文件预处理模块2对流量文件进行分割生成数据流文件,并对数据流文件进行统计分析,生成统计信息;生成的统计信息为回放网络生成模块提供输入信息;
回放网络生成模块3用于利用流量文件预处理模块的统计信息,经过回放网络映射,输出构建回放网络拓扑所需的配置文件;根据配置文件生成回放网络及流量分配关系文件,并将数据流文件分发给虚拟节点;
多节点流量回放模块4用于在生成的回放网络中,对齐回放节点时间,构造数据包和发送数据包,完成多节点回放任务。
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将运用具体的实施例及附图,对本发明保护的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本专利中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本专利保护的范围。
本发明提供的实施例中,多节点流量回放调度模块1还用于读取用户控制命令,解析命令,获取回放程序开始时间;当用户输入时间早于当前时刻,回放程序默认完成所有初始化工作后立即开始;
流量文件预处理模块2还用于读取流量文件,并对流量文件进行数据预处理,包括流量清洗,流量分割和信息统计;将数据流统计信息文件作为输入参数,经过映射算法后,得到回放网络拓扑文件,流量分配关系文件;
回放网络生成模块还用于利用流量文件预处理模块生成文件,将数据流统计信息文件作为输入参数,经过映射算法后,得到回放网络拓扑文件,流量分配关系文件;完成回放网络拓扑构建和节点数据流文件下发以及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。
回放网络生成模块3的回放网络映射方式为:进行回放节点的映射工作以及进行网络拓扑的映射工作;进行回放节点的映射工作过程中,预设数据流文件数据包数目,数据流文件大小,数据流文件持续时间,数据包的时间间隔,并将回放速率作为是否映射成功的判断条件;
预设数据流文件的持续时间为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
Figure BDA0001761254630000141
其中,
Figure BDA0001761254630000142
是低速阈值,
Figure BDA0001761254630000143
是映射阈值;遍历完成后,得到不同资源类型的低速和中速队列以及已经分配好的数据流文件和资源类型的对应关系;
进行网络拓扑的映射工作过程中,对V_lowi和V_midi中的数据流文件进行合并操作;从V_lowi和V_midi中随机选取两个数据流文件m和n,计算Vmn;
Vmn=(Sm+Sn)/(Tm+Tn)
Figure BDA0001761254630000144
其中,Vi_com是合并速率阈值;
对于情况一,继续计算平均数据包时间间隔
Figure BDA0001761254630000145
和平均流大小
Figure BDA0001761254630000146
当两者均满足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)。
本发明提供的实施例中,回放网络生成模块3还用于生成回放网络拓扑,回放网络拓扑文件以及流量分配关系文件;回放网络拓扑文件包括两个子文件,分别是整体网络拓扑文件和子网拓扑文件;整体网络文件包含多个子网和子网间路由器的拓扑结构,子网拓扑文件包含的是每个子网中的节点部署数目信息;流量分配关系文件的内容包含了每个数据流文件与某个子网中的节点间对应关系;解析整体网络拓扑文件,根据整体网络拓扑文件内容,启动回放网络生成程序,生成相应数目的网络和子网,并生成路由器连通多个回放网络;继续解析子网结构文件,启动回放节点生成程序,在上一步创建的网络中生成相应数目的回放节点;解析流量分配关系文件,根据节点名称项将对应的数据流文件发送相应的节点;收集所有节点的IP地址,生成节点IP地址列表,并使用流量分配关系文件,针对每个数据流文件,生成IP地址与原始IP地址的IP映射表文件。
本发明提供的实施例中,回放网络生成模块3中的回放节点的初始化工作包括:对所有节点发送统一对时指令,节点接收命令后执行时间对齐程序;调度程序获取每个数据流文件第一个数据包的时间戳,比较时间早晚,对于最早的时间戳,以最早的时间戳作为回放的起始时间点,并将它发送至所有节点,所有数据包以该起始时间计算数据流文件中数据包的相对时间戳,并将原始时间戳替换;根据节点中数据流文件的数目启动相应数目的线程,并将部分数据包读取发送缓冲区中,等待调度程序的启动命令。
多节点流量回放模块4还用于当系统时间没有到达回放开始时间时,程序休眠并再次询问;当系统时间到达回放时间时,调度程序发送回放开始指令;所有节点接收指令后,启动计时器;每个线程中循环获取当前计时器时间并与数据流统计信息文件中的数据包相对时间戳进行比较,当计时器时间满足发送数据包中的相对时间戳时,将原始数据包重新替换源IP地址和目的IP地址,源IP为回放节点IP地址,目的IP为IP映射文件中指定的目的IP地址;将原始数据包作为数据包内容,重新计算校验和后发送到目的节点,并将数据包信息和数据包发送结果记录到日志文件中返回给用户;当缓冲区中的数据包数目少于缓冲区容量的一半时,继续读取后续的数据包填充发送缓冲区;当数据包文件内容都被读取后,程序跳出循环,同时将回放结果统计信息写入日志文件。
为了进一步说明本发明涉及的技术方案下面以具体的实施例进行说明:
某网络靶场实验利用Openstack云计算平台需要使用50G流量,生成多节点网络拓扑,并进行使用流量进行背景流量模拟。
步骤一,用户输入控制命令参数,格式为<command,start_time>,并且将50G流量,名称为replay_traffic,通过ftp方式上传到流量回放调度服务器中。
步骤二,流量回放调度服务器中的调度程序从上传路径读取replay_traffic,调用第三方数据包解析程序pkt2flow使用四元组(src_ip,dst_ip,src_port,dst_port)对其流量文件进行分流,分割数据流文件命名格式是四元组信息,如10.245.14.3_56.142.32.3_2345_1342.pcap,将每个数据流文件放入另一路径中,程序继续遍历每个流文件,以如下信息作为文件内容项:(flow_name,packet_number,flow_size,constant_time,first_timestamp,last_timestamp)生成数据流统计信息文件。
步骤三,调度程序调用回放网络映射算法,以数据流统计信息文件作为输入,经过映射算法后,程序输出回放网络拓扑文件,流量分配关系文件。
步骤四,调度程序调用程序读取回放网络拓扑文件,利用生成虚拟网络脚本文件,在Openstack云平台中,自动化创建回放网络和路由器。创建成功后,继续调用程序读取流量分配关系文件,同样利用虚拟节点生成脚本文件,在指定网络中创建特定数目的回放节点。读取所有生成节点IP地址信息和数据流统计信息文件,生成IP地址映射文件。节点创建完成后,调度程序读取数据流统计信息文件和IP地址映射文件,将数据流文件和相应的IP地址映射规则下发给回放节点。
步骤五,流量回放调度程序首先完成系统时间校准工作,调度程序读取数据流统计信息文件,获取第一个数据包的时间戳,通过比较得出最早时间戳,利用该时间戳修改每个数据流文件数据包的时间戳为相对时间戳,如某数据包中的时间戳是16:24:23.234143,timestamp是16:23:21.012297,则相对时间戳为0:1:2.221846。最后,根据回放节点中数据流文件的数目启动相应数目的线程thread1,thread2…,且按照时间戳顺序将数据流文件中的数据包读入数据包发送缓冲区中,完成回放节点的初始化工作。
步骤六,当节点系统时间到达流量回放的开始时间时,回放程序启动计时器。每个线程循环读取计时器,当计时器时间满足相对时间戳时,将原始数据包重新替换源IP地址和目的IP地址,其中,源IP为回放节点IP地址,目的IP为IP映射文件中指定的目的IP地址。将原始数据包作为数据包内容,重新计算校验和后发送到目的节点,并将数据包信息和数据包发送结果记录到日志文件中。当所有数据流文件都发送完成时,程序跳出循环并发送回放结束指示信息。
步骤七,调度程序循环监听所有节点的回放状态,当所有节点都完成回放操作时,调度程序将返回“用户流量回放过程成功结束”提示信息,跳出循环程序。当程序回放过程中出现问题时,调度程序暂停当前机器的回放过程,并将错误信息返回给用户,跳出循环程序。
本发明还提供一种基于多节点流量回放的网络背景生成方法,如图2和图3所示,方法包括:
步骤一,多节点流量回放调度模块在回放过程中对总体回放过程进行全局调度管理,通过对流量文件预处理模块,回放网络生成模块和多节点流量回放模块相互调用,共同完成多节点网络流量回放工作;
步骤二,流量文件预处理模块对流量文件进行分割生成数据流文件,并对数据流文件进行统计分析,生成统计信息;生成的统计信息为回放网络生成模块提供输入信息;
步骤三,利回放网络生成模块利用流量文件预处理模块的统计信息,经过回放网络映射,输出构建回放网络拓扑所需的配置文件;根据配置文件生成回放网络及流量分配关系文件,并将数据流文件分发给虚拟节点;
步骤四,多节点流量回放模块在生成的回放网络中,对齐回放节点时间,构造数据包和发送数据包,完成多节点回放任务。
本发明提供的方法中,回放调度程序读取用户控制命令,解析命令,获取回放程序开始时间。当用户输入时间早于当前时刻,回放程序默认完成所有初始化工作后立即开始。
回放调度程序读取流量文件,并对流量文件进行数据预处理,包括流量清洗,流量分割和信息统计。
将数据流统计信息文件作为输入参数,经过映射算法后,得到回放网络拓扑文件,流量分配关系文件。
利用步骤三生成的三个文件,完成回放网络拓扑构建和节点数据流文件下发以及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。最后,对于每个数据流文件,以如下形式:
(flow_name,flow_size,packet_number,first_timestamp,last_timestamp,constant_time)
将信息写入数据流统计信息库中。另外,将数据流文件中的第一个时间戳first_timestamp和时间间隔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则若
Figure BDA0001761254630000211
其中,
Figure BDA0001761254630000212
是低速阈值,
Figure BDA0001761254630000213
是映射阈值。遍历完成后,可以得到不同资源类型的低速和中速队列以及已经分配好的数据流文件和资源类型的对应关系。
第二次遍历过程中,需要对V_lowi和V_midi中的数据流文件进行合并操作。首先,从上述两种队列中随机选取两个数据流文件m和n,计算Vmn
Vmn=(Sm+Sn)/(Tm+Tn)
Figure BDA0001761254630000214
其中,Vi_com是合并速率阈值。对于情况一,需要继续计算平均数据包时间间隔
Figure BDA0001761254630000215
和平均流大小
Figure BDA0001761254630000216
当两者均满足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个时,不用比较,直接将其分配给该节点。
经过上述3轮遍历过程后,输出流量分配关系文件,为如下形式:
(节点名称node_name,数据流文件名列表flow_list,节点资源类型node_type)
完成节点的映射工作后,还需要映射回放网络拓扑。回放网络拓扑映射过程分为两部分,子网中节点的分配过程以及子网间的连通过程。回放网络拓扑中包含多个节点,而每个节点都包含数据流文件。那么,可以将节点的分配问题转换为节点映射过程中的后两个遍历过程。因此,回放网络拓扑的映射过程主要关注点在子网间的连通问题。
首先,统计属于同一会话过程中两个方向的数据流文件在不同子网中的数目,任何两个子网间的数目满足某个阈值时,该阈值统称为连通阈值,将两个子网间进行连通。否则,子网间没有通路。经过连通过程后,回放网络拓扑映射过程结束。输出两个文件,分别为子网拓扑文件和整体网络拓扑文件。其中,子网拓扑文件中的内容项为如下形式:
(节点名称列表node_name_list,子网名称subnet_name)。
整体网络拓扑文件中的内容项为如下形式:
(子网名称subnet_name,连通子网列表subnet_attach_list)
回放网络拓扑生成方式需要两种文件作为输入,分别是回放网络拓扑文件,流量分配关系文件两种,下面对两种文件中的内容进行详细说明。
回放网络拓扑文件包括两个子文件,分别是整体网络拓扑文件和子网拓扑文件。整体网络文件包含多个子网和子网间路由器的拓扑结构,而子网拓扑文件包含的是每个子网中的节点部署数目信息。流量分配关系文件的内容包含了每个数据流文件与某个子网中的节点间对应关系。
首先,解析整体网络拓扑文件,根据整体网络拓扑文件内容,启动回放网络生成程序,生成相应数目的网络和子网,并生成路由器连通多个回放网络。继续解析子网结构文件,启动回放节点生成程序,在上一步创建的网络中生成相应数目的回放节点。接着,解析流量分配关系文件,根据节点名称项将对应的数据流文件发送相应的节点。最后,收集所有节点的IP地址,生成节点IP地址列表,并使用流量分配关系文件,针对每个数据流文件,生成IP地址与原始IP地址的IP映射表文件。文件内容项使用如下形式:
(节点名称node_name,原始IP地址列表original_IP_list,IP地址列表virtual_IP_list)
流量回放节点初始化方式是对所有节点发送统一对时指令,节点接收命令后执行时间对齐程序。接下来,调度程序获取每个数据流文件第一个数据包的时间戳,比较时间早晚,对于最早的时间戳,以它作为回放的起始时间点,并将它发送至所有节点,所有数据包以该起始时间计算数据流文件中数据包的相对时间戳,并将原始时间戳替换。最后,根据节点中数据流文件的数目启动相应数目的线程,并将部分数据包读取发送缓冲区中,等待调度程序的启动命令。
多节点流量回放方式是当系统时间没有到达回放开始时间时,程序休眠并再次询问;当系统时间到达回放时间时,调度程序发送回放开始指令。所有节点接收指令后,启动计时器。每个线程中循环获取当前计时器时间并与数据流统计信息文件中的数据包相对时间戳进行比较,当计时器时间满足发送数据包中的相对时间戳时,将原始数据包重新替换源IP地址和目的IP地址,其中,源IP为回放节点IP地址,目的IP为IP映射文件中指定的目的IP地址。将原始数据包作为数据包内容,重新计算校验和后发送到目的节点,并将数据包信息和数据包发送结果记录到日志文件中返回给用户。当缓冲区中的数据包数目少于缓冲区容量的一半时,继续读取后续的数据包填充发送缓冲区。当数据包文件内容都被读取后,程序跳出循环,同时将回放结果统计信息写入日志文件。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (8)

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
Figure FDA0002404032370000021
其中,
Figure FDA0002404032370000022
是低速阈值,
Figure FDA0002404032370000023
是映射阈值;遍历完成后,得到不同资源类型的低速和中速队列以及已经分配好的数据流文件和资源类型的对应关系;
进行网络拓扑的映射工作过程中,对V_lowi和V_midi中的数据流文件进行合并操作;从V_lowi和V_midi中随机选取两个数据流文件m和n,计算Vmn;
Vmn=(Sm+Sn)/(Tm+Tn)
Figure FDA0002404032370000024
其中,Vi_com是合并速率阈值;
对于情况一,继续计算平均数据包时间间隔
Figure FDA0002404032370000025
和平均流大小
Figure FDA0002404032370000026
当两者均满足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);
多节点流量回放模块用于在生成的回放网络中,对齐回放节点时间,构造数据包和发送数据包,完成多节点回放任务。
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所述的基于多节点流量回放的网络背景生成系统,其特征在于,
回放网络生成模块还用于生成回放网络拓扑,回放网络拓扑文件以及流量分配关系文件;
回放网络拓扑文件包括两个子文件,分别是整体网络拓扑文件和子网拓扑文件;整体网络文件包含多个子网和子网间路由器的拓扑结构,子网拓扑文件包含的是每个子网中的节点部署数目信息;流量分配关系文件的内容包含了每个数据流文件与某个子网中的节点间对应关系;
解析整体网络拓扑文件,根据整体网络拓扑文件内容,启动回放网络生成程序,生成相应数目的网络和子网,并生成路由器连通多个回放网络;继续解析子网结构文件,启动回放节点生成程序,在上一步创建的网络中生成相应数目的回放节点;
解析流量分配关系文件,根据节点名称项将对应的数据流文件发送相应的节点;
收集所有节点的IP地址,生成节点IP地址列表,并使用流量分配关系文件,针对每个数据流文件,生成IP地址与原始IP地址的IP映射表文件。
5.根据权利要求1所述的基于多节点流量回放的网络背景生成系统,其特征在于,
回放网络生成模块中的回放节点的初始化工作包括:对所有节点发送统一对时指令,节点接收命令后执行时间对齐程序;调度程序获取每个数据流文件第一个数据包的时间戳,比较时间早晚,对于最早的时间戳,以最早的时间戳作为回放的起始时间点,并将它发送至所有节点,所有数据包以该起始时间计算数据流文件中数据包的相对时间戳,并将原始时间戳替换;根据节点中数据流文件的数目启动相应数目的线程,并将部分数据包读取发送缓冲区中,等待调度程序的启动命令。
6.根据权利要求1所述的基于多节点流量回放的网络背景生成系统,其特征在于,
多节点流量回放模块还用于当系统时间没有到达回放开始时间时,程序休眠并再次询问;当系统时间到达回放时间时,调度程序发送回放开始指令;所有节点接收指令后,启动计时器;每个线程中循环获取当前计时器时间并与数据流统计信息文件中的数据包相对时间戳进行比较,当计时器时间满足发送数据包中的相对时间戳时,将原始数据包重新添加源IP地址和目的IP地址,源IP为回放节点IP地址,目的IP为IP映射文件中指定的目的IP地址;将原始数据包作为数据包内容,重新计算校验和后发送到目的节点,并将数据包信息和数据包发送结果记录到日志文件中返回给用户;当缓冲区中的数据包数目少于缓冲区容量的一半时,继续读取后续的数据包填充发送缓冲区;当数据包文件内容都被读取后,程序跳出循环,同时将回放结果统计信息写入日志文件。
7.一种基于多节点流量回放的网络背景生成方法,其特征在于,方法包括:
步骤一,多节点流量回放调度模块在回放过程中对总体回放过程进行全局调度管理,通过对流量文件预处理模块,回放网络生成模块和多节点流量回放模块相互调用,共同完成多节点网络流量回放工作;
步骤二,流量文件预处理模块对流量文件进行分割生成数据流文件,并对数据流文件进行统计分析,生成统计信息;生成的统计信息为回放网络生成模块提供输入信息;
步骤三,回放网络生成模块利用流量文件预处理模块的统计信息,经过回放网络映射,输出构建回放网络拓扑所需的配置文件;根据配置文件生成回放网络及流量分配关系文件,并将数据流文件分发给虚拟节点;
回放网络映射方式为:进行回放节点的映射工作以及进行网络拓扑的映射工作;
进行回放节点的映射工作过程中,预设数据流文件数据包数目,数据流文件大小,数据流文件持续时间,数据包的时间间隔,并将回放速率作为是否映射成功的判断条件;
预设数据流文件的持续时间为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
Figure FDA0002404032370000071
其中,
Figure FDA0002404032370000072
是低速阈值,
Figure FDA0002404032370000073
是映射阈值;遍历完成后,得到不同资源类型的低速和中速队列以及已经分配好的数据流文件和资源类型的对应关系;
进行网络拓扑的映射工作过程中,对V_lowi和V_midi中的数据流文件进行合并操作;从V_lowi和V_midi中随机选取两个数据流文件m和n,计算Vmn;
Vmn=(Sm+Sn)/(Tm+Tn)
Figure FDA0002404032370000074
其中,Vi_com是合并速率阈值;
对于情况一,继续计算平均数据包时间间隔
Figure FDA0002404032370000081
和平均流大小
Figure FDA0002404032370000082
当两者均满足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);
步骤三还包括:生成回放网络拓扑,回放网络拓扑文件以及流量分配关系文件;
回放网络拓扑文件包括两个子文件,分别是整体网络拓扑文件和子网拓扑文件;整体网络文件包含多个子网和子网间路由器的拓扑结构,子网拓扑文件包含的是每个子网中的节点部署数目信息;流量分配关系文件的内容包含了每个数据流文件与某个子网中的节点间对应关系;
解析整体网络拓扑文件,根据整体网络拓扑文件内容,启动回放网络生成程序,生成相应数目的网络和子网,并生成路由器连通多个回放网络;继续解析子网结构文件,启动回放节点生成程序,在上一步创建的网络中生成相应数目的回放节点;
解析流量分配关系文件,根据节点名称项将对应的数据流文件发送相应的节点;
收集所有节点的IP地址,生成节点IP地址列表,并使用流量分配关系文件,针对每个数据流文件,生成IP地址与原始IP地址的IP映射表文件;
步骤三中的回放节点的初始化工作包括:对所有节点发送统一对时指令,节点接收命令后执行时间对齐程序;调度程序获取每个数据流文件第一个数据包的时间戳,比较时间早晚,对于最早的时间戳,以最早的时间戳作为回放的起始时间点,并将它发送至所有节点,所有数据包以该起始时间计算数据流文件中数据包的相对时间戳,并将原始时间戳替换;根据节点中数据流文件的数目启动相应数目的线程,并将部分数据包读取发送缓冲区中,等待调度程序的启动命令;
步骤四还包括:当系统时间没有到达回放开始时间时,程序休眠并再次询问;当系统时间到达回放时间时,调度程序发送回放开始指令;所有节点接收指令后,启动计时器;每个线程中循环获取当前计时器时间并与数据流统计信息文件中的数据包相对时间戳进行比较,当计时器时间满足发送数据包中的相对时间戳时,将原始数据包重新替换源IP地址和目的IP地址,源IP为回放节点IP地址,目的IP为IP映射文件中指定的目的IP地址;将原始数据包作为数据包内容,重新计算校验和后发送到目的节点,并将数据包信息和数据包发送结果记录到日志文件中返回给用户;当缓冲区中的数据包数目少于缓冲区容量的一半时,继续读取后续的数据包填充发送缓冲区;当数据包文件内容都被读取后,程序跳出循环,同时将回放结果统计信息写入日志文件;
步骤四,多节点流量回放模块在生成的回放网络中,对齐回放节点时间,构造数据包和发送数据包,完成多节点回放任务。
8.根据权利要求7所述的基于多节点流量回放的网络背景生成方法,其特征在于,
步骤一还包括:读取用户控制命令,解析命令,获取回放程序开始时间;当用户输入时间早于当前时刻,回放程序默认完成所有初始化工作后立即开始;
步骤二还包括:读取流量文件,并对流量文件进行数据预处理,包括流量清洗,流量分割和信息统计;
步骤三还包括:利用流量文件预处理模块生成文件,将数据流统计信息文件作为输入参数,经过映射算法后,得到回放网络拓扑文件,流量分配关系文件;完成回放网络拓扑构建和节点数据流文件下发以及IP映射文件的创建等回放网络生成任务;完成回放节点的初始化工作;
步骤四还包括:当回放节点接收回放过程开始的指令时,每台机器开始自身回放过程;每台机器中对数据包内容进行重构,放入缓冲区中根据相对时间间隔等待发送。
CN201810908825.1A 2018-08-10 2018-08-10 一种基于多节点流量回放的网络背景生成系统及方法 Active CN108900360B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810908825.1A CN108900360B (zh) 2018-08-10 2018-08-10 一种基于多节点流量回放的网络背景生成系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810908825.1A CN108900360B (zh) 2018-08-10 2018-08-10 一种基于多节点流量回放的网络背景生成系统及方法

Publications (2)

Publication Number Publication Date
CN108900360A CN108900360A (zh) 2018-11-27
CN108900360B true CN108900360B (zh) 2020-05-22

Family

ID=64354825

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810908825.1A Active CN108900360B (zh) 2018-08-10 2018-08-10 一种基于多节点流量回放的网络背景生成系统及方法

Country Status (1)

Country Link
CN (1) CN108900360B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110324203B (zh) * 2019-06-18 2022-08-02 哈尔滨工业大学(威海) 一种多通道高精度网络流量生成装置
CN111182087B (zh) * 2019-12-18 2022-01-28 哈尔滨工业大学(威海) 一种基于单网卡绑定多ip的流量回放方法
CN111611280A (zh) * 2020-04-29 2020-09-01 南京理工大学 一种基于cnn和sae的加密流量识别方法
CN112039720B (zh) * 2020-07-31 2022-03-25 中国人民解放军战略支援部队信息工程大学 1~100%流量精确可控流量发生装置及流量生成方法
CN112040020B (zh) * 2020-08-24 2022-01-18 南京赛宁信息技术有限公司 网络靶场实战演练场景的装备机休眠网络托管系统与方法
CN112286804B (zh) * 2020-10-26 2024-05-03 深圳市优必选科技股份有限公司 系统的调试方法、装置、设备和介质
CN112860378B (zh) * 2021-02-23 2022-07-29 哈尔滨工业大学(威海) 一种计算回放流量所需最少虚拟资源的方法、系统、设备及存储介质
CN114124555A (zh) * 2021-11-29 2022-03-01 杭州迪普科技股份有限公司 报文回放方法、装置、电子设备及计算机可读介质
CN114501501B (zh) * 2022-02-09 2024-03-29 北京恒安嘉新安全技术有限公司 移动通信网络靶场的配置管理方法、装置、设备及介质
CN114422446B (zh) * 2022-03-29 2022-08-12 南京赛宁信息技术有限公司 一种靶场中应用层背景流量调度方法与系统
CN114679447B (zh) * 2022-05-30 2022-09-16 南京赛宁信息技术有限公司 一种靶场流量任务切片调度系统与方法
CN115396346B (zh) * 2022-08-30 2023-11-28 北京知道创宇信息技术股份有限公司 仿真压力测试方法、装置、系统和电子设备
CN115484209B (zh) * 2022-09-23 2024-04-02 绿盟科技集团股份有限公司 一种网络流量回放方法、装置、介质和电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103634159A (zh) * 2012-08-24 2014-03-12 百度在线网络技术(北京)有限公司 一种基于模拟登录的流量回放方法和装置
CN106209825A (zh) * 2016-07-07 2016-12-07 中国电子科技集团公司第二十八研究所 一种可定制僵尸网络试验系统
CN106375118A (zh) * 2016-08-31 2017-02-01 哈尔滨工业大学(威海) 一种多视角的流量混杂回放方法与装置
CN106953741A (zh) * 2017-01-25 2017-07-14 中国科学院信息工程研究所 一种面向网络仿真环境的流量回放方法及系统
WO2018089966A1 (en) * 2016-11-14 2018-05-17 Thomson Licensing Media service with virtual reality capabilities

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8843737B2 (en) * 2011-07-24 2014-09-23 Telefonaktiebolaget L M Ericsson (Publ) Enhanced approach for transmission control protocol authentication option (TCP-AO) with key management protocols (KMPS)
CN103326900B (zh) * 2013-06-24 2016-03-16 中国科学院信息工程研究所 一种面向虚拟网络的流量回放方法及系统
CN104753946A (zh) * 2015-04-01 2015-07-01 浪潮电子信息产业股份有限公司 一种基于网络流量元数据的安全分析框架
CN105407103B (zh) * 2015-12-19 2018-06-29 中国人民解放军信息工程大学 一种基于多粒度异常检测的网络威胁评估方法
US10320619B2 (en) * 2016-11-12 2019-06-11 Solana Networks Inc. Method and system for discovery and mapping of a network topology

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103634159A (zh) * 2012-08-24 2014-03-12 百度在线网络技术(北京)有限公司 一种基于模拟登录的流量回放方法和装置
CN106209825A (zh) * 2016-07-07 2016-12-07 中国电子科技集团公司第二十八研究所 一种可定制僵尸网络试验系统
CN106375118A (zh) * 2016-08-31 2017-02-01 哈尔滨工业大学(威海) 一种多视角的流量混杂回放方法与装置
WO2018089966A1 (en) * 2016-11-14 2018-05-17 Thomson Licensing Media service with virtual reality capabilities
CN106953741A (zh) * 2017-01-25 2017-07-14 中国科学院信息工程研究所 一种面向网络仿真环境的流量回放方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
网络流量回放系统的设计与实现;吴昊;《中国优秀硕士学位论文全文数据库 信息科技辑》;20180215(第02期);第45-58页 *

Also Published As

Publication number Publication date
CN108900360A (zh) 2018-11-27

Similar Documents

Publication Publication Date Title
CN108900360B (zh) 一种基于多节点流量回放的网络背景生成系统及方法
US20220023755A1 (en) Content adaptive data center routing and forwarding in cloud computing environments
US9753942B2 (en) Traffic statistic generation for datacenters
US8571848B2 (en) System and method of network emlation for test of on-line server processing heavy traffic
CN108809857A (zh) 一种基于sdn的流量监控与业务服务质量保障策略的方法
Cerroni et al. Live migration of virtual network functions in cloud-based edge networks
EP3905589A1 (en) Slice resource deployment method and apparatus, and slice manager and computer storage medium
CN113181658A (zh) 一种边缘计算节点调度方法、装置、设备以及介质
CN111182087B (zh) 一种基于单网卡绑定多ip的流量回放方法
CN109547288B (zh) 一种协议无关转发网络可编程流测量方法
US10257088B2 (en) Virtual network overlays for multipath datacenters
CN109088820A (zh) 一种跨设备链路聚合方法、装置、计算装置和存储介质
CN108989399A (zh) 一种集群公共数据查询方法、系统、装置及可读存储介质
CN111159002A (zh) 一种基于分组的数据边缘采集方法、边缘采集设备及系统
CN115277574B (zh) 一种sdn架构下数据中心网络负载均衡方法
CN109639796A (zh) 一种负载均衡实现方法、装置、设备及可读存储介质
CN114996703A (zh) 一种电力系统网络安全靶场混合仿真方法、系统及设备
CN111211988A (zh) 面向分布式机器学习的数据传输方法及系统
CN111885667B (zh) 网络资源分配方法及系统
CN109802868A (zh) 一种基于云计算的移动应用实时识别方法
CN116723143B (zh) 一种基于流量亲和性的网络靶场资源分配方法与系统
CN110636149A (zh) 远程访问方法、装置、路由器及存储介质
CN114884893A (zh) 一种转发和控制可定义的协同流量调度方法与系统
CN115604229A (zh) 一种基于IPv6特性构建柔性组网框架的方法及系统
CN109787922A (zh) 一种获取队列长度的方法、设备及计算机可读存储介质

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
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Liu Hongri

Inventor after: Wang Wei

Inventor after: Wang Bailing

Inventor after: Huang Zhixian

Inventor after: Dong Kaikun

Inventor after: Huang Junheng

Inventor before: Huang Zhixian

Inventor before: Wang Wei

Inventor before: Huang Junheng

Inventor before: Wang Bailing

Inventor before: Liu Hongri

Inventor before: Dong Kaikun

GR01 Patent grant
GR01 Patent grant