Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >NFV概述_NFV技术

NFV概述_NFV技术

作者头像
全栈程序员站长
发布于 2022-09-30 02:52:54
发布于 2022-09-30 02:52:54
2.6K0
举报

大家好,又见面了,我是你们的朋友全栈君。

目录

1、NFV基本概念

2、NFV架构

2.1 NFV开放接口

2.2 NFV企业网解决方案

3、NFV与SDN的关系


NFV(网络功能虚拟化)是指利用虚拟化技术在标准化的通用IT设备(X86服务器,存储和交换设备)上实现各种网络功能。NFV的目标是取代通信网络中私有、专用和封闭的网元,实现统一通用硬件平台+业务逻辑软件的开放架构。NFV与SDN结合使用将对未来通信网络的发展带来重大影响,同时也带来了新的问题。

  • 网络运营商的网络通常是由大规模并且迅速增长的多种多样的硬件设备组成。开发一个新的网络业务经常需要新类型的设备,而为这些盒子需找空间、提供电源变得越来越困难;同时还伴随着能源成本的增加、投资额的挑战,基于硬件设备的复杂度提升,也增加了对设计、集成、运营所需要的各种稀有技能的要求。
  • 更严重的问题是,基于硬件的设备很快就到了生命周期,这需要更多的“设计-集成-部署”循环,但收益甚少。糟糕的是,硬件生命周期变得越来越短而业务创新则在不断加速,所以这抑制了新增值业务的部署,并且限制了不断增长的网络为中心领域的创新。
  • 网络虚拟化通过借用IT的虚拟化技术,许多类型的网络设备类型可以合并入工业界标准中,如servers、switches和storage,可以部署在数据中心、网络节点或是用户家里。网络虚拟化适用于固定、移动网络中任何数据面的分组处理和控制面功能。

1、NFV基本概念

NFV即网络功能虚拟化(Network Functions Virtualization),是一种通过IT虚拟化技术将网络节点功能虚拟为软件模块的网络架构,这些软件模块可以按照业务流连接起来,共同为企业提供通信服务。

NFV将许多类型的网络设备(如service、storage、switches等)构建为一个数据中心网络,通过借用 IT的虚拟化技术虚拟形成VM(虚拟机),然后将传统的CT业务部署到VM上。在NFV出现之前设备的专业性很突出,具体功能都有专门的设备实现,而之后设备的控制平面和具体的设备分离,不同设备的控制平面基于虚拟机,虚拟机基于云操作系统,这样当企业需要部署新业务时只需要在开放的虚拟机操作平台上创建相应的虚拟机,然后在虚拟机上安装相应功能的软件包即可。这种方式我们就叫做网络功能虚拟化。

NFV优点:

  • 通过设备合并、借用IT的规模化经济,减小设备成本、能源开销。
  • 缩短网络运营的业务创新周期,提升投放市场的速度,使运营商极大的减少网络成熟周期。
  • 网络设备可以多版本、多租户共存,且单一平台为不同的应用、用户、租户提供服务,允许运营商跨服务和跨不同客户群共享资源。
  • 基于地理位置、用户引入精准服务,同时可以根据需要对业务进行快速扩张/收缩。

存在技术难点:

  • 虚拟网络配置运行在不同的硬件厂商、不同的Hypervisor上,如何获取更高的性能?软件虚拟化必定没有专业设备的性能好。
  • 基于网络平台的硬件同时允许迁移到虚拟化的网络平台上;两者并能共存,重用运营商当前的OSS/BSS。
  • 管理和组织诸多虚拟网络装置(尤其是管理系统),同时避免安全攻击和错误配置。
  • 同时保证一定级别的硬件、软件可靠性。
  • 不同运营商的虚拟装置(VA)集成。网络运营商需要能“混合和匹配”不同厂家的硬件、不同厂家的Hypervisor、不同厂家的虚拟装置(VA),而没有巨大的集成成本、避免与厂家绑定。

2、NFV架构

NFV本质是重新定义网络设备架构。在NFV架构中,底层为具体物理设备,如服务器,存储设备,网络设备。计算虚拟化即虚拟机,在一台服务器上创建多个虚拟系统。存储虚拟化,即多个存储设备虚拟化为一台逻辑上的存储设备。网络虚拟化,即网络设备的控制平面与底层硬件分离,将设备的控制平面安装在服务器虚拟机上。在虚拟化的设备层面上可以安装各种服务软件。

