5g 网络下资源感知的服务功能链...

9
54 8 西 安 交 通 大 学 学 报 Vol.54 No.8 2020 8 JOURNAL OF XI’AN JIAOTONG UNIVERSITY Aug. 2020 收稿日期:2019-12-03作者简介:孙士清(1992-),男,硕士生;彭建华(通信作者),男,教授,博士生导师。基 金项目:国家自然科学基金资助项目(61801515);国家自然科学基金创新群体资助项目(61521003)。 网络出版时间: 网络出版地址: 5G 网络下资源感知的服务功能链 协同构建和映射算法 孙士清,彭建华,游伟,李英乐 (中国人民解放军战略支援部队信息工程大学,450002,郑州) 摘要为了充分发挥网络功能虚拟化带来的灵活性优势,实现 5G 场景下定制化服务的高效部署,提出 了一种资源感知的服务功能链协同构建和映射算法。该算法首先根据服务请求构建出服务功能链集合, 然后对集合中的服务链进行映射,最终求解出资源优化的服务链部署方案。在服务功能链构建阶段,采 用基于广度优先搜索的服务功能链构建算法,得到服务功能链所有的构建方案;在服务链映射阶段,采 用双层编码方法,将服务功能链构建方案和映射方案进行混合编码,然后利用改进的遗传粒子群算法对 问题进行求解,计算出符合当前底层网络状态的服务功能链构建方案和映射方案。仿真结果表明,与 TASAR 算法相比,所提出的协同构建和映射算法服务请求接受率提高了 9%,带宽资源开销降低了 13%节点资源开销提高了 9%关键词5G 网络;服务功能链;网络功能虚拟化;虚拟网络功能;粒子群算法 中图分类号TN915.81 文献标志码:A DOI: 文章编号:0253-987X(2020)08-0000-00 A Resource-Aware Service Function Chain Coordinated Composition and Mapping Algorithm Under 5G Network SUN Shiqing, PENG Jianhua, YOU Wei, LI Yingle (People’s Liberation Army Strategic Support Force Information Engineering University, Zhengzhou 450002, China) Abstract: In order to give to play to the flexibility advantages of network function virtualization and realize the efficient deployment of customized services in 5G scenarios, a resource-aware service function chain coordinated composition and mapping algorithm is proposed. The algorithm first constructs the service function chain set according to the service request, then maps the service chains in the set, and finally solves the resource-optimized service chain deployment scheme. In the composition stage, all composition schemes of a service function chain are obtained by using service function chain generation algorithm based on breadth-first search. In the mapping stage, the service function composition schemes and mapping schemes are coded together by the double-layer coding method, and then an improved genetic particle swarm optimization algorithm is used to calculate the optimal service function composition scheme and mapping scheme in line with the current substrate network. The simulation results show that, compared with the TASAR algorithm, the service request acceptance rate of the proposed coordinated composition and mapping algorithm is increased by 9%, the bandwidth resource overhead is reduced by 13%, and the node resource overhead is increased by 9%. Keywords: 5G network; service function chain; network function virtualization; virtualized network function; particle swarm algorithm 国际电信联盟(ITU)指出,5G 将满足增强 移动宽带、低时延高可靠、海量机器类连接三大 应用场景 [1] ,为各垂直行业提供定制化的网络服 [2] 。然而,由于传统电信核心网网元中网络功 能和专有硬件紧耦合的特性,导致硬件升级和网 络服务的生命周期管理过程非常复杂 [3] ,这不仅 造成运营商利润的损失,而且阻碍了电信行业的 创新 [4] ,难以满足万物互联时代的服务需求。 为解决上述问题,运营商致力于将虚拟化技 术应用于电信行业,提出了网络功能虚拟化

Upload: others

Post on 14-Jun-2020

31 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 5G 网络下资源感知的服务功能链 协同构建和映射算法zkxb.xjtu.edu.cn/Upload/Park/3fc8765c-7399-47d2-8ced-3ccf6362eb… · (nfv)[5]的概念。网络功能虚拟化是指将网络

第 54 卷 第 8 期 西 安 交 通 大 学 学 报 Vol.54 No.8

2020 年 8 月 JOURNAL OF XI’AN JIAOTONG UNIVERSITY Aug. 2020

收稿日期:2019-12-03。 作者简介:孙士清(1992-),男,硕士生;彭建华(通信作者),男,教授,博士生导师。基

金项目:国家自然科学基金资助项目(61801515);国家自然科学基金创新群体资助项目(61521003)。

网络出版时间: 网络出版地址:

5G 网络下资源感知的服务功能链

协同构建和映射算法 孙士清,彭建华,游伟,李英乐

(中国人民解放军战略支援部队信息工程大学,450002,郑州)

摘要:为了充分发挥网络功能虚拟化带来的灵活性优势,实现 5G 场景下定制化服务的高效部署,提出

了一种资源感知的服务功能链协同构建和映射算法。该算法首先根据服务请求构建出服务功能链集合,

然后对集合中的服务链进行映射,最终求解出资源优化的服务链部署方案。在服务功能链构建阶段,采

用基于广度优先搜索的服务功能链构建算法,得到服务功能链所有的构建方案;在服务链映射阶段,采

用双层编码方法,将服务功能链构建方案和映射方案进行混合编码,然后利用改进的遗传粒子群算法对

问题进行求解,计算出符合当前底层网络状态的服务功能链构建方案和映射方案。仿真结果表明,与

TASAR 算法相比,所提出的协同构建和映射算法服务请求接受率提高了 9%,带宽资源开销降低了 13%,

节点资源开销提高了 9%。

