CN113595904A - 一种基于流量矩阵的数据流协同采样方法 - Google Patents
一种基于流量矩阵的数据流协同采样方法 Download PDFInfo
- Publication number
- CN113595904A CN113595904A CN202110896235.3A CN202110896235A CN113595904A CN 113595904 A CN113595904 A CN 113595904A CN 202110896235 A CN202110896235 A CN 202110896235A CN 113595904 A CN113595904 A CN 113595904A
- Authority
- CN
- China
- Prior art keywords
- sampling
- node
- routing
- data
- flow
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/04—Interdomain routing, e.g. hierarchical routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/16—Multipoint routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/38—Flow based routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种基于流量矩阵的数据流协同采样方法,涉及网络安全技术领域。该方法以自治域为单位,将域内所有路由节点视为一个整体,确定各路由节点的流量目录;结合各路由节点的流量目录,根据每个路由节点的采样能力,基于负载均衡思想,将自治域内总的采样任务合理的划分采样目录,分配给若干个采样点。采用基于解空间树的最优解搜索算法,在自治域控制中得出采集本自治域所有数据流所需要的路由设备以及各自的采样目录;采样点之间以协同的方式依据采样目录执行采样任务。同时,保证每条数据流都会被采集而且不会同时被多个路由节点采集。该方法控制了采样设备的数量,减少了路由设备的资源消耗,使其更好服务于网络数据转发等功能。
Description
技术领域
本发明涉及网络安全技术领域,尤其涉及一种基于流量矩阵的数据流协同采样方法。
背景技术
对于网络中大量的流量数据,网络运营商会采集流量级别的度量值以指导多种网络管理应用。通常,这些度量值用于用户审计和流量工程,它们在很大程度上依赖于总流量统计。然而,其他的关键网络管理任务,如异常检测,网络溯源甚至是取证分析,需要识别和分析尽可能多的不同流量。这种以获取细粒度流量测量数据为目的流量采样是当前的主要趋势。特别地,在网络溯源背景下的流量采集,为了追求较高的溯源精度,对流量样本的覆盖率(流量样本与真实流量数的占比)具有较高的要求。然而,由于物理设备的限制,现代路由器都使用单点独立概率性的采样形式,即以路由器为单位使用netFlow技术按一定的概率(通常在0.001和0.01之间)对转发的数据流进行采样,这是导致了数据样本覆盖率低的主要原因。
为了解决上述问题,Vyas Sekar等人在文章《CSAMP:A System for Network-WideFlow Monitoring》中提出一种自治系统(Autonomous System,简称AS)内的协调流量监测系统——CSAMP。CSAMP将路由器网络视为一个系统,以协调的方式管理,以实现特定的测量目标。该系统以流量矩阵技术和路由信息为基础,用于估计AS内的数据流信息以及数据流转发路径,以此获取路由设备的数据流清单。路由设备由于受到内存和带宽等资源限制,无法按照数据流清单采样。所以通过一个以获取数据流最大覆盖率为目标的全网优化引擎,求得每个路由设备最优的采样清单。为了能够保证路由设备采样的数据流不重复,将采样清单使用哈希函数转化为一个哈希范围。对每一个数据包,路由器计算流标头(IP 5元组)上的哈希值并检查哈希值是否位于分配的哈希范围内,满足哈希范围则采样。为了使系统能够应对网络数据流的动态变化,优化引擎必须能够预测流量矩阵来计算采样清单。这种预测必须考虑到交通矩阵的长期变化(例如,日变化趋势),并且能够对短期动态做出反应(例如,在几分钟的范围内)。为了处理这些问题,文章使用历史流量矩阵作为优化引擎的输入来计算采样策略。例如,要计算本周周五上午9点到10点期间的清单,需要使用前一周周五上午9点到10点期间观察到的流量矩阵。
上述现有技术的缺点是数据流采集的目标是最大化覆盖率,不能实现自治域内数据流的全采样,这并不能满足高精度溯源背景的要求,无法直接应用于网路溯源。原因来自两方面:一方面,完全依赖流量矩阵技术估计自治域内流量信息。流量矩阵技术本身并不能获取全面的流量信息,这就导致采样清单存在误差。另一方面,用历史数据预测动态变化的网络,相当于使用存在误差数据预测网络流量变化结果,这种策略不仅不会降低估计误差,甚至存在加剧误差的可能。综上,现有的技术无法获取自治域内全部的流量样本,不适用网络溯源。
发明内容
本发明要解决的技术问题是针对上述现有技术的不足,提供一种基于流量矩阵的数据流协同采样方法,以最小的代价完成自治域范围内数据流的全采样,以提高网络溯源的精度。
为解决上述技术问题,本发明所采取的技术方案是:一种基于流量矩阵的数据流协同采样方法,包括以下步骤:
步骤1、以自治域为单位,将域内所有路由节点视为一个整体,确定各路由节点的流量目录;
所述自治域是由路由设备和物理链路组成,定义为一个无向图,表示为G=<R,L,AR,AL>,其中,R为路由设备的集合,L为链路的集合,AR为路由设备属性的集合,AL表示链路属性的集合;路由设备属性包含计算能力、存储能力;链路属性包含带宽、链路负载以及连通关系;通过流量矩阵,将链路L、链路负载和连通关系链路属性转化为一个设备属性——增量式流量目录;此外,将路由设备的计算能力、存储能力以及链路的带宽属性抽象为另一设备属性——采样能力SC;进而将自治域的表示由无向图G=<R,L,AR,AL>转化为点集N=<R,ITL,SC>,其中,R为路由设备的集合,ITLi指经过路由设备Ri的所有数据流的集合,SCi为路由设备Ri的采样能力,i=1,2,…,n,n为自治域内路由节点数,即|R|=n;设定自治域内共有m条数据流,即|F|=m;且域内所有数据流的集合被量化为:
所述流量矩阵用于描述自治域内的流量信息,具体是路由器之间的流量信息,通过路由矩阵和链路负载计算得到,如下公式所示:
Y=AX
其中,Y为链路负载,A为路由矩阵,X为流量矩阵;
所述路由矩阵A通过路由信息和网络拓扑图获得,其中,行表示的是真实存在的链路,列表示的是所有存在的OD对;如果OD对k的路径上存在一条链路i,则对应的路由矩阵A中的元素Aij的值为1,反之为0;
所述链路负载Y由SNMP协议或netFlow技术测量获得,表示链路上的流量数据;
所述增量式流量目录为路由节点所包含数据流的集合,记为ITL;
步骤2、根据每个路由节点的采样能力,基于负载均衡思想,建立数据流分配优化模型,将自治域内总的采样任务划分为多个采样目录,分配给若干个采样点;
所述路由节点采样能力为路由节点i在资源有限的条件下可以采样数据流的最大值,称为该节点的采样能力,记为SCi;
所述采样目录为每个节点被分配需要采集的数据流的集合,记为SM;
所述采样点是指分配了采样任务的路由节点,通过以下判别函数确定:
进而建立数据流分配优化模型,如下公式所示:
其中,SCi为路由节点i的采样能力;
步骤3、采用基于解空间树的最优解搜索算法,在自治域控制中得出采集本自治域所有数据流所需要的路由设备以及各自的采样目录;
设定解空间树用来描述自治域内路由设备的参数以及关系,由若干树节点构成,每个树节点包含多个属性:设备编号、流量目录、采样能力、采样目录、双亲节点指针、孩子节点指针;树的根节点r0存储在搜索队列Q中;具体搜索方法为:
步骤3.1、判断数据流是否分配完毕,若分配完毕算法结束,否则执行步骤3.2;
通过遍历搜索从队列首节点开始搜索队列Q,其中当前节点Q.ftont所有双亲节点的采样目录属性得到所有已分配的数据流集合,该数据集合与自治域内所有数据流集合F做差得到当前未分配数据流集合F′;若该集合为空,则自治域内所有数据流已分配完毕,算法结束;若集合F′不为空,则执行步骤3.2;
步骤3.2、为当前路由节点分配任务;分配策略为:从未分配流集合F′与当前流量目录的交集中选取满足该路由节点采样能力约束的数据流;具体为:
S1)、从路由设备集合R中挑选未分配任务的路由节点组成新集合R′,同时将已经分配的数据流从集合R′内所有节点的流量目录中去除;
S2)、然后,从集合R′中选择采样目录的大小与采样能力的比值最大的节点构成集合max,集合max中的节点将作为当前节点的孩子节点;除了要将集合max中的节点依次存储在队列Q中,还要将这些节点与当前节点建立父子关系;
S3)、最后将当前节点指针暂存至临时变量Point,并将当前节点移出搜索队列Q,重新执行至步骤3.1;
当循环结束表示已经搜索出一个解,而且该解的最后一个节点的指针保存在变量Point中,则只需遍历暂存指针的临时变量Point的所有双亲节点获得此次搜索的解——采样点集合SamplingPoints,采样规则存储在采样节点的采样目录SamplingList中;
步骤4、引入布鲁姆过滤器BF,将采样目录和流量目录存入BF中;基于步骤3中的任务分配结果,使采样点之间以协同的方式依据采样目录执行采样任务,获得自治域内所有的数据流;同时,保证每条数据流都会被采集而且不会同时被多个节点采集;
具体采样过程如下:
步骤4.1、当前路由节点提取待转发的数据包的数据流特征;所述数据流特征包括网络数据源/目的IP地址、源/目的端口、协议这5个数据;
步骤4.2、判断当前路由节点是否为采样节点,当该路由节点为采样节点时,则执行以下操作:
(1)使用布鲁姆过滤器将数据流特征与采样目录中的数据流特征进行匹配,若匹配,则采样该数据包,若不匹配,则转(2);
(2)进一步检验该数据流特征是否与流量清单中的数据流特征匹配,若匹配,则正常转发该数据包,若不匹配,则该路由节点检测到了新的数据流,转(3);
(3)该路由节点更新自身的流量清单并向自治域内服务器发出提醒,转步骤4.3;
当该节点不为采样节点时,执行以下操作:
1)检查该数据包中的数据流特征是否与流量清单中的特征匹配,若匹配,则正常转发,若不匹配,则转2);
2)更新自身流量清单并向自治域内服务器发出提醒,执行步骤4.3;
步骤4.3、自治域内服务器收到提醒消息时要迅速做出判断,鉴别这些新的数据流属于以下哪种情况:
A1)该数据流之前便存在于自治域内其他节点的流量清单中,则更新报警节点的流量清单;
A2)该数据流之前不存在于任何一个节点的流量清单中,则更新采样清单,以保证域内数据流的全采样,具体更新步骤如下:
A21)整合报警节点及对应新数据流的信息,得到一组新的节点和所属的新流量清单,该流量清单仅包含新数据流;
A22)将步骤A21)中新的节点和所属的新流量清单这些信息作为数据流分配优化模型新的输入,再次求解数据流分配优化模型便得出针对新流量的采样策略;
A23)更新对应节点的采样清单;为了最小化采样节点的数量,新数据流的采样任务优先分配给已有的仍有采样能力的采样点,若已有采样点不满足需求,则引入新的采样点。
现有技术完全依靠流量矩阵技术获取网络数据流数据以得到采样清单,由于流量矩阵技术本身并不完善,导致现有技术只能尽可能扩大采集数据流的覆盖率,无法采集所有的数据流。而且,在应对网络的动态变化时,现有技术使用历史数据预测网络变化结果,显然这种使用带有误差的数据无法拟合网络变化趋势,最终无法进一步改善数据流采集覆盖率。本发明方法仅使用一次流量矩阵技术以获取初级的流量清单。同样地,这些流量清单无法完整地描述所有经过路由设备数据流,但是,本发明方法以初级流量清单为基础,结合“报警”机制(当路由设备检测到不包含于流量清单中数据流时,发出“警报”),利用真实动态的网络变化,构建自适应更新的动态流量清单。与现有技术相比,虽然初期存在数据流估计误差,但是随着时间的推移,误差会逐渐减少甚至消失。由于动态流量清单能够完整地描述自治域数据流情况,则以流量清单为基础得出的采样清单仍然能够具有描述完整性。所以,无论网络流量如何变化,本发明方法依然可以采集到自治域内所有的数据流。
采用上述技术方案所产生的有益效果在于:本发明提供的一种基于流量矩阵的数据流协同采样方法,对流量矩阵技术的依赖性较小,仅使用一次流量矩阵技术获取自治域数据流信息的概况——初级流量清单;使用“自检测”机制不断更新流量清单,不断提高流量清单的描述完整性,减少由流量矩阵技术引发的误差,最终,任意路由设备的流量清单都完整描述了该设备转发数据流信息,进而可以采集到自治域内所有的数据流。优化模型的最终目标就是求解采样设备数量最小值;当发现新的数据流时要优先分配给已有的仍有采样能力的采样点。控制了采样设备的数量,减少了路由设备的资源消耗,使其更好服务于网络数据转发等功能。
附图说明
图1为本发明实施例提供的一种基于流量矩阵的数据流协同采样方法的流程图;
图2为本发明实施例提供的包括四个节点的网络拓扑图;
图3为本发明实施例提供的采用基于解空间树的最优解搜索算法确定采样点及采样目录的流程图;
图4为本发明实施例提供的采样点之间以协同的方式依据采样目录执行采样任务的流程图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
本实施例中,一种基于流量矩阵的数据流协同采样方法,如图1所示,包括以下步骤:
步骤1、以自治域为单位,将域内所有路由节点视为一个整体,确定各路由节点的流量目录;
所述自治域是由路由设备和物理链路组成,定义为一个无向图,表示为G=<R,L,AR,AL>,其中,R为路由设备的集合,L为链路的集合,AR为路由设备属性的集合,AL表示链路属性的集合;路由设备属性包含计算能力、存储能力;链路属性包含带宽、链路负载以及连通关系;然而,由于本发明研究内容更侧重与节点本身,所以通过流量矩阵,将链路L、链路负载和连通关系链路属性转化为一个设备属性——增量式流量目录(IncrementalTraffic List,简称ITL);此外,将路由设备的计算能力、存储能力以及链路的带宽属性抽象为另一设备属性——采样能力SC;综上,由于对自治域的链路信息进行了转化,进而将自治域的表示由无向图G=<R,L,AR,AL>转化为点集N=<R,ITL,SC>,其中,R为路由设备的集合,ITLi指经过路由设备Ri的所有数据流的集合,SCi为路由设备Ri的采样能力,i=1,2,…,n,n为自治域内路由节点数,即|R|=n;设定自治域内共有m条数据流,即|F|=m;且域内所有数据流的集合被量化为:
所述流量矩阵用于描述自治域内的流量信息,具体是路由器之间的流量信息,通过路由矩阵和链路负载计算得到,如下公式所示:
Y=AX
其中,Y为链路负载,A为路由矩阵,X为流量矩阵;
所述路由矩阵A通过路由信息和网络拓扑图获得,其中,行表示的是真实存在的链路,列表示的是所有存在的OD对;如果OD对k的路径上存在一条链路i,则对应的路由矩阵A中的元素Aij的值为1,反之为0;
流量矩阵表示的是网络中的源节点(Origin)到目的节点(Destination)的网络流量需求,一般简称为OD对(origin-to-destinationpair)之间的网络流量的需求,也就是说OD流的大小。
所述链路负载Y由SNMP协议或netFlow技术测量获得,表示链路上的流量数据;
所述增量式流量目录(Incremental Traffic List,简称ITL)为路由节点所包含数据流的集合,记为ITL;
本实施例中,以IP流的源/目的地址、源/目的端口、协议共五元组定义数据流,这些属性共同组成流ID。为了获得自治域数据流的统计信息,本发明引入流量矩阵技术。在本发明中,主要是利用流量矩阵描述自治域内的流量信息,具体是路由器之间的流量信息。在自治域中,通过SNMP协议(SimpleNetworkManagementProtocol)或netFlow技术来测量获得网络中路由器的链路负载,再根据实际网络的配置信息可以知道路由矩阵。
本实施例给出了如图2所示的一个四个节点的网络拓扑图,假设每个节点都是一个路由器。这样就构成了一个流量矩阵,链路负载和路由矩阵的简单实例。网络中实际存在的链路用实线来描述,网络中所有存在的OD对用虚线来描述。利用netFlow技术来直接测量这个网络中的链路负载,可以得到一个链路负载的向量Y;如图2所示,在这个4个节点网络中,有3条实际链路(1、2、3)和6个OD对(a、b、c、d、e、f),所以路由矩阵A以实际链路为行,OD对为列,可以表示为一个3×6矩阵。
通过流量矩阵技术可以得到流程矩阵X的值,矩阵X中包含有每个OD对的流量信息,而每个OD对中包含有链路流量信息。比如,Xa包含有OD对a中的流量信息,实际上是链路1中的流量信息;Xd实际上是链路1、链路3两条链路上的流量信息。在获取各链路上的流量信息便得到了该链路上节点的流量信息,比如,链路1中包含有5条流,则节点A、B都包含这5条流。
节点的流量清单从流量矩阵中获得。假设,通过流量矩阵技术求得流量矩阵X(Xa,Xb,Xc,Xd,Xe,Xf)T的解为:Xa(f1,f2,f4,f6)、Xb(f1,f3,f4,f5)、Xc(f2,f3,f5,f6)、Xd(f2,f6)、Xe(f3,f5)、Xf(f1,f4)。Xa表示节点A、B之间的流量,所有节点A、B通过的流量包含f1,f2,f4,f6。依次类推,每个节点通过的流量如下:A(f1,f2,f4,f6)、B(f1,f2,f3,f4,f5,f6)、C(f1,f3,f4,f5)、D(f2,f3,f5,f6)。每个节点通过流量构成的集合便是该节点的流量清单。
步骤2、根据每个路由节点的采样能力,基于负载均衡思想,建立数据流分配优化模型,将自治域内总的采样任务合理的划分为多个采样目录,分配给若干个采样点;
所述路由节点采样能力(SamplingCapacity)为路由节点i在资源有限的条件下可以采样数据流的最大值,称为该节点的采样能力,记为SCi;
路由器的采样能力是有限的,每个路由器根据自身情况存在一个可采样数据流的最大值。我们将这些数据抽象成一个单一的资源约束SCi,表示节点i可以采样数据流的最大值。
所述采样目录(SamplingList)为每个节点被分配需要采集的数据流的集合,记为SM;
所述采样点是指分配了采样任务的路由节点,通过以下判别函数确定:
进而建立数据流分配优化模型,如下公式所示:
其中,SCi为路由节点i的采样能力;
其中,公式(1)表示任一数据流只允许被采样一次;公式(2)表示域内所有数据流必须被全部分配并采集;公式(3)表示任一采样节点的采样任务都不允许超过该节点的采样能力。
步骤3、采用基于解空间树的最优解搜索算法,在自治域控制中得出采集本自治域所有数据流所需要的路由设备以及各自的采样目录;
受分支限界法以广度优先和以最小耗费(最大效益)优先的方式构建解空间树算法思想的启发,本发明设计了基于解空间树的最优解搜索算法。算法的基本思想是通过添加搜索的条件,减小穷举检索的搜索范围,以此加快算法检索速度。算法执行过程本质上是一个从无到有构建一颗解空间树的过程,当找到一个最优解时,立即终止执行。
设定解空间树用来描述自治域内路由设备的参数以及关系,由若干树节点构成,每个树节点包含多个属性:设备编号(NodeID)、流量目录(TrafficList)、采样能力(Sampling Capacity)、采样目录(SamplingList)、双亲节点指针(ParentNode)、孩子节点指针(ChildNode),用来描述自治域内路由设备的参数以及关系;队列Q负责指导算法搜索顺序,所以,在初始化优先节点队列时,要将树的根节点r0存储在搜索队列Q中;以树节点集合T、域内所有流量集合F、搜索队列Q为输入;以最优解采样点集合SamplingPoints为输出,采样算法执行过程如图3所示,具体为:
步骤3.1、判断数据流是否分配完毕,若分配完毕算法结束,否则执行步骤3.2;
通过遍历搜索从队列首节点开始搜索队列Q,其中当前节点Q.ftont所有双亲节点的采样目录属性得到所有已分配的数据流集合,该数据集合与自治域内所有数据流集合F做差得到当前未分配数据流集合F′;若该集合为空,则自治域内所有数据流已分配完毕,算法结束;此时获得一个可行的分配方案,而且该方案为第一个可行方案说明该方案使用了最少的节点,所以该方案是最优方案之一;若集合F′不为空,则执行步骤3.2;
步骤3.2、为当前路由节点分配任务;分配策略为:从未分配流集合F′与当前流量目录的交集中选取满足该路由节点采样能力约束的数据流;此时,新的采样节点已经确定,接下来需要更新当前未分配任务的节点信息,为确定当前节点的孩子节点做准备。具体为:
S1)、从路由设备集合R中挑选未分配任务的路由节点组成新集合R′,同时将已经分配的数据流从集合R′内所有节点的流量目录中去除;
S2)、然后,从集合R′中选择采样目录的大小与采样能力的比值(这个比值用来衡量采样能力利用率)最大的节点(可能包含有多个)构成集合max,集合max中的节点将作为当前节点的孩子节点;除了要将集合max中的节点依次存储在队列Q中,还要将这些节点与当前节点建立父子关系;
S3)、最后将当前节点指针暂存至临时变量Point,并将当前节点移出搜索队列Q,重新执行至步骤3.1;
当循环结束表示已经搜索出一个解,而且该解的最后一个节点的指针保存在变量Point中,则只需遍历暂存指针的临时变量Point的所有双亲节点获得此次搜索的解——采样点集合SamplingPoints,采样规则存储在采样节点的采样目录SamplingList中;
步骤4、为了每个采样设备能够高效的按照目录完成采样和检测任务,引入布鲁姆过滤器(Bloom filter,简称BF),将采样目录和流量目录存入BF中;基于步骤3中的任务分配结果,使采样点之间以协同的方式依据采样目录执行采样任务,获得自治域内所有的数据流;同时,保证每条数据流都会被采集而且不会同时被多个节点采集;
采样过程如图4所示,具体为:
步骤4.1、当前路由节点提取待转发的数据包的数据流特征;所述数据流特征包括网络数据源/目的IP地址、源/目的端口、协议这5个数据;
步骤4.2、判断当前路由节点是否为采样节点,当该路由节点为采样节点时,则执行以下操作:
(1)使用布鲁姆过滤器将数据流特征与采样目录中的数据流特征进行匹配,若匹配,则采样该数据包,若不匹配,则转(2);
(2)进一步检验该数据流特征是否与流量清单中的数据流特征匹配,若匹配,则正常转发该数据包,若不匹配,则该路由节点检测到了新的数据流,转(3);
(3)该路由节点更新自身的流量清单并向自治域内服务器发出提醒,转步骤4.3;
当该节点不为采样节点时,执行以下操作:
1)检查该数据包中的数据流特征是否与流量清单中的特征匹配,若匹配,则正常转发,若不匹配,则转2);
2)更新自身流量清单并向自治域内服务器发出提醒,执行步骤4.3;
步骤4.3、自治域内服务器收到提醒消息时要迅速做出判断,鉴别这些新的数据流属于以下哪种情况:
A1)该数据流之前便存在于自治域内其他节点的流量清单中,则更新报警节点的流量清单;
A2)该数据流之前不存在于任何一个节点的流量清单中,则更新采样清单,以保证域内数据流的全采样,具体更新步骤如下:
A21)整合报警节点及对应新数据流的信息,得到一组新的节点和所属的新流量清单,该流量清单仅包含新数据流;
A22)将步骤A21)中新的节点和所属的新流量清单这些信息作为数据流分配优化模型新的输入,再次求解数据流分配优化模型便得出针对新流量的采样策略,即根据新的信息,再次运行步骤三中的算法;
A23)更新对应节点的采样清单;为了最小化采样节点的数量,新数据流的采样任务优先分配给已有的仍有采样能力的采样点,若已有采样点不满足需求,则引入新的采样点。
本发明方法通过采样与检测并行的方式,在提高域内数据流信息精度的同时迅速感知域内数据流量变化,保证了各个节点采样目录、流量清单的实时性、准确性,为域内数据流采样提供了精确的执行参数,最终使得域内流数据全采样目标得以实现。
采样点使用netFlow技术参照各自采样目录采样数据流,然后将采集的数据进行整理聚合,最后按照导出版本(通常为版本5)将数据传输到netFlow收集服务器存储。溯源系统可借助这些数据对用户提供网络溯源、网络取证、路径验证、故障检测、流量审计等服务。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求所限定的范围。
Claims (5)
1.一种基于流量矩阵的数据流协同采样方法,其特征在于:包括以下步骤:
步骤1、以自治域为单位,将域内所有路由节点视为一个整体,确定各路由节点的流量目录;
步骤2、结合各路由节点的流量目录,根据每个路由节点的采样能力,基于负载均衡思想,建立数据流分配优化模型,将自治域内总的采样任务划分为多个采样目录,分配给若干个采样点;
步骤3、采用基于解空间树的最优解搜索算法,在自治域控制中得出采集本自治域所有数据流所需要的路由设备以及各自的采样目录;
步骤4、引入布鲁姆过滤器BF,将采样目录和流量目录存入BF中;基于步骤3中的任务分配结果,使采样点之间以协同的方式依据采样目录执行采样任务,获得自治域内所有的数据流;同时,保证每条数据流都会被采集而且不会同时被多个节点采集。
2.根据权利要求1所述的一种基于流量矩阵的数据流协同采样方法,其特征在于:步骤1所述自治域是由路由设备和物理链路组成,定义为一个无向图,表示为G=<R,L,AR,AL>,其中,R为路由设备的集合,L为链路的集合,AR为路由设备属性的集合,AL表示链路属性的集合;路由设备属性包含计算能力、存储能力;链路属性包含带宽、链路负载以及连通关系;通过流量矩阵,将链路L、链路负载和连通关系链路属性转化为一个设备属性——增量式流量目录;此外,将路由设备的计算能力、存储能力以及链路的带宽属性抽象为另一设备属性——采样能力SC;进而将自治域的表示由无向图G=<R,L,AR,AL>转化为点集N=<R,ITL,SC>,其中,R为路由设备的集合,ITLi指经过路由设备Ri的所有数据流的集合,SCi为路由设备Ri的采样能力,i=1,2,…,n,n为自治域内路由节点数,即|R|=n;设定自治域内共有m条数据流,即|F|=m;且域内所有数据流的集合被量化为:
所述流量矩阵用于描述自治域内的流量信息,具体是路由器之间的流量信息,通过路由矩阵和链路负载计算得到,如下公式所示:
Y=AX
其中,Y为链路负载,A为路由矩阵,X为流量矩阵;
所述路由矩阵A通过路由信息和网络拓扑图获得,其中,行表示的是真实存在的链路,列表示的是所有存在的OD对;如果OD对k的路径上存在一条链路i,则对应的路由矩阵A中的元素Aij的值为1,反之为0;
所述链路负载Y由SNMP协议或netFlow技术测量获得,表示链路上的流量数据;
所述增量式流量目录为路由节点所包含数据流的集合。
3.根据权利要求2所述的一种基于流量矩阵的数据流协同采样方法,其特征在于:所述路由节点采样能力为路由节点i在资源有限的条件下可以采样数据流的最大值,称为该节点的采样能力,记为SCi;
所述采样目录为每个节点被分配需要采集的数据流的集合,记为SM;
所述采样点是指分配了采样任务的路由节点,通过以下判别函数确定:
进而建立数据流分配优化模型,如下公式所示:
其中,SCi为路由节点i的采样能力。
4.根据权利要求3所述的一种基于流量矩阵的数据流协同采样方法,其特征在于:所述步骤3的具体方法为:
设定解空间树用来描述自治域内路由设备的参数以及关系,由若干树节点构成,每个树节点包含多个属性:设备编号、流量目录、采样能力、采样目录、双亲节点指针、孩子节点指针;树的根节点r0存储在搜索队列Q中;具体搜索方法为:
步骤3.1、判断数据流是否分配完毕,若分配完毕算法结束,否则执行步骤3.2;
通过遍历搜索从队列首节点开始搜索队列Q,其中当前节点Q.ftont所有双亲节点的采样目录属性得到所有已分配的数据流集合,该数据集合与自治域内所有数据流集合F做差得到当前未分配数据流集合F′;若该集合为空,则自治域内所有数据流已分配完毕,算法结束;若集合F′不为空,则执行步骤3.2;
步骤3.2、为当前路由节点分配任务;分配策略为:从未分配流集合F′与当前流量目录的交集中选取满足该路由节点采样能力约束的数据流;具体为:
S1)、从路由设备集合R中挑选未分配任务的路由节点组成新集合R′,同时将已经分配的数据流从集合R′内所有节点的流量目录中去除;
S2)、然后,从集合R′中选择采样目录的大小与采样能力的比值最大的节点构成集合max,集合max中的节点将作为当前节点的孩子节点;除了要将集合max中的节点依次存储在队列Q中,还要将这些节点与当前节点建立父子关系;
S3)、最后将当前节点指针暂存至临时变量Point,并将当前节点移出搜索队列Q,重新执行至步骤3.1;
当循环结束表示已经搜索出一个解,而且该解的最后一个节点的指针保存在变量Point中,则只需遍历暂存指针的临时变量Point的所有双亲节点获得此次搜索的解——采样点集合SamplingPoints,采样规则存储在采样节点的采样目录SamplingList中。
5.根据权利要求4所述的一种基于流量矩阵的数据流协同采样方法,其特征在于:所述步骤4的具体方法为:
步骤4.1、当前路由节点提取待转发的数据包的数据流特征;所述数据流特征包括网络数据源/目的IP地址、源/目的端口、协议这5个数据;
步骤4.2、判断当前路由节点是否为采样节点,当该路由节点为采样节点时,则执行以下操作:
(1)使用布鲁姆过滤器将数据流特征与采样目录中的数据流特征进行匹配,若匹配,则采样该数据包,若不匹配,则转(2);
(2)进一步检验该数据流特征是否与流量清单中的数据流特征匹配,若匹配,则正常转发该数据包,若不匹配,则该路由节点检测到了新的数据流,转(3);
(3)该路由节点更新自身的流量清单并向自治域内服务器发出提醒,转步骤4.3;
当该节点不为采样节点时,执行以下操作:
1)检查该数据包中的数据流特征是否与流量清单中的特征匹配,若匹配,则正常转发,若不匹配,则转2);
2)更新自身流量清单并向自治域内服务器发出提醒,执行步骤4.3;
步骤4.3、自治域内服务器收到提醒消息时要迅速做出判断,鉴别这些新的数据流属于以下哪种情况:
A1)该数据流之前便存在于自治域内其他节点的流量清单中,则更新报警节点的流量清单;
A2)该数据流之前不存在于任何一个节点的流量清单中,则更新采样清单,以保证域内数据流的全采样,具体更新步骤如下:
A21)整合报警节点及对应新数据流的信息,得到一组新的节点和所属的新流量清单,该流量清单仅包含新数据流;
A22)将步骤A21)中新的节点和所属的新流量清单这些信息作为数据流分配优化模型新的输入,再次求解数据流分配优化模型便得出针对新流量的采样策略;
A23)更新对应节点的采样清单;为了最小化采样节点的数量,新数据流的采样任务优先分配给已有的仍有采样能力的采样点,若已有采样点不满足需求,则引入新的采样点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110896235.3A CN113595904B (zh) | 2021-08-05 | 2021-08-05 | 一种基于流量矩阵的数据流协同采样方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110896235.3A CN113595904B (zh) | 2021-08-05 | 2021-08-05 | 一种基于流量矩阵的数据流协同采样方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113595904A true CN113595904A (zh) | 2021-11-02 |
CN113595904B CN113595904B (zh) | 2023-01-31 |
Family
ID=78255374
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110896235.3A Active CN113595904B (zh) | 2021-08-05 | 2021-08-05 | 一种基于流量矩阵的数据流协同采样方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113595904B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BE703956A (zh) * | 1966-09-17 | 1968-03-18 | ||
US20090059793A1 (en) * | 2007-08-14 | 2009-03-05 | Greenberg Albert G | Traffic engineering method, system and computer program product for managing traffic over dynamic networks during both normal and unexpected traffic scenarios |
CN106506274A (zh) * | 2016-11-08 | 2017-03-15 | 东北大学秦皇岛分校 | 一种可动态扩展的高效单包溯源方法 |
CN111915060A (zh) * | 2020-06-30 | 2020-11-10 | 华为技术有限公司 | 组合优化任务的处理方法以及处理装置 |
CN112422482A (zh) * | 2019-08-23 | 2021-02-26 | 东北大学秦皇岛分校 | 一种面向服务的尾端链路洪泛攻击过滤方法 |
CN112685515A (zh) * | 2021-01-08 | 2021-04-20 | 西安理工大学 | 一种基于d-smote的离散数据过采样方法 |
-
2021
- 2021-08-05 CN CN202110896235.3A patent/CN113595904B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BE703956A (zh) * | 1966-09-17 | 1968-03-18 | ||
US3516071A (en) * | 1966-09-17 | 1970-06-02 | Int Standard Electric Corp | Signalling system using time-division-multiplex |
US20090059793A1 (en) * | 2007-08-14 | 2009-03-05 | Greenberg Albert G | Traffic engineering method, system and computer program product for managing traffic over dynamic networks during both normal and unexpected traffic scenarios |
CN106506274A (zh) * | 2016-11-08 | 2017-03-15 | 东北大学秦皇岛分校 | 一种可动态扩展的高效单包溯源方法 |
CN112422482A (zh) * | 2019-08-23 | 2021-02-26 | 东北大学秦皇岛分校 | 一种面向服务的尾端链路洪泛攻击过滤方法 |
CN111915060A (zh) * | 2020-06-30 | 2020-11-10 | 华为技术有限公司 | 组合优化任务的处理方法以及处理装置 |
CN112685515A (zh) * | 2021-01-08 | 2021-04-20 | 西安理工大学 | 一种基于d-smote的离散数据过采样方法 |
Non-Patent Citations (6)
Title |
---|
J. E. MCGEEHAN, M. C. HAUER, A. B. SAHIN AND A. E. WILLNER: "《Multiwavelength-channel header recognition for reconfigurable WDM networks using optical correlators based on sampled fiber Bragg gratings》", 《EEE PHOTONICS TECHNOLOGY LETTERS》 * |
侯颖等: "基于自适应超时计数布鲁姆过滤器的流量测量算法", 《电子与信息学报》 * |
张震等: "流量测量的关键技术分析与研究", 《计算机应用研究》 * |
胡志冬等: "基于滑动窗口密度聚类的数据流偏倚采样算法", 《计算机科学》 * |
贾濡等: "智慧协同网络中基于流量矩阵的负载均衡路由机制", 《通信学报》 * |
邢长友等: "一种面向软件定义网络的大流检测机制", 《北京邮电大学学报》 * |
Also Published As
Publication number | Publication date |
---|---|
CN113595904B (zh) | 2023-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhao et al. | {LightGuardian}: A {full-visibility}, lightweight, in-band telemetry system using sketchlets | |
US7644157B2 (en) | Statistical information collecting system and apparatus thereof | |
CN112491619B (zh) | 一种基于sdn的服务定制网络资源自适应分配方法 | |
US20100085891A1 (en) | Apparatus and method for analysing a network | |
CN108809857A (zh) | 一种基于sdn的流量监控与业务服务质量保障策略的方法 | |
Xiao et al. | Cardinality estimation for elephant flows: A compact solution based on virtual register sharing | |
BR112014004824B1 (pt) | Métodos de um elemento de rede funcionando como um controlador para uma rede de arquitetura dividida e sistemas e elementos de rede relacionados | |
CN110324327B (zh) | 基于特定企业域名数据的用户及服务器ip地址标定装置及方法 | |
CN110275437B (zh) | Sdn网络流量优势监控节点动态选择系统及其方法 | |
US20120026914A1 (en) | Analyzing Network Activity by Presenting Topology Information with Application Traffic Quantity | |
US9992081B2 (en) | Scalable generation of inter-autonomous system traffic relations | |
US11038953B1 (en) | Dynamic egress traffic steering for large scale cloud network | |
CN115442275B (zh) | 基于分级可信流的混合遥测方法和系统 | |
CN110071843B (zh) | 一种基于流路径分析的故障定位方法及装置 | |
US20210336960A1 (en) | A System and a Method for Monitoring Traffic Flows in a Communications Network | |
CN113595904B (zh) | 一种基于流量矩阵的数据流协同采样方法 | |
WO2015075862A1 (ja) | ネットワーク制御装置、ネットワーク制御方法およびプログラム | |
CN107528794B (zh) | 一种数据处理方法和装置 | |
Mohammadi et al. | Taxonomy of traffic engineering mechanisms in software-defined networks: a survey | |
Queiroz et al. | A MapReduce Approach for Traffic Matrix Estimation in SDN | |
CN105917621B (zh) | 用于数据路由的方法和系统 | |
JP4871775B2 (ja) | 統計情報収集装置 | |
U-chupala et al. | Application-aware network: Network route management using SDN based on application characteristics | |
CN113067815B (zh) | Dns日志分析方法、dns日志分析系统及计算机可读存储介质 | |
Pekar et al. | Towards threshold‐agnostic heavy‐hitter classification |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |