NFV架构如下图所示。

NFVI对应于数据平面,数据平面转发数据并提供用于运行网络服务的资源。

MANO对应于控制平面,该控制平面负责构建各种VNF之间的连接以及编排NFVI中的资源。

VNF层对应于应用平面,其承载可被视为应用的各种VNF。

(1)NFVI

NFVI包括物理基础设施、虚拟化层、虚拟化基础设施三个层次。

物理基础设施介绍了计算硬件、存储硬件以及网络硬件。

虚拟化层介绍了Linux KVM [71] , Citrix Xen [81] , Microsoft Hyper-V [82] and VMware ESXi [83]等虚拟化技术的虚拟管理程序,以及容器技术(Docker、解决云中多租户问题的FlowN)。VM和Container的区别。

虚拟基础设施相应地有虚拟计算、虚拟存储以及虚拟网络资源。虚拟网络:虚拟服务器(配有虚拟以太网适配器)和虚拟交换机之间互联组成。目前,开发了许多开源和商用虚拟交换机,如Linux Open vSwitch (OVS)、Linux OpenSwitch、OpenStack Distributed Virtual Router (DVR) [112]、Brocade Vyatta 5600 vRouter。与物理基础设施层中解释的硬件加速类似,还有许多基于软件的I / O加速器用于NFV的数据平面:Data Plane Development Kit (DPDK)、Netmap、Single Root I/O Virtualization (SR-IOV)、PF_RING ZC、PFQ。

(2)MANO

根据ETSI,NFV MANO的所有职责分为三个部分,即虚拟化基础架构管理器(VIM),NFV Orchestrator(NFVO)和VNF Manager(VNFM)。

其中,

VIM管理和控制NFVI资源(包括网络,计算和存储)。

NFVO主要负责编排NFVI资源并管理VNF的生命周期;

VNFM负责管理多个VNF实例(包括VNF实例化,更新,搜索,扩展和终止);

NFVO,VNFM和VIM的职责存在部分重叠。因此,它们通常被实现为完整的实体。

ZOOM补充解决了ETSI NFV MANO的安全问题。OpenMANO、Open Source MANO (OSM)都实现了NFV MANO框架。

此外还有非MANO架构的,如作为OpenStack子项目的Tacker、Cloudify、OPEN Orchestrator(定义全局协调器来协调SDN协调器和VNF协调器)、FROG(一种SDN,NFV和云集成编排架构,侧重于支持异构基础设施)等。其中Tacker的NFV目录提供了各种VNF和服务的属性描述,Tacker的VNFM提供了VNF的基本生命周期管理,NFVO为配置服务提供了VNF放置策略,此外VNFM可以根据不同的策略自动修复和扩展VNF,NFVO能够跨多个VIM和多个站点(即N-PoP)协调VNF。

由于对服务编排的广泛研究,越来越多的努力逐渐转移到NFVO组件,这导致MANO和NFVO之间的边界变得模糊。如Cloudify、OPEN Orchestrator、FROG 等。
除了上述重量级的协调者之外,还有许多轻量级的协调者。例如,M.T。贝克等人。提出了一个轻量级NFV编排框架,使研究人员能够在NFV中模拟他们的部署和编排算法[134]。由于其轻巧的特性,可以非常直接且快速地部署和测试新策略。[135]的主要卖点是服务可扩展性。

(3) VNF

Click -> ClickOS 提供了一个高性能和虚拟化的软件中间盒平台,在该平台上使用软件实现了各种中间盒(包括防火墙,运营商级NAT,负载均衡器等)。

除了ClickOS外,还有许多用于构建和管理VNF的开源和商用平台,这些平台通常作为整个NFV解决方案出现在4.4.2节中。

目前,VNF可以在两种环境中实现,一是VM环境,一个是Docker提供的容器环境。基于VM和容器,VNF实现了许多其他技术(VM 、Container、Container in VM、Clear Container、Unikernel)的发展,这些技术在下图中列出。

References:

