CN109308210A - 一种在多核服务器上优化nfv转发服务链性能的方法 - Google Patents
一种在多核服务器上优化nfv转发服务链性能的方法 Download PDFInfo
- Publication number
- CN109308210A CN109308210A CN201811067916.3A CN201811067916A CN109308210A CN 109308210 A CN109308210 A CN 109308210A CN 201811067916 A CN201811067916 A CN 201811067916A CN 109308210 A CN109308210 A CN 109308210A
- Authority
- CN
- China
- Prior art keywords
- core
- vnf
- nfv
- cpu
- service chaining
- 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
- 238000000034 method Methods 0.000 title claims abstract description 31
- 238000005457 optimization Methods 0.000 claims description 14
- 230000005540 biological transmission Effects 0.000 claims description 6
- 230000007246 mechanism Effects 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 description 5
- 238000011160 research Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000007812 deficiency Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 241000029811 Equus burchellii quagga Species 0.000 description 1
- 241000283070 Equus zebra Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000009377 nuclear transmutation Methods 0.000 description 1
- 230000032258 transport Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种在多核服务器上优化NFV转发服务链性能的方法,在NFV应用中部署转发服务链,NFV网络中的转发服务链能够对NFV网络性能产生具有重要影响,在多核服务器上应用本优化NFV转发服务链性能的SCBC算法能够显著提升NFV***的性能。此外,对于NFV网络中的其他服务链也能应用类似于SCBC算法的思想来优化***性能。
Description
技术领域
本发明属于网络通信领域,具体地说是提出一种在多核服务器上优化网络功能虚拟化(Network Functions Virtualization,NFV)网络中服务链性能的方法。
背景技术
随着网络应用日益丰富,网络功能日趋复杂,计算机服务器性越来越强大,NFV应运而生。利用虚拟化技术在商用计算机服务器上实现各种网络功能,能够迅速地生成、去除或迁移网络功能。当一种网络服务能够分解成虚拟网络功能(VNF)集合,而这些VNF能够用软件实现并运行在一个虚拟机上就成为具有与某种网络设备等价的网络中间盒软件。该网络中间盒软件成为某种虚拟网络设备。这样,许多类型的虚拟网络设备能够集成运行在高性能的服务器上,成为一个与某个特定网络功能和性能(在服务器性能容许的前提下)完全等价的NFV网络。当网络业务需求变化时,可以在不同的位置重新定位和实例化VNF而形成新的网络,而无需购买、安装和配置新的网络硬件设备。
IP网络中的核心设备是路由器,网络最基本的功能是分组转发。在NFV网络中,任何规模的网络都是由虚拟路由器串联、并联而成的,或者在此基础上增加了一些其他网络中间盒。具有路由转发功能的多个VNF串联起来就够构成一个转发服务链,传输大流量的转发服务链对于NFV网络的性能及其功能影响很大。然而,目前关注较多的网络中间盒主要包括防火墙、入侵检测***、深度报文检测和负载均衡等,缺乏对转发服务链的研究。因此,本专利的意义包括两方面:首先,尽管转发服务链是NFV网络中最为基础、使用最多的服务,但目前缺乏有关转发服务链的研究和优化方法的研究,本专利方法弥补了这方面不足。其次,目前有关NFV网络性能优化工作都是针对Linux操作***的不同层次进行的,缺乏在NFV网络应用层次进行优化的技术,本专利方法弥补了在NFV应用层优化的不足。
发明内容
本发明针对在采用多核CPU技术的服务器或主机上运行NFV应用,提出了一种通过在NFV应用中部署转发服务链的优化方法,该方法能够充分利用底层多核CPU的能力,从而提升NFV***的性能。
本发明的技术方案是:
本发明提供一种在多核服务器上优化NFV转发服务链性能的方法,该方法包括以下步骤:
S1、***初始化,在多核服务器上,将具有路由转发功能的若干个虚拟网络设备VNF串行连接,组成转发服务链SC,一个SC可以运行的一个核或多个核上,其中运行第k条转发服务链SCk中第i个虚拟网络设备VNFki需要耗费的核CPU资源为E(VNFki),一个核CPUj能够提供的资源为E(CPUj)(j=0,1,…,m),j为多核服务器核CPU的编号;m表示多核服务器核CPU的总数;每个核CPUj的初始载荷wj为0;
S2、从SC1开始,依次遍历链SCk中的每个VNF,若将VNFki分配至核CPUj上的总载荷小于核CPUj提供资源的α倍,即满足下述公式:
E(VNFki)+wj<α×E(CPUj)
则将该VNF加入该核对应的向量集合并且更新核CPUj的载荷wj的值;若不满足,则分配至另一个空闲的核上,即将VNFki加入到核CPUj+1对应的向量集合中;
S3、当所有VNF均被分配至合适的向量集合中后,对集合中的每个VNFki分别绑定至对应的核CPUj上,完成优化。
进一步地,该方法还包括:S4、对转发服务链以外的其他线程,按照Linux默认调度机制进行分配。
进一步地,步骤S3中,采用Linux的taskset命令分别绑定VNFki至对应的核CPUj上。
进一步地,所述的0<α≤0.7。
进一步地,计算机服务器具有能够支持Linux操作***、虚拟化软件和各种网络协议运行的多核CPU硬件条件。
进一步地,发送虚拟网络设备VNF包括LXC的虚拟主机以及流量发生器发送程序,该流量发生器能够发送多种强度的TCP、UDP和多种应用的流量。
进一步地,接收虚拟网络设备VNF包括LXC的虚拟主机以及流量发生器接收程序,该流量发生器能够接收多种强度的TCP、UDP和多种应用的流量。
本发明的有益效果:
本发明在NFV网络中,转发服务链能够对NFV网络性能产生具有重要影响,在多核服务器上应用本优化NFV转发服务链性能的方法,能够显著提升NFV***的性能。此外,对于NFV网络中的其他服务链也能应用类似于本发明的思想来优化***性能。
本发明的其它特征和优点将在随后具体实施方式部分予以详细说明。
附图说明
通过结合附图对本发明示例性实施方式进行更详细的描述,本发明的上述以及其它目的、特征和优势将变得更加明显,其中,在本发明示例性实施方式中,相同的参考标号通常代表相同部件。
图1是转发服务链的结构示意图。
图2是实施例的具体部署示意图。
图3是分别采用SCBC算法与Linux默认算法时,***CPU资源利用率随着发送速率变化的曲线对比图。
图4是分别采用SCBC算法与Linux默认算法时,***丢包率随着发送速率变化的曲线对比图。
具体实施方式
下面将参照附图更详细地描述本发明的优选实施方式。虽然附图中显示了本发明的优选实施方式,然而应该理解,可以以各种形式实现本发明而不应被这里阐述的实施方式所限制。
本发明提供一种在多核服务器上优化NFV转发服务链性能的方法,该方法包括以下步骤:
S1、***初始化,在多核服务器上,将具有路由转发功能的若干个虚拟网络设备VNF串行连接,组成转发服务链SC,一个SC可以运行的一个核或多个核上,其中运行第k条转发服务链SCk中第i个虚拟网络设备VNFki需要耗费的核CPU资源为E(VNFki),一个核CPUj能够提供的资源为E(CPUj)(j=0,1,…,m),j为多核服务器核CPU的编号;m表示多核服务器核CPU的总数;每个核CPUj的初始载荷wj为0;
S2、从SC1开始,依次遍历链SCk中的每个VNF,若将VNFki分配至核CPUj上的总载荷小于核CPUj提供资源的α倍,即满足下述公式:
E(VNFki)+wj<α×E(CPUj)
则将该VNF加入该核对应的向量集合并且更新核CPUj的载荷wj的值;若不满足,则分配至另一个空闲的核上,即将VNFki加入到核CPUj+1对应的向量集合中;
S3、当所有VNF均被分配至合适的向量集合中后,对集合中的每个VNFki分别绑定至对应的核CPUj上,完成优化;
S4、对转发服务链以外的其他线程,按照Linux默认调度机制进行分配。
本发明中,承载NFV网络以及NFV转发服务链的是一台多核计算机服务器,该服务器运行Linux操作***和一种轻量级的虚拟化软件LXC。在LXC上运行特定的虚拟网络功能VNF就能成为具有特定网络功能的网络中间盒。通过zebra程序使LXC进入路由器配置模式,再通过Quagga将LXC配置成为虚拟路由器,多个网络中间盒可以形成一条转发服务链。
NFV网络是采用虚拟化技术构建的IP网络,它能够以较低成本迅速构建一个较大规模的真实可信的网络试验平台。该平台可以为研究深空网络、空天地一体网络的提供试验环境或者用于研究网络安全技术提供网络靶场等。当构建一个包含多条转发服务链的大规模NFV网络时,在一台多核服务器上采用本专利提出的SCBC算法优化方法来部署转发服务链时,就能使得该NFV网络具有更好的性能,因此SCBC算法是一种重要的优化手段。无需在服务器硬件、Linux操作***等进行任何优化的前提下,SCBC算法能够在NFV网络应用层面来提升NFV网络性能。
实施例
本实施例在一台计算机主机上搭建了NFV网络,所用主机型号为联想T460p,运行Ubuntu16.04操作***(Linux 4.8.0内核),8核CPU(型号为Intel(R)Core(TM)[email protected]),内存为16GB。
本实施例对运行在计算机服务器上的8条并行转发服务链L1、L2、…、L8进行了性能测试,每条转发服务链在发送端运行Iperf服务器端程序,接收端运行Iperf客户端程序,并从发送端向接收端发送流量。
为了测试SCBC算法的性能,要进行如下工作:1)从每条转发服务链的发送端向接收端发送100~600Mbps的流量,其中发送VNF为发送端,接收VNF为接收端;2)将整个拓扑按照SCBC算法进行部署,使用pstree命令查看所有容器进程的进程号,将每条转发服务链中的所有VNF的进程使用Linux的”taskset”命令绑定到某指定核上,如将转发服务链L1绑定至核CPU0上,L2绑定至核CPU1上,等等;3)在服务器上的命令行终端使用top命令,查看资源使用情况,记录占用的CPU资源。图3为CPU资源占用量随发送速率大小变化的曲线,其中一条L-core是采用SCBC算法优化的曲线,另一条Default是只采用Linux默认方法的曲线,显然在发送流量较大时的相同情况下,SCBC算法使***的性能更好。图4为在两种情况下,发送流量丢包率随发送速率大小变化的曲线,显然采用SCBC算法优化时的丢包率几乎为0,而只采用Linux默认方法的丢包率能够高达12%以上。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。
Claims (7)
1.一种在多核服务器上优化NFV转发服务链性能的方法,其特征在于,该方法包括以下步骤:
S1、***初始化,在多核服务器上,将具有路由转发功能的若干个虚拟网络设备VNF串行连接,组成转发服务链SC,一个SC可以运行的一个核或多个核上,其中运行第k条转发服务链SCk中第i个虚拟网络设备VNFki需要耗费的核CPU资源为E(VNFki),一个核CPUj能够提供的资源为E(CPUj)(j=0,1,…,m),j为多核服务器核CPU的编号;m表示多核服务器核CPU的总数;每个核CPUj的初始载荷wj为0;
S2、从SC1开始,依次遍历链SCk中的每个VNF,若将VNFki分配至核CPUj上的总载荷小于核CPUj提供资源的α倍,即满足下述公式:
E(VNFki)+wj<α×E(CPUj)
则将该VNF加入该核对应的向量集合并且更新核CPUj的载荷wj的值;若不满足,则分配至另一个空闲的核上,即将VNFki加入到核CPUj+1对应的向量集合中;
S3、当所有VNF均被分配至合适的向量集合中后,对集合中的每个VNFki分别绑定至对应的核CPUj上,完成优化。
2.根据权利要求1所述的在多核服务器上优化NFV转发服务链性能的方法,其特征是该方法还包括:S4、对转发服务链以外的其他线程,按照Linux默认调度机制进行分配。
3.根据权利要求1所述的在多核服务器上优化NFV转发服务链性能的方法,其特征是步骤S3中,采用Linux的taskset命令分别绑定VNFki至对应的核CPUj上。
4.根据权利要求1所述的在多核服务器上优化NFV转发服务链性能的方法,其特征是所述的0<α≤0.7。
5.根据权利要求1所述的在多核服务器上优化NFV转发服务链性能的方法,其特征是计算机服务器具有能够支持Linux操作***、虚拟化软件和各种网络协议运行的多核CPU硬件条件。
6.根据权利要求1所述的在多核服务器上优化NFV转发服务链性能的方法,其特征是;发送虚拟网络设备VNF包括LXC的虚拟主机以及流量发生器发送程序,该流量发生器能够发送多种强度的TCP、UDP和多种应用的流量。
7.根据权利要求1所述的在多核服务器上优化NFV转发服务链性能的方法,其特征是;接收虚拟网络设备VNF包括LXC的虚拟主机以及流量发生器接收程序,该流量发生器能够接收多种强度的TCP、UDP和多种应用的流量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811067916.3A CN109308210B (zh) | 2018-09-13 | 2018-09-13 | 一种在多核服务器上优化nfv转发服务链性能的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811067916.3A CN109308210B (zh) | 2018-09-13 | 2018-09-13 | 一种在多核服务器上优化nfv转发服务链性能的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109308210A true CN109308210A (zh) | 2019-02-05 |
CN109308210B CN109308210B (zh) | 2021-11-26 |
Family
ID=65224482
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811067916.3A Active CN109308210B (zh) | 2018-09-13 | 2018-09-13 | 一种在多核服务器上优化nfv转发服务链性能的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109308210B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110636137A (zh) * | 2019-10-14 | 2019-12-31 | 河海大学常州校区 | 一种海洋观监测网络中基于集群的nfv服务链优化方法 |
CN113691607A (zh) * | 2021-08-20 | 2021-11-23 | 绿盟科技集团股份有限公司 | 一种流量负载均衡控制方法、装置及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106254178A (zh) * | 2016-08-03 | 2016-12-21 | 陈鸣 | 一种基于nfv的网络试验平台nfvntp及其试验方法 |
US20170279668A1 (en) * | 2016-03-24 | 2017-09-28 | Ca, Inc. | Fault detection of service chains in a sdn/nfv network environment |
CN108353004A (zh) * | 2015-11-12 | 2018-07-31 | 是德科技新加坡(控股)私人有限公司 | 用于测试网络功能虚拟化(nfv)的方法、***和计算机可读介质 |
-
2018
- 2018-09-13 CN CN201811067916.3A patent/CN109308210B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108353004A (zh) * | 2015-11-12 | 2018-07-31 | 是德科技新加坡(控股)私人有限公司 | 用于测试网络功能虚拟化(nfv)的方法、***和计算机可读介质 |
US20170279668A1 (en) * | 2016-03-24 | 2017-09-28 | Ca, Inc. | Fault detection of service chains in a sdn/nfv network environment |
CN106254178A (zh) * | 2016-08-03 | 2016-12-21 | 陈鸣 | 一种基于nfv的网络试验平台nfvntp及其试验方法 |
Non-Patent Citations (1)
Title |
---|
葛虎: ""基于Linux容器实现NFV平台的研究"", 《电子技术》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110636137A (zh) * | 2019-10-14 | 2019-12-31 | 河海大学常州校区 | 一种海洋观监测网络中基于集群的nfv服务链优化方法 |
CN110636137B (zh) * | 2019-10-14 | 2022-06-17 | 河海大学常州校区 | 一种海洋观监测网络中基于集群的nfv服务链优化方法 |
CN113691607A (zh) * | 2021-08-20 | 2021-11-23 | 绿盟科技集团股份有限公司 | 一种流量负载均衡控制方法、装置及电子设备 |
CN113691607B (zh) * | 2021-08-20 | 2023-06-02 | 绿盟科技集团股份有限公司 | 一种流量负载均衡控制方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN109308210B (zh) | 2021-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhang et al. | Adaptive interference-aware VNF placement for service-customized 5G network slices | |
Al-Azez et al. | Energy efficient IoT virtualization framework with peer to peer networking and processing | |
CN104040996B (zh) | 用于通信网络的受云计算控制的网关 | |
CN107948324B (zh) | 请求传输***、方法、装置及存储介质 | |
Huang et al. | DeePar: A hybrid device-edge-cloud execution framework for mobile deep learning applications | |
CN110178342A (zh) | Sdn网络的可扩缩应用级别监视 | |
CN107769976B (zh) | 一种基于传输带宽优化的服务功能链映射方法 | |
CN106688277A (zh) | 在时隙化信道调频网络中的有效集中式资源和调度管理 | |
CN102394929A (zh) | 一种面向会话的云计算负载均衡***及其方法 | |
Chakraborty et al. | Sustainable task offloading decision using genetic algorithm in sensor mobile edge computing | |
CN108111335A (zh) | 一种调度和链接虚拟网络功能的方法及*** | |
CN106407154B (zh) | 一种片上光网络拓扑及数据传输方法 | |
CN103051716A (zh) | 一种面向网络的串口设备重定向的方法及*** | |
CN105915467A (zh) | 一种面向软件定义的数据中心网络流量均衡方法及装置 | |
CN103218266A (zh) | 虚拟机与外部机器通信时使用的方法、设备及虚拟机*** | |
CN109308210A (zh) | 一种在多核服务器上优化nfv转发服务链性能的方法 | |
CN105721612B (zh) | 数据传输方法和装置 | |
CN107332857A (zh) | 一种网络数据传输方法、装置、***和存储介质 | |
CN107070752A (zh) | 一种长连接容量的测试方法及测试*** | |
CN103677983A (zh) | 应用的调度方法及装置 | |
CN110505074A (zh) | 一种应用模块化集成方法和装置 | |
CN106302432B (zh) | 一种基于车联网的通信装置及控制方法 | |
CN105763617B (zh) | 一种负载均衡方法和*** | |
CN106657076A (zh) | 一种网络命名空间的tcp服务实现方法及装置 | |
CN110086676A (zh) | 一种分布式路由器的配置方法及相关设备 |
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 |