一种分布式网络模拟方法及系统的制作方法

文档序号:9790826阅读:473来源:国知局
一种分布式网络模拟方法及系统的制作方法
【技术领域】
[0001]本发明涉及网络模拟技术领域,涉及网络模拟的分布式、并行化、负载均衡技术,具体涉及一种分布式网络模拟方法及系统。
【背景技术】
[0002]计算机网络的发展呈现出面对规模日益增长,复杂性不断增强、环境日益多变的特点,这也就使得网络性能、大量网络信息内容的挖掘、网络安全等问题伴随着网络的发展而变得日益突出。复杂网络环境下的应用如网络空间安全性、相关网络工具有效性等很难在实际的网络中对其进行充分有效的测试、验证和评估。军事、教育、科研、互联网应用等领域均需要模拟出能够满足各系统测试与评估所需的复杂、多样、灵活的网络环境。
[0003]常见的虚拟网络构建技术中,软件模拟方法以其在模拟规模、模拟灵活性和实现成本上的独特优势成为目前主流的网络模拟应用技术,下述的网络模拟特指以软件模拟方法实现的网络模拟。尽管网络模拟技术已经得到非常广泛的应用,但现有硬件参数下,单机模拟能力有限,进行分布式的网络模拟,扩展模拟规模是网络空间活动研究的迫切需求。另外,由于多粒度抽象的虚拟网络构建技术出现,使得虚拟网络不再由单一虚拟粒度节点构成。网络模拟节点常常作为虚拟网络的一部分,与仿真节点(虚拟机)、实物设备交互,这就要求分布式网络模拟方法能够适应与仿真、实物设备的交互需求。
[0004]常见的分布式并行模拟方法主要从以下两个角度:
[0005]1、基于事件并行的并行模拟技术。网络模拟技术本质上采用的是离散事件调度,将网络活动抽象为一个一个事件,按照时间顺序形成一个(先进先出)FIFO的时间调度列表,插入到调度器中。基于事件的并行模拟技术需在离散事件中提取出能够并行执行的事件达到并行的目的。此类并行模拟技术的问题在于:需要进行复杂的计算来理清所有事件的同步关系,以及复杂的同步调度机制,对原有的模拟工具框架改动较大,另外也无法适应与仿真、实物设备交互需求,在跨服务器时也涉及到此类问题,局限性大。
[0006]2、基于拓扑划分的分布式并行模拟。此类分布式并行模拟方法主要思想是,将网络拓扑划分成多个子网络,每个子网只保存各自负责子网的信息,采用此类方法最为著名的是TONSt3PDNS是基于NS-2的并行模拟器,也是较早且较为通用和常用的并行模拟器,由于NS-2本身不支持与实物设备通信、没有物理时钟同步机制,PDNS需要解决如何进全局的模拟时钟同步、跨服务器的模拟节点通信如何处理。为了解决这些问题,不得不对原有的NS-2做一定的改动并引入通信代理实现跨服务器之间的事件转移,而基于该类型并行模拟技术的研究又多集中于如何进行网络拓扑如何划分上。
[0007]另外,由于越来越多的研究需求使得对提供虚拟网络构建服务的虚拟网络平台需求日益凸显,这就要求,分布式的网络模拟方法必须支持多个模拟实例的并行执行和调度管理。综上所述以上系统或方法的主要问题在于:
[0008]I)由于无法采用物理时钟同步,网络模拟过程中采用模拟时间,将大规模网络模拟并行或者分布式化,必须进行复杂的时间同步计算来保证全局网络模拟的正确性;需引入额外的机制来实现跨处理器跨硬件设备的子网之间的交互。
[0009]2)无法适应与仿真节点、实物设备的交互,真实度降低。
[0010]3)不考虑多个模拟网络实例的调度管理。

【发明内容】

