网络流量通用仿真模型及方法与流程

文档序号:14504532阅读:634来源:国知局
本发明涉及网络流量仿真
技术领域
,特别涉及一种网络流量通用仿真模型及方法。
背景技术
:目前,用户在实现网络流量仿真系统时,将仿真计算和流量计算混杂在一起,这时在实现相关流量仿真时,导致系统复杂甚至难以实现,在后期维护时,一旦流量计算规则稍有变动时,系统必须做大的调整,所谓牵一发而动全一身。因此,现有网络流量仿真系统复杂,后期维护成本高。技术实现要素:本发明实施例提供了一种网络流量通用仿真模型,用以降低网络流量仿真的复杂度和维护成本,该模型包括:通用仿真单元,用于对实际路由数据和实际流量数据进行处理;所述通用仿真单元包括:业务路由处理单元,用于根据不同业务场景,对实际路由数据进行处理,生成不同场景对应的业务路由表;业务流处理单元,用于根据不同业务场景,对实际流量数据进行分组,生成不同场景对应的业务流;仿真计算单元,用于根据不同场景对应的业务路由表和不同场景对应的业务流,进行仿真计算,得到仿真结果数据。本发明实施例还提供了一种网络流量通用仿真方法,用以降低网络流量仿真的复杂度和维护成本,该方法包括:对实际路由数据和实际流量数据进行处理,包括:根据不同业务场景,对实际路由数据进行处理,生成不同场景对应的业务路由表;根据不同业务场景,对实际流量数据进行分组,生成不同场景对应的业务流;根据不同场景对应的业务路由表和不同场景对应的业务流,进行仿真计算,得到仿真结果数据。本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述网络流量通用仿真方法。本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有执行上述网络流量仿真的并行防护的计算机程序。与现有技术中将仿真计算和流量计算混杂在一起的流量仿真系统相比较,本发明实施例提供的技术方案:首先,将仿真计算作为通用逻辑抽取出来,将仿真计算与业务流处理,以及业务路由处理分离,解耦原来复杂的仿真过程,降低了流量仿真的复杂度,同时,业务流和业务路由处理人员只需关注业务流和业务路由处理,仿真计算人员只需专注算法性能的提升,在后期维护时,如果对模型有改进,只需改进相应分离的部分即可,因此,降低了维护成本。其次,根据不同业务场景,对实际路由数据进行处理,生成不同业务场景对应的业务路由表;根据不同业务场景,对实际流量数据进行分组,生成不同业务场景对应的业务流,实现了根据不同业务场景,对业务路由数据和业务流数据的处理,不再关心仿真计算逻辑,同时,便于后续根据不同业务场景对应的业务路由表和不同业务场景对应的业务流,进行仿真计算,同时提高了仿真计算性能。附图说明此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:图1是本发明实施例中网络流量通用仿真的原理示意图;图2是本发明实施例中网络流量通用仿真模型的结构示意图;图3是本发明实施例中网络拓扑结构及每一路由器的业务路由表示意图;图4是本发明实施例中业务路由处理单元的结构示意图;图5是本发明实施例中业务流处理单元的结构示意图;图6是本发明实施例中仿真计算模型原理示意图;图7是本发明实施例中网络流量通用仿真方法的流程示意图。具体实施方式为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。在介绍本发明实施例提供的网络流量仿真方案之前,首先对本发明实施例设计的专业名称进行介绍:1)igp(interiorgatewayprotocols):内部网关协议用于同一个自治系统内交换路由信息。2)bgp(bordergatewayprotocol)是一种在自治系统之间动态交换路由信息的路由协议。3)snmp:简单网络管理协议是一种在ip网络中管理网络节点(如服务器、工作站、路由器、交换机等)的标准协议。4)netflow协议:netflow是cisco公司开发出的一套协议,用于专门解决原始流量方式所产生的问题。当在网络设备或其接口上开启netflow功能后,网络设备会对需要分析的流量进行采样分析,并把采样分析的结果发送至分析段进行流量分析,当然这些采样分析的结果要比原始数据小的多的多。其中网络设备采样分析的结果数据会包括源地址、目的地址、源端口、目的端口、数据流的大小、数据流经过的接口、数据流的到达时间、数据流的送出时间等参数。由于发明人发现现有技术中存在的技术问题,提出了一个解耦的模型,将仿真计算作为通用逻辑抽取出来,和流量计算规则项分离。该方案对网络流量仿真建立通用模型,通过以新模型的建立可以将原来复杂的仿真业务进行解耦,将原来复杂的流程变得规范化和标准化。依据该模型仿真计算可以更加专注计算方式,计算性能的提高,如应用多线程,分布式的应用,因和仿真计算分离,用户可以专注业务流和业务路由的设计,减轻了用户实现网络流量仿真系统的复杂度。下面对本发明的提出过程和方案进行介绍。图1是本发明实施例中网络流量通用仿真的原理示意图,如图1所示,本发明实施例提供的网络流量通用仿真模型主要通过通用仿真接口的定义将仿真计算和业务流定义、业务路由定义分离,将系统继续解耦,通用仿真接口主要有三个部分构成,包括:业务流数据、业务路由表,网络拓扑结构。通用仿真计算依据上述数据使用通用计算逻辑进行计算达到仿真的目的。不同场景,用户只需要实现业务流和业务路由设计即可,不再关心计算逻辑,降低了系统的复杂度,便于后期的维护。下面对该网络流量通用仿真模型详细介绍如下。图2是本发明实施例中网络流量通用仿真模型的结构示意图,如图2所示,该模型包括:通用仿真单元10,用于对实际路由数据和实际流量数据进行处理;所述通用仿真单元10包括:业务路由处理单元11,用于根据不同业务场景,对实际路由数据进行处理,生成不同业务场景对应的业务路由表;业务流处理单元12,用于根据不同业务场景,对实际流量数据进行分组,生成不同业务场景对应的业务流;仿真计算单元20,用于根据不同业务场景对应的业务路由表和不同业务场景对应的业务流,进行仿真计算,得到仿真结果数据。具体实施时,可以设置一如图1所示的通用仿真接口,该通用仿真接口用于接收来自通用仿真单元10的不同场景对应的业务路由表和不同场景对应的业务流,并将不同场景对应的业务路由表和不同场景对应的业务流发送给仿真计算单元20。在一个实例中,所述业务路由处理单元11包括:路由数据采集单元111,用于采集路由设备信息和相邻路由设备信息,以及实际路由表数据;网络拓扑模型生成单元112,用于根据所述路由设备信息和相邻路由设备信息,生成网络拓扑模型;业务路由表单元113,用于根据所述实际路由表数据和网络拓扑模型,生成不同业务场景对应的业务路由表。在一个实例中,所述业务路由表单元113包括:第一路由表生成单元1131,根据业务场景,将实际路由表数据进行合并,生成第一路由表;业务路由表生成单元1132,用于根据所述网络拓扑模型和第一路由表,生成不同业务场景对应的业务路由表。具体实施时,本发明实施例中提到的业务场景可以指的是根据用户的需要观察的流量成分粒度来定,例如是网络(南京城域网)到网络(北京城域网)的流量,还是业务(宽带)到业务(城域网)的流量。上述根据业务场景,将实际路由表数据进行合并,生成第一路由表,即根据相应业务场景,合并成粗粒度路由(第一路由表)的优点是:可以减少计算量,从而提高网络流量仿真效率。具体实施时,路由数据采集单元111可以依据igp协议采集设备和邻居设备信息,网络拓扑模型生成单元112依据采集到的设备和邻居设备信息,形成网络拓扑模型,igp设备会将自己的邻居信息和邻居的metric值公告出来,根据设备的邻接关系形成拓扑模型。基于此,采集的设备信息和相邻路由设备信息可以包括设备的位置信息和距离信息。具体实施时,路由数据采集单元111可以使用igp/bgp协议采集实际路由表,第一路由表生成单元1131,根据业务场景,将实际路由表数据进行合并,生成第一路由表,即依据实际路由表和相应的业务场景,将实际bgp路由表进行合并,更粗粒度的路由表项(第一路由表),下面举一个例子说明第一路由表生成单元1131的工作过程:按bgp路由的next_hop属性和as_path:属性的第一个as,对bgp路由进行合并形成粗粒度路由,相同next_hop和as_path对应的所有announced为一条记录。bgp路由如下:from:202.97.32.1as_path:64557next_hop:118.84.113.75originator:202.97.32.226multi_exit_disc:0local_pref:800communities:4134:1114134:30224134:32214134:6455764557:10646announced:219.148.128.0/20announced:219.148.144.0/20announced:222.222.0.0/16announced:222.223.0.0/16合并后,将announced:219.148.128.0/20announced:219.148.144.0/20announced:222.222.0.0/16announced:222.223.0.0/16记录成一个网络a,最终生成记录,该记录可以参见下表1:目的网络next_hopas_path网络a118.84.113.7564557表1对所有的bgp路由做如上合并操作,形成合并后的粗粒度路由,参见下表2:目的网络next_hopas_path网络a118.84.113.7564557网络b118.84.113.7664557......................................表2具体实施时,业务路由表单元113根据所述实际路由表数据和网络拓扑模型,生成业务路由表,即,依据网络拓扑和粗粒度路由表,形成业务路由表,网络拓扑结构及每一路由器的业务路由表如图3所示。下面结合图3,介绍生成业务路由表的详细过程:对igp域内的每台路由器,找到在igp路由中公告该next_hop的路由器,以该路由器为目标,在igp域内按最短路径算法形成业务路由表。例如router1路由器的业务路由表生成过程如下:将第一条粗粒度路由的next_hop(118.84.113.75)作为目标在igp域内按最短路径算法找到去往118.84.113.75的路径为router1→link3→link4→router4,记录成一条业务路由格式可以如下表3所示:路由器id目标网络下一跳router1网络alink3表3对每一条粗粒度路由进行如上计算得出业务路由表,如下表4所示:路由器id目标网络下一跳线router1网络alink3router1网络blink1router1..........router1............表4在一个实例中,所述业务流处理单元12包括:流量数据采集单元121,用于采集路由设备的总流量信息和实际流量的成分信息;处理单元122,用于根据业务场景,总流量信息和流量的成分信息,按ip范围进行分组,生成不同业务场景对应的业务流。具体实施时,流量数据采集单元121采集过程可以包括:可以用snmp(简单网络管理协议)采集总流量,用netflow采集实际流量成分。处理单元122按照实际的业务场景对ip范围进行分组形成不同的业务流,例如流量的目标ip在网络a的ip范围内,则对这些流量进行汇聚形成一条流量,该过程如下表5和表6所示。目标ip流量ip1(属于网络a)500mip2(属于网络a)300m表5汇聚后变为:目标网络流量网络a800m表6具体实施时,分组原则不应该小于业务路由的粒度。下面对通用仿真计算的过程(仿真计算单元)进行介绍。如图4所示,仿真计算过程可以包括:(1)从设备1流入业务流;(2)流经1设备时依据“1伪路由表”和“业务流目标”判断下一跳应该去的链路;(3)在经过的链路上加上该流量成分组流量,若有多条链接时需要在这些链路上按带宽对流量均分;(4)找到链路对端,按上述流程进行,直到流量成分组到达终点。在一个实例中,所述仿真计算单元02具体用于:根据不同业务场景对应的业务路由表和不同业务场景对应的业务流,采用多个计算线程和分布式的方式,进行仿真计算,得到仿真结果数据。具体实施时,在计算时由于多个业务流为不同场景对应的业务流,它们之间没有逻辑上的因果关系,因此可以对计算采用多线程,和分布的方式来提高计算性能。基于同一发明构思,本发明实施例中还提供了一种网络流量通用仿真方法,如下面的实施例。由于网络流量通用仿真方法解决问题的原理与网络流量通用仿真模型相似,因此网络流量通用仿真方法的实施可以参见网络流量通用仿真模型的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。图7是本发明实施例中网络流量通用仿真方法的流程示意图,如图7所示,该方法包括如下步骤:步骤101:对实际路由数据和实际流量数据进行处理,包括:根据不同业务场景,对实际路由数据进行处理,生成不同业务场景对应的业务路由表;根据不同业务场景,对实际流量数据进行分组,生成不同业务场景对应的业务流;步骤102:根据不同业务场景对应的业务路由表和不同业务场景对应的业务流,进行仿真计算,得到仿真结果数据。在一个实例中,根据不同业务场景,对实际路由数据进行处理,生成不同业务场景对应的业务路由表,可以包括:采集路由设备信息和相邻路由设备信息,以及实际路由表数据;根据所述路由设备信息和相邻路由设备信息,生成网络拓扑模型;根据所述实际路由表数据和网络拓扑模型,生成不同业务场景对应的业务路由表。在一个实例中,根据所述实际路由表数据和网络拓扑模型,生成不同业务场景对应的业务路由表,可以包括:根据业务场景,将实际路由表数据进行合并,生成第一路由表;根据所述网络拓扑模型和第一路由表,生成不同业务场景对应的业务路由表在一个实例中,根据不同业务场景,对实际流量数据进行分组,生成不同业务场景对应的业务流,可以包括:采集路由设备的总流量信息和实际流量的成分信息;根据业务场景,总流量信息和流量的成分信息,按ip范围进行分组,生成不同业务场景对应的业务流。在一个实例中,根据不同业务场景对应的业务路由表和不同场景对应的业务流,进行仿真计算,得到仿真结果数据,可以包括:根据不同业务场景对应的业务路由表和不同场景对应的业务流,采用多个计算线程和分布式的方式,进行仿真计算,得到仿真结果数据。本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述网络流量通用仿真方法。本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有执行上述网络流量仿真的并行防护的计算机程序。本发明实施例提供的技术方案实现了:1)业务路由表提出,解耦原来复杂的仿真过程。2)按通用仿真模型分解后,业务定义人员可以专注业务定义,算法人员专注算法性能提升。本发明实施提供的技术方案的有益技术效果为:与现有技术中将仿真计算和流量计算混杂在一起的流量仿真系统相比较,本发明实施例提供的技术方案:首先,将仿真计算作为通用逻辑抽取出来,将仿真计算与业务流处理,以及业务路由处理分离,解耦原来复杂的仿真过程,降低了流量仿真的复杂度,同时,业务流和业务路由处理人员只需关注业务流和业务路由处理,仿真计算人员只需专注算法性能的提升,在后期维护时,如果对模型有改进,只需改进相应分离的部分即可,因此,降低了维护成本。其次,根据不同业务场景,对实际路由数据进行处理,生成不同场景对应的业务路由表;根据不同业务场景,对实际流量数据进行分组,生成不同场景对应的业务流,实现了根据不同业务场景,对业务路由数据和业务流数据的处理,不再关心仿真计算逻辑,同时,便于后续根据不同场景对应的业务路由表和不同场景对应的业务流,进行仿真计算,同时提高了仿真计算性能。显然,本领域的技术人员应该明白,上述的本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1