1.2 NFV与SDN云原生的关系


1.2 NFV 与 SDN、云原生的关系

本节摘要:NFV 经常和 SDN、云原生被混在一起提,但三者解决的是不同层面的问题。NFV 管网络功能的虚拟化,SDN 管控制平面的解耦,云原生(CNF)管容器化部署。三者不替代而是协同——SDN 提供可编程的流量调度,云原生提供弹性运行时,NFV 提供虚拟化的网络功能。理清边界,才能在选型时各取所长。

学习目标

阅读完本节,你应当能够:

  1. 用一句话区分 NFV 和 SDN
  2. 解释 VNF 和 CNF 的载体差异
  3. 说明 NFV 和 SDN 协同的价值
  4. 指出云原生给 NFV 带来的三个改变
  5. 判断一个方案该叫 NFV、SDN 还是云原生

一、问题与直觉

刚接触网络虚拟化的人,十有八九会被 NFV、SDN、云原生这三个概念搞晕。它们都跟"软件化""虚拟化"沾边,资料里又经常一起出现,好像说的是同一件事。结果就是:有人以为用了 SDN 就等于做了 NFV,有人以为把 VNF 装进容器就是云原生,概念混乱导致方案选型也混乱。

这种混淆的根源在于,三者的确有重叠的应用场景,但解决的核心问题不同。NFV 解决的是"网络功能怎么跑"(从硬件到软件),SDN 解决的是"网络控制怎么管"(从分散到集中),云原生解决的是"应用怎么部署运维"(从虚拟机到容器微服务)。搞清这三条主线,你就不会被术语绕晕。

二、核心原理

2.1 NFV vs SDN:功能虚拟化 vs 控制解耦

NFV 和 SDN 是最容易混淆的一对,但它们解决的是完全不同层面的问题。

NFV 关注的是网络功能的载体。它把路由器、防火墙这些功能从专用硬件搬到通用服务器的软件里。重点在"功能怎么实现"——用软件替代硬件。

SDN 关注的是网络控制的架构。传统网络里,每台设备的控制逻辑(决定流量怎么走)和数据转发(实际搬流量)是耦合在一起的,分散在各台设备上。SDN 把控制逻辑抽出来集中到控制器,设备只负责转发。重点在"控制怎么组织"——从分散到集中。

用一个类比:NFV 像是把"收费亭"从专用建筑变成软件模块(功能虚拟化),SDN 像是把"交通指挥"从每个路口独立指挥变成全市统一调度中心(控制解耦)。两件事可以独立做,也可以一起做。

ETSI 白皮书明确说:NFV 可以独立于 SDN 运行,但两者协同时效果倍增。为什么?因为 NFV 提供了大量虚拟化的网络功能(一堆 VNF),而 SDN 能集中调度这些 VNF 之间的流量路径。没有 SDN,VNF 之间的流量调度还是传统的分散式,灵活度不够;有了 SDN,可以程序化地控制"流量经过哪些 VNF、按什么顺序",实现服务链自动化。

2.2 NFV vs 云原生:VNF vs CNF

云原生(Cloud Native)对 NFV 的影响,体现在 VNF 向 CNF 的演进上。

传统的 VNF 跑在虚拟机里(VM-based VNF)。一个 VNF 通常是一个完整的软件镜像,装在一个虚拟机里,启动慢、资源占用大、扩缩容粒度粗。这本质上是把传统网络设备的功能原封不动塞进虚拟机,没有利用云计算的弹性优势。

云原生的思路是:把 VNF 拆成更小的微服务,装进容器,用 Kubernetes 编排。这样诞生了 CNF(Containerized Network Function)。CNF 相比 VNF 的优势:

维度 VNF(虚拟机) CNF(容器)
启动速度 分钟级 秒级
资源占用 大(含完整 guest OS) 小(共享宿主机内核)
扩缩容粒度 粗(整个 VM) 细(单个容器)
更新方式 整体替换 滚动更新
资源利用率 30%-50% 80% 以上

