编者按:上海贝尔公司是依靠改革,向SDN/NFV靠拢走出新道路的一家企业,作为依靠SDN/NFV技术找出路的企业,其在SDN/NFV方面的理解必定与其他企业有所不同。
软件定义网络(SDN)和网络功能虚拟化(NFV)技术代表着网络演进的趋势,即借助IT软件的灵活性和硬件的规模效应,在不断降低网络的建设和运维成本的同时,不断为用户加速提供创新的网络业务。从SDN的角度看,其主要目的是将网络的复杂性转换为抽象性,通过标准化的API接口实现网络的可编程;NFV 则通过把私有、专用的网络设备改造成基于通用计算和存储的云计算架构下的虚拟设备,达到低成本和运维的灵活性。
那么SDN和NFV到底是什么关系?未来的网络是否会朝IT化方向持续发展?本文试图从宏观和微观层面对此加以澄清。
从宏观层面的OSI协议层次模型来看,SDN中被定义的对象仍然是网络,包括物理层(L1)到网络层(L3)所组成的各种网络,比如光网络、IP/MPLS 网络等。NFV的目标在于虚拟化网络功能,因此NFV原则上可以包括链路层(L2)到应用层(L7)。当然NFV的概念还可以扩展到数据网络之外,比如用于无线网络的特定功能处理。表面上看,SDN和NFV在L2和L3存在交集(图1),但是这种重叠并没有反映SDN和NFV的实质。严格地说,OSI网络层次模型仅仅考虑了数据平面,网络的控制平面功能并没有反映在模型中。下文将从数据平面和控制平面的区分中来考察SDN 和NFV,并试图明确它们各自的应用场景和适用范围。在微观层面,IT 化意味着从专用的网络硬件向通用的CPU转型,下文将对网络处理器NPU和CPU做简单的比较,以判断未来硬件的发展趋势。
图1 网络层次模型中的SDN和NFV
网络功能大体可以分为三个平面,数据平面、控制平面和管理平面(图2)。数据平面实现分组数据的转发,控制平面提供路由协议或者信令,管理平面实现对设备和网络的管理功能。通常,数据平面要求高带宽(吞吐),对CPU处理能力要求不高;而控制平面正相反,要求高CPU处理能力,而对带宽要求不高。比如,建立VoIP 语音呼叫,需要对SIP信令进行分析处理,而语音包只需要实现端到端转发即可。长期以来,数据平面的吞吐是网络发展的瓶颈,因此数据平面功能一直主宰着网络设备硬件的发展。
图2-网络设备模型
(一)SDN架构的优势
SDN架构(图3)中控制平面和数据平面完全分离,两者借助南向接口(比如Openflow)通信。SDN 控制平面是运行在标准服务器之上的纯软件。基于性能和容量的考虑,SDN 的数据平面可以继续采用专用硬件设备,也可以基于X86服务器。SDN的控制平面除了运行路由协议之外,将为应用提供北向接口。应用程序可以实现网络的差异化功能。从历史上看,控制平面和数据平面的分离由来已久,比如早期的Forces和PCE等,因此广义的SDN不仅包含Openflow,还包括各种支持分离架构的协议。另外,由于以太网技术的成熟度非常高,市场上出现了大量低成本的商用交换芯片,其转发性能接近主流的中档路由器,这也带动了SDN软件市场的发展。
图3-SDN架构
(二)NFV的来源
2012年,多家运营商通过ETSI发布了关于NFV的技术白皮书。在传统的网络中,各种各样的网络功能大多采用专用硬件加专用软件的方式实现,软件和硬件之间高度依赖,无法分离,比如各种路由器、DPI、防火墙和网关等设备。NFV的目标(图4)是采用业界通用的硬件加软件的方式实现各种网络功能,通用硬件包括各种基于X86 架构的服务器和各种通用的以太网交换机等廉价设备。NFV意味着各种网络功能将以软件方式交付给运营商,而网络运营商只需要在云计算数据中心环境下安装,运行并维护该软件即可。
图4 NFV架构
在IT业,软件和硬件一直在高速发展,为什么NFV直到最近才被运营商提上议事日程呢?最重要的原因是CPU 的技术发展改变了方向。从2000年开始,由于功耗和散热的限制,X86 CPU时钟频率达到了上限,因此采用并行计算包括超标量和多核技术成为提供更强处理能力的关键。多核技术为计算虚拟化打开了大门,为了充分利用计算能力,人们开始考虑网络功能虚拟化。毫无疑问,控制平面功能更加适合通用CPU,许多现有的网络控制功能也是基于X86的通用处理器实现。然而,由于通用服务器的设计不是为了实现分组的高效转发,因此直到近四、五年CPU技术的最新进展才使得NFV 技术成为可能。这些技术包括CPU多核技术带来的并行处理能力增长,CPU高速缓存的不断增加和CPU外围芯片增加了整体带宽等。多核技术引发了虚拟化技术的快速发展,虚拟机在管理器的监控之下成为资源池。借助于云计算的编排技术,人们可以自动化创建、动态迁移虚拟机,实现计算资源的最佳调配。这种运维成本的节省将是NFV所带来的最大优势。
NFV是运营商主导的演进技术。长期以来,设备商主导的专用硬件加专用软件的设计开发模式,不仅费时费力,而且价格昂贵。专用硬件设备的发货量远低于标准化的X86服务器,专用硬件的更新换代通常需要4到5年,而同期遵循摩尔定律的IT硬件则实现了2到3代的更新,每一代都可以提供更高的性价比。封闭的专用硬件开发模式也意味着电信市场存在很高的进入门槛,中小企业无法参与创新。与此相反,标准化的服务器硬件由于规模效应,发展出高度竞争的市场,通过购买廉价的计算能力来驱动网络业务无疑是运营商降低成本的选择。
(三)SDN和NFV的关系
当前,SDN技术普遍部署在数据中心网络,而NFV中的各种VNF 也都建立在数据中心基础设施之上。比如开源的云计算管理平台Openstack的网络管理部分Neutron包含SDN控制器插件,支持Openflow对下层的网络设施编程,用来创建子网和路由规则等。SDN的控制平面可以作为NFV的VNF来部署。在小规模受限网络环境中,所有的控制和数据平面功能都可以VNF的方式部署,因此所有的交换和路由都采用软件实现。
SDN和NFV有许多相似之处,它们的核心之处都在于在网络中实现软件和硬件分离,同时尽量采用标准的硬件和独立开发的软件。在业务提供方面,它们都与数据中心和云计算环境相关,并实现网络业务的自动部署和管理。然而,SDN更是革命性的技术,它打破了传统路由协议的局限,各种新的路由协议和路由策略可以更加方便地引入网络。
软件开发和高资本投入的硬件开发不同,它的进入门槛不高,而且软件通过不断累积可以实现增量开发。因此可以预期基于软件的网络功能将形成高度竞争的市场,并给运营商带来更多的选择。运营商也将发现基于软件的网络功能更易于部署,更容易实现扩展性和自动化管理。为了实现网络创新,运营商可以在网络中低成本部署各种实验功能。在虚拟机上对各种业务进行验证的成本很低,对现有业务的干扰也可以通过沙盒技术显着降低。不成功的创新业务可以马上下线,而成功的业务也可以马上批量大规模展开,这种“快速”正是大量OTT 运营商业务创新成功的关键所在。
当前的X86 CPU通常可以支持8~16核,每核可以支持10个或者更多的并发执行单元。这些并发单元可以执行浮点运算、数据加密和内存管理等功能。然而,CPU大部分功能对数据平面的包转发是没有意义的,比如在包转发期间,浮点运算执行单元将完全处于空闲状态。如果将相应不使用的执行单元和指令集去除,那么每个核将占用更小的空间,或者说在每块芯片上可以集成更多的内核,因而芯片每秒钟指令执行数也将大大提升。比如,阿尔卡特朗讯的FP3网络处理器有288核,接近通常X86处理器内核数量的30倍。
为了充分利用处理器的并行计算能力,各种超标量计算体系架构层出不穷。各种并行技术包括:并行处理、指令乱序和多线程等。通常内存访问,算逻单元和浮点运算单元可以并行处理。通过对指令重新排序,算术和浮点运算单元可以保持高负荷运行,而内存访问单元则保持不断把新的数据加载到寄存器。多线程技术则在内核实现了多任务切换调度。在网络设备中,通常NPU 只需执行更少的指令,因此指令乱序基本上没有什么优势。此外,大部分指令与内存读取相关,因此多线程更加重要。由于内存数据读取的相关性非常高,为了实现扩展性,需要更多的线程。
现代的CPU通常都有片上内存(L1/L2/L3),它们的读取速度远快于RAM。高档的CPU有20~30M字节L3缓冲。如果前后包之间有很强的相关性,那么缓冲的命中率会非常高,这也意味着每个包会经历相同的处理流程。对虚拟的网络业务而言,这个假设可以满足实时性需求,因此网络业务可以通过虚拟机实现横向线性扩展。然而,对于IP 网络核心和汇聚层而言,大量的业务流毫不相干,它们要经历不同的路由查表、计数和指令处理,因此网络的处理能力必须能够实现纵向线性扩展。为了达到线速转发能力,网络处理器内存管理需要提供大容量缓冲,通常需要2G 字节L3缓冲。此外,在网络处理器中通常会集成TCAM,它可以在单个时钟周期内高速实现特定的查表功能,这样NPU可以保证对各种业务的实时处理。
在过去的几十年中,CPU变得越来越强大,各种特殊计算功能包括浮点运算、多媒体处理和IO等层出不穷。CPU可以高效地支持服务器和PC的需求。同时,NPU的发展和CPU一样服从摩尔定律,但是NPU专注于分组处理,因此两者发展出完全不同的能力集(表1)。
表1 NPU和CPU的比较
IT技术在很大程度上驱动着网络向SDN和NFV方向演进。网络的动态需求是SDN产生的背景,采用通用硬件降低成本并提供灵活性是NFV的目标。基于网络处理器和CPU的比较,我们可以发现,NPU和CPU在SDN和NFV演进中将发展出互补关系。未来,虚拟化的网络功能和网络的控制平面将基于X86通用处理器。通用CPU可以执行网络数据平面和控制平面的功能。在网络的接入和边缘,各种虚拟的网络功能可以实现横向线性扩展。叠加在物理网络之上的虚拟网络功能将减轻网络的处理负担。基于NPU的硬件在高端(汇聚和核心)应用中将继续扮演关键角色。在网络的核心,随着网络接口速度从100Gbps向400Gbps和1Tbps迈进,业界需要处理能力更强大的网络处理器。
转载自:CTI论坛