[134] M.T. Beck, J.F. Botero, Scalable and coordinated allocation of service function chains, Elsevier Comput. Commun. 102 (1) (2017) 78–88, doi: 10.1016/j. comcom.2016.09.010 .


开源平台总结:

(1)openNetVM:openNetVM is a high performance NFV platform based on DPDK and Docker containers. openNetVM provides a flexible framework for deploying network functions and interconnecting them to build service chains.

(2)EmPOWER : EmPOWER is a SDN/NFV framework fo Enterprise WLANs. EmPOWER is an open source project providing a WiFi datapath implementation, a reference Controller and a Python-based SDK.

(3)OpenSDNCore :OpenSDNCore是一个软件环境,用于验证NFV和SDN概念,并在数据中心或基于COTS的基础架构之上实现网络功能。从架构的角度来看,它包括三个部分,都是软件实现的。 第一部分是开放式SDN协调器,它提供ETSI MANO对齐管理和编排功能,即管理VNF实例的安装和生命周期,以及编排VNF构成的网络服务。 最后两部分是基于openflow 1.4的OpenSDNCore交换机和控制器,OpenSDNCore控制器支持基于JSON的北界接口,而不是使用REST API。

(4)OpenStack Mitaka:OpenStack最初是一个云计算的开源项目,旨在提供一个简单但可扩展的统一云计算管理平台。NFV的主要特征首先在OpenStack的第10版(即Juno)中引入,并在稳定版本Mitaka(2017)中得到完全支持。 NFV被提议用大容量商业设备取代传统和专有硬件,以建立灵活的服务建设和提供生态系统。同时,OpenStack打算设计一种基于IaaS的服务模型,该模型允许通过通用硬件自动和快速地进行VNF部署和配置。此外,为了支持大规模VNF部署,OpenStack甚至为设备供应商和服务提供商开发必要的插件和API扩展提供了基础。

(5)HP OpenNFV:HP OpenNFV提供开放的NFV就绪参考架构,简化了从传统网络到基于NFV的网络的过渡。由网络基础设施和NFV管理器两个关键部分组成。前者是作为HP NFV系统实现的,而后者是作为HP NFV指令实现的。 虽然这款HP OpenNFV基于ETSI NFV架构,但它是惠普产品和第三方解决方案的开源软件。 此外,惠普与SDN深度合作,以促进NFV的发展和标准化。 HP的NFV架构声明了两个优点。 首先,它是分层的,以便客户可以逐步添加多个功能。 其次,客户有能力选择他们喜欢的工具和设备供应商,这反映了HP OpenNFV的开放性和灵活性。

(6)OPNFV : OPNFV 的独特定位是将不同SDO,开源社区和商业供应商的工作结合在一起,以提供事实上的标准开源NFV平台。 通过整合来自不同组织的这些作品,OPNFV构建了NFVI和VIM。 这两个组件以及API和其他辅助NFV元素构成了NFV的基本框架。

(6)CloudNFV :CloudNFV是由多家公司(例如,6wind,戴尔和CIMI)提出的整合项目。 CloudNFV利用SDN和云计算技术在多厂商网络环境中实施开放式NFV平台。此外,它还提供与传统服务的向后兼容性。 CloudNFV提供的架构解决方案包含三个部分:虚拟化,NFV编排和NFV管理。虚拟化部分抽象出网络服务,功能和资源。业务流程部分根据所需的VNF顺序和网络资源状态来完成VNF部署和服务编排。当流量通过这些VNF时提供服务,NFV管理控制所有与VNF相关的操作,包括启动,监控和销毁VNF实例等.CloudNFV将管理和编排系统视为应用程序,这与ETSI NFV MANO不同。

(7)华为NFV OpenLab:根据华为的报告,他们已经在NFV开放实验室建立了一个多供应商验证平台。 可变和经典的业务场景。 为了给网络运营商提供可用于NFV网络编程和设计决策的数据,华为打算通过不断的项目集成和实践来构建大数据分析平台。 基于此,华为可以与其他组织和网络运营商合作共同设计NFV解决方案(目前合作组包括VMware和Red Hat等)。