关键词:5G 网络;服务功能链;网络功能虚拟化;虚拟网络功能;粒子群算法

中图分类号:TN915.81 文献标志码:A

DOI:

文章编号:0253-987X(2020)08-0000-00

A Resource-Aware Service Function Chain Coordinated Composition and

Mapping Algorithm Under 5G Network

SUN Shiqing, PENG Jianhua, YOU Wei, LI Yingle

(People’s Liberation Army Strategic Support Force Information Engineering University, Zhengzhou 450002, China)

Abstract: In order to give to play to the flexibility advantages of network function virtualization and realize the

efficient deployment of customized services in 5G scenarios, a resource-aware service function chain

coordinated composition and mapping algorithm is proposed. The algorithm first constructs the service function

chain set according to the service request, then maps the service chains in the set, and finally solves the

resource-optimized service chain deployment scheme. In the composition stage, all composition schemes of a

service function chain are obtained by using service function chain generation algorithm based on breadth-first

search. In the mapping stage, the service function composition schemes and mapping schemes are coded

together by the double-layer coding method, and then an improved genetic particle swarm optimization

algorithm is used to calculate the optimal service function composition scheme and mapping scheme in line

with the current substrate network. The simulation results show that, compared with the TASAR algorithm, the

service request acceptance rate of the proposed coordinated composition and mapping algorithm is increased by

9%, the bandwidth resource overhead is reduced by 13%, and the node resource overhead is increased by 9%.

Keywords: 5G network; service function chain; network function virtualization; virtualized network function;

particle swarm algorithm

国际电信联盟(ITU)指出,5G 将满足增强

移动宽带、低时延高可靠、海量机器类连接三大

应用场景[1],为各垂直行业提供定制化的网络服

务[2]。然而,由于传统电信核心网网元中网络功

能和专有硬件紧耦合的特性,导致硬件升级和网

络服务的生命周期管理过程非常复杂[3],这不仅

造成运营商利润的损失,而且阻碍了电信行业的

创新[4],难以满足万物互联时代的服务需求。

为解决上述问题,运营商致力于将虚拟化技

术应用于电信行业,提出了网络功能虚拟化

Page 2: 5G 网络下资源感知的服务功能链 协同构建和映射算法zkxb.xjtu.edu.cn/Upload/Park/3fc8765c-7399-47d2-8ced-3ccf6362eb… · (nfv)[5]的概念。网络功能虚拟化是指将网络

y2 西 安 交 通 大 学 学 报 第 54 卷

http://zkxb.xjtu.edu.cn

(NFV)[5]的概念。网络功能虚拟化是指将网络

功能与专有硬件进行分离,并采用软件实现虚拟

网络功能(VNF)。VNF 可以根据网络需要在不

同的位置上进行实例化,如数据中心、网络节点

和用户终端设备(CPE)等[6]。不同的 VNF 按照

一定策略连接起来,构成了服务功能链(SFC)[7]。

不同的业务流量具有差异化的服务需求,因此,

运营商需要对不同的业务流量进行分类,制定不

同的路由策略,通过不同的服务功能链以满足相

应的服务请求。

5G 将实现按需灵活的网络服务部署方式,因

此,服务功能逻辑顺序未知场景下的服务功能链

的构建和映射将是 5G 管理和编排平面需要解决

的重点问题[8]。服务功能链构建是指编排不同的

网络功能形成 VNF 转发图或服务功能链,以提供

网络服务[9],解决的是服务功能之间的逻辑关系

问题。服务功能链的构建受三个方面的影响:首

先,VNF 之间依赖关系,例如,互联网安全协议

(IPSec)解密器通常部署在 NAT 网关之前[10],

但是虚拟专用网络(VPN)代理在防火墙前后部

署均可[11];其次,VNF 对流量速率的改变,例如

Citrix Cloud Bridge 广域网加速器在进行流量转

发之前会进行流量压缩,可以使流量降低 80%,

而 BCH(63,48)编码器由于校验和开销则会使流

量增加 30%[12];最后,VNF 部署位置,受到网路

节点功能和性能的限制。服务功能链映射是指将

服务功能链映射至底层物理节点,选择 VNF 承载

服务链中对应的网络功能,以满足网络服务需求[13]。如何根据服务请求构建服务功能链并进行高

效映射已经成为学术界关注的热点问题。大量文

献专注于解决其中一个问题,例如文献[14]将服

务功能链的构建问题建模为整数线性规划问题,

以求得带宽需求最小的服务功能链构建方案。文

献[15,16]和文献提出了基于强化学习的服务功能

链映射方法。少量文献将服务链构建问题和映射

问题同时进行研究[17]。文献[9]提出了在线服务功

能链联合构建和映射算法,首先以构建出服务功

能之间带宽需求最小的服务链,然后对其进行映

射。该方法一方面该方法将服务链构建和映射问

题独立进行求解,服务链构建过程中忽略了底层

网络中 VNF 实例的分布以及负载状态等信息,生

成的服务功能链可能需要较大的部署开销;另一

方面在映射过程中未考虑底层链路剩余带宽,所

构建的服务功能链可能会部署失败。文献[18]提

出了一种基于回溯法的服务功能链联合构建和映

射方法,该方法从当前部署节点出发,采用贪婪

策略部署下一服务功能,在部署过程中未考虑整

个底层网络的状态,容易陷入局部最优。文献[19]

提出一种带宽资源最小化的服务功能链部署方

法,该方法针对服务功能之间无依赖关系、部分

依赖关系和全依赖关系三种情况设计了不同的服

