NFV实验平台
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配置详解(将疑难点都进行划分)
NFV实验平台的更多相关文章
- openstack(liberty):部署实验平台(二,简单版本软件安装 part2)
继续前面的part1,将后续的compute以及network部分的安装过程记录完毕! 首先说说compute部分nova的安装. n1.准备工作.创建数据库,配置权限!(密码依旧是openstack ...
- openstack(liberty):部署实验平台(一,基础网络环境搭建)
openstack项目的研究,到今天,算是要进入真实环境了,要部署实验平台了.不再用devstack了.也就是说,要独立controller,compute,storage和network了.要做这个 ...
- 在阿里云上搭建 Spark 实验平台
在阿里云上搭建 Spark 实验平台 Hadoop2.7.3+Spark2.1.0 完全分布式环境 搭建全过程 [传统文化热爱者] 阿里云服务器搭建spark特别坑的地方 阿里云实现Hadoop+Sp ...
- 年轻的樵夫哟,你掉的是这个免费 8 核 4G 公网服务器,还是这个随时可用的 Docker 实验平台?
小孩子才做选择,成年人全都要.那么我们现在就来看看如何获得一台免费的 8 核 4G 公网 Docker 实验平台服务器. Play With Docker 直接打开 https://labs.play ...
- TurtleBot 3 & 2i ROS开源实验平台
TurtleBot 3 & 2i ROS开源实验平台,全球更受欢迎的ROS平台. TurtleBot是ROS标准平台机器人,在全球开发人员和学生中深受欢迎.其有3个版本: TurtleBot1 ...
- 201871010110-李华 实验三 结对项目—《D{0-1}KP 实例数据集算法实验平台》项目报告
项目 内容 课程班级博客链接 班级博客 这个作业要求链接 作业要求 我的课程学习目标 (1)理解并掌握代码风格及设计规范:(2)通过任务3进行协作开发,尝试进行代码复审,在进行同伴复审的过程中体会结对 ...
- 201871030108-冯永萍 实验三 结对项目—《D{0-1}KP 实例数据集算法实验平台》项目报告
实验三 软件工程结对项目 项目 内容 课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/2018CST 这个作业要求链接 https://www.cnblogs ...
- 201871030116-李小龙 实验三 结对项目—《D{0-1}KP 实例数据集算法实验平台》项目报告
项目 内容 课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/2018CST 这个作业要求链接 https://www.cnblogs.com/nwnu-dai ...
- 201871010113-贾荣娟 实验三 结对项目—《D{0-1}KP 实例数据集算法实验平台》项目报告
项目 内容 课程班级博客链接 18级卓越班 这个作业要求链接 实验三-软件工程结对项目 这个课程学习目标 掌握软件开发流程,提高自身能力 这个作业在哪些方面帮助我实现了学习目标 本次实验让我对软件工程 ...
随机推荐
- Linux内核同步机制之completion
内核编程中常见的一种模式是,在当前线程之外初始化某个活动,然后等待该活动的结束.这个活动可能是,创建一个新的内核线程或者新的用户空间进程.对一个已有进程的某个请求,或者某种类型的硬件动作,等等.在这种 ...
- 计算地图上两点间的距离PHP类
计算地图上两点间的距离,使用的是谷歌地图 <?php class GeoHelper { /** * @param int $lat1 * @param int $lon1 * @param i ...
- MySQL MHA--在线主库切换(Online master switch)
在线主库切换(Online master switch)条件 1.所有节点正常运行,无论时原主还是新主或者其他从库 if ( $#dead_servers >= 0 ) { $log->e ...
- Load Balancing in gRPC
背景 基于每次调用的负载均衡 需要注意的是,gRPC的负载均衡发生在每次调用时,而不是每次连接时.换句话说,就算所有的请求来自于同一个客户,我们也希望可以将它们负载均衡到所有的服务器. 负载均衡的方法 ...
- idea中新增package总是嵌套的解决方法
在idea中创建package,为了方便会将com.xx.xx作为一个package,下面添加对应的子package.比如service,config等.但是当我创建是总是会嵌套在下面变成了com.x ...
- ELK日志分析系统搭建 windows
1 分别下载elk包 下载地址 https://www.elastic.co/cn/downloads 2 将这三个解压到同一个目录下,便于管理 3 elasticsearch不需要修改配置 默认即可 ...
- 动态规划——背包问题python实现(01背包、完全背包、多重背包)
目录 01背包问题 完全背包问题 多重背包问题 参考: 背包九讲--哔哩哔哩 背包九讲 01背包问题 01背包问题 描述: 有N件物品和一个容量为V的背包. 第i件物品的体积是vi,价值是wi. 求解 ...
- SpringBoot启动流程及其原理
Spring Boot.Spring MVC 和 Spring 有什么区别? 分别描述各自的特征: Spring 框架就像一个家族,有众多衍生产品例如 boot.security.jpa等等:但他们的 ...
- 基于springboot2.x集成缓存注解及设置过期时间
添加以下配置信息: /** * 基于注解添加缓存 */ @Configuration @EnableCaching public class CacheConfig extends CachingCo ...
- Java动态代理演变之路
1.什么是代理? 代理,英文成文Proxy.意思是你不用去做,别人代替你去处理.比如有人想找明星周董去唱歌,他需要做签约.讨论.唱歌和付款等等过程,但真正周董擅长的事情是唱歌,其他的事情可以交代给他的 ...