NFV基础技术_零基础

NFV基础技术_零基础网络虚拟化技术,即用软件来安装、控制、操作那些运行在通用硬件上的网络功能,融合了云和虚拟化技术,使得新一代网络业务拥有更好的伸缩性和自动化能力。这些新涌现的技术经常被不加区分地称为NFV(网络功能虚拟化)和SDN(软件定义网络),虽然二者有逐渐融合之势,但二者的初衷和架构并不相同:SDN起源于园区网,发展于数据中心,目的是将控制平面和转发平面分离,通过集中化的控制平面能够灵活定义网络行为。N…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

在NFV之前,NF(Network Function)是一直存在的,网络中,NF可以看成一个个独立的网元,实现着各自的功能。NF以固定的方式连接起来,统一提供的网络功能和服务。V(Virtualization)是虚拟化。NFV字面上理解就是网络功能虚拟化,即用软件来安装、控制、操作那些运行在通用硬件上的网络功能,融合了云和虚拟化技术,使得新一代网络业务拥有更好的伸缩性和自动化能力。这些新涌现的技术经常被不加区分地称为NFV(网络功能虚拟化)和SDN(软件定义网络),虽然二者有逐渐融合之势,但二者的初衷和架构并不相同:

  • SDN起源于园区网,发展于数据中心,目的是将控制平面和转发平面分离,通过集中化的控制平面能够灵活定义网络行为。
  • NFV则由运营商联盟提出,为了加速部署新的网络服务,运营商倾向于放弃笨重昂贵的专用网络设备,转而使用标准的IT虚拟化技术来拆分网络功能模块,如DNS、NAT、Firewall等。于是一些运营商联合成立了欧洲通信标准协会ETSI(European Telecommunications Standards Institute),他的一个工作组(ETSI ISG NFV)负责开发制定电信网络的虚拟化架构,如NFV MANO。

首先,NFV和SDN彼此之间没有必然联系。NFV即使脱离SDN,也能实现,在传统的网络架构中,将PNF(Physical Network Function)替换成虚拟化的NF,再辅以传统的NF连接方式,也能实现NFV。而SDN更是可以脱离NFV实现。

但是,另一方面,NFV和SDN如果相互结合,又可以是互补的存在。借助SDN,不仅传统的NF连接方式都能支持,SDN还能提供更高效的NFV实现方式。毕竟SDN提供的管理层和转发层的分离,使得网络变得极其灵活。反过来,NFV也能够提供SDN的运行环境,帮助SDN的实现。举个例子,某公有云基于SDN提供了IaaS服务,某客户希望在该公有云上搭建自己的Web Server,这个时候,客户可以借助第三方的镜像来部署Firewall和Load Balancer实例。在这个场景下,第三方提供的镜像作为NFV的一部分,完善了SDN的功能。SDN和NFV的关系可以描述为下图,图中提到开放是为了技术更好的发展,与技术本身无关。
在这里插入图片描述

High-Level NFV Framework

从大的颗粒看,NFV的架构可以分为三个部分,如下图所示:
在这里插入图片描述

1、VNF(Virtualized Network Function)

VNF指的是具体的虚拟网络功能,提供某种网络服务,是软件,利用NFVI提供的基础设施部署在虚拟机、容器或者bare-metal物理机中。VNF运行在NFVI之上。从概念上,VNF是NF的虚拟化实现,V是Virtualized的意思。除了这点之外,还可以从三个角度来理解VNF:

  • 从虚拟化的角度来说,VNF可以是一个VM(Virtual Machine),当然容器作为新生力量,它也可能存在,这里就不多说了。
  • 从设备提供商(vendor)的角度来说,VNF是一个或者多个内部相连的VM和描述它们的模板。
  • 从操作人员(operator)的角度来说,VNF是一个vendor提供的软件包。

前面提到了NF连接起来统一提供Network Service,描述NF连接关系的模板称为NF-FG (Forwarding Graph)这个就是之前介绍过的SFC。在NFV框架下,又称之为VNF-FG。VNF-FG提供VNF之间的逻辑连接,对应于传统网络架构中的用线缆连接NF。在一个黑盒子里,VNF-FG和VNF与NF-FG和NF提供的接口和服务是一样的。相对于VNF,传统的基于硬件的网元可以称为PNF。VNF和PNF能够单独或者混合组网,形成所谓的service chain,提供特定场景下所需的E2E网络服务。下图显示了在两个物理网元(PNF)之间通过VNF-FG建立的E2E(End to End)网络服务。
在这里插入图片描述
带有嵌套的VNF转发表:
在这里插入图片描述从逻辑上看,网络流量从一端的接入点流入,经过VNF-1,VNF-2(A/B/C),再经过一个PNF-3,最后从另一端的接入点流出。但是从物理层面看,外面的流量是从一端的PoP(Point of Presence)进入,经过几个PoP上物理设备的转发,最终从另一个接入点流出的。

VNF的解构和聚合

  • VNF解构:将一个high level的VNF拆分成一些low level的VNF,这样能够提供更灵活的应用,更快的响应,并支持更大的规模。
  • VNF聚合:将一些low level的VNF组合成一个整体的high level的VNF。这样能减少管理的难度,并适当降低VNF-FG的复杂性。

由于通过虚拟化和软件实现了NF,VNF的组合连接方式可以非常灵活,具体要取决于VNF provider的实现和Network Service Provider的描述。

2、NFVI(NFV Infrastructure)

NFVI包含包含了虚拟化层(hypervisor或者容器管理系统,如Docker,以及vSwitch)以及物理资源,如COTS服务器、交换机、存储设备等。NFVI可以跨越若干个物理位置进行部署,此时,为这些物理站点提供数据连接的网络也称为NFVI的一部分。为了兼容基于现有的网络架构,NFVI的网络接入点要能够跟其它物理网络互联互通。NFV支持多vendor,NFVI是一种通用的虚拟化层,所有虚拟资源应该是在一个统一共享的资源池中,不应该受制或者特殊对待某些运行其上的VNF。

前面说过,从虚拟化的角度来看,VNF可以是VM。NFVI支持VNF的运行,其一部分工作就是提供VNF所需的VM。既然这样,那NFVI和Cloud有什么区别联系?

  • Cloud和NFV都依赖物理的计算网络存储资源,它们都把这些资源作为一个资源池来使用。
  • Cloud的服务提供形式通常有IaaS,PaaS,SaaS。而NFVI需要提供IaaS的运行时环境,这样才具备提供VM的能力。
  • 在Cloud提供的形式中,还有一个NaaS(Network as a Service),它提供了一个动态的,按需的网络连接服务。NFVI需要提供NaaS的动态网络连接能力,以管理VNF之间的连接。因此Cloud中的IaaS和NaaS可以看成是NFVI所需要提供部分服务内容。
    在这里插入图片描述

NFVI可以理解成一个定制化的Cloud,将物理资源(计算存储网络)抽象和虚拟化,以提供上层运行的VNF使用。NFVI的物理资源在NFVI-PoPs(NFVI Point of Presence)。在一个NFV架构中,NFVI-PoPs不局限于一个位置。例如,Service Provider2可以在Service Provider1提供的NFVI之上运行自己的VNF(SP1和SP2之间进行相应的协商),如下图所示:
在这里插入图片描述

3、NFV MANO(Management and Orchestration)

将NF从硬件资源抽象解耦成软件实现的VNF,必然会带来管理上的挑战。这包括了,逻辑上E2E的网络服务在NFV network中的映射;将VNF部署在合适的位置以实现期望的网络服务;为VNF分配和扩展硬件资源;检查VNF状态,并恢复VNF的错误。其实在传统网络架构中,这些都是operator管理PNF的工作,现在可以通过软件来实现,也可以说是增加了通用性,降低了维护成本。

MANO提供了NFV的整体管理和编排,向上接入OSS/BSS,由NFVO(NFV Orchestrator)、VNFM(VNF Manager)以及VIM(Virtualised infrastructure manager)虚拟化基础设施管理器三者共同组成。

NFV MANO管理前面描述的VNF和NFVI的系统,这包括:

  • NFVI中支持虚拟化的硬件和软件
  • VNF的编排和声明周期管理

NFV Reference Architectural Framework

在前面的基础上,再进一步详细描述ETSI NFV标准架构:
在这里插入图片描述

先看组成部分:

  • VNF:前面已经描述过了,这里就不再叙述。
  • EMS(Element Management System):对一个多着多个VNF进行管理。注意NFVI只是提供VNF的运行环境,对VNF的管理还需要EMS参与。
  • VNF Manager(s):作为NFV MANO的一部分,负责VNF的生命周期管理,如上线、下线,进行状态监控、image onboard。VNFM基于VNFD(VNF描述)来管理VNF。VNF Manager可以存在多个。
  • NFVI:前面已经描述过。
  • VIM(Virtualized Infrastructure Manager): 作为NFV MANO的一部分,管理支持虚拟化的硬件软件资源。包括权限管理,增加/回收VNF的资源,分析NFVI的故障,收集NFVI的信息等。VIM可以存在多个。NFVI被VIM管理,VIM控制着VNF的虚拟资源分配,如虚拟计算,虚拟存储和虚拟网络。Openstack和VMWare都可以作为VIM,前者是开源的,后者是商业的。
  • NFV Orchestrator: NFVO用以管理NS(Network Service,网络业务)生命周期,并协调NS生命周期的管理、协调VNF生命周期的管理(需要得到VNF管理器VNFM的支持)、协调NFVI各类资源的管理(需要得到虚拟化基础设施管理器VIM的支持),以此确保所需各类资源与连接的优化配置。onboard新的网络业务,VNF转发表,VNF package。 NFVO基于NSD(网络服务描述)运行,NSD中包含Service chain,NFV以及perfomance goal等。
  • OSS/BSS(Operation Support Systems and Business Support Systems): Operator原有的管理系统。
  • Service,VNF and Infrastructure Description: 为NFV MANO提供数据存储管理的功能,数据包括VNF deployment template,VNF-FG,service-related information和NFVI数据模型。