(8)Open Baton NFVO : Open Baton NFVO is an open source project providing a reference implementation of the NFVO based on the ETSI NFV MANO specification.

In order to execute the NFVO you need to have installed a JVM and RabbitMQ. Those components are typically installed as part of the bootstrap installation scripts provided.

In addition, you need to have a running and configured Virtualized Infrastructure Manager (VIM). Open Baton provides a plugin for getting started with OpenStack as initial VIM.

(9) SVNF: scalable vnf placement algorithm. 仿真实验

(10) CoordVNF : This is a framework that enables researchers to simulate deployment/orchestration algorithms in the context of NFV. It is quite straight forward to implement new strategies for the deployment of VNFs and to compare them to existing approaches (CoordVNF and SVNF). 仿真实验?

(11) Tacker : Tacker is an OpenStack based NFV Orchestrator service with built-in general purpose VNF Manager to deploy and operate Virtual Network Functions (VNFs) on an OpenStack based NFV Platform. It is based on ETSI MANO Architectural Framework and provides a fully functional stack to orchestrate VNFs end-to-end.

(12)OpenMANO:

  • openvim: reference implementation of an NFV VIM (Virtualised Infrastructure Manager). It interfaces with the compute nodes in the NFV Infrastructure and an openflow controller in order to provide computing and networking capabilities and to deploy virtual machines. It offers a northbound interface, based on REST (openvim API), where enhanced cloud services are offered including the creation, deletion and management of images, flavors, instances and networks. The implementation follows the recommendations in NFV-PER001.
  • openmano: reference implementation of an NFV-O (Network Functions Virtualisation Orchestrator). It interfaces with an NFV VIM through its API and offers a northbound interface, based on REST (openmano API), where NFV services are offered including the creation and deletion of VNF templates, VNF instances, network service templates and network service instances.
  • openmano-gui: web GUI to interact with openmano server, through its northbound API, in a friendly way.

实验平台的搭建:

1.NFVI:多台虚拟化机器(VM/Container)+DPDK(内核态->用户态,用于加速) ====openNetVM

2.MANO:

  2.1VIM:OpenStack(参考以上开源项目介绍)

  2.2NFVO + VNFM:我们的工作

3.VNF:具体的NF,ClickOS?

或者1-3直接参考OpenSDNCore


环境搭建参考:

1. Centos7上部署openstack mitaka配置详解(将疑难点都进行划分)

2. OpenStack云计算之路-Mitaka 版本

