CN103326900A - 一种面向虚拟网络的流量回放方法及*** - Google Patents
一种面向虚拟网络的流量回放方法及*** Download PDFInfo
- Publication number
- CN103326900A CN103326900A CN 201310253417 CN201310253417A CN103326900A CN 103326900 A CN103326900 A CN 103326900A CN 201310253417 CN201310253417 CN 201310253417 CN 201310253417 A CN201310253417 A CN 201310253417A CN 103326900 A CN103326900 A CN 103326900A
- Authority
- CN
- China
- Prior art keywords
- traffic
- real traffic
- module
- virtual network
- real
- 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.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种面向虚拟网络的流量回放方法及***,包括:步骤1,捕获和处理真实流量,提取出真实IP地址集合R_IP;步骤2,对真实流量通信关系形成的二分图进行深度优先搜索,将真实IP地址集合R_IP划分为两个不相交的集合R_IPA与R_IPB;步骤3,将通过任意虚拟网络路由接口v_interfacei通信的所有虚拟节点划分为两个不相交的集合V_IPAi与V_IPBi;步骤4,计算所有虚拟网络路由接口与真实流量采集点的相似度;步骤5,选择与真实流量采集点最相近的虚拟网络接口作为真实流量采集点的映射节点,基于该映射节点进行IP地址映射;步骤6,重新遍历真实流量,实现虚拟网络中的真实流量回放。本发明在虚拟网络中回放流量,尽可能还原真实网流量通信环境,完善了虚拟网络流量体系。
Description
技术领域
本发明涉及虚拟化及流量回放技术领域,特别是涉及真实流量在虚拟网络的回放技术,具体涉及一种面向虚拟网络的流量回放方法及***。
背景技术
随着虚拟化、网络模拟等技术的发展,网络安全工具测试、网络攻击场景构建等无法在复杂的真实网络中进行充分实施的网络空间研究越来越多的于虚拟网络中展开,伴随而来的是虚拟网络能否尽可能的提高其真实性来为相关的研究测试提供尽可能可信的研究平台。虚拟网络真实性的最重要体现在于流量的真实性,不仅要求虚拟网络能够按需构建网络拓扑,更需要能在虚拟网络中重现真实流量。
一个合适的流量回放工具来回放可控制的、可重现的以及尽可能真实的网络流量对于包括模拟和仿真等多种测试环境都是必不可少的。无论真实网络环境还是虚拟网络环境,流量的生成方式均可归纳为两种:一种是利用分析模型驱动(model driven)的流量生成,生成的流量会遵循某一具体的生成模型;另一种是追溯(traced driven)驱动的流量生成,基于已知的真实流量来回放,即流量回放。
模型驱动的流量生成使用某一数学模型生成流量数据以及环境数据,但模型的选取以及参数的配置直接影响流量的可信度。面对更为多样的网络研究需求,由于流量回放具有天然的真实性,它包含了真实流量的完整通信细节,对于复杂网络行为的研究更具有应用价值,但流量生成环境的限制使得真实流量环境一般应用于设备性能测试以及简单的防火墙、IDS的始终。虚拟网络为复杂网络空间与行为的研究与测试提供了底层平台,因此,对虚拟网络而言,研究面向虚拟网络的流量回放大大提高了虚拟网络的真实性与可用性,虚拟网络中回放流量一方面可直接为研究者提供前景数据,另一方面也可作为背景流量,充实虚拟网络的流量体系,对真实流量而言,虚拟网络的流量回放也大大发挥了流量数据的研究价值。
面向虚拟网络的流量回放具有重大应用价值,然而,目前常见的流量回放工具尚不能完全满足虚拟网络的流量回放需求。目前主要的流量回放技术有:
Tcpreplay使用由Tcpdump等抓包工具所抓取的流量作为原始数据,在链路层按序回放流量,不需要知道上层协议的细节。
与Tcpreplay等基于二层协议不同的是,由于Tcpreplay不能体现服务交互,Tcpreplay的开发者开发了FlowReplay,Flowreplay是Tcpreplay的增强版,被设计用来放4层以上的数据包,而不是在2层回放。他的目标是读取一个流量文件,利用连接的客户端,使用标准的TCP/UDP协议回放数据来连接服务端。Tomahawk从真实流量数据中提取出客户端与服务器端包,由两个节点分别发送客户与服务器数据,并尽量保证流量的发送顺序。类似工具如Monkey、Surge等。
以回放***设计来看,诸如Monkey的设计,把整个TCP会话流量的回放实施在两个节点上,每个节点负责一个方向流量的回放.另外一类设计诸如Tomahawk整个TCP会话流量的回放实施在单个节点上,该节点一般配置两个测试接口,每个测试接口负责一个方向流量的回放。而如Tcpreplay这类直接在二层回放流量的***则直接使用单个网卡回放流量。
从流量回放内容来看,类似Tcpreplay基于二层发送流量,能够完整的再现原始数据包流量,但无法体现流量的交互过程,而基于传输层及其以上的流量回放***对于除TCP\UDP的客户服务器流量有较好的重放外,其他流量则无法体现。
尽管以上工具在回放粒度、回放层次上有所区别,但其共同特征是使用单台机器直接回放二层网络数据包,或使用双网卡在传输层上区分客户端与服务器端进行流量回放,但本质上,以上方法对均不考虑实际的网络通信环境,对虚拟网络而言,无法利用虚拟网络资源,也无法将真实流量与虚拟网络产生的流量更好的融合,无法直接用于虚拟网络中。
本发明针对上述问题,根据虚拟网络的特征,提出一种面向虚拟网络的流量回放***和方法,可用于模拟、仿真等虚拟网络平台进行回放流量。
发明内容
本发明所要解决的技术问题是提供一种面向虚拟网络的流量回放方法及***,用于解决现有技术中未能很好地利用虚拟网络进行流量回放的问题。
本发明解决上述技术问题的技术方案如下:一种面向虚拟网络的流量回放方法,包括:
步骤1,在任一真实流量采集点捕获和处理真实流量,提取出真实IP地址集合R_IP和时间戳信息;这里选取任一真实流量采集点来捕获流量是要满足仅包括一个接口的进出流量的条件,即是说不能包括多个接口的混合流量。
步骤2,根据真实流量通信关系建立相应的二分图,并对二分图进行深度优先搜索(Deep first search,DFS),实现将真实IP地址集合R_IP划分为两个不相交的集合R_IPA与R_IPB;
步骤3,将通过任意虚拟网络路由接口v_interfacei通信的所有虚拟节点划分为两个不相交的集合V_IPAi与V_IPBi;
步骤4,计算所有虚拟网络路由接口与真实流量采集点的相似度;
步骤5,根据计算的相似度结果选择与真实流量采集点最相近的虚拟网络接口作为真实流量采集点的映射节点,并基于该映射节点将R_IPA映射到V_IPAi,将R_IPB映射到V_IPBi;
步骤6,重新遍历真实流量,并根据步骤5的IP映射结果,进行真实流量IP地址替换和真实流量分割,再将分割后的真实流量文件通过其映射后对应的虚拟节点直接发送放。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,所述步骤1中捕获和处理真实流量具体包括:利用流量捕获工具捕获真实流量并保存为指定格式的流量文件,再采用与流量文件格式相适应的流量分析工具对捕获的真实流量进行处理和分析,记录真实流量中每个数据包的源IP、目的IP及时间戳信息。
进一步,所述步骤2具体包括:以R_IP为顶点,将真实流量中的每个数据包分别抽象为以源IP、目的IP为顶点的无向边,得到相应的边集合,并基于该边集合建立无向图R_Graph,再利用深度优先搜索算法DFS对R_Graph进行遍历,实现将R_IP划分为两个不相交集合R_IPA和R_IPB。
进一步,所述步骤3具体包括:遍历虚拟网络的所有子网及子网间通信的路由信息,利用两层循环,找到每一对子网间通信的路由,并在路由沿途经过虚拟网络路由接口v_interfacei的虚拟节点集合V_IPAi和虚拟节点集合V_IPBi中分别***两个子网中的所有节点,得到两个不相交的集合V_IPAi与V_IPBi。
进一步,所述步骤6具体包括:将真实流量中数据包的源IP地址、目的IP地址分别替换为映射后的虚拟网络中的IP地址,并将真实流量按照发送节点进行分割,分割后的每个真实流量文件将由对应的虚拟网络节点利用模拟仿真技术提供的API直接进行发送,并由虚拟网络***统一按照数据包的相对时间戳进行回放的时序控制与回放速度控制。
对应上述流量回放方法,本发明的技术方案还包括一种面向虚拟网络的流量回放***,其包括真实流量捕获及处理模块、真实流量通信模型建立模块、虚拟网络模型建立模块、相似度计算模块、IP映射模块和回放模块;
所述真实流量捕获及处理模块,其用于在任一真实流量采集点捕获和处理真实流量,提取出真实IP地址集合R_IP和时间戳信息;
所述真实流量通信模型建立模块,其用于根据真实流量通信关系建立相应的二分图,并对二分图进行深度优先搜索,实现将真实IP地址集合R_IP划分为两个不相交的集合R_IPA与R_IPB;
所述虚拟网络模型建立模块,其用于将通过任意虚拟网络路由接口v_interfacei通信的所有虚拟节点划分为两个不相交的集合V_IPAi与V_IPBi;
所述相似度计算模块,其用于计算所有虚拟网络路由接口与真实流量采集点的相似度;
所述IP映射模块,其用于根据计算的相似度结果选择与真实流量采集点最相近的虚拟网络接口作为真实流量采集点的映射节点,并基于该映射节点将R_IPA映射到V_IPAi,将R_IPB映射到V_IPBi;
所述回放模块,其用于根据IP映射结果进行真实流量IP地址替换和真实流量分割,再将分割后的真实流量文件通过其映射后对应的虚拟节点直接发送。
进一步,所述真实流量捕获及处理模块包括流量捕获模块、流量处理模块和存储模块;
所述流量捕获模块,其用于通过流量捕获工具来捕获真实流量,并保存为指定格式的流量文件;
所述流量处理模块,其用于通过使用与流量文件格式相适应的流量分析工具对所述流量捕获模块捕获的真实流量进行处理和分析;
所述存储模块,其用于记录真实流量中每个数据包的源IP、目的IP及时间戳信息。
进一步,所述真实流量通信模型建立模块包括边集合建立模块、无向图建立模块和IP地址划分模块;
所述边集合建立模块,其用于以R_IP为顶点,将真实流量中的每个数据包分别抽象为以源IP、目的IP为顶点的无向边,得到相应的边集合;
所述无向图建立模块,其用于根据所述边集合建立模块建立的边集合来建立无向图R_Graph;
所述IP地址划分模块,其用于通过深度优先搜索算法DFS对建立的无向图R_Graph进行遍历,将R_IP划分为两个不相交集合R_IPA和R_IPB。
进一步,所述回放模块包括IP地址替换模块、真实流量分割模块、发送模块和控制模块;
所述IP地址替换模块,其用于将真实流量中数据包的源IP地址、目的IP地址分别替换为映射后的虚拟网络中的IP地址;
所述真实流量分割模块,其用于将真实流量按照发送节点进行分割;
所述发送模块,其用于将分割后的每个真实流量文件由对应的虚拟网络节点利用模拟仿真技术提供的API直接进行发送;
所述控制模块,其用于通过虚拟网络***统一按照数据包的相对时间戳进行回放的时序控制与回放速度控制。
本发明的有益效果是:本发明公开了一种面向虚拟网络的流量回放方法及***,以真实流量数据位基础,建立真实网络通信模型,将真实网络的IP地址将真实网络映射到虚拟网络IP地址,虚拟网络中的映射点负责各自的流量发送任务,能够在映射到的虚拟路由接口采集到与真实流量映射后相一致的流量。利用该方法在虚拟网络中回放流量,充分发挥利用虚拟网络资源,利用虚拟网络尽可能还原真实网流量的通信环境,提高了流量回放的仿真度,实现了其他流量工具所无法实现的真实流量与虚拟网络平台的流量融合,完善虚拟网络流量体系,为虚拟网络使用者提供更为真实完整的虚拟网络实验平台。
附图说明
图1为本发明所述面向虚拟网络的流量回放方法的流程示意图;
图2为本发明实施例中计算真实流量通信模型所用到的划分算法流程图;
图3为本发明实施例中一个真实流量的IP地址集合划分结果示例图;
图4为本发明实施例中虚拟子网间路由计算的循环内部流程示意图;
图5为本发明实施例的一个虚拟网络拓扑示例图;
图6为本发明所述面向虚拟网络的流量回放***的结构示意图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
如图1所示,本实施例给出了一种面向虚拟网络的流量回放方法,包括:
步骤1,在任一真实流量采集点捕获和处理真实流量,提取出真实IP地址集合R_IP和时间戳信息;
步骤2,根据真实流量通信关系建立相应的二分图,并对二分图进行深度优先搜索,实现将真实IP地址集合R_IP划分为两个不相交的集合R_IPA与R_IPB;
步骤3,将通过任意虚拟网络路由接口v_interfacei通信的所有虚拟节点划分为两个不相交的集合V_IPAi与V_IPBi;
步骤4,计算所有虚拟网络路由接口与真实流量采集点的相似度;
步骤5,根据计算的相似度结果选择与真实流量采集点最相近的虚拟网络接口作为真实流量采集点的映射节点,并基于该映射节点将R_IPA映射到V_IPAi,将R_IPB映射到V_IPBi;
步骤6,重新遍历真实流量,并根据步骤5的IP映射结果,进行真实流量IP地址替换和真实流量分割,再将分割后的真实流量文件通过其映射后对应的虚拟节点直接发送。
具体实施中,包括以下几大部分:
一、原始流量的捕获与处理
所述步骤1中采用Wireshark流量捕获工具、Ethreal流量捕获工具、Tcpdump流量捕获工具、pcap流量捕获工具、零拷贝流量捕获工具等来捕获真实流量,且捕获后的真实流量以与指定格式进行存储,比如采用pcap流量捕获工具捕获的流量以.pcap格式存储。在捕获真实流量之后,采用真实流量文件格式相适应的流量分析工具对相应格式的真实流量进行处理,比如使用Linux***下的libpcap函数库模块、windows***下的wincap模块的离线模式或零拷贝接口等对捕获的真实流量进行处理和读取分析,记录真实流量中每个数据包的源IP、目的IP及时间戳信息。对所有真实的源、目的IP地址进行去重后,得到如下定义集合:
R_IP={R_IP1,R_IP2,R_IP3,…,R_IPn|n>=2}
定义真实流量采集点即某一路由器的一个网口为r_interface,则R_IP1,R_IP2,…,R_IPn是由r_interface捕获流量中出现的所有IP地址。
以在某路由出口接口处捕获的数据包real.pcap为例,该处理后,获得含有154个IP地址的集合。R_IP={37.252.244.2,208.111.148.6,123.54.180.8,128.185.235.10,……}。
另外,处理原始流量时,同时还获取了每一条数据包的时间戳信息。
二、计算真实流量通信模型
对应所述步骤2,以R_IP为顶点,将真实流量中的每个数据包分别抽象为以源、目的IP为顶点的无向边e=(R_IPi,R_IPj)。则由此抽象可以得到边集合E={e=(R_IPi,R_IPj)|R_IPi,R_IPj∈R_IP}。利用捕获到的流量数据建立无向图R_Graph=(R_IP,E)。可以证明R_Graph是一个二分图,因此利用图的深度优先搜索算法,对R_Graph进行遍历,可将R_Graph的顶点集合R_IP划分为两个不相交集合R_IPA和R_IPB,R_IPA与R_IPB集合中的IP地址具有通信关系,R_IPA和R_IPB集合内部的IP之间不通信。
证明R_Graph是一个二分图的方法很多,这里给出一种证明方法,具体如下。
命题1:R_Graph是一个二分图,即R_IP可分割为两个互不相交的子集R_IPA与R_IPB,且满足:R_IP=R_IPA∪R_IPB,图中的每条边(R_IPi,R_IPj)所关联的两个顶点R_IPi和R_IPj分别属于这两个不同的顶点集,即R_IPi∈R_IPA,R_IPj∈R_IPB,根据R_Graph边的建立条件可知R_IPA、R_IPB各自集合内部所有顶点无通信,R_IPA与R_IPB之间通信。
证明:为证明命题1,需证明无向图R_Graph为二分图的充分必要条件,即R_Graph至少有两个顶点,且其所有回路的长度均为偶数。
充分性:显然|R_IP|≥2,若C为R_Graph中任一回路,令C=(R_IP0,R_IP1,R_IP2,…,R_IPn-1,R_IPn,R_IP0);由于R_Graph为二分图,R_IPA与R_IPB各自的集合内部IP地之间不通信,则R_IPi(i=0,1,…,n)必定相间出现于R_IPA及R_IPB中,不妨设{R_IP0,R_IP2,R_IP4,…,R_IPn,R_IP0}∈R_IPA,{R_IP1,R_IP3,R_IP5,…,R_IPn-1}∈R_IPB,因此n必为偶数,从而C中有偶数条边。
必要性:显然R_IP>=2。若R_Graph不为连通图,则可对R_Graph的所有分支做如下讨论。
不妨设R_IPx,R_IPy,R_IPz∈R_IP,若R_IPx与R_IPy通信,R_IPy与R_IPz通信,R_IPz与R_IPx不通信,则不存在回路,即回路数为0,为偶数,则R_IPx与R_IPz可划分到集合R_IPA,R_IPy可划分到集合R_IPB。
若R_IPz与R_IPx通信,则回路长度为奇数,由于R_IPx与R_IPy存在边的前提是在真实采集点采集到了R_IPx与R_IPy的通信包,R_IPy与R_IPz同理,若R_IPz与R_IPx、R_IPy通信均经过采集点r_interface,根据路由的定义可知R_IPx与R_IPy应在r_interface的同一侧,则R_IPx与R_IPy通信不经过r_interface,即不可能在真实流量中出现R_IPx与R_IPy的通信数据,与假设矛盾,必要性成立。
这一部分中将R_IP划分为两个不相交集合R_IPA和R_IPB的划分算法Partition(R_Graph)的流程图如图2所示,首先对R_Graph中的每个顶点初始化,标记顶点颜色为Gray,表示没有被划分到任何集合,并且访问标记visited为false,表示还没有被访问过;接下来,对R_Graph的每个顶点,判断访问标记visited是否为false,若为false,则标记顶点颜色为Black,深度搜索该顶点。深度搜索算法DFS(r_ips)是划分算法Partition(R_Graph)的核心部分,其基本思想是对当前节点与和当前节点相连的叶子节点标记相反颜色,并递归深度搜索其叶子节点。最终重新遍历所有R_Graph的节点,标记颜色相同的节点属于同一集合。伪代码描述如下:
图3即举例给出了一个IP地址划分后的结果。
三、计算虚拟网络模型
所述步骤3具体包括:遍历虚拟网络的所有子网及子网间通信的路由信息,利用两层循环,找到每一对子网间通信的路由,并在路由沿途经过虚拟网络路由接口v_interfacei的虚拟节点集合V_IPAi和虚拟节点集合V_IPBi中分别***两个子网中的所有节点,得到两个不相交的集合V_IPAi与V_IPBi定义虚拟网络路由接口集合V_INTERFACE={v_interface1,v_interface2,…,v_interfacen|n>=2},对于任意虚拟网络路由接口v_interfacei,可将经过v_interfacei的所有虚拟节点划分为两个不相交的集合V_IPAi与V_IPBi。为计算虚拟网络的通信模型,需遍历虚拟网络的所有子网及子网间通信的路由信息,利用两层循环,找到每一对子网间通信的路由,并在路由沿途经过的v_interfacei的V_IPAi和V_IPBi中分别***两个子网中的所有节点。图4是对于虚拟网络v_subneti和v_subnetj,遍历两个子网之间经过的所有v_interface,并分别将v_subneti和v_subnetj所包含的终端节点填入到沿途各v_interface的V_IPA和V_IPB中的主要流程。
例如,图5给出了一个虚拟网络拓扑示例,其v_interface1计算的结果是V_IPA1={A1,A2,A3,A4,A5,A6},V_IPB2={B1,B2,B3,B4,B5,B6}。
四、相似度计算与IP映射
获取虚拟网络通信模型后,应选取V_INTERFACE中与r_interface最为相似的虚拟路由网口作为真实采集点在虚拟网络中的映射节点。|V_IPA|>=|V_IPB|,|R_IPA|>=|R_IPB|。对于一个二分图节点集合映射存在以下情况:
情况1:|V_IPAi|>=|R_IPA|,|V_IPBi|>=|R_IPB|
情况2:|V_IPAi|<=|R_IPA|,|V_IPBi|<=|R_IPB|
情况3:|V_IPAi|>=|R_IPA|,|V_IPBi|<=|R_IPB|或|V_IPAi|<=|R_IPA|,|V_IPBi|>=|R_IPB|
一个映射与其他映射相比,与真实集合的对应集合中元素的个数越接近越那么相似度越高。又因为同一个映射包括两组集合同时映射,所以需要定义一种度量方法计算两组集合映射后的综合相似度值。需要说明的是,相似度的定义不是唯一的,本发明给出的可采用的一种相似度定义如下:
定义a_factor为映射(R_IPA→V_IPA,R_IPB→V_IPB)的绝对相似度,为避免情况3中出现的绝对相似度偏差对映射的影响,引入x为平滑因子,定义s_factor为平滑相似度。当|V_IPA|=|R_IPA|时,|V_IPA|/|R_IPA|=1,在虚拟网络模型与真实网络模型相差不大情况下,一般选取x=1。a_factor和s_factor的计算公式如下:
a_factor=(|V_IPA|/|R_IPA|)*(|V_IPB|/|R_IPB|)
s_factor=(|V_IPA|/|R_IPA|>1?x:|V_IPA|/|R_IPA|)*(|V_IPB|/|R_IPB|>1?x:|V_IPB|/|R_IPB|)
例如结合图3给出的数值,图5所示的v_interface1的a_factor=(6/78)*(6/76)=0.0061,s_factor=0.0061,式中数据78、76由图3中给出,数值6为上述的v_interface1计算的结果V_IPA1={A1,A2,A3,A4,A5,A6},V_IPB2={B1,B2,B3,B4,B5,B6}。
相似度比较原则:首先比较平滑相似度,如果平滑相似度不同那么认定平滑相似度较大者相似度更好;如果平滑相似度相同则比较绝对相似度,认定绝对相似度较大者相似度更好。按照上述比较原则对所有V_INTERFACE中的所有v_interface映射相似度值进行排序,选择最优的一个映射和v_interface作为最终的虚拟网络中的采集点。例如对于图4所示的虚拟网络选定的虚拟网络中的采集点为v_interface1,对应的映射为(R_IPA→V_IPA1,R_IPB→V_IPB1)。当出现情况2或情况3时,将R_IPA或R_IPB中的多个IP地址映射到同一虚拟IP,IP映射时只需将对应的IP进行一一对应即可,例如图4所示的R_IPA和R_IPB映射到的V_IPA和V_IPB的部分映射关系如下表所示:
五、流量回放
根据真实网络通信模型与虚拟网络通信模型的映射后,重新遍历真实流量:将真实流量中数据包的源、目的IP地址分别替换为映射后的虚拟IP地址,并将原始流量按照发送节点进行分割。为保证数据包到达映射接口的顺序,数据包从发送节点实际的发送时间是该数据包的时间戳-该节点到映射接口的路由延迟。在处分割后的每个流量文件将由对应的虚拟网络节点利用模拟仿真技术提供的API直接进行发送并由虚拟网络***统一按照数据包的相对时间戳进行回放的时序控制与回放速度控制。
为保证在虚拟网络中回放的流量能够按照真实流量的顺序到达映射的虚拟网采集点,应重新计算每个数据包在虚拟网络的回放时间戳。设数据包pkti的原始时间戳为ti,pkti由虚拟节点v_nodej负责发送,根据虚拟网络的全局路由信息,可计算v_nodej到v_interfacem的链路延迟delayj,则pkti在虚拟网络回放的相对时间戳应为ti-delayj,为避免相对时间出现负值,令t_off为全局非负时间偏移量。则pkti在虚拟网络最终的实际回放时间戳为Ti=ti-delayj+t_off。确定每个数据包的发送时间后,由虚拟网络***统一进行回放的时序控制与回放速度控制。
如图6所示,对应上述流量回放方法,本实施例还给出了一种面向虚拟网络的流量回放***,其包括真实流量捕获及处理模块、真实流量通信模型建立模块、虚拟网络模型建立模块、相似度计算模块、IP映射模块和回放模块;
所述真实流量捕获及处理模块,其用于在任一真实流量采集点捕获和处理真实流量,提取出真实IP地址集合R_IP和时间戳信息;
所述真实流量通信模型建立模块,其用于根据真实流量通信关系建立相应的二分图,并对二分图进行深度优先搜索,实现将真实IP地址集合R_IP划分为两个不相交的集合R_IPA与R_IPB;
所述虚拟网络模型建立模块,其用于将通过任意虚拟网络路由接口v_interfacei通信的所有虚拟节点划分为两个不相交的集合V_IPAi与V_IPBi;
所述相似度计算模块,其用于计算所有虚拟网络路由接口与真实流量采集点的相似度;
所述IP映射模块,其用于根据计算的相似度结果选择与真实流量采集点最相近的虚拟网络接口作为真实流量采集点的映射节点,并基于该映射节点将R_IPA映射到V_IPAi,将R_IPB映射到V_IPBi;
所述回放模块,其用于根据IP映射结果进行真实流量IP地址替换和真实流量分割,再将分割后的真实流量文件通过其映射后对应的虚拟节点直接发送。
其中,所述真实流量捕获及处理模块包括流量捕获模块、流量处理模块和存储模块;
所述流量捕获模块,其用于通过流量捕获工具来捕获真实流量,并保存为指定格式的流量文件;
所述流量处理模块,其用于通过使用与流量文件格式相适应的流量分析工具对所述流量捕获模块捕获的真实流量进行处理和分析;
所述存储模块,其用于记录真实流量中每个数据包的源IP、目的IP及时间戳信息。
所述真实流量通信模型建立模块又包括边集合建立模块、无向图建立模块和IP地址划分模块;
所述边集合建立模块,其用于以R_IP为顶点,将真实流量中的每个数据包分别抽象为以源IP、目的IP为顶点的无向边,得到相应的边集合;
所述无向图建立模块,其用于根据所述边集合建立模块建立的边集合来建立无向图R_Graph;
所述IP地址划分模块,其用于通过深度优先搜索算法DFS对建立的无向图R_Graph进行遍历,将R_IP划分为两个不相交集合R_IPA和R_IPB。
所述回放模块又包括IP地址替换模块、真实流量分割模块、发送模块和控制模块;
所述IP地址替换模块,其用于将真实流量中数据包的源IP地址、目的IP地址分别替换为映射后的虚拟网络中的IP地址;
所述真实流量分割模块,其用于将真实流量按照发送节点进行分割;
所述发送模块,其用于将分割后的每个真实流量文件由对应的虚拟网络节点利用模拟仿真技术提供的API直接进行发送;
所述控制模块,其用于通过虚拟网络***统一按照数据包的相对时间戳进行回放的时序控制与回放速度控制。
图6同时还给出了基于IP映射的虚拟网络流量回放***的工作流程图,其细节与上述的流量回放方法一致。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种面向虚拟网络的流量回放方法,其特征在于,包括:
步骤1,在任一真实流量采集点捕获和处理真实流量,提取出真实IP地址集合R_IP和时间戳信息;
步骤2,根据真实流量通信关系建立相应的二分图,并对二分图进行深度优先搜索,实现将真实IP地址集合R_IP划分为两个不相交的集合R_IPA与R_IPB;
步骤3,将通过任意虚拟网络路由接口v_interfacei通信的所有虚拟节点划分为两个不相交的集合V_IPAi与V_IPBi;
步骤4,计算所有虚拟网络路由接口与真实流量采集点的相似度;
步骤5,根据计算的相似度结果选择与真实流量采集点最相近的虚拟网络接口作为真实流量采集点的映射节点,并基于该映射节点将R_IPA映射到V_IPAi,将R_IPB映射到V_IPBi;
步骤6,重新遍历真实流量,并根据步骤5的IP映射结果,进行真实流量IP地址替换和真实流量分割,再将分割后的真实流量文件通过其映射后对应的虚拟节点直接发送。
2.根据权利要求1所述的流量回放方法,其特征在于,所述步骤1中捕获和处理真实流量具体包括:利用流量捕获工具捕获真实流量并保存为指定格式的流量文件,再采用与流量文件格式相适应的流量分析工具对捕获的真实流量进行处理和分析,记录真实流量中每个数据包的源IP、目的IP及时间戳信息。
3.根据权利要求1所述的流量回放方法,其特征在于,所述步骤2具体包括:以R_IP为顶点,将真实流量中的每个数据包分别抽象为以源IP、目的IP为顶点的无向边,得到相应的边集合,并基于该边集合建立无向图R_Graph,再利用深度优先搜索算法DFS对R_Graph进行遍历,实现将R_IP划分为两个不相交集合R_IPA和R_IPB。
4.根据权利要求1所述的流量回放方法,其特征在于,所述步骤3具体包括:遍历虚拟网络的所有子网及子网间通信的路由信息,利用两层循环,找到每一对子网间通信的路由,并在路由沿途经过虚拟网络路由接口v_interfacei的虚拟节点集合V_IPAi和虚拟节点集合V_IPBi中分别***两个子网中的所有节点,得到两个不相交的集合V_IPAi与V_IPBi。
5.根据权利要求1所述的流量回放方法,其特征在于,所述步骤6具体包括:将真实流量中数据包的源IP地址、目的IP地址分别替换为映射后的虚拟网络中的IP地址,并将真实流量按照发送节点进行分割,分割后的每个真实流量文件将由对应的虚拟网络节点利用模拟仿真技术提供的API直接进行发送,并由虚拟网络***统一按照数据包的相对时间戳进行回放的时序控制与回放速度控制。
6.一种面向虚拟网络的流量回放***,其特征在于,包括真实流量捕获及处理模块、真实流量通信模型建立模块、虚拟网络模型建立模块、相似度计算模块、IP映射模块和回放模块;
所述真实流量捕获及处理模块,其用于在任一真实流量采集点捕获和处理真实流量,提取出真实IP地址集合R_IP和时间戳信息;
所述真实流量通信模型建立模块,其用于根据真实流量通信关系建立相应的二分图,并对二分图进行深度优先搜索,实现将真实IP地址集合R_IP划分为两个不相交的集合R_IPA与R_IPB;
所述虚拟网络模型建立模块,其用于将通过任意虚拟网络路由接口v_interfacei通信的所有虚拟节点划分为两个不相交的集合V_IPAi与V_IPBi;
所述相似度计算模块,其用于计算所有虚拟网络路由接口与真实流量采集点的相似度;
所述IP映射模块,其用于根据计算的相似度结果选择与真实流量采集点最相近的虚拟网络接口作为真实流量采集点的映射节点,并基于该映射节点将R_IPA映射到V_IPAi,将R_IPB映射到V_IPBi;
所述回放模块,其用于根据IP映射结果进行真实流量IP地址替换和真实流量分割,再将分割后的真实流量文件通过其映射后对应的虚拟节点直接发送。
7.根据权利要求6所述的流量回放***,其特征在于,所述真实流量捕获及处理模块包括流量捕获模块、流量处理模块和存储模块;
所述流量捕获模块,其用于通过流量捕获工具来捕获真实流量,并保存为指定格式的流量文件;
所述流量处理模块,其用于通过使用与流量文件格式相适应的流量分析工具对所述流量捕获模块捕获的真实流量进行处理和分析;
所述存储模块,其用于记录真实流量中每个数据包的源IP、目的IP及时间戳信息。
8.根据权利要求6所述的流量回放***,其特征在于,所述真实流量通信模型建立模块包括边集合建立模块、无向图建立模块和IP地址划分模块;
所述边集合建立模块,其用于以R_IP为顶点,将真实流量中的每个数据包分别抽象为以源IP、目的IP为顶点的无向边,得到相应的边集合;
所述无向图建立模块,其用于根据所述边集合建立模块建立的边集合来建立无向图R_Graph;
所述IP地址划分模块,其用于通过深度优先搜索算法DFS对建立的无向图R_Graph进行遍历,将R_IP划分为两个不相交集合R_IPA和R_IPB。
9.根据权利要求6所述的流量回放***,其特征在于,所述回放模块包括IP地址替换模块、真实流量分割模块、发送模块和控制模块;
所述IP地址替换模块,其用于将真实流量中数据包的源IP地址、目的IP地址分别替换为映射后的虚拟网络中的IP地址;
所述真实流量分割模块,其用于将真实流量按照发送节点进行分割;
所述发送模块,其用于将分割后的每个真实流量文件由对应的虚拟网络节点利用模拟仿真技术提供的API直接进行发送;
所述控制模块,其用于通过虚拟网络***统一按照数据包的相对时间戳进行回放的时序控制与回放速度控制。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310253417.4A CN103326900B (zh) | 2013-06-24 | 2013-06-24 | 一种面向虚拟网络的流量回放方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310253417.4A CN103326900B (zh) | 2013-06-24 | 2013-06-24 | 一种面向虚拟网络的流量回放方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103326900A true CN103326900A (zh) | 2013-09-25 |
CN103326900B CN103326900B (zh) | 2016-03-16 |
Family
ID=49195443
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310253417.4A Active CN103326900B (zh) | 2013-06-24 | 2013-06-24 | 一种面向虚拟网络的流量回放方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103326900B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103986624A (zh) * | 2014-05-28 | 2014-08-13 | 西安交通大学 | 一种网络流量还原回放方法 |
CN105099833A (zh) * | 2015-09-14 | 2015-11-25 | 北京华青融天技术有限责任公司 | 一种业务测试方法、装置以及*** |
CN105338341A (zh) * | 2014-08-12 | 2016-02-17 | 杭州海康威视***技术有限公司 | 还原实时视频码流的方法及装置 |
CN106325081A (zh) * | 2015-06-17 | 2017-01-11 | 派斡信息技术(上海)有限公司 | 控管电子装置的方法以及应用该方法的控制机器 |
CN106375118A (zh) * | 2016-08-31 | 2017-02-01 | 哈尔滨工业大学(威海) | 一种多视角的流量混杂回放方法与装置 |
CN106953741A (zh) * | 2017-01-25 | 2017-07-14 | 中国科学院信息工程研究所 | 一种面向网络仿真环境的流量回放方法及*** |
CN107302518A (zh) * | 2016-04-15 | 2017-10-27 | 任子行网络技术股份有限公司 | 基于加权相似度的域间路由***安全状态感知方法和装置 |
CN107770805A (zh) * | 2016-08-22 | 2018-03-06 | 腾讯科技(深圳)有限公司 | 终端的标识信息的判定方法及装置 |
CN108347384A (zh) * | 2018-01-26 | 2018-07-31 | 乐鑫信息科技(上海)有限公司 | 一种适用于mesh网络内一对多的传输数据包的方法 |
CN108900360A (zh) * | 2018-08-10 | 2018-11-27 | 哈尔滨工业大学(威海) | 一种基于多节点流量回放的网络背景生成***及方法 |
CN108989142A (zh) * | 2018-05-25 | 2018-12-11 | 中国科学院计算机网络信息中心 | 网络测试方法、装置及存储介质 |
CN110867967A (zh) * | 2019-11-27 | 2020-03-06 | 云南电网有限责任公司电力科学研究院 | 一种电力监控***通信的背景流量回放方法 |
CN111182087A (zh) * | 2019-12-18 | 2020-05-19 | 哈尔滨工业大学(威海) | 一种基于单网卡绑定多ip的流量回放方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102204168B (zh) * | 2011-04-26 | 2013-12-04 | 华为技术有限公司 | 网络流量模拟方法及装置 |
-
2013
- 2013-06-24 CN CN201310253417.4A patent/CN103326900B/zh active Active
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103986624A (zh) * | 2014-05-28 | 2014-08-13 | 西安交通大学 | 一种网络流量还原回放方法 |
CN103986624B (zh) * | 2014-05-28 | 2017-08-08 | 西安交通大学 | 一种网络流量还原回放方法 |
CN105338341A (zh) * | 2014-08-12 | 2016-02-17 | 杭州海康威视***技术有限公司 | 还原实时视频码流的方法及装置 |
CN106325081A (zh) * | 2015-06-17 | 2017-01-11 | 派斡信息技术(上海)有限公司 | 控管电子装置的方法以及应用该方法的控制机器 |
CN105099833A (zh) * | 2015-09-14 | 2015-11-25 | 北京华青融天技术有限责任公司 | 一种业务测试方法、装置以及*** |
CN107302518A (zh) * | 2016-04-15 | 2017-10-27 | 任子行网络技术股份有限公司 | 基于加权相似度的域间路由***安全状态感知方法和装置 |
CN107770805A (zh) * | 2016-08-22 | 2018-03-06 | 腾讯科技(深圳)有限公司 | 终端的标识信息的判定方法及装置 |
CN107770805B (zh) * | 2016-08-22 | 2021-07-27 | 腾讯科技(深圳)有限公司 | 终端的标识信息的判定方法及装置 |
CN106375118A (zh) * | 2016-08-31 | 2017-02-01 | 哈尔滨工业大学(威海) | 一种多视角的流量混杂回放方法与装置 |
CN106953741B (zh) * | 2017-01-25 | 2019-11-12 | 中国科学院信息工程研究所 | 一种面向网络仿真环境的流量回放方法及*** |
CN106953741A (zh) * | 2017-01-25 | 2017-07-14 | 中国科学院信息工程研究所 | 一种面向网络仿真环境的流量回放方法及*** |
CN108347384A (zh) * | 2018-01-26 | 2018-07-31 | 乐鑫信息科技(上海)有限公司 | 一种适用于mesh网络内一对多的传输数据包的方法 |
CN108347384B (zh) * | 2018-01-26 | 2020-12-01 | 乐鑫信息科技(上海)股份有限公司 | 一种适用于mesh网络内一对多的传输数据包的方法 |
CN108989142A (zh) * | 2018-05-25 | 2018-12-11 | 中国科学院计算机网络信息中心 | 网络测试方法、装置及存储介质 |
CN108900360A (zh) * | 2018-08-10 | 2018-11-27 | 哈尔滨工业大学(威海) | 一种基于多节点流量回放的网络背景生成***及方法 |
CN110867967A (zh) * | 2019-11-27 | 2020-03-06 | 云南电网有限责任公司电力科学研究院 | 一种电力监控***通信的背景流量回放方法 |
CN110867967B (zh) * | 2019-11-27 | 2023-11-10 | 云南电网有限责任公司电力科学研究院 | 一种电力监控***通信的背景流量回放方法 |
CN111182087A (zh) * | 2019-12-18 | 2020-05-19 | 哈尔滨工业大学(威海) | 一种基于单网卡绑定多ip的流量回放方法 |
CN111182087B (zh) * | 2019-12-18 | 2022-01-28 | 哈尔滨工业大学(威海) | 一种基于单网卡绑定多ip的流量回放方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103326900B (zh) | 2016-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103326900B (zh) | 一种面向虚拟网络的流量回放方法及*** | |
EP3407562B1 (en) | Coflow recognition method and system, and server using method | |
US11943249B2 (en) | Cyberspace coordinate system creation method and apparatus based on autonomous system | |
CN102307123B (zh) | 基于传输层流量特征的nat流量识别方法 | |
CN102724317B (zh) | 一种网络数据流量分类方法和装置 | |
Calvert et al. | Modeling internet topology | |
CN103338150B (zh) | 信息通信网络体系结构建立方法、装置、服务器和路由器 | |
CN106953741B (zh) | 一种面向网络仿真环境的流量回放方法及*** | |
CN110519298A (zh) | 一种基于机器学习的Tor流量识别方法及装置 | |
CN103746914B (zh) | 建立私网标签与原始vrf对应关系的方法、装置及*** | |
Sharma et al. | Simulating attacks for RPL and generating multi-class dataset for supervised machine learning | |
CN109840533A (zh) | 一种应用拓扑图识别方法及装置 | |
CN103281211B (zh) | 大规模网络节点分组管理***及管理方法 | |
CN106789242A (zh) | 一种基于手机客户端软件动态特征库的识别应用智能分析引擎 | |
Nur et al. | Cross-AS (X-AS) internet topology mapping | |
Ubik et al. | Evaluating application-layer classification using a Machine Learning technique over different high speed networks | |
Kiremire et al. | Using network motifs to investigate the influence of network topology on PPM-based IP traceback schemes | |
CN111064817A (zh) | 一种基于节点排序的城市级ip定位方法 | |
Tilch et al. | A multilayer graph model of the internet topology | |
Prokkola | Opnet-network simulator | |
CN108494583A (zh) | 一种基于sFlow生成网络拓扑的方法及装置 | |
CN104836700B (zh) | 基于ipid和概率统计模型的nat主机个数检测方法 | |
CN113726809B (zh) | 基于流量数据的物联网设备识别方法 | |
CN112860378B (zh) | 一种计算回放流量所需最少虚拟资源的方法、***、设备及存储介质 | |
CN111953552A (zh) | 数据流的分类方法和报文转发设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |