沈启龙 2020-02-27
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虽然是网络设备采用,这些网络设备其实也可以像服务器一样引入虚拟化。换句话说,虚拟化也不局限于计算机。