网络仿真平台VLAN互联的虚拟节点调度方法与系统技术方案

技术编号:30059381 阅读:20 留言:0更新日期:2021-09-15 11:04
本发明专利技术公开了一种网络仿真平台VLAN互联的虚拟节点调度方法与系统。本发明专利技术首先统计所请求启动虚拟节点申请的资源总和,若存在能够容纳所有虚拟节点的单一物理主机,则调度到这个物理主机;否则虚拟节点总数选择采用小型拓扑图调度方法或大型拓扑图调度方法;小型拓扑图调度方法中通过有条件遍历的计算方法求VLAN最少的调度结果,大型拓扑图调度方法中采用以关键节点为中心的分组调度方法,尽量使每个分组调度时新增的VLAN最少。对同时启动的多个拓扑图可以合并处理,以达到占用VLAN最少。本发明专利技术解决了多主机网络仿真平台VLAN资源合理利用的问题,使整个拓扑图在物理主机上的分布更加紧凑,且计算过程精简、直观。直观。直观。

【技术实现步骤摘要】
网络仿真平台VLAN互联的虚拟节点调度方法与系统


[0001]本专利技术涉及一种多主机网络仿真平台基于VLAN互联的虚拟节点调度方法与系统,属于网络


技术介绍

[0002]网络仿真是一种通过虚拟化或者网络隔离的方式,对现实中复杂网络进行模拟的一种技术。网络仿真平台一般用虚拟机或者容器模拟网络中的节点,用网桥或者隧道等方式来模拟节点之间的二层链路。对于小型的网络仿真实验,只需要一台物理主机即可;对于大规模的网络拓扑仿真或者多个网络同时仿真,单台物理主机的CPU、内存、磁盘资源可能不能满足需求,所以需要将多台物理主机组成一个集群。一个虚拟网络拓扑图中的虚拟节点,可能分布在不同的物理主机上。
[0003]我们考虑在虚拟网络中直接相连的两个虚拟节点VM1与VM2,如果这两个节点在同一个物理主机上,那么它们的虚拟网卡可以通过网桥或者虚拟交换机连接起来。如果这两个节点在不同的物理主机上,那么跨物理主机使两个虚拟节点能够通信的常用手段有:1、在两个物理主机直接建立VXLAN或者GRE隧道,虚拟节点发出的报文经过隧道送达对端。2、两个物理主机接到同一个物理交换机上,将虚拟节点置于同一个VLAN中,虚拟节点发出的报文由物理交换机来转发。
[0004]由于第二种手段实现起来相对简单,并且能够被大多数交换机支持,同时能够充分利用交换机的高速转发能力和端口镜像等功能。所以这种基于VLAN的虚拟链路实现方案,是很多大型网络仿真平台的首选。VLAN号的范围是0~4095,其中0和4095往往被交换机保留使用,能够用于虚拟节点跨主机通信的VLAN就更少了。传统的虚拟机节点调度方法通常只考虑CPU、内存、磁盘、带宽的因素,忽略了VLAN号这一资源,从而可能会影响网络仿真平台的使用。因此,如何合理的调度虚拟节点,以减少VLAN号的使用,是大规模的网络拓扑仿真或者多个网络同时仿真需要考虑的问题。

技术实现思路