再来看看各个组成部分的连接关系。

  • Virtualization Layer – Hardware Resources (Vi-Ha): 连接 virtualization 层和硬件资源。为VNF创造一个不依赖于硬件资源的运行环境。
  • VNF – NFV Infrastructure (Vn-Nf) :指的是由NFVI提供的供VNF运行的环境。
  • NFV Orchestrator – VNF Manager (Or-Vnfm):将配置信息发给VNF manager,进一步由VNF manager控制VNF,使得VNF在VNF-FG中工作。同时收集VNF的信息,以供Network Service声明周期管理。
  • Virtualized Infrastructure Manager – VNF Manager (Vi-Vnfm) :由于VNF Manager肩负着VNF的声明周期管理,这个连接是VNF Manager控制VNF资源的接口。同时也收集虚拟化资源配置和状态信息,供VNF使用。
  • NFV Orchestrator -Virtualised Infrastructure Manager (Or-Vi) :NFV MANO不是简单的分层的关系,Orchestrator可以直接连接到VIM。这个连接也是资源的分配和保留,收集虚拟化资源的配置和状态信息。
  • NFVI – Virtualised Infrastructure Manager (Nf-Vi):具体的虚拟资源分配,同时收集NFVI的虚拟化资源的配置和状态信息。
  • OSS/BSS – NFV Management and Orchestration (Os-Ma) : OSS/BSS的接入点。
  • VNF/EM – VNF Manager (Ve-Vnfm) :VNF Manager 管理VNF的接口,包括了VNF的生命周期管理,配置管理,收集VNF的状态信息,以供Network Service生命周期管理使用。

原文链接:
https://blog.csdn.net/napolunyishi/article/details/60876466
https://zhuanlan.zhihu.com/p/26259440

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/197784.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • Source Insight 3.X 插件支持utf8,完美解决中国乱码,连接到美丽的轮廓

    Source Insight 3.X 插件支持utf8,完美解决中国乱码,连接到美丽的轮廓

  • java list转set用法

    java list转set用法参考:https://blog.csdn.net/kye055947/article/details/80561633之前一直被这两list转set,set转list所烦恼,今天整理了下两者之间怎么转的初始化listList<Integer>list=newArrayList<>();list.add(11);list.add(22);list.add(33);方法一(直接放HashSet里面)Set<Integer>lis

  • IntelliJ IDEA 社区版使用指南

    IDEA的专业版商用是需要付费的,不建议大家在工作中使用破解的软件。大家完全可以使用社区版,最棒的就是大家都可以贡献插件,本文从性能调优和安装插件两个方面来阐述社区版在使用过程中需要如何操作。 0.写在前…

  • mybatis 面试题

    mybatis 面试题1.Mybatis比IBatis比较大的几个改进是什么a.有接口绑定,包括注解绑定sql和xml绑定Sql,b.动态sql由原来的节点配置变成OGNL表达式,c.在一对一,一对多的时候引进了association,在一对多的时候引入了collection节点,不过都是在resultMap里面配置2.什么是MyBatis

  • 银行家算法详解(C语言)

    银行家算法详解(C语言)概述银行家算法是荷兰学者Dijkstra为银行系统设计的,以确保银行在发放现金贷款时,不会发生不能满足所有客户需要的情况。后来该算法被用在操作系统中,用于避免死锁核心思想:在进程提出资源申请时,先预判此分配是否会导致系统进入不安全状态。如果会进入不安全状态,就暂时不答应这次请求,让该进程先阻塞等待。过程演示图解假定有五个进程{P0,P1,P2,P3,P4}和三类资源{A,B,C},各种资源的数量分别为10、5、7。在T0时刻的资源分配情况如下T0时刻的安全性P1发出请求向量Request1(1,

  • Maven环境配置及IntelliJ IDEA中的Maven部署

    Maven环境配置及IntelliJ IDEA中的Maven部署小编简介

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号