CN108322333A - 一种基于遗传算法的虚拟网络功能的放置方法 - Google Patents
一种基于遗传算法的虚拟网络功能的放置方法 Download PDFInfo
- Publication number
- CN108322333A CN108322333A CN201711463389.3A CN201711463389A CN108322333A CN 108322333 A CN108322333 A CN 108322333A CN 201711463389 A CN201711463389 A CN 201711463389A CN 108322333 A CN108322333 A CN 108322333A
- Authority
- CN
- China
- Prior art keywords
- vnf
- sfc
- physical
- algorithm
- genetic algorithm
- 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
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 77
- 230000002068 genetic effect Effects 0.000 title claims abstract description 45
- 238000000034 method Methods 0.000 title claims abstract description 39
- 210000000349 chromosome Anatomy 0.000 claims description 44
- 238000013507 mapping Methods 0.000 claims description 18
- 238000004364 calculation method Methods 0.000 claims description 11
- 238000012545 processing Methods 0.000 abstract description 8
- 238000004891 communication Methods 0.000 abstract description 2
- 238000004808 supercritical fluid chromatography Methods 0.000 description 51
- 230000008569 process Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000011156 evaluation Methods 0.000 description 5
- 108090000623 proteins and genes Proteins 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000035772 mutation Effects 0.000 description 3
- 230000004083 survival effect Effects 0.000 description 3
- 241000287196 Asthenes Species 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001172 regenerating effect Effects 0.000 description 2
- 238000013468 resource allocation Methods 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 238000010187 selection method Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 101100260207 Schizosaccharomyces pombe (strain 972 / ATCC 24843) sfc2 gene Proteins 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000002986 genetic algorithm method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/142—Network analysis or design using statistical or mathematical methods
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Pure & Applied Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及通信领域,更具体地,涉及一种基于遗传算法的虚拟网络功能的放置方法。包括以下步骤:S1.查询系统缓存,判断是否存在当前类型的SFC请求的部署结果,若有,转到步骤S4;若没有,转到步骤S2;S2.结合遗传算法的计算步骤,为该服务链中的VNF有序选择应放置的物理节点与实例;S3.根据S2步骤求得的VNF放置的情况,对SFC的虚拟链路进行映射,引导数据流量有序传输;S4.根据部署结果,为SFC分配所请求的物理资源。本发明中阐明了部署的VNF实例与实际运行的VNF之间的资源关系,限制了VNF实例化的次数以模拟虚拟网络运营商拥有的有限资源;用尽可能少的VNF实例实现了对SFC请求的处理,促进了整个网络底层物理资源的合理利用,节省了开支。
Description
技术领域
本发明涉及通信领域,更具体地,涉及一种基于遗传算法的虚拟网络功能的放置方法。
背景技术
现有网络功能虚拟化(NFV,NetworkFunctionsVirtualization)是一种重要的新型网络技术。该技术是以虚拟化技术为基础,将网络服务功能从专用物理设备上解耦,以软件的形式灵活地部署在商业通用设备上,从而动态地处理用户的服务请求。这些虚拟化后的网络功能就被称为虚拟网络功能(VirtualNetwork Functions)。由于在NFV网络的设计范式下,一个确定的网络服务的实现方式为服务功能链(ServiceFunctionChains)。它是由一系列的VNF有序组成的,处理用户的服务请求也就意味着在网络中实现对SFC高效合理的部署。因此,为了实现NFV的经济效益最大化,VNF的放置问题首先必须被解决。然而,使用默认的VNF放置方案会导致底层物理资源出现过度负载或过度空闲的情况,严重影响了网络的性能。因此需要设计合适的算法实现对VNF的放置与SFC的编排,重点是要确定哪些网络功能放在哪些底层物理设备(服务器)上,从而确保底层资源的有效利用,并保持链路端到端时延在一定范围内可控。
高效灵活的VNF放置方案主要取决于组成SFC的各个VNF放置的网络节点的位置及其相互之间的路由选择。因此,在一个给定的NFV架构网络中,如何实现对VNF的有效放置,成为了提高物理底层资源利用率与保持链路端到端时延可控的关键问题。该问题称为VNF放置问题。已有的许多文献从不同角度对该问题进行了建模,并尽可能提供了实用有效的SFC编排与部署方法。对已有的文献进行检索、比较和分析,筛选出如下与本发明相关度比较高的技术信息:
文献方案1:《VNF-P:AModelforEfficientPlacementofVirtualizedNetworkFunctions》展示并评估了一个在NFV架构下的有关虚拟网络功能资源分配的形式化模型,称为VNF放置模型。该模型最先将VNF的放置与资源分配请求问题抽象化,并在一个小型服务提供商的网络环境下对两种类型的服务链进行研究。
文献方案2:《Virtualnetworkfunctionscheduling:Conceptandchallenges》总结了VNF调度的概念与当前面临的挑战,并提出了几个重要的研究方向。同时,作者所建立的数学模型涉及到了一些重要的参数,而且为此提出了相关的评价指标。
文献方案3:《DesignandEvaluationofAlgorithmsforMappingandSchedulingofVirtualNetworkFunctions》解决的是在线情形的VNF映射与调度问题。作者研究该问题的一个前提是已知SFC请求的类型与数目,根据其资源、时延需求,对这些服务请求进行合理的编排与调度。为此,作者提出了三个贪婪算法和一个禁忌搜索算法解决该问题。
文献方案4:《PiecingTogethertheNFVProvisioningPuzzle:EfficientPlacementandChainingofVirtualNetworkFunctions》将VNF放置与链接问题模型抽象为整数线性规划问题,并定义了VNF实例与实际运行的VNF的资源占用情况。同时为了能够在大型的底层网络上解决这个问题,作者提出了一个启发式算法来解决这个问题,并保证资源配置的高效。作者提出的启发式算法以逐步逼近的方式,实现VNF实例放置的数量最小化。
文献方:5:《ExperimentalResultsontheuseofGeneticAlgorithmsforScalingVirtualizedNetworkFunctions》为解决VNF的放置问题,提出了一种基于遗传算法的VNF放置算法。作者在不同结构的数据中心里对算法进行验证,证实了其算法可以有效地在数据中心网络中部署,并减少开销。同时,该算法除了能降低服务器和链路利用率外,还可以减少服务器及链接配置的更改次数。
上述文献方案1在把这个问题形式化的同时,并没有考虑到VNF也具有其他优先约束的事实,只是将该问题视为与虚拟网络嵌入类似的映射问题。上述文献方案2只是对问题进行了总结,没有提出相应的解决方法。所建立的模型假设了可部署的节点具有无限的缓存空间来存储网络功能。这使得在服务请求在等待转发到下一个节点时会产生一定的问题。上述文献方案3与一般的部署问题不同的是,作者先是实现对虚拟网络的映射,然后才将VNF放置到虚拟网络上。这使得在部署VNF之前就已知哪些VNF实例预装载在哪些网络节点上,更加侧重于对SFC的调度。即将所有待部署的SFC请求以合适的顺序,放置在合适的网络节点上。上述文献方案1-3考虑的都是离线的处理情形,即所有的服务请求都是事先已知的。上述文献方案4提出的启发式算法由于是先进行服务链的路径选择,再进行VNF的放置。这会造成链路使用率过高。同时,SFC的部署源节点与目的节点被限制在固定的域中,不利于其灵活编排。上述文献方案5提出的以遗传算法为基础的解决方案高度依赖于实验的网络架构。因此,其评价指标及其权重的设置比较适用于数据中心形式的网络环境。
发明内容
本发明的目的在于克服现有技术的不足,提供一种基于遗传算法的虚拟网络功能的放置方法,能够有效地在NFV架构的网络环境中对SFC部署问题进行求解,在物理网络上使用尽可能少的VNF实例,实现对用户的SFC请求的处理。该方案能够在降低网络的资源开销与满足底层物理资源的高效利用的同时,保持端到端时延的可控。
为解决上述问题,本发明提供的技术方案为:一种基于遗传算法的虚拟网络功能的放置方法,包括以下步骤:
S1.查询系统缓存,判断是否存在当前类型的SFC请求的部署结果,若有,转到步骤S4;若没有,转到步骤S2;
S2.结合遗传算法的计算步骤,为该服务链中的VNF有序选择应放置的物理节点与实例;
S3.根据S2步骤求得的VNF放置的情况,对SFC的虚拟链路进行映射,引导数据流量有序传输;
S4.根据部署结果,为SFC分配所请求的物理资源。
在本发明中,首先要对问题进行合适的建模,将VNF部署问题归结为与选点与选路相关的多源、多路径的问题。然后基于该问题的实际情形,对遗传算法的适应性函数评价指标与其他重要参数进行设置。最后依据遗传算法进行搜索,得出放置结果。然后结合网络资源的使用情况,得出SFC部署的最终方案。在本发明中阐明了部署的VNF实例与实际运行的VNF之间的资源关系,并限制了VNF实例化的次数以模拟虚拟网络运营商拥有的有限资源;用尽可能少的VNF实例实现了对SFC请求的处理,促进了整个网络底层物理资源的合理利用,节省了开支;在放置的VNF的节点之间使用最短路径算法,以最小的代价保证了链路端到端时延的可控。
进一步地,在S2步骤利用遗传算法进行计算中,一个染色体代表一个部署方案,而在本发明提出的方案中,它是由一个有序的节点序列组成的,如(1,2,3,4);染色体中的每一个数字代表的是物理节点的编号,即某一条SFC中VNF所要部署的物理节点编号;所述的S2步骤的遗传算法具体包括以下步骤:
S201.得到初始种群:通过随机生成一定数量的染色体个数,得到一个初始种群,种群中的每一个个体即是一个染色体,每一个染色体都是潜在的可行解,为一个有序的节点组合;
S202.对种群中的每一个染色体都计算各自的适应度;适应度高的个体有更大的几率被选为亲代,将自己的遗传信息保留给下一代,将遗传算法的适应性函数评价指标设定为复用的节点(功能实例)个数,以便实现算法目标;
S203.根据S202步骤计算出的适应度,选择出合适的染色体;为了贯彻“优胜劣汰、适者生存”的进化思想,这一步需要在种群中选出一部分染色体作为最终的亲代进行遗传算子的操作,不被选择的个体则直接舍弃;
S204.对种群进行遗传算子的操作,主要的遗传算子操作有交叉与变异。交叉指的是两个亲代通过交换各自一部分的基因,从而得到新的个体,作为子代。例如染色体1(1,2,3)与染色体2(4,5,6)交叉,得到新的子代(1,5,6)与(4,2,3)。而变异操作则是针对某一个基因点实现的节点变换。例如染色体1的基因点1变异为5,那么染色体1就变为(5,2,3);
S205.检查算法终止条件,设置算法的迭代次数,达到迭代次数,则算法终止。一般来说为了达到算法收敛,就要设置算法的迭代次数,一旦达到迭代次数,则算法终止,否则继续遗传算法的一般操作,知直到得出近似的最优解。
在步骤S2中,综合考虑当前的资源情况与预期的资源需求约束,为服务功能链请求中所有的VNF选择合适的物理节点进行放置,得到一个有序的结果集合。该结果集合的物理节点能够与VNF建立一一对应的部署关系,一个VNF就可以部署在一个物理节点上。然后再结合历史保留的计算结果,得出目前使用的VNF实例化的数量,作为目标函数的计算结果。在物理网络上对VNF进行部署时,首先必须满足一些资源消耗的约束条件。如果部署的节点存在该功能实例,其申请的总计算资源设为那么该VNF请求的资源必须小于实例剩余的计算资源才可以部署。否则依据物理节点剩余资源情况重新生成实例或是改变部署的节点。此外,某一种类型的VNF实例化的次数是有限的,这个数值依据运营商的情况而定。在每次部署一个SFC时,要保证一个物理节点不能同时处理同一服务链中一个以上的网络功能。
进一步地,所述的S203步骤中采用轮盘赌选择法选择出合适的染色体。常见的选择操作有:轮盘赌选择法、随机抽样遍历选择法等。这里使用轮盘赌选择法选择出合适的染色体,轮盘赌选择法的主要思想是将所有个体的适应度相加,每个染色体被选中的概率即是该染色体的适应度除以总的染色体得出的数值。于是通过轮盘赌选择法得到一定数量的亲代,进入下一步。
进一步地,在每次部署一个SFC时,要保证一个物理节点不能同时处理同一服务链中一个以上的网络功能,即:
其中,为二进制变量,表明虚拟网络功能k是否部署在物理节点i上。
进一步地,所述的S3步骤包括以下步骤:
S301.遍历SFC中的每一个VNF,对于SFC中每每相邻的两个VNF,确定它们部署的物理节点位置;
S302.使用Dijkstra算法,计算出相邻两个物理节点之间最短的物理路径;
S303.将上述相邻两个VNF之间的虚拟链路映射在这条最短的物理路径上。
进一步地,在物理链路上映射虚拟链路时需保证满足带宽资源的需求,即:
其中,为虚拟链路请求的带宽资源,为物理链路上具备的带宽资源,表示链路映射关系的二进制变量。
进一步地,所述的S4步骤中为SFC分配所请求的物理资源,包括计算资源和带宽资源。
与现有技术相比,有益效果是:本发明提供的一种基于遗传算法的虚拟网络功能的放置方法,利用基于遗传算法的方法求解的VNF放置方案不仅提高了网络底层资源的利用率,而且满足了服务链端到端之间处理时延的要求,能够有效降低资本投入与运营投入;本发明方法在满足端到端时延的要求下,实例化的VNF数目较少,使网络具有更好的可靠性与可管理性,降低网络复杂度与对配置、更新的资本投入。
附图说明
图1为本发明方法流程图。
图2为本发明的底层物理网络拓扑图。
图3为本发明的服务功能链拓扑图。
图4为本发明的虚拟网络功能放置示意图。
图5为本发明利用遗传算法的流程图。
图6为本发明方案部署一条服务功能链的示意图。
图7为本发明方案部署两条服务功能链的示意图。
图8为本发明中使用不同算法时服务功能链数量与虚拟网络功能实例数目的关系图。
图9为本发明中使用不同算法时服务功能链数量与节点资源使用率的关系图。
图10为本发明提出的方案在使用时服务功能链的数量与平均端到端时延的关系图。
具体实施方式
如图2、图3所示,一个简化的物理底层无向网络可以用图G=(N,L)表示。它是由物理节点集合N与物理链路集合L组成。所有节点都具有一定的计算资源,可以实现对VNF的部署与实例化处理。而链路上则具备一定的带宽资源,以便实现数据的转发。一条SFC请求是由图S=(F,E)表示,并且它是由虚拟节点(即VNF)集合F与有向虚拟链路集合E组成的。SFC请求的节点和链路上都被设置了一定的请求资源。当这些虚拟网元被部署在物理网络上时,会消耗该物理组件的一定量的物理资源(计算资源或带宽资源)。
以图2、图3的模型为例,对NFV架构下的SFC部署情形进行说明,如图4所示,在一次SFC请求的部署中,虚拟网络功能x、y与z分别被放置在物理节点A、B与C上,并生成相应的功能实例;它们之间的虚拟链路也分别被映射在相应的物理链路上。其中,功能实例指的是某一类型的VNF在物理节点上申请的资源块,用以处理相应的VNF。其他SFC中的同类型VNF在物理节点上部署时,只会占用该节点上功能实例部分资源。相对地,在节点上放置VNF时,如果该节点上没有相应的功能实例且资源情况允许的话,首先会在该节点上申请一定量的计算资源,生成VNF实例并对此VNF进行处理。而该VNF只会占用其中一部分的物理计算资源,剩余的保留给后来的SFC中同一类型的功能使用。如果某一个节点上已有该功能的VNF实例,且该实例剩余的计算资源足够处理该功能,则成功放置。
如图1所示,本发具体包括以下步骤:
步骤1:查询系统缓存,判断是否存在当前类型的SFC请求的部署结果,若有,转到步骤S4;若没有,转到步骤S2;由于网络系统需要处理大量的SFC,而实验测试的服务链的类型有限,因此在处理服务请求之前首先可以查询缓存中是否已有类型的SFC部署结果。如果相应的部署结果存在,且直接取出可用的部署方案。若该方案中涉及的物理资源情况允许,则直接进行VNF的放置。否则重新计算部署结果。在实际网络环境中使用这一机制,可以极大地节省算法执行与处理的时间。
步骤2:结合遗传算法的计算步骤,为该服务链中的VNF有序选择应放置的物理节点与实例;综合考虑当前的资源情况与预期的资源需求约束,为服务功能链请求中所有的VNF选择合适的物理节点进行放置,得到一个有序的结果集合。该结果集合的物理节点能够与VNF建立一一对应的部署关系,一个VNF就可以部署在一个物理节点上,然后再结合历史保留的计算结果,得出目前使用的VNF实例化的数量,作为目标函数的计算结果。在物理网络上对VNF进行部署时,首先必须满足一些资源消耗的约束条件。如果部署的节点存在该功能实例,其申请的总计算资源设为那么该VNF请求的资源必须小于实例剩余的计算资源才可以部署。否则依据物理节点剩余资源情况重新生成实例或是改变部署的节点。此外,某一种类型的VNF实例化的次数是有限的,这个数值依据运营商的情况而定。在每次部署一个SFC时,要保证一个物理节点不能同时处理同一服务链中一个以上的网络功能。即:
其中,为二进制变量,表明虚拟网络功能k是否部署在物理节点i上。
另外,在利用遗传算法进行计算中,一个染色体代表一个部署方案,而在本发明提出的方案中,它是由一个有序的节点序列组成的,如(1,2,3,4);染色体中的每一个数字代表的是物理节点的编号,即某一条SFC中VNF所要部署的物理节点编号;如图6所示,利用遗传算法具体包括以下步骤:
S201.得到初始种群:通过随机生成一定数量的染色体个数,得到一个初始种群,种群中的每一个个体即是一个染色体,每一个染色体都是潜在的可行解,为一个有序的节点组合;
S202.对种群中的每一个染色体都计算各自的适应度;适应度高的个体有更大的几率被选为亲代,将自己的遗传信息保留给下一代,将遗传算法的适应性函数评价指标设定为复用的节点(功能实例)个数,以便实现算法目标;例如,假设目前网络中,物理节点(1,2,3)上已经部署有VNF实例(4,5,6)。那么对于某一个染色体(1,5,3)来说,它的适应度是2,就比染色体(1,5,6)的适应度)高。这样在解决方案的搜索过程中,当算法执行其适应度最大的搜索目标时,就可以使得最后得出的有效解总是所有方案中,使用的VNF实例的最少的方案,以保证底层物理资源的有效利用;
S203.根据S202步骤计算出的适应度,选择出合适的染色体;为了贯彻“优胜劣汰、适者生存”的进化思想,这一步需要在种群中选出一部分染色体作为最终的亲代进行遗传算子的操作,不被选择的个体则直接舍弃;常见的选择操作有:轮盘赌选择法、随机抽样遍历选择法等。这里我们使用轮盘赌选择法选择出合适的染色体。轮盘赌选择法的主要思想是将所有个体的适应度相加,每个染色体被选中的概率即是该染色体的适应度除以总的染色体得出的数值。于是我们通过轮盘赌选择法得到一定数量的亲代,进入下一步。
S204.对种群进行遗传算子的操作,主要的遗传算子操作有交叉与变异。交叉指的是两个亲代通过交换各自一部分的基因,从而得到新的个体,作为子代。例如染色体1(1,2,3)与染色体2(4,5,6)交叉,得到新的子代(1,5,6)与(4,2,3)。而变异操作则是针对某一个基因点实现的节点变换。例如染色体1的基因点1变异为5,那么染色体1就变为(5,2,3);
S205.检查算法终止条件,设置算法的迭代次数,达到迭代次数,则算法终止。一般来说为了达到算法收敛,就要设置算法的迭代次数,一旦达到迭代次数,则算法终止,否则继续遗传算法的一般操作,知直到得出近似的最优解。
下面以图6、图7来说明得出某一个部署结果的过程。图6中首先接受包含四个VNF的SFC请求。经过遗传算法的计算,选出四个物理节点(1,2,3,6),并在其上按序生成功能实例(图中二分之一圆),处理相应的VNF(占用的资源为八分之一圆),此时用到的实例数目就为四。然后该SFC就可以在这几个物理节点上部署相应的VNF,并建立数据通路。图7中则是在此基础上接受一个包含三个功能的服务链的情况。为了使得使用的实例的数目最小,应当尽可能复用已生成的实例。通过遗传算法的计算,选出3个物理节点(1,2,5)实现VNF的部署。因此,图中表明的是共用已经在节点1,2上生成的网络功能实例1,2。但是没有继续共用在节点3上生成的NF3的实例,而是在节点5上再次生成一个实例。这样一来使用到的总的实例数目就为5个。当然最好的算法是共用所有已生成的、资源足够的实例(如SFC2在物理节点3上部署自己的VNF3)。图7表明的只是其中一种部署结果情况,具体的实例放置结果要根据算法决定。每处理完一个服务链,系统网络会释放其占用的物理资源。
步骤3.根据步骤2求得的VNF放置的情况,对SFC的虚拟链路进行映射,引导数据流量有序传输;包括以下步骤:
S301.遍历SFC中的每一个VNF,对于SFC中每每相邻的两个VNF,确定它们部署的物理节点位置;
S302.使用Dijkstra算法,计算出相邻两个物理节点之间最短的物理路径;
S303.将上述相邻两个VNF之间的虚拟链路映射在这条最短的物理路径上。
使用Dijkstra算法为已经放置好的VNF计算相互之间的最短路径。因为在步骤2中,一条SFC中互连的VNF已经在物理节点上部署完毕。为了在物理链路上为SFC的数据流量建立通路,必须实现虚拟链路与物理链路的映射。因此,遍历SFC中的每一个VNF,对于SFC中每每相邻的两个VNF,首先要确定它们部署的物理节点位置,然后使用Dijkstra算法,计算出的这两个物理节点之间最短的物理路径。最后将这两个VNF之间的虚拟链路映射在这条最短的物理链路上,以尽量保证最后形成的服务链在流量传输过程所产生的传播时延相对较小。一条虚拟链路可能映射在一条或多条物理链路上。自然地,必须保证在物理链路上映射虚拟链路的时候要满足带宽资源的需求。即:
其中,与分别为虚拟链路请求的带宽资源与物理链路上具备的带宽资源。则是表示链路映射关系的二进制变量。
步骤4.根据部署结果,为SFC分配所请求的物理资源。在VNF部署节点确定与链路映射方案确定后,系统正式为SFC分配所需的物理资源,包括计算资源与带宽资源。同时各个VNF之间也正式形成连续的路径,数据流量可以在各个VNF之间有序传输,并建立网络服务。
在本发明的实例中,使用随机生成的网络拓扑进行仿真实验,将本发明的方法和文献方案4中的ILP方法与混合情景方法进行比较。在实验网络拓扑中,节点的计算资源、链路的带宽资源及其链路时延都是随机生成,使之更具一般代表性。为了简化问题,将不同的VNF的资源请求设为一致,每个VNF实例所请求的计算资源与物理节点总的计算资源之比设为50%,而一个VNF在运行时所占用与物理节点总的计算资源之比设为12.5%。而虚拟链路请求的带宽资源占每条链路的总带宽资源比例为20%。每条SFC的类型与到达拓扑的时间都是随机的。
由于本发明是基于遗传算法的,需要事先对该算法的一些重要参数进行设置。首先使用简单数组来存储计算所得的路径结果,并作为算法操作的染色体对象。然后使用轮盘轮赌法对所有解的适应性函数进行评估与筛选,高适应度的染色体会有更高的概率存活;初始种群数目被设置为25;交叉概率被设置为0.9;变异概率被设置为0.05;算法的迭代次数被设置为100;
在仿真实验中,图8表示的是各方法随着SFC请求数量的增加与所使用的VNF实例数目的关系。从图中可以看出,虽然在SFC的请求数目较少时,使用本发明提出的方法与混合情景方法所使用的VNF实例数目会大于使用最佳ILP算法得出的数量。但是随着SFC请求数目的增多,本发明提出的方法所使用的VNF实例数目会逐渐与ILP方法得出的结果持平。因此可以合理推断:随着SFC请求数目的增加,本发明提出的方案依然可以保持与ILP相似的性能。因此,本发明提出的方法是切实有效的,可以得出近似的最优解。
图9表示的是各方法随着SFC请求的增加与底层物理网络的资源利用率的关系。从图中容易看出,三种方法的大致趋势是一致的,都是随着SFC请求树木的增多,物理资源利用率先是逐渐升高,然后到达一定的峰值后再降低,最后趋于平稳。特别是对于本发明提出的方案而言,其结果获得了比其他两个方案更优秀的资源使用率情况。这是由于遗传算法在使用底层物理资源时会尽可能减少在不同节点上的实例数目,而Dijkstra算法则进一步降低了对链路资源的占用。
图10表示的是本发明方法在该实验拓扑下处理每条SFC请求所产生的端到端的时延。从图中可以看出,在本发明提出的方案下,放置VNF的端到端时延能够在一定范围内保持稳定,并始终低于可容忍的时延数值。因此,初步实现本发明提出的保持了端到端时延的可控的要求。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
Claims (7)
1.一种基于遗传算法的虚拟网络功能的放置方法,其特征在于,包括以下步骤:
S1.查询系统缓存,判断是否存在当前类型的SFC请求的部署结果,若有,转到步骤S4;若没有,转到步骤S2;
S2.结合遗传算法的计算步骤,为该服务链中的VNF有序选择应放置的物理节点与实例;
S3.根据S2步骤求得的VNF放置的情况,对SFC的虚拟链路进行映射,引导数据流量有序传输;
S4.根据部署结果,为SFC分配所请求的物理资源。
2.根据权利要求1所述的一种基于遗传算法的虚拟网络功能的放置方法,其特征在于,在S2步骤利用遗传算法进行计算中,一个染色体代表一个部署方案,染色体中的每一个数字代表的是物理节点的编号,所述的S2步骤的遗传算法具体包括以下步骤:
S201.得到初始种群:通过随机生成一定数量的染色体个数,得到一个初始种群,种群中的每一个个体即是一个染色体,每一个染色体都是潜在的可行解,为一个有序的节点组合;
S202.对种群中的每一个染色体都计算各自的适应度;
S203.根据S202步骤计算出的适应度,选择出合适的染色体;
S204.对种群进行遗传算子的操作;
S205.检查算法终止条件,设置算法的迭代次数,达到迭代次数,则算法终止。
3.根据权利要求2所述的一种基于遗传算法的虚拟网络功能的放置方法,其特征在于,所述的S203步骤中采用轮盘赌选择法选择出合适的染色体。
4.根据权利要求1所述的一种基于遗传算法的虚拟网络功能的放置方法,其特征在于,在每次部署一个SFC时,要保证一个物理节点不能同时处理同一服务链中一个以上的网络功能,即:
其中,为二进制变量,表明虚拟网络功能k是否部署在物理节点i上。
5.根据权利要求1所述的一种基于遗传算法的虚拟网络功能的放置方法,其特征在于,所述的S3步骤包括以下步骤:
S301.遍历SFC中的每一个VNF,对于SFC中每每相邻的两个VNF,确定它们部署的物理节点位置;
S302.使用Dijkstra算法,计算出相邻两个物理节点之间最短的物理路径;
S303.将上述相邻两个VNF之间的虚拟链路映射在这条最短的物理路径上。
6.根据权利要求5所述的一种基于遗传算法的虚拟网络功能的放置方法,其特征在于,在物理链路上映射虚拟链路时需保证满足带宽资源的需求,即:
其中,为虚拟链路请求的带宽资源,为物理链路上具备的带宽资源,表示链路映射关系的二进制变量。
7.根据权利要求1所述的一种基于遗传算法的虚拟网络功能的放置方法,其特征在于,所述的S4步骤中为SFC分配所请求的物理资源,包括计算资源和带宽资源。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711463389.3A CN108322333B (zh) | 2017-12-28 | 2017-12-28 | 一种基于遗传算法的虚拟网络功能的放置方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711463389.3A CN108322333B (zh) | 2017-12-28 | 2017-12-28 | 一种基于遗传算法的虚拟网络功能的放置方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108322333A true CN108322333A (zh) | 2018-07-24 |
CN108322333B CN108322333B (zh) | 2021-03-02 |
Family
ID=62892656
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711463389.3A Active CN108322333B (zh) | 2017-12-28 | 2017-12-28 | 一种基于遗传算法的虚拟网络功能的放置方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108322333B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110134493A (zh) * | 2019-05-05 | 2019-08-16 | 西安邮电大学 | 一种基于资源碎片避免的服务功能链部署算法 |
CN110446121A (zh) * | 2019-04-07 | 2019-11-12 | 西安电子科技大学 | 基于介数中心度的虚拟网络功能服务链映射方法 |
CN111030852A (zh) * | 2019-11-29 | 2020-04-17 | 国网辽宁省电力有限公司锦州供电公司 | 基于丢包率优化的服务功能链部署方法 |
CN111654386A (zh) * | 2020-01-15 | 2020-09-11 | 许继集团有限公司 | 一种业务功能链建立方法及系统 |
CN112187510A (zh) * | 2020-08-26 | 2021-01-05 | 中国科学院信息工程研究所 | 一种基于遗传算法的虚拟网络功能放置方法及电子装置 |
CN112564986A (zh) * | 2020-12-25 | 2021-03-26 | 上海交通大学 | 一种网络功能虚拟化环境下二阶段部署系统 |
CN112585585A (zh) * | 2018-07-30 | 2021-03-30 | 瑞典爱立信有限公司 | 基于可扩展遗传算法的虚拟化系统的虚拟网络功能的联合放置和链接 |
CN112910693A (zh) * | 2021-01-20 | 2021-06-04 | 福州大学 | 基于vnf并置影响分析的sfc部署方法 |
CN113595613A (zh) * | 2021-06-29 | 2021-11-02 | 中国人民解放军国防科技大学 | 用于低轨软件定义卫星网络的控制器部署方法 |
CN114124818A (zh) * | 2021-11-11 | 2022-03-01 | 广东工业大学 | 一种sdn网络中多播传输的新增功能节点部署优化方法 |
CN115086175A (zh) * | 2022-04-26 | 2022-09-20 | 北京邮电大学 | 资源优化的方法及装置 |
CN116346703A (zh) * | 2023-01-28 | 2023-06-27 | 哈尔滨工业大学 | 卫星地面网络中vnf高效布署方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102857416A (zh) * | 2012-09-18 | 2013-01-02 | 中兴通讯股份有限公司 | 一种实现虚拟网络的方法和虚拟网络 |
CN106411678A (zh) * | 2016-09-08 | 2017-02-15 | 清华大学 | 带宽保障的虚拟网络功能部署方法 |
US20170318097A1 (en) * | 2016-04-29 | 2017-11-02 | Hewlett Packard Enterprise Development Lp | Virtualized network function placements |
CN107332913A (zh) * | 2017-07-04 | 2017-11-07 | 电子科技大学 | 一种5g移动网络中服务功能链的优化部署方法 |
-
2017
- 2017-12-28 CN CN201711463389.3A patent/CN108322333B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102857416A (zh) * | 2012-09-18 | 2013-01-02 | 中兴通讯股份有限公司 | 一种实现虚拟网络的方法和虚拟网络 |
US20170318097A1 (en) * | 2016-04-29 | 2017-11-02 | Hewlett Packard Enterprise Development Lp | Virtualized network function placements |
CN106411678A (zh) * | 2016-09-08 | 2017-02-15 | 清华大学 | 带宽保障的虚拟网络功能部署方法 |
CN107332913A (zh) * | 2017-07-04 | 2017-11-07 | 电子科技大学 | 一种5g移动网络中服务功能链的优化部署方法 |
Non-Patent Citations (2)
Title |
---|
刘蓓: "基于NFV的网络中虚拟服务功能链的部署和迁移", 《电子科技大学硕士学位论文》 * |
吕新亮等: "基于资源整合的节能虚拟网络重配置算法", 《计算机应用》 * |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112585585A (zh) * | 2018-07-30 | 2021-03-30 | 瑞典爱立信有限公司 | 基于可扩展遗传算法的虚拟化系统的虚拟网络功能的联合放置和链接 |
US11934856B2 (en) | 2018-07-30 | 2024-03-19 | Telefonaktiebolaget Lm Ericsson (Publ) | Joint placement and chaining of virtual network functions for virtualized systems based on a scalable genetic algorithm |
CN110446121A (zh) * | 2019-04-07 | 2019-11-12 | 西安电子科技大学 | 基于介数中心度的虚拟网络功能服务链映射方法 |
CN110446121B (zh) * | 2019-04-07 | 2021-05-18 | 西安电子科技大学 | 基于介数中心度的虚拟网络功能服务链映射方法 |
CN110134493A (zh) * | 2019-05-05 | 2019-08-16 | 西安邮电大学 | 一种基于资源碎片避免的服务功能链部署算法 |
CN110134493B (zh) * | 2019-05-05 | 2023-01-10 | 西安邮电大学 | 一种基于资源碎片避免的服务功能链部署算法 |
CN111030852B (zh) * | 2019-11-29 | 2022-05-10 | 国网辽宁省电力有限公司锦州供电公司 | 基于丢包率优化的服务功能链部署方法 |
CN111030852A (zh) * | 2019-11-29 | 2020-04-17 | 国网辽宁省电力有限公司锦州供电公司 | 基于丢包率优化的服务功能链部署方法 |
CN111654386A (zh) * | 2020-01-15 | 2020-09-11 | 许继集团有限公司 | 一种业务功能链建立方法及系统 |
CN112187510A (zh) * | 2020-08-26 | 2021-01-05 | 中国科学院信息工程研究所 | 一种基于遗传算法的虚拟网络功能放置方法及电子装置 |
CN112187510B (zh) * | 2020-08-26 | 2021-09-14 | 中国科学院信息工程研究所 | 一种基于遗传算法的虚拟网络功能放置方法及电子装置 |
CN112564986A (zh) * | 2020-12-25 | 2021-03-26 | 上海交通大学 | 一种网络功能虚拟化环境下二阶段部署系统 |
CN112910693B (zh) * | 2021-01-20 | 2022-07-08 | 福州大学 | 基于vnf并置影响分析的sfc部署方法 |
CN112910693A (zh) * | 2021-01-20 | 2021-06-04 | 福州大学 | 基于vnf并置影响分析的sfc部署方法 |
CN113595613A (zh) * | 2021-06-29 | 2021-11-02 | 中国人民解放军国防科技大学 | 用于低轨软件定义卫星网络的控制器部署方法 |
CN113595613B (zh) * | 2021-06-29 | 2023-04-07 | 中国人民解放军国防科技大学 | 用于低轨软件定义卫星网络的控制器部署方法 |
CN114124818A (zh) * | 2021-11-11 | 2022-03-01 | 广东工业大学 | 一种sdn网络中多播传输的新增功能节点部署优化方法 |
CN115086175A (zh) * | 2022-04-26 | 2022-09-20 | 北京邮电大学 | 资源优化的方法及装置 |
CN115086175B (zh) * | 2022-04-26 | 2023-06-30 | 北京邮电大学 | 资源优化的方法及装置 |
CN116346703A (zh) * | 2023-01-28 | 2023-06-27 | 哈尔滨工业大学 | 卫星地面网络中vnf高效布署方法 |
CN116346703B (zh) * | 2023-01-28 | 2024-09-13 | 哈尔滨工业大学 | 卫星地面网络中vnf高效布署方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108322333B (zh) | 2021-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108322333B (zh) | 一种基于遗传算法的虚拟网络功能的放置方法 | |
Liu et al. | Dynamic service function chain orchestration for NFV/MEC-enabled IoT networks: A deep reinforcement learning approach | |
CN108566659B (zh) | 一种基于可靠性的5g网络切片在线映射方法 | |
Leivadeas et al. | Efficient resource mapping framework over networked clouds via iterated local search-based request partitioning | |
Esposito et al. | On distributed virtual network embedding with guarantees | |
Sayuti et al. | Real-time low-power task mapping in networks-on-chip | |
Botero et al. | A novel paths algebra-based strategy to flexibly solve the link mapping stage of VNE problems | |
CN111130858A (zh) | 一种sd-wan场景下的动态多目标虚拟网络映射方法 | |
CN112187535B (zh) | 雾计算环境下服务器部署方法及装置 | |
Liu et al. | A novel approach for service function chain dynamic orchestration in edge clouds | |
JP2017500816A (ja) | 大規模データセンターネットワークのためのトラフィック工学 | |
CN114071582A (zh) | 面向云边协同物联网的服务链部署方法及装置 | |
Lin et al. | Column generation based service function chaining embedding in multi-domain networks | |
Zahedi et al. | A power-efficient and performance-aware online virtual network function placement in SDN/NFV-enabled networks | |
Nguyen et al. | Rethinking virtual link mapping in network virtualization | |
Chai et al. | A parallel placement approach for service function chain using deep reinforcement learning | |
CN114298431A (zh) | 一种网络路径选择方法、装置、设备及存储介质 | |
Dandachi et al. | A robust monte-carlo-based deep learning strategy for virtual network embedding | |
CN117579550A (zh) | 一种基于可编程交换机和容器状态信息卸载的路由方法 | |
Zhao et al. | Cross-Domain Service Function Chain Routing: Multiagent Reinforcement Learning Approaches | |
Souza et al. | Thea-a qos, privacy, and power-aware algorithm for placing applications on federated edges | |
Wu et al. | PECCO: A profit and cost‐oriented computation offloading scheme in edge‐cloud environment with improved Moth‐flame optimization | |
Yadav | E-MOGWO Algorithm for Computation Offloading in Fog Computing. | |
CN116389266A (zh) | 一种基于强化学习的数字孪生网络切片的方法和装置 | |
Majumder et al. | Resource Allocation Techniques in Edge/Fog Computing |
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 |