NFV、SDN 是近年来信息通信行业兴起的热门技术,拥有极高的人气。尤其是 5G 时代到来后,两者的出现频率更是激增。
随着对这两个概念的深入了解,很多读者向我提出了这样的疑问——
NFV 和 SDN 好像根本没有什么关系啊,为什么两者经常会一起以“NFV/SDN”的名义出现?它们真的有联系吗?是什么样的联系呢?
今天,小枣君就和大家聊聊这个话题。
首先,我们先简单回顾一下,NFV 和 SDN 到底是什么。
什么是 NFV
NFV,全称是 Network Function Virtualization,网络功能虚拟化。
这个词其实可以拆开来理解:网络功能,是指移动通信网络设备的功能。而虚拟化呢,是一个云计算技术。确切来说,是云计算的核心关键技术。
大家天天嚷嚷云计算,云计算的本质是什么?
所谓云计算,就是将计算资源从本地迁移到云端,实现“云化”。
计算资源,主要是指服务器。它拥有 CPU、内存、硬盘和网卡,通过安装操作系统和软件,能够提供各种计算机服务。
但是,如果只是简单地将服务器硬件搬到云端机房,那不是真正的云计算,充其量只能叫做主机托管。这种方式,在调配资源时,缺乏足够的灵活性和效率。机器的硬件配置无法灵活变动,操作系统安装也很慢很费力,还不能随便改。
所以,云计算就引入了虚拟化技术。
虚拟化技术,就是物理服务器的基础上,通过部署虚拟化软件平台,把计算资源(类似 CPU、内存等)、存储资源(类似硬盘)、网络资源(类似网卡)等资源进行统一管理,按需分配。
在虚拟化平台的管理下,若干台物理服务器就变成了一个大的资源池。在资源池之上,可以划分出若干个虚拟服务器(虚拟机),安装操作系统和软件服务,实现各自功能。
我们的移动通信网络,尤其是核心网,是由很多网元设备组成的。这些网元本身就是一台定制化服务器。网元上面运行的软件服务,确保功能得以实现。
以前,这些网元都是各个厂家自行设计制造的专用设备。现在,随着 x86 通用服务器硬件能力的不断增强,通信行业开始学习 IT 行业,引入云计算技术,使用 x86 通用服务器替换厂商专用服务器,将核心网“云化”。
核心网的架构设计也借鉴 IT 的微服务理念,变成了 SBA 架构(Service Based Architecture,即基于服务的架构)。简单来说,就是将“一个服务器实现多个功能”,变成“多个服务器实现各自功能”。N 个虚拟机,N 个功能,各自为战,相互隔离。
采用 NFV 技术,将通信设备网元云化,可以实现软件和硬件的彻底解耦。运营商不再需要购买厂商们制造的专用硬件设备,大幅降低了硬件资金投入。
NFV 还具备自动部署、弹性伸缩、故障隔离和自愈等优点,可以大幅提升网络运维效率、降低风险和能耗。
因此,运营商对 NFV 技术需求强烈。除了核心网之外,运营商也在推动 NFV 在接入网的落地,也就是让基站也拥抱虚拟化。
什么是 SDN
再来看看 SDN。
SDN,Software Defined Networking,软件定义网络。或者也可以理解为,软件定义的网络、软件控制的网络、可编程的网络。
SDN 的设计思路其实和 NFV 一样,都是通过解耦来实现系统灵活性的提升。NFV 是软硬件解耦,而 SDN 是控制平面和转发平面解耦。
承载网的核心功能就是传输数据。传输的过程,就是不断路由和转发数据报文的过程。控制和转发,前者是命令,后者是干活。
传统网络中,各个转发节点(例如路由器、交换机)都是独立工作的,内部管理命令和接口也是厂商私有的,不对外开放。
而 SDN 网络,就是在网络之上建立了一个 SDN 控制器节点,统一管理和控制下层设备的数据转发。所有的下级节点,管理功能被剥离(交给了 SDN 控制器),只剩下转发功能。
SDN 控制下的网络,变得更加简单。对于上层应用来说,即使网络再复杂,也是不可见的。管理者只需要像配置软件程序一样,进行简单部署,就可以让网络实现新的路由转发策略。如果是传统网络,每个网络设备都需要单独配置。
SDN 的工作过程,是基于 Flow(流)的。SDN 控制器和下级节点之间的接口协议,就是 OpenFlow。支持 OpenFlow 的设备,才能被 SDN 控制器管理。SDN 控制的方式,就是下发 FlowTable(流表)。
采用 SDN 之后,整个数据网络的灵活性和可扩展性大大增加。同时,SDN 简化网络配置、节约运维成本的特点,也深受运营商的欢迎。
除了移动通信之外,很多广域网、城域网、专线业务都在拥抱 SDN。例如现在炒得火热的 SD-WAN,就是 SDN 引入广域网,取代昂贵的专线。
总之,SDN 是今后数据通信网络发展的主要方向。
NFV 和 SDN 的关系
好了,现在我们来说说 NFV 和 SDN 之间的关系。
按我个人的观点,NFV 和 SDN 的关系,其实确实不大。两个技术,不仅实现原理不同,就连应用场景也不同。NFV 是一个典型的计算技术,SDN 是一个典型的网络技术。两者之间的关系,就好像服务器和交换机之间的关系。
放在 ISO 七层模型里,NFV 是 4-7 层,SDN 是 2-3 层,区别也很大。
站在移动通信的角度来看,NFV 主要应用于核心网和接入网,SDN 则主要应用于承载网,两者也是不同的领域。
既然两者差别那么大,为什么要经常放在一起说呢?
其实,主要是因为 5G。
SDN 是控制和转发解耦,NFV 是软件和硬件解耦。两者都是解耦,目的只有一个,就是灵活化。而灵活化的目的,就是服务于网络切片。
5G 网络切片
网络切片是 5G 的核心能力和关键特征。
之前吵得热火朝天的 SA 和 NSA 组网。NSA,是不支持网络切片的。只有 SA,才支持网络切片。SA 才是正宗的 5G,NSA 只能算是“半 5G”或者“5G-”。
现在各大运营商都在拼命搞 5G NFV 核心网(参考前几天中国移动的 NFV 招标结果公布),也是服务于 5G SA 组网,为网络切片做装备。
与此同时,运营商的承载网改造也在如火如荼地进行之中。三大运营商主推的 5G 承载网方案,都有一个核心要素,那就是全面引入 SDN。
总而言之,网络架构采用 SA 组网,承载网采用 SDN,核心网采用 NFV,是 5G 成为“真·5G”的先决条件。
虽然 NFV 和 SDN 没有归属关系和依赖关系,但互补关系和合作关系还是有的。
例如,NFV 数据中心采用 SDN 之后,可以有效改善 NFV 网络的性能。此外,SDN 虽然是网络设备采用,这些网络设备其实也可以像服务器一样引入虚拟化。换句话说,虚拟化也不局限于计算机。
NFV 引领着未来的计算,SDN 代表着未来的网络。两者携手,将开创一个前所未有的 ICT 新时代。