2.1 NFV开放接口

  • NFVI:提供VNF的运行环境,包括所需的硬件及软件。硬件包括计算、网络、存储资源;软件主要包括Hypervisor、网络控制器、存储管理器等工具,NFVI将物理资源虚拟化为虚拟资源,供VNF使用。
  • VNF:包括VNF和EMS,VNF网络功能,EMS为单元管理系统,对VNF的功能进行配置和管理。一般情况下,EMS和VNF是一一对应的。
  • VIM:NFVI管理模块,通常运行于对应的基础设施站点中,主要功能包括:资源的发现、虚拟资源的管理分配、故障处理等,为VNF运行提供资源支持。
  • VNFM:VNF管理模块,主要对VNF的生命周期(实例化、配置、关闭等)进行控制,一般情况下与VNF一一对应。
  • NFVO:NS生命周期的管理模块,同时负责协调NS、组成NS的VNFs以及承载各VNF的虚拟资源的控制和管理。
  • OSS/BSS:服务提供商的管理功能,不属于NFV框架内的功能组件,但NFVO需要提供对OSS/BSS的接口。

2.2 NFV企业网解决方案

  • 在vAR的场景里,将AR路由器的高级功能,比如防火墙,VOIP,NAT等虚拟化到server上,server的物理位置可以在运营商的机房。
  • vAR解决方案的目的就是简化CPE的功能特性,集中管理高级特性等。在实际项目场景中,一个运营商的一个VIP的客户的网络可能CPE设备就有上千台,分散在不同的branches,虚拟化后的便捷性显而易见。

3、NFV与SDN的关系

NFV与SDN的关系

NFV不依赖与SDN,但是SDN中控制和数据转发的分离可以改善NFV网络的性能。SDN也可以通过使用硬件作为SDN的控制器和服务交换机以虚拟化形式实现。结论:在移动网络,NFV是网络演进的主要架构。而在一些特定的场景,将引入SDN。NFV的目的就是用来代替目前的专用设备,如防火墙、网关等,它不关注流量的走向,而SDN是将控制平面分离出来,是利用虚拟化技术来优化目前的网络架构。

类型

SDN

NFV

核心思想

转发与控制分离,控制面集中,网络课变成话

将网络功能从原来的专用设备转移到通用设备上

针对场景

校园网、数据中心/云

运营商网络

针对设备

商用服务器和交换机

专用服务器和交换机

初始应用

云资源调度和网络

路由器、防火墙、网关、CND、广域网加速器等。

通用协议

Openflow

尚没有

标准组织

ONF组织