务功能链部署方法,但该文献没有考虑不同的服

务功能链构建方案造成链路中流量变化对节点资

源消耗的影响。

可以看出,一方面在当前两阶段的部署方法

中单一服务功能链构建方案对部署问题造成了约

束,缩小了问题求解的解空间;另一方面启发式

的方式容易陷入局部最优。为解决上述问题,本

文提出了一种资源感知的服务功能链协同构建和

映射算法(RACCM)。在服务功能链构建阶段,

采用广度优先搜索算法生成符合服务请求中服务

功能之间依赖关系的所有服务功能链构建方案;

在服务功能链映射阶段,设计了基于双层编码的

服务功能链构建和映射编码方式,充分利用粒子

群算法(PSO)全局寻优的能力,实现服务功能

链部署方案的快速求解。

1 问题描述和模型建立

1.1 问题描述

当租户需要向客户提供数据服务时,运营商

需要根据其传输的数据流量的业务类型制定不同

的网络功能路由策略,以提供网络服务。ETSI

指出,VNF 转发图由服务提供商或者其系统集成

合作伙伴进行开发,并且可以由行业指定模板进

行定制[20]。根据文献[9,17-18]的研究,一个服务

请求的部署过程可以分为服务链构建和映射两个

过程,分别由图 1 和图 2 进行表示。

图 1 为一个服务请求和对应的服务功能链。

如图 1(a)所示,一个服务请求包含了源节点sn 、

目的节点dn 、初始流量速率

ini 、服务功能需求

四个主要组成部分。服务功能需求中除了所需的

服务功能类型外,还规定了不同类型的服务功能

之间的依赖关系,图中服务功能2f 指向

1f 的虚线

代表2f 依赖

1f ,在构建服务链时2f 位于

1f 之后。

服务功能右侧数字为该类型的服务功能对流量的

变化率,为服务功能输出的流量与输入流量比值,

服务功能下方的数字为处理每 Mbit/s 流量所占用

的服务器能够虚拟出的最小虚拟处理器数量。图

Page 3: 5G 网络下资源感知的服务功能链 协同构建和映射算法zkxb.xjtu.edu.cn/Upload/Park/3fc8765c-7399-47d2-8ced-3ccf6362eb… · (nfv)[5]的概念。网络功能虚拟化是指将网络

第 8 期 孙士清,等:5G 网络下资源感知的服务功能链协同构建和映射算法 y3

http://zkxb.xjtu.edu.cn

1(b)为根据该服务请求中服务功能之间的依赖

关系所生成的服务功能链,totalC 为该服务功能链

所需的处理资源数量,totalB 为该服务链中服务功

能之间带宽总需求。若不考虑底层网络中 VNF

实例的分布情况,服务链 SFC3 为资源需求最小

的服务功能链构建方案。

1f 2f

3f

4f0.8 1.2 0.8

0.7

0.02 0.04 0.03

0.03

s 1n 节点

d 5n 节点

req 300 /Mbit s

(a) 服务请求

sn

sn

sn

dn

dn

dn

1f

1f

1f

2f

2f

2f

3f

3f

3f

4f

4f

4f

SFC1

SFC2

SFC3

total 32.448C 个

total 32.844C 个

total 29.184C 个

total 1190.88 /B Mbit s

total 1219.68 /B Mbit s

total 1070.88 /B Mbit s

(b) 由(a)构建出的服务链

图 1 服务请求及其对应的服务功能链

图 2 为一种可能的映射情况,SFC1 实际映

射带宽开销为 1190.88Mbit/s,SFC3 实际映射带

宽开销为 1310.88Mbit/s,虽然 SFC3 服务功能之

间带宽总需求小于 SFC1,但其实际映射带宽开

销大于 SFC1。因此,在进行服务功能链部署时,

构建和映射过程是紧密关联的,应当同时考虑底

层网络中 VNF 实例的分布情况、带宽资源等底层

网络状态,才能获得资源优化的部署方案。

SFC1 SFC3

1f

1 2 3 4s dn f f f f n 1 3 2 4s dn f f f f n

底层网络

2f

4f

sn

dn3f

1f

底层网络

2f

4f

sn

dn3f

(a)SFC1的映射情况 (b)SFC3的映射情况

图 2 VNF 实例分布对服务链映射的影响

1.2 模型建立

1.2.1 网络模型

底层网络采用有向图 ,G V E 进行表示,其

中V 为物理节点集合,E 为物理链路集合。每个

物理节点上附着一个或者多个服务器,同时具有

流量转发和运行多个不同类型的 VNF 的能力,且

能够虚拟化出多个虚拟处理器。对每个物理节点

v V ,其剩余的虚拟处理器数量记为vC ,节点

数据处理时延为vt 。设 F 为网络中 VNF 类型集

合,对于每种类型的服务功能 f F ,其流量改

变率为 f ,为 VNF 输出流量与输入流量之比,

每 Mbit/s 流量所需的虚拟处理器数量开销为 f 。

vF 为节点 v能够承载的网络功能集合,, 1f vh 表

示类型为 f 的 VNF 可以运行在节点 v 上,同时定

义 fV 为网络功能 f 可以部署的节点集合。节点 v

到节点w 的链路 ,v we E 为有向边,其剩余带宽容

量为 ,v wB ,传输时延为 ,v wt 。底层视图中两个节点

之间的最短路由路径集合记为shortestP 。

每 个 服 务 请 求 可 以 由 一 个 五 元 组

s d req ini req, , , ,v v F T 进行表示,其中sv 和

dv 分别为

业务数据流量的源节点和目的节点, reqF 为所需