NFV实验平台的更多相关文章

  1. openstack(liberty):部署实验平台(二,简单版本软件安装 part2)

    继续前面的part1,将后续的compute以及network部分的安装过程记录完毕! 首先说说compute部分nova的安装. n1.准备工作.创建数据库,配置权限!(密码依旧是openstack ...

  2. openstack(liberty):部署实验平台(一,基础网络环境搭建)

    openstack项目的研究,到今天,算是要进入真实环境了,要部署实验平台了.不再用devstack了.也就是说,要独立controller,compute,storage和network了.要做这个 ...

  3. 在阿里云上搭建 Spark 实验平台

    在阿里云上搭建 Spark 实验平台 Hadoop2.7.3+Spark2.1.0 完全分布式环境 搭建全过程 [传统文化热爱者] 阿里云服务器搭建spark特别坑的地方 阿里云实现Hadoop+Sp ...

  4. 年轻的樵夫哟,你掉的是这个免费 8 核 4G 公网服务器,还是这个随时可用的 Docker 实验平台?

    小孩子才做选择,成年人全都要.那么我们现在就来看看如何获得一台免费的 8 核 4G 公网 Docker 实验平台服务器. Play With Docker 直接打开 https://labs.play ...

  5. TurtleBot 3 & 2i ROS开源实验平台

    TurtleBot 3 & 2i ROS开源实验平台,全球更受欢迎的ROS平台. TurtleBot是ROS标准平台机器人,在全球开发人员和学生中深受欢迎.其有3个版本: TurtleBot1 ...

  6. 201871010110-李华 实验三 结对项目—《D{0-1}KP 实例数据集算法实验平台》项目报告

    项目 内容 课程班级博客链接 班级博客 这个作业要求链接 作业要求 我的课程学习目标 (1)理解并掌握代码风格及设计规范:(2)通过任务3进行协作开发,尝试进行代码复审,在进行同伴复审的过程中体会结对 ...

  7. 201871030108-冯永萍 实验三 结对项目—《D{0-1}KP 实例数据集算法实验平台》项目报告

    实验三 软件工程结对项目 项目 内容 课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/2018CST 这个作业要求链接 https://www.cnblogs ...

  8. 201871030116-李小龙 实验三 结对项目—《D{0-1}KP 实例数据集算法实验平台》项目报告

    项目 内容 课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/2018CST 这个作业要求链接 https://www.cnblogs.com/nwnu-dai ...

  9. 201871010113-贾荣娟 实验三 结对项目—《D{0-1}KP 实例数据集算法实验平台》项目报告

    项目 内容 课程班级博客链接 18级卓越班 这个作业要求链接 实验三-软件工程结对项目 这个课程学习目标 掌握软件开发流程,提高自身能力 这个作业在哪些方面帮助我实现了学习目标 本次实验让我对软件工程 ...

随机推荐

  1. MySQL- Host 'xxx' is not allowed to connect to this MySQL server.

    mysql中有个系统数据库mysql,里面有张表user记录该实例的用户及其权限. 第一种方法 将其用户root的host改为%,即允许所有客户端连接. FLUSH PRIVILEGES;是将修改生效 ...

  2. Linux命令——getfacl、setfacl

    简介 ACL是Access Control List的缩写,传统的Linux权限只能针对一个用户.一个群组及非此群组的其他人设置权限而已,无法针对单一用户或个人来设计权限.ACL可以对权限进行更细致的 ...

  3. Linux系统 jboss/Tomcat服务器pdf文件乱码问题

    1.新搭建的环境,但是没有字符集,在windows上的电脑上复制了一份宋体, 字体C:\WINDOWS\FONTS\simsun.ttc(也就是宋体,大小为10M),把他重命名为 simsun.ttf ...

  4. Python包模块化调用方式详解

    Python包模块化调用方式详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一般来说,编程语言中,库.包.模块是同一种概念,是代码组织方式. Python中只有一种模块对象类型 ...

  5. ADAS 实车道路及场地测试服务

    概述         高级驾驶员辅助系统(ADAS)作为车辆主动安全的关键系统,已经被越来越多的车辆配置.ADAS系统与车辆动力.制动.转向系统有直接耦合,是车辆中可靠性要求很高的控制系统,因此针对A ...

  6. HDU4548美素数——筛选法与空间换时间

    对于数论的学习比较的碎片化,所以开了一篇随笔来记录一下学习中遇到的一些坑,主要通过题目来讲解 本题围绕:素数筛选法与空间换时间 HDU4548美素数 题目描述 小明对数的研究比较热爱,一谈到数,脑子里 ...

  7. 使用CefSharp在C#访问网站,支持x86和x64

    早已久仰CefSharp大名,今日才得以实践,我其实想用CefSharp来访问网站页面,然后抓取html源代码进行分析,如果使用自带的WebBrowser控件,可能会出现一些不兼容js的错误. Cef ...

  8. django--学习笔记 一

    django--学习笔记 一 简介 本次笔记来源于对django官方教程的学习总结,点击进入官方教程. 要点 1.django框架简单介绍: 2.如何创建项目,创建项目介绍: 3.如何在项目在创建应用 ...

  9. SQL操作Spark SQL--CatalogApiTest

    object CatalogApiTest { def main(args: Array[String]): Unit = { val spark = SparkSession .builder() ...

  10. C#笔记2 —常量

    基本上和c语言中的常量类似,但有区别 在const关键字的基础上,添加了readonly,readonly关键字在笔记中说明. 常量是固定值,程序执行期间不会改变.常量可以是任何基本数据类型,比如整数 ...