首页 > 新闻 > 专家观点 >

上海贝尔:网络发展趋势刍议—SDN和NFV

2015-04-03 14:47:33   作者:上海贝尔股份有限公司战略部 陈端   来源:CTI论坛   评论:0  点击:


  在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 运营商业务创新成功的关键所在。

  三、网络处理器(NPU)和CPU的比较

  当前的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迈进,业界需要处理能力更强大的网络处理器。

分享到: 收藏

专题