微波EDA网,见证研发工程师的成长!
首页 > 通信和网络 > 通信网络技术文库 > All Programmable SDN 交换机加速网络功能虚拟化

All Programmable SDN 交换机加速网络功能虚拟化

时间:09-07 来源:互联网 点击:
作者:David Levi  
首席执行官
Ethernity Networks 公司
Vidi.levi@ethernitynet.com

基于赛灵思 FPGA 的可编程 COTS NIC 可将 NFV 软件应用性能提升 50 倍。

向网络功能虚拟化 (NFV) 和软件定义网络 (SDN) 的转变代表了近 20 年来最具变革性的架构网络发展趋势。由于 NFV 和 SDN 承诺系统开放性和网络中立性,因此有望给未来的通信网络和业务的成形造成深远影响。

我们 Ethernity Networks 公司正在利用赛灵思器件,率先向市场推出真正开放的、高度可编程的 SDN 和 NFV 解决方案。让我们来看一下 Ethernity 公司在首次探索 NFV 和 SDN 的前景和要求之后,是如何打造其解决方案的。

硬件和 NFV/SDN 变革遍地开花  

过去几十年间的网络基础架构业务在很大程度上可谓是大型机业务模式的延续,在这种模式下,屈指可数的几家大型公司提供专有局端基础设备,而这些设备又运行专有的软件,这样构建的全部意图都是为了不与竞争对手的系统进行通信。在大多数情况下,基础架构厂商为其客户的每个网络节点都创建定制硬件,并将每个节点都构建成最低可编程性和可升级性节点,以确保那些希望对网络进行扩展或升级的客户会从同一厂商旗下购买下一代设备;或者让客户完全无法选择从其他公司购买全新网络,最终只能重蹈覆辙。

在过去五年中,来自运营商、学术机构以及厂商的新贵一直在呼吁,即通过最大化硬件与软件的可编程性来过渡到无处不在的硬件、网络中立、开放系统以及软件兼容性。NFV 和 SDN 是这一发展趋势的先锋,为这一不断成长且一定会成功的革命高举旗帜。

凭借 NFV,公司可通过软件在商用的通用硬件平台上运行各种网络功能,这与在昂贵的定制专有硬件上运行每项特定网络任务截然不同。将这些无处不在的开放式平台的可编程性最大化,使公司能够在数据中心甚至更小的网络节点中运行众多之前由特定硬件设备执行的任务。NFV 允许运营商根据需要只将给定服务的新网络软件上传到商用硬件资源,从而可以进一步减少创建新的网络服务所需的时间。运营商因此可以轻松扩展网络并为其公司选择同类最佳功能,而不用被迫购买和使用软件灵活性有限的新型专有硬件。

NFV 是有效的,因为网络中的很多节点都具有一般性的功能要求。具备一般性要求的节点包括交换机和路由器、数百万流分类、访问控制列表 (ACL)、状态流感知、深度数据包检测 (DPI)、隧道网关、流量分析、性能监控、分段、安全性、虚拟路由器和交换机。但NFV自身也面临诸多挑战。预计因特网和数据中心流量在未来几年内将呈指数级增长,因此网络局端基础设备必须能够应对流量的巨大增长。仅依靠软件可编程性并不足以使通用硬件能够随着带宽需求的增长而进行轻松扩展。无处不在的硬件需经过重新编程来优化总体系统性能。这允许厂商和运营商以“更智能,而不是更辛苦的工作”方式来利用 NFV 和 SDV,从满足运营商的最终客户(即消费者)不断提高的网络要求。真正的软/硬件可编程基础架构才是真正实现 NFV 和 SDN 的愿景的唯一方式。

SDN 同时在物理与虚拟设备中的网络控制层与底层数据转发层之间使用基于标准的软件抽象,这消除了传统分布式网络基础架构复杂且静态的本质,是一种现代的联网方法。在过去五年中,行业制定了一项标准数据层抽象协议 OpenFlow,其提供的新颖实用方法可以借助基于集中软件的控制器来配置网络架构。