[0011]本发明针对上述问题,提供一种分布式网络模拟方法及系统,通过分布式模拟的计算资源管理、负载均衡及网络模拟进程的调度,实现不同策略下的模拟网络负载均衡以及多个并行执行的模拟网络实例的调度管理。
[0012]本发明公开的一种分布式网络模拟方法,主要包括三大部分:分布式网络模拟的计算资源管理与负载均衡,分布式网络模拟进程的调度,以及网络模拟进程。
[0013]1.计算资源管理与负载均衡
[0014]计算资源的负载均衡是指根据模拟网络节点的资源需求、模拟网络结构特点以及物理计算资源的承载能力,将模拟节点均衡地分配到一个或者多个物理计算资源之上的过程。计算资源管理与负载均衡方法的步骤包括:
[0015]I)按需采用不同的负载均衡算法,将全局的模拟网络拓扑划分成若干个子集,根据现有计算资源的状态以及负载均衡结果将各个虚拟网络子集分配到选用计算资源上,并记录该模拟网络构建任务的分配情况,并接收各个虚拟网络子集的构建结果,获得整个模拟网络的构建结果。
[0016]2)负载均衡算法能够根据需要,尽可能使用少的计算资源或者尽可能均衡的使用现有计算资源。可以以网络拓扑为单位进行均衡,即一个完整的模拟网络实例由单一物理资源上的单一进程实现。也可以模拟节点为单位进行均衡,一个模拟网络拓扑划分成若干子集,每个子集包含这个拓扑中的部分节点,分布在多台物理计算资源上,由多个进程实现。而两种方法也根据需要进行互补。即,根据负载均衡方法,模拟网络实例与物理资源之间是多对多的关系,一个模拟网络实例可以划分为若干子集,由多个物理计算资源承载,而一个物理资源上也可以承载多个模拟网络实例,特别地,一个模拟网络实例也可只由一台物理计算资源完全承载。
[0017]本发明所称的模拟网络实例,或简称为实例,指一个模拟网络任务的实例化,可对模拟网络实例进行部署(构建)暂停、重启等处理。任务是指针对模拟网络实例进行的控制,如构建(部署)任务、暂停任务、恢复任务、重启任务等。
[0018]具体地,以拓扑为单位的负载均衡,其处理步骤如下:
[0019](I)从数据库或配置文件中获取各类模拟节点的各类预留资源量;
[0020](2)计算拓扑中各类型模拟节点数量,并得出模拟网络的资源需求总量;
[0021](3)计算所有模拟节点的承载能力,主要是CPU数量、内存容量以及网卡数量;
[0022](4)遍历所有模拟服务器,并判断其是否能够承载当前模拟网络拓扑;
[0023]a)如果可以,结束查找过程,并将拓扑的承载服务器标记为当前服务器;
[0024]b)如果所有服务器都无法承载当前拓扑,则模拟网络构建失败。
[0025]具体地,以节点为单位的负载均衡,其处理步骤如下:
[0026](I)从数据库或配置文件中获取各类模拟节点的各类预留资源量;
[0027](2)计算拓扑中各类型模拟节点数量,并得出模拟网络的资源需求总量;
[0028](3)构建模拟网络的连通图模型;
[0029]a)遍历连通图,找到所有的可断边;
[0030]b)遍历所有可断边,并移除此边,将连通图分为两个子连通图;递归进行,每次划分后,遍历所有物理计算资源,尝试将子图分配到能够承载的物理计算资源,直到所有的子图都找到合适的服务器,划分成功,或者子图不可分且未找到合适的服务器,或者子图数量超过了物理服务器数量则划分失败。
[0031]2.网络模拟进程的调度
[0032]对个模拟网络实例进行调度,由于记录了各个模拟网络实例的分布情况,还可可实现对模拟网络的状态控制。
[0033]网络模拟进程调度方法的步骤包括:
[0034]I)接收模拟网络实例的配置,以及模拟网络构建任务或状态控制任务(这里接收到的应当是来自于分布式模拟计算资源管理
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1