ETSI NFV工作组

  • NFV是具体设备的虚拟化,将设备控制平面运行在服务器上,这样设备是开放的兼容的。
  • SDN是一种全新的网络架构,SDN思想是取消设备的控制平面,由控制器同一计算,下发流表。
  • NFV和SDN是高度互补关系,但并不互相依赖。网络功能可以在没有SDN的情况下进行虚拟化和部署。然而这两个方案和理念结合使用可以产生潜在的、更大的价值。
  • NFV的目标是可以不用SDN机制,仅通过当前的数据中心技术去实现。但从方法上有赖于SDN提议的控制和数据转发平面的分离,可以增强性能、简化与已存在设备的兼容性、基础操作和维护流程。
  • NFV可以通过提供给SDN软件运行的基础设施的方式来支持SDN。而且,NFV和SDN都在利用基础的服务器、交换机去达成目标。

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年9月9日 下,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Android 四大组件学习之Activity三
上一节学习了通过Intent去启动另外一个Activity。 本节学习通过Intent传值。
DragonKingZhu
2022/05/08
2920
Android 四大组件学习之Activity三
Activity实现界面间传值和数据回传案例
张哥编程
2024/12/13
1810
Activity实现界面间传值和数据回传案例
Android 四大组件学习之Activity二
首先: 先创建二个Activity, 我就用上节课的MainActivity和SecondActivity
DragonKingZhu
2022/05/08
1770
Android 四大组件学习之Activity二
利用startActivityForResult返回数据到前一个Activity(附源码+解析)
在Android里面,从一个Activity跳转到另一个Activity、再返回,前一个Activity默认是能够保存数据和状态的。但这次我想通过利用startActivityForResult达到相同的目的,虽然看起来变复杂了,但可以探索下startActivityForResult背后的原理和使用注意事项。
netkiller old
2021/02/12
2.1K0
利用startActivityForResult返回数据到前一个Activity(附源码+解析)
StartActivityForResult的用法「建议收藏」
当一个OneActivity跳转到TwoActivity时,TwoActivity关闭时要把数据传回到OneActivity,这个时候就得用到StartActivityForResult。
全栈程序员站长
2022/09/18
3780
StartActivityForResult的用法「建议收藏」
3-AI--Activity间的数据传递
零、前言 打开FromActivity,通过按钮以返回结果方式打开ToActivity,同时在intent中加入数据,在ToActivity的onCreate方法中使用数据填充到TextView上。
张风捷特烈
2018/09/26
5050
Activity间中使用Intent传值
主页面用来输入一个值传入第二个页面显示,关闭第二个页面返回一个值 主页布局: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:
欢醉
2018/01/22
6600
[android] 开启新的activity获取他的返回值
应用场景:打开一个新的activity,在这个activity上获取数据,返回给打开它的界面
唯一Chat
2019/09/10
1.2K0
[android] 开启新的activity获取他的返回值
手把手教你写《雷神》游戏(二)
构造函数里面默认menubg是正在播放的。 然后设置ProgressBar,TextView为隐藏 然后设置几个button的click事件 组后设置默认的设置。通过sharedPreferences
提莫队长
2019/02/21
3680
Android系列之Activity的传值和回传值
在Android中,如果我们要通过一个Activity来启动另一个Activity,可以使用 startActivity(Intent intent)方法来传入一个Intent对象,这个Intent对象我们可以精确的指定我们需要跳转的Activity上,或者通过Intent对象来 指定我们要完成的一个action操作。
SmileNicky
2022/05/10
2.1K0
android开发_Intent_requestCode_resultCode页面之间的跳转
新建项目: 项目结构: 运行效果: 回到MainActivity类 代码部分: main.xml 1 <?xml version="1.0" encoding="utf-8"?> 2 <Linea
Hongten
2018/09/13
7420
android开发_Intent_requestCode_resultCode页面之间的跳转
使用 Intent 启动 Activity和Activity之间的数据传递
在Android 程序之中,Activity 对象时和用户交互的唯一手段,几乎每个 Android 项目程序都有多个 Activity。因此,灵活的在屏幕上切换 Activity 尤为重要。下面让我们一起来看一下如何用 Intent 来启动 Activity 对象吧
指点
2019/01/18
2.4K0
使用 Intent 启动 Activity和Activity之间的数据传递
深入挖掘APP克隆实验
0×00前言 在上一篇文章《WebView域控不严格读取内部私有文件实验》中,对webview跨域访问进行了简单的实验,后续决定深入挖掘一下APP克隆,之前文章中讲过的这里也将不再赘述。 0×01实验
FB客服
2018/02/23
1K0
深入挖掘APP克隆实验
android使用Activity
第一个例子,显示网址 首先创建工程 按照提示填入 我使用的是2.3版本,所以Min SDK Version填10 修改/res/layout/下main.xml文件 加入按钮 对应的程序文件如下:
cloudskyme
2018/03/20
1.1K0
android使用Activity
Activity数据传递
在Android开发中,经常要在Activity之间传递数据。前面也学习了Activity和Intent相关基础,接下来一起来学习Activity的数据传递。 一、简介 通过前面的学习知道,Intent可以用来开启Activity,同样它也可以用来在Activity之间传递数据。Intent提供了多个重载的方法来携带额外的数据,如下所示。 putExtra(String name, xxx value):向 Intent 中按 key-value 对的形式存入数据。 getXxxExtra
分享达人秀
2018/02/05
1.2K0
Activity数据传递
android学习笔记----隐式意图和显式意图
显式意图:显式意图明确指明了启动活动的上下文和想要启动的目标活动,显式意图明确指定了Intent应该传递给哪个组件。 隐式意图:没有明确指定组件名的Intent为隐式意图。 Android系统会根据隐式意图中设置的动作(action)、类别(category)、数据(URI和数据类型)找到最合适的组件来处理这个意图。
砖业洋__
2023/05/06
1.5K0
android学习笔记----隐式意图和显式意图
一个给蓝牙模块升级的Android应用小工具
本文为呱牛笔记原创文章,转载无需和我联系,但请注明来自呱牛笔记 ,it3q.com
呱牛笔记
2023/11/28
4210
一个给蓝牙模块升级的Android应用小工具
Activity中启动和关闭其他Activity
上一期我们学习了Activity的创建和配置,当时留了一个悬念,如何才能在默认启动的Activity中打开其他新建的Activity呢?那么本期一起来学习如何启动和关闭Activity。 一、概述 经过前面内容的学习,知道一个Android应用通常都会包含多个Activity,但只有一个Activity 会作为程序的入口——当该Android应用运行时将会自动启动并执行该Activity。至于应用中的其他Activity,通常都由入口 Activity启动,或由入口 Activity启动的
分享达人秀
2018/02/05
4.5K0
Activity中启动和关闭其他Activity
相关推荐
Android 四大组件学习之Activity三
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档