[0005]专利技术目的:针对上述现有技术存在的问题,本专利技术目的在于提供一种网络仿真平台VLAN互联的虚拟节点调度方法与系统,解决大规模的网络拓扑仿真或者多个网络同时仿真时的VLAN号资源的限制问题。
[0006]技术方案:为实现上述专利技术目的,本专利技术采用如下技术方案:网络仿真平台VLAN互联的虚拟节点调度方法,包括如下步骤:统计请求启动的一个或多个拓扑图中虚拟节点申请的资源总和,若存在能够容纳所有虚拟节点的单一物理主机,则调度到这个物理主机;否则,在虚拟节点总数不超过设定阈值时,采用小型拓扑图调度方法,在虚拟节点总数超过设定阈值时,采用大型拓扑图调度方法;所述小型拓扑图调度方法包括:对物理主机按照可用资源从大到小排序;依次增
加选取物理主机数目直到设定的阈值,在每一种情况下记录资源足够时的调度结果;最后在所有调度结果中选择占用VLAN数目最少的作为最终调度结果;拓扑图中若存在一条链路两端的虚拟节点调度到不同的物理主机,则占用一个VLAN号;所述大型拓扑图调度方法包括:将虚拟节点进行分组,计算分组的资源需求,分组中的虚拟节点与组内至少一个节点相连;按照资源需求从大到小对每个分组进行整体调度,若找到一个能够容纳分组内虚拟节点的物理主机,则将分组调度到该物理主机,若找到多个物理主机,则选择新增的占用VLAN数目最少的进行调度,若不存在能够容纳分组内虚拟节点的物理主机,则从分组中剔除一个虚拟节点后再整体调度;在所有分组调度完毕后,再对剔除的单个虚拟节点进行调度。
[0007]作为优选,所述大型拓扑图调度方法中,虚拟节点分组的方法为:对虚拟节点进行分类,单网口的虚拟节点归为终端类,多网口的虚拟节点归为网络设备类;以每一个网络设备类虚拟节点为中心创建分组,将终端类虚拟节点添加到相邻的网络设备类虚拟节点所属分组内。
[0008]作为优选,在小型拓扑图调度方法中,计算占用VLAN数目的方法为:记拓扑图中虚拟节点列表为V,虚拟节点之间的链路为L,L中单条链路的定义为Li=(Va,Vb),其中Va和Vb是虚拟节点列表中的两个节点;记物理主机列表为P;定义一个列表S表示调度结果,长度与虚拟节点列表长度相同,其中每个元素Si表示虚拟节点Vi使用的物理主机编号;遍历L中的单条链路Li=(Va,Vb),从S中找出(Va,Vb)对应的物理主机(Pa, Pb),若Pa和Pb相同则不占用VLAN号,若Pa和Pb不相同,则记占用一个VLAN号,最后对占用的VLAN数目求和。
[0009]作为优选,在大型拓扑图调度方法中,计算某一分组调度新增的占用VLAN号数目的方法为:记分组G被调度到物理主机Pi,遍历分组G中的每个虚拟节点Va,找到与其相连的已调度的虚拟节点Vc,若Pi与Vc调度到的物理主机相同,则不新增VLAN号,否则记新增一个VLAN号,最后对新增的VLAN数目求和。
[0010]作为优选,若一个拓扑图中的虚拟节点数目在10个以上,则采用大型拓扑图调度方法。
[0011]进一步地,在收到拓扑图启动请求之后缓存起来,延迟设定时间后再开始调度,将此延迟时间内收到的拓扑图启动请求合并处理。
[0012]作为优选,在小型拓扑图调度方法中,若前5台物理主机不能满足资源需求,则采用随机调度方法。
[0013]基于相同的专利技术构思,本专利技术提供的网络仿真平台VLAN互联的虚拟节点调度系统,包括:预处理模块、小型拓扑图调度模块以及大型拓扑图调度模块;所述预处理模块,用于统计请求启动的一个或多个拓扑图中虚拟节点申请的资源总和,若存在能够容纳所有虚拟节点的单一物理主机,则调度到这个物理主机;否则,在虚拟节点总数不超过设定阈值时,调用小型拓扑图调度模块进行调度,在虚拟节点总数超过设定阈值时,调用大型拓扑图调度模块进行调度;所述小型拓扑图调度模块,用于对物理主机按照可用资源从大到小排序;依次增加选取物理主机数目直到设定的阈值,在每一种情况下记录资源足够时的调度结果;最后
在所有调度结果中选择占用VLAN数目最少的作为最终调度结果;拓扑图中若存在一条链路两端的虚拟节点调度到不同的物理主机,则占用一个VLAN号;所述大型拓扑图调度模块,用于将虚拟节点进行分组,计算分组的资源需求,分组中的虚拟节点与组内至少一个节点相连;按照资源需求从大到小对每个分组进行整体调度,若找到一个能够容纳分组内虚拟节点的物理主机,则将分组调度到该物理主机,若找到多个物理主机,则选择新增的占用VLAN数目最少的进行调度,若不存在能够容纳分组内虚拟节点的物理主机,则从分组中剔除一个虚拟节点后再整体调度;在所有分组调度完毕后,再对剔除的单个虚拟节点进行调度。
[0014]进一步地,所述系统还包括缓存模块,用于在收到拓扑图启动请求之后缓存起来,延迟设定时间后再开始调度,将此延迟时间内收到的拓扑图启动请求合并处理。
[0015]基于相同的专利技术构思,本专利技术提供的一种计算机系统,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述计算机程序被加载至处理器时实现所述的网络仿真平台VLAN互联的虚拟节点调度方法。
[0016]有本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.网络仿真平台VLAN互联的虚拟节点调度方法,其特征在于,包括如下步骤:统计请求启动的一个或多个拓扑图中虚拟节点申请的资源总和,若存在能够容纳所有虚拟节点的单一物理主机,则调度到这个物理主机;否则,在虚拟节点总数不超过设定阈值时,采用小型拓扑图调度方法,在虚拟节点总数超过设定阈值时,采用大型拓扑图调度方法;所述小型拓扑图调度方法包括:对物理主机按照可用资源从大到小排序;依次增加选取物理主机数目直到设定的阈值,在每一种情况下记录资源足够时的调度结果;最后在所有调度结果中选择占用VLAN数目最少的作为最终调度结果;拓扑图中若存在一条链路两端的虚拟节点调度到不同的物理主机,则占用一个VLAN号;所述大型拓扑图调度方法包括:将虚拟节点进行分组,计算分组的资源需求,分组中的虚拟节点与组内至少一个节点相连;按照资源需求从大到小对每个分组进行整体调度,若找到一个能够容纳分组内虚拟节点的物理主机,则将分组调度到该物理主机,若找到多个物理主机,则选择新增的占用VLAN数目最少的进行调度,若不存在能够容纳分组内虚拟节点的物理主机,则从分组中剔除一个虚拟节点后再整体调度;在所有分组调度完毕后,再对剔除的单个虚拟节点进行调度。2.根据权利要求1所述的网络仿真平台VLAN互联的虚拟节点调度方法,其特征在于,所述大型拓扑图调度方法中,虚拟节点分组的方法为:对虚拟节点进行分类,单网口的虚拟节点归为终端类,多网口的虚拟节点归为网络设备类;以每一个网络设备类虚拟节点为中心创建分组,将终端类虚拟节点添加到相邻的网络设备类虚拟节点所属分组内。3.根据权利要求1所述的网络仿真平台VLAN互联的虚拟节点调度方法,其特征在于,在小型拓扑图调度方法中,计算占用VLAN数目的方法为:记拓扑图中虚拟节点列表为V,虚拟节点之间的链路为L,L中单条链路的定义为Li=(Va,Vb),其中Va和Vb是虚拟节点列表中的两个节点;记物理主机列表为P;定义一个列表S表示调度结果,长度与虚拟节点列表长度相同,其中每个元素Si表示虚拟节点Vi使用的物理主机编号;遍历L中的单条链路Li=(Va,Vb),从S中找出(Va,Vb)对应的物理主机(Pa, Pb),若Pa和Pb相同则不占用VLAN号,若Pa和Pb不相同,则记占用一个VLAN号,最后对占用的VLAN数目求和。4.根据权利要求1所述的网络仿真平台VLAN互联的虚拟节点调度方法,其特征在于,在大型拓扑图调度方法中,计算某一分组调度新增的占用VLAN数目的方法为:记分组G被调度到物理主机Pi,遍历分组G中的每个虚拟节点Va,找到与其相连的已调度的虚拟节点...

【专利技术属性】
技术研发人员:高丽彪谢峥高庆官卢成远王鹏于靖叶伟熊磊
申请(专利权)人:南京赛宁信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1