的服务功能类型集合, req 为初始流量速率, reqT

为服务请求时延阈值。服务请求中规定了rF 中不

同类型的 VNF 之间的约束关系,其具有传递性和

非对称性[19]。以图 1(a)为例,传递性是指若2f

依赖1f ,

4f 依赖2f ,则

4f 依赖1f ;非对称性是

指若2f 依赖

1f ,则1f 不依赖

2f 。定义依赖矩阵

D ,当2f 依赖

1f 时, 1 2, 1f f D ,则图 1(a)

中服务请求的依赖矩阵可以表示为:

0 1 1 1

0 0 0 1

0 0 0 0

0 0 0 0

D (1)

当服务功能 f 位于服务链中第 i 位时,设

,f ip =1,否则为 0,特别地,,0 1

svp 。本文仅考

虑单播通信。

1.2.2 问题建模

定义网络功能部署变量 ,f vq ,其值为 1 时表

示所需的服务功能 f 映射在节点 v ,由其上对应

类型的VNF实例承载所需的服务功能,否则为 0;

定义虚拟链路映射变量 , , ,f g v wl ,当相邻的两个服

务功能 ,f g 之间的路由路径经过底层链路 ,v we ,

且流量由链路的端点 v 到 w 时,其值为 1,否则

为 0。本文中仅对节点所能承载的 VNF 类型进行

约束,VNF 处理能力的自适应调整方面文献[21]

已经进行了详细地研究,本文不对其进行探讨。

对于任何成功部署的服务功能链,均要满足以下

约束条件:

式(2)和式(3)为节点部署约束。式(2)

Page 4: 5G 网络下资源感知的服务功能链 协同构建和映射算法zkxb.xjtu.edu.cn/Upload/Park/3fc8765c-7399-47d2-8ced-3ccf6362eb… · (nfv)[5]的概念。网络功能虚拟化是指将网络

y4 西 安 交 通 大 学 学 报 第 54 卷

http://zkxb.xjtu.edu.cn

表示服务请求中所有的服务功能均能部署在底层

节点上,且仅能部署在一个节点上。为了防止流

量分割带来的性能下降,式(3)表示对从节点 v

流出的流量,仅能从一条物理链路流出。

, req1,f v

v V

q f F

(2)

, , , req1, , ,f g v w

w V

l f g F v V

(3)

式(4)-式(6)为服务功能链构建约束。式

(4)表示服务链中任一位置仅能有一种网络功

能;式(5)表示服务链中没有重复的网络功能。

式(6)表示若服务功能 g 依赖于 f ,则流量需先

经过 f 。

, req1, 1,2,...,r

f i

f F

p i F

(4)

, req

1

1,rF

f i

i

p f F

(5)

, ,, 1 1 , 1f i g ji j p p f g D (6)

式(7)和式(8)为容量约束。式(7)表示

节点需要有足够计算资源处理需要承载的数据流

量;式(8)表示对于路由路径中的每条链路要有

足够的剩余带宽。

req

req

1

, , , ini ,

1 0

req; ,

F i

f i f f v f v g k g v

i g Fk

p q h p C

v V f g F

(7)

req

ini , , , , , ,

0 0

req, ; , , ; 1

rF i

f i f g v w x k g v w

i x Fk

k

w

p l p B

v w V f g x F p

(8)

式(9)为路由约束。式(9)表示在 f 到 g 的

路由路径中,除了路径端点外,中间节点的流出

链路数量与流入链路数量相等。

, ,

, , , , , , , ,

req

1, 1 1

1, 1 1

0,

; ,

f v g v

f g v w f g w v g v f v

w V w V

q q

l l q q

v V f g F

其他

(9)

式(10)为时延约束。式(10)表示服务链

的部署方案应当满足服务请求的时延阈值。

req req

, , , , , ,, ,f v v f g v w v w v w

f F f F

q t l t T v V e E

(10)

本文以最小化服务请求的部署开销为优化目

标。对于任一服务请求 reqo ,式(11)为其部署开

销,第一项为计算资源部署开销,第二项为带宽

资源部署开销, 和 分别为对应的归一化权重

因子。

req

req

1

req , ini , , ,

1 0

ini , , , , ,

0 0

F i

f i f g k g f v f v

v V i k

F i

g k g f i f g v w

s V i k

cost o p p q h

p p l

(11)

2 算法描述

2.1 基于广度优先搜索的服务功能链构建算法

算法利用广度优先搜索的思想,在每一次的

循环中,以每一个当前构建方案扩展为基础,扩

展多个新的服务功能分支,最终完成所有构建方

案的搜索,具体流程如算法 1 所示。以 SFCG 表示

构建方案集合, SFC,kg 为其中第 k 个构建方案,

每个构建方案以向量进行表示,向量中的每一位

数字代表服务功能类型。当 SFCG 为空集时,则将

集合 reqF 中的服务功能赋值给集合 SFCG ,作为初

始构建方案,同时也是服务功能链构建方案中第

一层服务功能(算法 1 步骤 3-5),然后分别以每

个服务功能开始,进行服务链的构建和扩展。当

SFCG 为非空集时,对于其中每一个构建方案

SFC,kg ,计算 reqF 中除去 SFC,kg 中已有的服务功能

后剩余的服务功能集合 remF ,并根据依赖矩阵 D

判断 remF 中每一个服务功能是否均能放置在

SFC,kg 最后一个服务功能 lastf 后(算法 1 步骤

7-12),若可以,则分别将 remF 中的服务功能 rem,nf

与 SFC,kg 一起构建该次循环产生的服务链构建方

案(算法 1 步骤 14-18),以 SFC,kg 为基础扩展多

个构建分支。进行依赖条件判断的原因为,在由

SFC,kg 扩展的每一条完整分支中, remF 中的服务

功能均会出现一次,若 remF 中一个服务功能不满

足 lastf 的依赖条件,则 SFC,kg 生成的所有分支都

将不满足依赖条件,因此提前对 SFC,kg 可扩展性

进行判断,以降低算法搜索空间。

算法1 基于广度优先搜索的服务功能链构

建算法

输入: reqF , D

输出:服务功能链构建方案集合 SFCG

1 初始化:服务链构建过程集合 PG ,

c 1j , SFCG ;

Page 5: 5G 网络下资源感知的服务功能链 协同构建和映射算法zkxb.xjtu.edu.cn/Upload/Park/3fc8765c-7399-47d2-8ced-3ccf6362eb… · (nfv)[5]的概念。网络功能虚拟化是指将网络

第 8 期 孙士清,等:5G 网络下资源感知的服务功能链协同构建和映射算法 y5

http://zkxb.xjtu.edu.cn

2 while c reqj F

3 if SFCG

4 SFC reqG F

5 c c 1j j

6 else

7 for c SFC1:k G

8 计算 SFC,kg 对应的剩余服务功能集

合reqrem SFC,F kF g ,获取 SFC,kg 中

最后一个服务功能 lastf , c 0m ;

9 for c rem1:l F

10 if clast rem,, ==1lf fD or

c clast rem, rem, last, 0 & & , 0l lf f f f D D

11 c c 1m m ;

12 end if

13 end for

14 if c remm F

15 for c rem1:n F

16 SFC, rem,[ , ]k lg f 进入集合 PG

17 end for

18 end if

19 end for

20 c c 1j j

21 SFC PG G ; PG ;

22 end if

23 end while

2.2 基于改进遗传粒子群算法的服务功能链映

射算法

服务功能链的映射问题已经被证明是 NP 难

问题[19],本文需要求解最优的服务链构建方案及

其映射方案,问题复杂度更高。粒子群算法作为

一种基于群智能理论的优化算法,具有运算速度

快、全局搜索能力好等特点,非常适合在动态、

多目标场景下寻优。但是传统的粒子群算法一般

应用于连续问题,难以直接应用于离散问题。为

此本文提出基于改进遗传粒子群算法(PSO-GA)

的服务功能链映射算法,即采用遗传算法(GA)

改进粒子群算法,用遗传算法的交叉和变异操作

代替传统粒子群算法的位置更新和速度更新;同

时引入双层编码方法,实现服务链构建方案与部

署方案同时求解。

个体编码与解码:采用十进制整数编码的方

式对服务功能链的构建和映射方案进行编码,长

度为 req2 F 。如图 3 所示,以图 1 种的服务功能

链 SFC3 为例,前 4 位为服务链构建编码,不同

的序号代表不同的服务功能类型,由左至右的顺

序代表服务功能之间的逻辑先后顺序;后 4 位为

服务链映射编码,分别对应前 4 位不同服务功能

所映射的节点位置,如 VNF1 映射在底层网络 6

号节点。在解码过程中,首先根据服务链构建编

码计算每个服务功能所需要的计算资源数量以及

服务功能之间所需链路带宽,然后根据映射编码

在路径集合shortestP 中查找服务功能映射节点之间

流量转发路径,判断路径上链路是否满足带宽需

求,若不满足,则利用最短路径算法重新计算转

发路径。这种服务功能路径的计算方式能够减少

节点之间路径的计算次数,提高算法效率。

1 3 2 4 6 1 5 3

图3 个体编码示意

适应度值计算:将粒子 i 对应的部署开销作

为其适应度值,如式(12)所示,与式(11)一

致。

fit i cost i (12)

粒子交叉:粒子交叉分为个体最优交叉和群

体最优交叉两部分,个体最优交叉是指个体和个

体最优粒子进行交叉得到新粒子,群体最优交叉

是指个体与群体最优粒子进行交叉得到新粒子。

由于服务功能数量及其相互之间的顺序约束,编

码中构建编码组合数量远小于映射编码组合数

量,因此为了减少非可行粒子的出现并降低算法

运算的复杂度,对两者采用不同的交叉策略。定

义 csp 为服务链编码交叉选择概率,即当某一个

体与最优个体交叉时,以概率 csp 进行构建编码

部分交叉,以 cs1 p 进行映射编码部分交叉。在

服务链构建编码部分交叉时,交换个体前 reqF

位;在进行映射部分交叉时,在后 reqF 位编码中

随机选择交叉位置进行单点交叉。

个体变异:与个体交叉类似,定义 msp 为服

务链编码变异选择概率。当某一个体进行变异时,

若进行服务链构建编码部分变异,则在构建方案

集合 SFCG 中随机选择一个服务功能链构建方案

进行替换;若映射编码部分进行变异,则在前

reqF 位编码中随机选择一位,在该位服务功能 f

对应的承载节点集合 fV 中随机选择节点编号进

行替换。

算法 2 步骤如下:算法首先进行初始化,根

据 SFCG 和 fV 生成初始粒子群 iniG 和个体最优集

合 ribG ,并计算对应适应度值集合 ini , rib ,从

而得到群体最优粒子 GR 和其适应度值 G (算法

2 步骤 1-9);然后算法进行个体最优交叉操作,

Page 6: 5G 网络下资源感知的服务功能链 协同构建和映射算法zkxb.xjtu.edu.cn/Upload/Park/3fc8765c-7399-47d2-8ced-3ccf6362eb… · (nfv)[5]的概念。网络功能虚拟化是指将网络

y6 西 安 交 通 大 学 学 报 第 54 卷

http://zkxb.xjtu.edu.cn

根据随机生成的交叉概率 rp 进行对应的交叉操

作(算法 2 步骤 12-20),并以类似的方法进行群

体最优交叉和个体变异操作(算法 2 步骤 21-24);

接着对新的粒子群中的个体进行可行性检查,即

对映射节点的剩余带宽容量进行检查,若不满足

服务链映射要求,则从集合 fV 随机选择其他映射

节点进行替换(算法 2 步骤 25);最后按照公式

(11)计算粒子适应度值,根据适应度值进行个

体最优粒子与群体最优粒子更新(算法 2 步骤

26-36),在满足迭代次数时终止算法循环。算法

2 中用到的符号和含义如表 1 所示。

表1 算法2中的符号和含义

符号 含义 符号 含义

iniN 粒子群个体

数目 ini iniG 中个体的适应度

值集合

lN 算法迭代次

数 ini,i ini,ig 对应的适应度

csp 编码交叉选

择概率 rib ribG 中个体对应的适

应度值集合

msp 编码变异选

择概率 rib,i rib,ig 对应的适应度

iniG 粒子群集合 PGR 当前群体最优粒子

ini,ig iniG 中第 i 个

个体 PG PGR 对应适应度值

ribG iniG 个体最优

集合 GR 最优部署方案编码

rib,ig ribG 中第 i 个

个体 G 最优部署方案适应度

值(开销)

算法 2 基于改进遗传粒子群算法的服务功

能链部署算法

输入:底层网络参数: ,G V E , vC , ,v wB ,

fV , f , f ,服务请求参数:sv , dv , req ,

SFCG , , ,算法参数:群体个体数目 iniN ,

迭代次数 lN , csp , msp ;

输出:最优部署方案 GR 及其开销 G ;

1 /*初始化*/

2 for ini1:i N

3 随机选择 SFC SFCg G ;

4 对 SFCg 中每一个 VNF,从集合 fV 中随

机选择映射节点,构成映射部分编码

embC ;

5 ini, SFC emb[ C ]ig g ;

6 end for

7 按照步骤2-5生成个体最优集合 ribG ;

8 按照公式(11)计算个体适应度值 ini ,

rib ;

9 计算当前最优方案 PGR 和适应度值 PG ;

10 G PGR R , G PG , c 0n ;

11 while c ln N

12 /*个体最优交叉*/

13 for ini1:j N

14 随机生成交叉概率 rp ;

15 if csrp p

16 ini,ig 与 rib,ig 进行服务链构建编码交

叉;

17 else

18 ini,ig 与 rib,ig 进行服务链映射编码交

叉;

19 end if

20 end for

21 /*群体最优交叉*/

22 对每个 inig ,与 GR 进行交叉操作;

23 /*粒子变异*/

24 对每个 inig ,进行变异操作;

25 对每个 inig ,进行可行性检查;

26 /*个体最优粒子与群体最优粒子更新*/

27 计算个体适应度值 ini ;

28 for ini1:k N

29. if ini, rib,k k

30 rib, ini,k k , ini, rib,k kg g ;

31 end if

32 end for

33 计算当前群体最优方案 PGR 和适应度值

PG ;

34 if PG G

35 G PG , G PGR R ;

36 end if

37 c c 1n n ;

38 end while

3 仿真实验

3.1 实验设置

为了验证算法性能,使用 MATLAB 2018b 软

件在配置为 Intel Core i7-6700 CPU、16GB RAM

台式计算机上进行仿真。参考文献[15,19]的研究,

仿真拓扑采用 SNDlib 上 pdh[22]拓扑,包含11个点

和34条边,每个节点初始处理能力为256units,实

验中该拓扑每条无向边设置为两条有向边,每个

方向链路带宽为700Mbit/s。实验中 VNF 类型如

表2所示,每个节点从中随机选取3种作为承载类

型。参考文献[9]中 Fig1,表2中规定了不同服务

功能流量改变率和每 Mbit/s 带宽所需最小虚拟处

理器数量。实验中不同服务请求类型如图4所示,

每个服务请求的源节点和目的节点随机选择。权

Page 7: 5G 网络下资源感知的服务功能链 协同构建和映射算法zkxb.xjtu.edu.cn/Upload/Park/3fc8765c-7399-47d2-8ced-3ccf6362eb… · (nfv)[5]的概念。网络功能虚拟化是指将网络

第 8 期 孙士清,等:5G 网络下资源感知的服务功能链协同构建和映射算法 y7

http://zkxb.xjtu.edu.cn

重因子 和 分别为1和0.05。

1f 1f2f 2f

3f 3f

4f 5f

(a)服务请求1 (b)服务请求2

1f 2f

3f

4f

5f

4f

5f

1f

3f

(c)服务请求3 (d)服务请求4

图4 四种不同的服务请求类型

表2 服务功能类型及其参数

类型 1f 2f 3f 4f 5f

f 0.8 1.2 0.7 0.9 1.1

fu (个

/Mbit·s-1) 0.02 0.04 0.03 0.05 0.03

3.2 实验分析

首先,以图4(a)中的服务请求为例,验证

本文提出的改进遗传粒子群算法的收敛性和有效

性,设置服务请求带宽为30Mbit/s,粒子群个体

数量 ini 30N ,迭代次数l 200N ,并且实验200

次得到的数据取平均值,结果如图5所示。

图5为不同的 csp 和 msp 对算法性能的影响。