云原生给 NFV 带来三个改变:启动更快(秒级而非分钟级)、资源利用率更高(容器比虚拟机轻)、运维更贴合 DevOps(持续集成、滚动更新)。这也是为什么现在主流运营商都在从 VNF 往 CNF 迁移。

💡 关键直觉:CNF 不是替代 NFV,而是 NFV 的演进形态。NFV 是理念(网络功能虚拟化),CNF 是这个理念在云原生时代的实现方式。可以理解为:NFV 是"做什么",VNF 是"第一代怎么做",CNF 是"第二代怎么做"。

2.3 三者的协同关系

实际部署中,NFV、SDN、云原生往往协同工作,各管一摊:

  • 云原生提供运行时环境(Kubernetes、容器、服务网格),让 VNF/CNF 能弹性部署、滚动更新。
  • NFV提供虚拟化的网络功能(一堆 vRouter、vFirewall、vLB),跑在云原生平台上。
  • SDN集中控制这些功能之间的流量路径,实现服务链自动化。
  • MANO统筹编排,管理 VNF/CNF 的生命周期和资源。

举个具体例子:一个 5G 网络切片场景里,云原生的 K8s 集群承载着多个 CNF(vUPF、vFirewall、vLB),SDN 控制器决定流量经过这些 CNF 的顺序,MANO 根据切片需求自动扩缩容 CNF 实例数。四者各司其职,协同交付端到端的网络服务。

2.4 与 MEC(边缘计算)的关系

还有一个经常一起提的概念:MEC(Multi-access Edge Computing,多接入边缘计算)。MEC 把计算能力推到网络边缘(基站旁、园区里),降低延迟。

MEC 和 NFV 的关系:NFV 为 MEC 提供虚拟化的网络功能支撑。比如在基站旁部署 vRAN(虚拟无线接入网),就是 NFV 在边缘的应用。MEC 更侧重"在哪里部署"(边缘),NFV 侧重"怎么部署"(虚拟化)。两者融合催生了"边缘 NFV"模式。

三、工程实践要点

3.1 术语自查表

碰到一个方案时,用这张表自查它到底属于哪个范畴:

问题 如果答"是" 属于
它把网络功能从硬件搬到软件了吗? NFV
它把网络控制集中到控制器了吗? SDN
它用容器和 K8s 承载网络功能了吗? 云原生 CNF
它把计算推到网络边缘了吗? MEC

一个方案可以同时属于多个范畴(比如"用 K8s 在边缘部署虚拟化防火墙"就同时是 NFV、CNF、MEC)。关键是搞清每个概念回答的是什么问题,而不是非此即彼。

3.2 选型时的常见误区

误区 实际情况
用了 SDN 就等于做了 NFV SDN 管控制,NFV 管功能,两者独立
VNF 装进容器就是云原生 还得用 K8s 编排、微服务拆分,否则只是换了载体
NFV 必须配 SDN ETSI 明确说可独立,协同是可选的
CNF 完全替代 VNF 性能敏感场景 VM-based VNF 仍有优势

⚠️ 常见坑:很多厂商营销时把"NFV+SDN+云原生"打包宣传,给客户一种"必须一起上"的错觉。实际上应该按业务需求选——如果只是想降低硬件成本,单独上 NFV 就有收益;如果要做复杂的服务链自动化,才需要 SDN 协同;如果追求极致弹性,才值得上 CNF。盲目全上反而增加复杂度。

