网络功能虚拟化(NFV)从PNF、VNF再到CNF的演进

2022-08-18 21:17:30 浏览数 (1)

关于作者

作者简介:张帅,公众号:Flowlet,WeChat:yorkszhang

云计算早已深入人心,网络云化也不必多说。

网络功能虚拟化(NFV),在多年前就开始流行,通过创建虚拟网络功能(VNF)的方法,以取代基于硬件或基于设备的网络服务,例如负载平衡、网关和防火墙。

网络功能(Network Function)经历了从物理网络功能(Physical NF)、虚拟网络功能(Virtual NF)再到云原生网络功能(Cloud Native NF)的演进过程。

本文主要从以下几点来阐述网络功能的演进过程:

1、什么是PNF(Physical Network Function)?

2、什么是VNF(Virtual Network Function)?

3、什么是云原生(Cloud Native)?

4、什么是CNF(Cloud Native Network Functions)?

5、云原生网络功能(CNF)的应用场景

1、什么是PNF?

物理网络功能 (PNF) 是支持网络功能的物理设备。PNF通常由网络设备厂商(Cisco、华为、H3C等)通过专用硬件实体提供软件功能。部署在网络中的PNF可能包括 CPE 路由器、VPN 网关和防火墙设备。

物理网络功能 (PNF)直接在物理服务器上运行应用程序,这是最传统的运行应用程序方式。

PNF优点:

  • 单个应用程序可以访问整台服务器的计算、存储和内存资源。

PNF缺点:

  • 无法对服务器进行切片/分区以运行更多应用程序/VNF。
  • 网络功能与设备厂商深度绑定,成本过高。
  • 传统设备厂商网络功能为私有操作系统,配置方式不统一、难维护。
  • 网络功能处理能力不能随网络负载的增加而弹性增加、扩容难。
  • 云场景对于新业务支持需要反馈设备厂商进行开发、开发周期长。

2、什么是VNF?

虚拟网络功能 (VNF) 是在虚拟环境中运行的网络功能。

如图所示Firewall、VPN Gateway 两台PNF,需要使用两台虚拟机来运行此 VNF。此外,虚拟机需要一个管理程序(Hypervisor)来将物理服务器分割成多个逻辑服务器(VM)。虚拟机还需要在宿主机之上为每台虚拟机运行Guest OS操作系统,这对服务器来说是一个额外的负担。

VNF优势:

  • 将网络功能与专用硬件分离,从而节省潜在的资本支出和运营支出。
  • 允许运营商从一组互连的 VNF 构建和部署面向客户的网络服务链。
  • 通过实时监控网络负载,弹性创建VNF自动实现网络功能的动态扩容。

VNF挑战:

  • 启动时间长,分钟级。虽然已经比物理机好太多。
  • 虚拟机管理程序(Hypervisor)以及Guest OS造成的开销。
  • 实现为代码单体。所有开发、测试、维护、部署和故障排除都必须将 VNF 视为单个原子单元。

NFV将软硬件一体的传统专用网络设备解耦为软件(VNF)和通用硬件,网络功能软件不再受专用硬件限制,可灵活部署于通用硬件之上,从而让运营商通过软件升级即可推出新功能和新服务。

脱离了专用硬件的VNF是大颗粒的电信软件包,非常庞大、复杂,动辄涉及数百万行软件代码,这意味着从软件开发到发布、测试整个过程工作量巨大,估计要耗费一年的时间,无法敏捷响应快速变化的云业务与5G业务需求。

怎么办?那就基于云原生的设计原则,将大颗粒的VNF进一步分解为多个小颗粒的微服务,比如会话管理微服务、数据库管理微服务、接口管理微服务等。

微服务不仅颗粒小,且具有独立的生命周期管理,可以实现更细粒度的软件开发、发布、测试和升级,这就提升了运营敏捷性,可加速创新和新业务上线,适应瞬息万变的市场业务变化。

3、什么是云原生

Cloud Native定义了一种在虚拟云环境中开发和运行应用程序的新方法。

云原生原则包括以下内容:

  • 应用程序被“分割”成更小的单元,称为微服务。一组更小的、相互连接的微服务取代了单个应用程序。
  • 容器容纳微服务并提供运行时环境。容器无需虚拟机开销,而是打包应用程序代码、二进制文件和依赖项。容器之间共享同一个Guest OS或Host OS系统/内核。
  • Kubernetes 编排提供完整的容器生命周期管理。包括调度、启动/停止/重新启动和可见性。

Cloud Native Compute Foundation (CNCF)官方定义了以下原则:

代码语言:javascript复制
“Cloud native technologies empower organizations to build and run scalable applications in 
modern, dynamic environments such as public, private, and hybrid clouds. 
Containers, service meshes, microservices, immutable infrastructure, 
and declarative APIs exemplify this approach.
These techniques enable loosely coupled systems that are resilient, manageable,
and observable. Combined with robust automation, they allow engineers to make
high-impact changes frequently and predictably with minimal toil.”

4、什么是CNF?

云原生网络功能 (CNF)是一种实现以在容器内运行网络功能的架构。CNF 继承了所有云原生架构的操作原则,包括 K8s 生命周期管理、敏捷性、弹性和可观察性。

CNF 将物理 (PNF) 和虚拟网络功能 (VNF) 放置在容器中。除了将获许多 VNF 的优势,还无需承担 VM 软件开销。

5、云原生网络功能(CNF)应用场景

CNF 推出了其适合部署在云原生网络中的应用场景:

  • 负载均衡
  • 网络集群
  • 服务Bundles

在任何领域,网络都扮演着至关重要的角色,CNF作为一种工具,使网络在云原生中发挥着重要的作用。

(正文完)

end

转载与投稿

文章转载需注明:Flowlet。

欢迎云计算、SDN、NFV、互联网IT等方向的大牛投稿,以第一人称发表文章,分享技术。

| 温馨提示 |

欢迎分享、收藏、点赞、转发。

0 人点赞