从图中可以看出,本文所提出的 PSO-GA 算法能

够实现有效收敛,增大服务链构建编码部分的交

叉和变异概率能够改善算法性能。主要原因为,

当 csp 和 msp 增加时,服务链构建编码部分的交叉

和变异更够扩大粒子群算法搜索空间,相比于映

射部分的交叉和变异,能够为该粒子引入更多的

有效信息,从而更快地寻找到最优解。在 csp 和

msp 均为0.3时可以看出,改进遗传粒子群算法比

传统的遗传算法收敛速度更快,这主要是因为

PSO-GA 算法是一种更为高效的并行搜索算法,

在算法运行过程中,每个粒子均保留其个体极值,

通过个体最优交叉,每个粒子都能动态跟踪当前

搜索状况,动态调整搜索策略,同时通过群体最

优交叉,群体最优粒子能够引导整个粒子群趋近

最优解;而遗传算法通过交叉变异和选择复制进

行种群迭代,每个染色体无法保留其迭代过程中

的个体最优信息,其搜索能力有限。

然后,将本文提出的 RACCM 算法与文献[19]

中的 TASAR 算法、随机选取服务链构建策略的

RANDOM 算法进行对比,验证在多个服务请求

到达的情况下算法求解出的服务功能链部署方案

的资源利用有效性。实验中每个服务请求的请求

类型从图4中随机进行选择,所有服务请求带宽服

从[20,30]Mbit/s 之间均匀分布,每种对比算法运

行5次,实验结果取平均值,如图6至图9所示。图

6为不同服务请求数量下的服务接受率对比,可以

看出,当服务请求数量超过700时,TASAR 算法

开始出现接受率下降的情况,在服务请求数量超

过1000时,曲线呈直线下降趋势,没有新的请求

可以部署成功。RACCM 算法的服务请求接受率

比 TASAR 算法提高了9%左右,比 RANDOM 算

法提高了10%左右,主要原因为 RACCM 算法部

署服务请求所消耗的资源最低,在相同的资源条

件下能够容纳更多的服务功能链部署,如图7所

示。

图5 csp 和 msp 取值对算法性能影响

图6 不同服务请求数量下的接受率

图7为不同服务请求数量下成功部署的服务

请求的平均资源开销,在资源充足情况下

RACCM 算法对应的平均部署开销最低,为4.6左

右,TASAR 算法居中,为4.75左右,RANDOM

算法最高,为5.5左右,主要原因为:RACCM 能

够根据底层节点所能承载的 VNF 类型以及资源

Page 8: 5G 网络下资源感知的服务功能链 协同构建和映射算法zkxb.xjtu.edu.cn/Upload/Park/3fc8765c-7399-47d2-8ced-3ccf6362eb… · (nfv)[5]的概念。网络功能虚拟化是指将网络

y8 西 安 交 通 大 学 学 报 第 54 卷

http://zkxb.xjtu.edu.cn

使用情况选择最优的服务功能链构建和映射方

案,而 TASAR 在进行服务功能链构建在服务功

能依赖约束下将流量改变率最小的服务功能放置

在服务链最靠前的位置,以降低服务功能之间的

带宽需求,但是该种方式并未考虑底层节点所能

承载的服务功能类型约束,可能导致服务功能之

间路由路径的延长,增加带宽资源开销;

RANDOM 算法既没有考虑服务功能类型约束,

也没考虑服务功能对流量的改变,其平均部署开

销最高。从图7中还可以看出,后期平均部署开销

增大,原因为部分节点计算资源耗尽,服务链的

路由跳数增加,带来了带宽开销增加,进而平均

部署开销增加。

图7 不同服务请求数量下的平均部署开销

图8和图9分别为不同服务请求数量下计算资

源和带宽资源利用率的变化。可以看出,在服务

请求数量小于900时,RACCM 算法节点资源比

TASAR 增加了约10%左右,带宽资源降低了约

13%。这是由于 TASAR 算法在确定服务链构建

方案时仅关注不同服务功能对流量速率的改变,

寻求构建时带宽需求最优的方案,虽然其在计算

资源开销上是最低的,但是由于忽视了网络中

VNF 实例分布以及节点资源使用情况,其带宽资

源将会被更快耗尽,这也印证了图6中其请求接受

图8 不同服务请求数量下的计算计算资源利用率

图9 不同服务请求数量下的带宽资源利用率

率比 RACCM 算法要低以及图7中平均部署开销

比 RACCM算法高。当服务请求数量超过1000时,

RACCM 算法的计算资源和带宽资源利用率均高

于 TASAR 算法,主要是因为 RACCM 算法比

TASAR 算法成功部署的服务请求数量多。

4 结论

本文主要研究了虚拟化环境下服务功能链的

构建和映射问题,提出了一种资源感知的服务功

能链协同构建和映射算法,实现服务功能链资源

优化部署。该方法基于单个服务请求,具有实时、

快速、高效特点,能够满足动态场景下服务链的

灵活部署。未来将结合人工智能技术,对虚拟资

源动态扩展方法进行研究,以满足智慧化网络运

营需求。

参考文献:

[1] ZHANG Shunliang. An overview of network slicing

for 5G[J]. IEEE Wireless Communications, 2019,

26(3): 111-117.

[2] YE Qiang, LI Junling, QU Kaige, et al. End-to-End

quality of service in 5G networks: Examining the

effectiveness of a network slicing framework[J]. IEEE

Vehicular Technology Magazine, 2018, PP(99): 1-1.

[3] GUPTA A, HABIB M F, MANDAL U, et al. On

service-chaining strategies using virtual network