具有集中软件配置的开放式 SDN 平台通过可编程性和自动化显著提升了网络敏捷性,同时大幅降低了网络运营成本。OpenFlow 等业界标准数据层抽象协议使提供商可以自由使用任何类型和品牌的数据层设备,因为所有底层网络硬件均可通过一种通用抽象协议来进行寻址。重要的是,OpenFlow 便于使用“裸机交换机”,同时避免传统厂商的套牢,使运营商同样能够自由选择目前可在 IT 基础设施的其他领域(如服务器)中轻松找到的网络。

由于 SDN 还处于起步阶段,因此标准仍在不断演进。这意味着设备厂商和运营商需要防范风险,并利用 FPGA 的硬件及软件的可编程性,以最大的灵活性对 SDN 设备进行设计和操作。目前上市的基于 FPGA 的 SDN 设备即使对于大规模部署也相当实惠。基于 FPGA 的 SDN 设备具有高度的高硬件与软件灵活性并且尽可能符合 OpenFlow 协议要求。

性能加速需求  

或许,对 NFV 和 SDN 而言,要超越开放性最关键的要求就是高性能。尽管 NFV 硬件看起来比专有系统更便宜,但 NFV 架构需要保持极富竞争力的大数据量,满足下一代网络的复杂处理要求并不断提升能效。

实际上,NFV 基础设施小组规范 (Infrastructure Group Specification) 包含一个特殊部分,其描述了对加速功能的需求,以提升网络性能。此规范描述了处理器组件如何将某些功能转移到网卡 (NIC) 以支持某些加速功能,包括 TCP 分段、互联网协议 (IP) 分片、DPI、数百万条目的过滤、加密、性能监控/计数、协议互通与 OAM 以及其他加速功能。

驱动这种加速的主要引擎是 NIC,其配备了物理以太网接口,供服务器连接到网络。如图 1 中所示,当某个数据包通过 10GE、40GE 或 100GE 端口到达 NIC 时,根据标签信息(如 IP、MAC 或 VLAN)将数据包放置在虚拟端口 (VP) 或代表特定虚拟机 (VM) 的队列中。随后位于服务器上的合适的虚拟机直接对数据包进行 DMA 访问以进行处理。每个虚拟网络功能 (VNF) 都在不同虚拟机上运行,并且某些网络功能需要使用多个甚至数十个虚拟机。

OpenFlow控制硬件加速功能,比如NIC上的硬件加速功能可以视为是SDN交换机的扩展。可在多个虚拟机和/或内核上通过部署多个VNF来为众多功能处理NFV性能。这为NFV带来了两大性能挑战。第一项挑战在于“vSwitch”,这通常是一个软件,用来处理以太网NIC与虚拟机之间的网络流量。第二项性能挑战在于均衡在多个VM之间输入的40/100GE数据。添加IP分片、TCP分段、加密或其他专用硬件功能时,NFV软件需要辅助以满足性能需求并降低功耗。理想情况下,其外形应该比较紧凑,以减少存放网络设备所需要的板级空间。  

为处理 NFV 挑战和各种网络功能,用于 NFV 和 SDN 的 NIC 卡必须性能极高,而且尽可能灵活。多家芯片厂商都试图成为第一家上市 NFV 硬件的厂家,他们已经提议构建针对 NIC 卡的平台,它们各自都具有不同程度的可编程性。Intel 目前是主要的 NIC 组件提供商,配有用于加速数据包处理的 DPDK 包。EZchip 提供了运行 Linux 并可用 C 语言编程的 NPS 多线程 CPU。Marvell 为其 Xelerated 处理器提供了两个完整的数据层软件套件以用于城域以太网和统一光纤应用接入(Unified Fiber Access Application),这两个套件由运行在 NPU 上的应用程序包和运行在主机 CPU 上的控制层 API 组成。Cavium 已经为其 Octeon 产品系列选择了更通用的软件开发套件。Broadcom、Intel 和 Marvel L2/L3 交换机主要用于搜索和 vSwitch 负载转移。同时,Netronome 的新款 Flow-NIC 配备了能在该公司的专用网络处理器硬件上运行的软件。

尽管所有这些产品都声称是开放式 NFV 方法,但实则不然。所有这些方法都涉及到苛刻并且可以说是限制过多的硬件实现方案,这些实现方案仅具备软件可编程,并且在 SoC 或标准处理器方面再次依赖于苛刻且专有的硬件实现方案。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top