本节要点回顾

  • NFV 管功能虚拟化,SDN 管控制解耦:NFV 把功能从硬件搬到软件,SDN 把控制从分散变集中,两者独立但可协同。
  • SDN 让 NFV 的流量调度更灵活:NFV 提供虚拟功能,SDN 集中调度它们之间的流量路径,协同实现服务链自动化。
  • CNF 是 NFV 的云原生演进:从虚拟机载体变成容器载体,启动更快、资源更省、运维更贴合 DevOps。
  • 云原生给 NFV 三个改变:秒级启动、80% 以上资源利用率、滚动更新。
  • NFV、SDN、云原生、MEC 各回答不同问题:功能怎么跑、控制怎么管、怎么部署运维、在哪里部署。
  • 不要被厂商营销绑架:按业务需求选组合,不必盲目全上。

下一章深入 ETSI 的标准架构,把 NFVI、VNF、MANO 三大支柱展开讲,看它们具体怎么分工协作。

四、三技术协奏的分层图景

图:NFV、SDN、云原生在电信架构中的分工

图:NFV、SDN、云原生在电信架构中的分工

给一张记忆口诀表:云原生管"怎么写软件",NFV 管"网络功能怎么软件化",SDN 管"包怎么转发"。三个答案拼起来才是完整的敏捷网络。历史上它们的拥趸曾互相争夺话语权("有了 SDN 还要 NFV 干嘛"),实践给出的裁决是协作:现代电信云里,CNF(云原生形态的 VNF)跑在 SDN 连接的数据中心 fabric 上,三者已是不可拆分的铁三角。理解这个分层图景,后面读到任何一处技术选型争论,先定位它发生在哪一层,争论的实质就清楚了。

五、从竞争到协奏的历史教训

三技术的分工图景不是天然形成的,中间有一段值得铭记的路线之争。早期社区里,SDN 阵营曾主张"集中控制即可虚拟化一切",NFV 阵营则强调"没有功能软件化,控制再聪明也没东西可调度";云原生兴起后,又有声音认为容器编排将吞掉 NFV 的 MANO。三场争论最后都被实践调和:SDN 证明了自己在 fabric 层不可替代,NFV 的生命周期管理被证明无法被单纯的网络控制覆盖,而云原生接管了软件形态与交付方式却依然需要电信级语义的扩展。这段历史给工程师的教训比结论本身更有价值:技术争论的终点几乎总是分层协作,而不是一方消灭另一方——遇到"X 将取代 Y"的论断时,先问 X 和 Y 各自解决的问题是否同层,多数情况下你会发现它们只是在同一张架构图的不同楼层施工。带着这个判断力读任何新技术浪潮的宣战檄文,可以省下大量站队的时间和情绪。

五点补充:技术组合的边界再确认

三技术协奏之外,再补三组容易越界的边界判断。边界一,NFV 与网络功能虚拟化编排的分工:有人把 MANO 的编排与 SDN 控制器的"集中控制"混为一谈——前者管的是功能的生命周期(创建、伸缩、回收),后者管的是流量的转发路径(建路、调路、断路),一个调度"软件",一个调度"包",混用的方案文档往往两件事都没做扎实。边界二,云原生的服务网格与 SFC 的区别:两者都做"流量按策略经过一串处理点",但服务网格工作在微服务间调用层(七层为主、面向 IT 语义),SFC 工作在网络转发层(二到四层、面向电信语义);在 CNF 形态里两者会叠床架屋地共存,设计时要明确各自负责的流量类型。边界三,编排器与容器编排器的关系:电信的 NFVO 并不取代容器编排器,而是在其上再做一层"网络服务语义"的编排——两层编排器的职责契约(谁管伸缩、谁管放置)是 CNF 时代最重要的集成设计之一。三组边界合起来的元教训:技术组合的时代,画清楚"谁管什么"比"用什么技术"更决定方案成败。

补一段术语精度上的提醒:日常口语里"上云"常被用作虚拟化的同义词,但在架构讨论中要区分三个层次——托管在虚拟机上是基础设施虚拟化、托管在容器平台上是云原生化、接入编排闭环才是完整意义上的"云化"。三个层次的运维要求与收益结构完全不同,方案文档里混用这个词的,评审时要当场追问清楚所指层次。


作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U