functions in operator networks[J]. Computer Networks,

2018, 133: 1-16.

[4] HAWILO H, JAMMAL M, SHAMI A. Network

function virtualization-aware orchestrator for service

function chaining placement in the cloud[J]. IEEE

Journal on Selected Areas in Communications, 2019,

37(3): 643-655.

Page 9: 5G 网络下资源感知的服务功能链 协同构建和映射算法zkxb.xjtu.edu.cn/Upload/Park/3fc8765c-7399-47d2-8ced-3ccf6362eb… · (nfv)[5]的概念。网络功能虚拟化是指将网络

第 8 期 孙士清,等:5G 网络下资源感知的服务功能链协同构建和映射算法 y9

http://zkxb.xjtu.edu.cn

[5] Saraiva d S N F, Lachos Perez D A, Rosa R V, et al.

Network Service Orchestration: A survey[J]. Computer

Communications, 2019, 142-143(JUN.):69-94.

[6] GREENE N, PARKER R, PERRY R. Is your network

ready for digital transformation? IDC White

paper[R/OL]. (2017-01-18)[2019-08-05].

https://www.cisco.com/c/dam/en/us/solutions/collateral

/enterprise-networks/digital-network-architecture/netw

ork-ready-digital-transformation.pdf.

[7] HALPERN, J, PIGNATARO, C. Service function

chaining(SFC) architecture. Technical Report:

RFC7665[R]. IETF, 2015.

[8] The 5G Architecture Working Group. View on 5G

architecture version3.0[R/OL]. (2019-06-19)[2019-0

8-05]. https://5g-ppp.eu/5g-ppp-architecture-public-co

nsultation/.

[9] LI Junling, SHI Weisen, YE Qiang, et al. Online joint

VNF chain composition and embedding for 5G

networks[C]//2018 IEEE Global Communications

Conference (GLOBECOM). IEEE, 2018: 1-6.

[10] CISIO. NAT order of operation[EB/OL]. (2008-09-

30) [2019-08-05]. https://www.cisco.com/c/en/us/sup

port/docs/ip/network-address-translation-nat/6209-5.ht

ml.

[11] MICROSOFT TECHNET. VPNs and

firewalls[EB/OL]. (2008-11-09)[2019-08-05].

https://docs.microsoft.com/en-us/previous-versions/wi

ndows/it-pro/windows-2000-server/cc958037(v=techn

et.10).

[12] MILLER M, BRANKA V, LES B. Satellite

communications: mobile and fixed services[M].

Norwell: Springer Science & Business Media, 1993:

247-249.

[13] BU Chao, WANG Xingwei, CHENG Hui, et al.

Enabling adaptive routing service customization via

the integration of SDN and NFV[J]. Journal of

Network and Computer Applications, 2017, 93:

123-136.

[14] OCAMPO A F, GIL-HERRERA J, ISOLANI P H, et al.

Optimal service function chain composition in network

functions virtualization[C]//IFIP International

Conference on Autonomous Infrastructure,

Management and Security. Springer, Cham, 2017:

62-76.

[15] 袁泉, 汤红波, 黄开枝, 等. 基于 Q-learning 算法的

vEPC 虚拟网络功能部署方法[J]. 通信学报, 2017,

38(8): 172-182.

YUAN Quan, TANG Hongbo, HUANG Kaizhi,

WANG Xiaolei, et al. Deployment method for vEPC

virtualized network function via Q-learning[J]. Journal

on Communications, 2017, 38(8): 172-182.

[16] 魏亮, 黄韬, 张娇, 王泽南, 刘江, 刘韵洁. 基于强

化学习的服务链映射算法. 通信学报[J], 2018, 39(1):

90-100.

WEI Liang, HUANG Tao, ZHANG Jiao, WANG

Zenan, LIU Jiang, LIU Yunjie. Service chain mapping

algorithm based on reinforcement learning. Journal on

Communications[J], 2018, 39(1): 90-100.

[17] JALALITABAR M, GULER E, ZHENG Danyang, et

al. Embedding dependence-aware service function

chains[J]. Journal of Optical Communications and

Networking, 2018, 10(8): C64-C74.

[18] BECK M T, BOTERO J F. Coordinated allocation of

service function chains[C]//2015 IEEE Global

Communications Conference (GLOBECOM). IEEE,

2015: 1-6.

[19] 汤红波, 邱航, 游伟, 季新生. 基于联合备份的服务

功能链可靠性保障的部署方法[J]. 电子与信息学报,

2019, 41(12): 3006-3013.

Hongbo TANG, Hang QIU, Wei YOU, Xinsheng JI. A

Reliability-guarantee Method for Service Function

Chain Deployment Based on Joint Backup[J]. Journal

of Electronics and Information Technology, 2019,

41(12): 3006-3013.

[20] European Telecommunications Standards Institute.

Network functions virtualisation (NFV); manageme

nt and orchestration: NFV-MAN 001 V1.1.1 [R/O

L]. (2014-12)[2019-08-05].https://www.etsi.org/delive

r/etsi_gs/NFV-MAN/001_099/001/01.01.01_60/gs_NF

V-MAN001v010101p.pdf

[21] YU Hui, YANG Jiahai, FUNG C. Elastic network

service chain with fine-grained vertical

scaling[C]//2018 IEEE Global Communications

Conference (GLOBECOM). IEEE, 2018: 1-7.

[22] Orlowski S, Wessäly R, Pióro M, et al. SNDlib

1.0—Survivable network design library[J]. Networks:

An International Journal, 2010, 55(3): 276-286.

(编辑 刘杨)