开放网络的先行者与推动者—星融元
加入我们技术支持(Support)  TEL:(+86)4000989811

站点精选

2019-12-06

关注星融元

站点精选

走向可编程、开放与解耦之路

2019-12-06

今天,用于流量采集和预处理的前端设备的功能越来越强大。随着实现技术的不断进化、可视化系统整体方案的复杂度越来越高、网络运维和信息安全中可视化系统应用部署越来越广泛,行业对前端设备的功能、集成度和成本要求也越来越高。

那么,在过去、现在和将来,可视化系统前端设备都经历了何种发展历史、形成了什么样的现状、又即将面对何种发展趋势?


前端设备的现状

今天主流的前端设备都是由传统网络设备逐步演化而来,其主要组成部分包括:

➤ 线路卡。主要功能包括接入和输出,即从分光器(或者生产网交换机的镜像端口)接入需要预处理的业务流量、将经过预处理后的业务流量输出到可视化分析、安全分析等后端系统。

➤ 业务卡。主要功能是对所接入的原始业务流量按照后端系统的需求进行各种预先的深度分析处理,降低后端系统的流量处理负载、提升整体系统的性能。

➤ 交换卡。主要功能是在多块线路卡和业务卡之间构建一个高速交换通道,形成一个具备高接口密度和高业务处理性能的整体系统;通常,交换卡会采用正交连接器或高速背板来和线路卡、业务卡进行互联。

业务卡所提供的流量预处理是整个前端设备最核心的能力,也是对后端系统来说最核心的价值所在。因此,接下来的讨论从业务卡开始。

业务卡的发展历史与技术路线

在过去十多年的发展历程中,随着产业基础支撑技术的发展,今天的业务卡所采用的架构也对应地形成了四种技术路线。

➤ FPGA(Field Programmable Gate Array)

具备和交换芯片类似的L2、L3和L4功能,但是针对报文的L7特征提取和分析等能力则非常有限。在这种架构中,灵活的L2、L3和L4-L7的报文处理都需要用Verilog这样的高级电路开发语言消耗FPGA的逻辑单元形成计算能力来实现。

➤ NPU(Network Process Unit)

能提供较丰富L4能力,也有较高性能的L7特征匹配分析能力。历经数代发展后,最后一代号称能够提供100G的L7协议分析处理能力的NPS在2016年被Mellanox收购后正式宣告停止后续的发展路标,大量采用NPS进行前端设备研发的厂商失去了技术支持,后续供货陷入高成本、备货周期不可预测、随时可能会停产的尴尬境地。

从另一个侧面看,所有NPU核心芯片厂家一致认为,用NPU实现L2-L4的功能,灵活有余而复杂度太高,且成本太高,用NPU实现L4-L7的功能以满足DPI的需求,则处理能力不足,在应对复杂场景时,心有余而力不足。

因此,对于今天需要对流量进行深度处理的市场(包括本文所述的可视化系统前端设备和防火墙、多业务路由器等)来说,NPU基本是一个已经被证明的在市场和技术上双重失败的典型案例。

➤ 以MIPS多核处理器为核心的SoC

SoC(System on Chip,片上处理系统)能够提供超高的系统集成度、丰富的I/O资源和灵活与性能兼备的加速子系统,而MIPS本身也能基于其强大的通用计算能力提供高性能的L4-L7的深度分析处理能力,自然而然的,两者相结合的架构可以为DPI分析需求提供高性能和灵活性兼具的解决方案。因此,从2010年开始的近十年间,以MIPS多核处理器为核心的SoC架构一直承担着L4-L7深度分析处理的主要任务。今天,MIPS处理器的指令集架构正在逐步被通用计算指令集(如X86和ARM)取代。

➤ 通用计算处理器(CPU)

今天的X86和ARMv64通用处理器,通过充分发挥SIMD指令集的效率,能够提供比肩MIPS/SoC片上加速单元的L4-L7特征分析处理能力,其通用计算能力也为报文分析提供了非常强大的软件生态支持。

(注:SIMD,Single Instruction Multiple Data,意指“单指令流多数据流”,是一种采用一个控制器来控制多个处理器同时对一组数据(又称“数据向量”)中的每一个分别执行相同的操作从而实现空间上的并行性的技术。在微处理器中,单指令流多数据流技术则是指一个控制器控制多个平行的处理微元对数据向量进行并行。)

线路卡的来龙去脉与前世今生

正因为早期的业务卡多从FPGA/NPU做起,而FPGA/NPU可以在提供业务处理能力的同时提供必要的L2-L4处理能力和端口I/O能力,所以早期的业务卡往往会混合着端口I/O、L2-L4处理及L4-L7处理三种能力,而且,每端口I/O的成本和FPGA/NPU的计算能力成正比。但是,从各种真实应用场景的实际情况来看,高密度I/O端口之间的L2-L4路由需求和需要强大计算能力的L4-L7深度处理需求之间并不能简单地按照线性比例部署,因此,为成本及灵活性计,L2-L4和L4-L7必须解耦,而这种解耦的要求直接导致了从业务卡中分化出线路卡的结果(就像从路由器中分化出了交换机⼀样)。

一般的,线路卡通过计算力不强、但I/O密度高、L2-L4功能相对完善的ASIC芯片来提供流量的接入、汇聚、过滤等标准的L2-L4处理。典型的线路卡实现采用了Switch芯片(交换芯片):

➤ 传统交换芯片中,Broadcom和Marvell是具备绝对市场统治地位的供应商,其芯片按照交换机的逻辑实现了经典的L2查表、L3查表等处理流程。在用作可视系统的前端设备时,前端设备的控制面软件通过特别的控制管理,可以利用交换芯片实现相当一部分前端设备的处理逻辑。但是,由于前端设备处理逻辑的查表键值与匹配流程和Switch芯片的经典流程并不完全相同,随着可视化系统对前端设备灵活性的要求越来越高,随着新网络协议和业务层出不穷,经典查表流程已经不能满足前端设备的L2-L4处理要求。

➤ 而事实上,类似的问题也出现在标准网络交换设备在日常的组网中,例如,根据多重隧道内层报文进行特征匹配,或者根据报文各层字段组合进行组合特征匹配,或者在一个处理流程中实现L2、L3和L4的并行处理、甚至对报文的负载部分进行修改等功能。虽然这些功能并不需要特别强大的计算能力,但是当标准Switch芯片不支持这些功能时,人们不得不将需要如此处理的流量提交到业务卡上去处理。

➤ 通常,对于每1个单位成本实现的1Tbps容量的L2-L4的Switch ASIC方案,需要2单位成本实现100Gbps的业务处理能力,这意味着,为了实现标准Switch芯片不能支持的L2-L4功能,我们可能需要多达20倍成本的业务卡才能实现这些功能。

➤ 事实上,今天的路由器、防火墙、NFV(Network Functionality Virtualization,网络功能虚拟化)在很多场景下,也在为了解决交换芯片并不容易实现的L2-L4灵活处理流程而不得不采用昂贵的计算资源来实现这些流程,也就是说,“支付20倍的实现成本”在一些特定的L2-L4需求和深度的L4-L7需求面前,是一个普遍的现象。

线路卡的未来

当交换机标准处理流程已经固化到ASIC之后,我们是否能够为新出现的L2-L4处理流程找到昂贵计算资源之外的低成本实现方案?能!答案就是可编程交换芯片。可编程交换芯片其实就是为了解决这样一种尴尬的场景而出现的新技术。可编程交换芯片通过使用高级语言灵活定义查表键值和处理流程,用和传统交换芯片同样的成本实现了(几乎)任意L2-L4的流程要求。

幸运的是,前端设备所有的L2-L4非标流程都可以得益于可编程交换芯片的灵活性,而不必支付比标准交换芯片更高的成本。当然,我们也可以看到,多业务路由器、防火墙和NFV里面相当一部分利用计算资源实现的L2-L4层非(Switch芯片处理流程的)标准能力,也完全可以由可编程交换芯片实现!更有甚者,L4-L7的部分内容特征识别和过滤也可以在可编程交换芯片中实现。

DPI是最具代表性的后端系统之一。为了便于说明问题,以下我们以DPI为例来讨论未来的架构。

DPI对芯⽚计算能⼒的要求

今天的DPI系统是一个对网络处理能力和计算能力都有很高要求的综合系统。一个典型的DPI系统需要具备如下技术能力:

➤ 报文的L2-L3过滤、缓存和重组

➤ 报文的L4-L7特征匹配处理

➤ 邮件、下载、网页内容的还原与搜索

➤ 运营商移动系统信令解码

➤ 视频和音频数据流的解码

➤ 用户身份分析和行为关联

由于前端设备和DPI往往被传统可视化系统的实现混为一谈,我们将DPI的技术能力实现方式用前端设备业务卡的四条技术路线进行一下适应性梳理:

从上述对比可以看出,基于FPGA和NPU的前端设备在DPI系统中已经失去了任何竞争优势,我们基本可以提前得出结论:在FPGA和NPU实现的前端设备上提供DPI,将给最终用户带来极大的投资损失;MIPS多核也许还会在一段时间内保持技术竞争力,但最终通用计算将成为DPI实现的重要选择。

DPI的未来趋势

➤ 随着HTTPS等加密流量的持续增加,特征匹配在大部分场景下将失去效果,机器学习将在DPI实现中扮演日趋重要的角色;

➤ 随着DPI系统部署规模的持续增加,应对流量潮汐现象的虚机调度也日趋重要;

➤ 随着DPI系统中对视频音频处理需求的增加,计算功耗的消耗更大幅增加,同时,报文对内存缓存和外存缓存的要求也日趋增加。

结合这些趋势,我们可以看到,采用MIPS多核处理器来解决DPI的问题,从短期来看,可以在L4-L7特征匹配和信令解码方面做到同等性能比X86更低的功耗,但是从长期来看,缺乏机器学习生态系统支持、缺乏虚拟机调度支持,缺乏大容量内外存储器,会让MIPS多核处理器在未来大规模部署DPI系统时,限制DPI的未来扩展能力。

机架式设备的限制

从上面逐步梳理分析来看,X86/ARMv64这样的通用计算CPU才是大规模DPI系统实现和部署的未来之路,那么,是否意味着将X86放到前端设备的机架中,就能为用户提供高集成度的DPI方案呢?答案依然是否定的。原因在于,机架有限的插槽空间会限制X86 CPU的选择,插槽空间小意味着对功耗要求的苛刻,意味着当前高端通用CPU很难在插槽中获得真正落地,意味着当系统需要GPU加速、需要内存和外存等大量缓存的时候,作为插槽单板的X86很难提供和独立服务器可以比肩的扩展能力。

当前我们知道,在正交或者ATCA中放置的X86 CPU,比主流服务器上的CPU落后两代,主频和核心数量也是主流服务器的70%以下,这样的X86 CPU,根本不足以提供DPI需要的计算性能。

成本是第另一个重要的问题。前端设备的机架插卡空间,每个槽位不仅仅意味着物理空间的成本,更意味着对机架交换板和电源成本的分担,这两者给本来就比通用服务器性能要低一半的X86插槽带来了一倍以上的成本增加。因此,用X86集成到前端设备中,放弃通用服务器低成本的横向扩展能力,这样的技术路线无法支持DPI的部署规模和功能特性持续演进。

未来DPI整体架构的判断

未来,试图整合DPI、存储和可视分析的一体化前端设备会随着网络可视分析系统规模的扩大而越来越无法适应业务可视分析对软件复杂度和系统规模的要求。相反,就像今天互联网服务商的业务全部云化、5G业务正在云化⼀样,随着通用计算CPU算力的持续提升,随着可编程交换芯片标准化和灵活度的持续提升,我们相信,业务可视分析也正在向“云”进行演化:

➤ 各种L2-L4的预处理和部分L4-L7的深度处理会被软件可定义、芯片可编程的智能可视交换机取代;

➤ 高密度I/O端口和灵活L2-L4层处理流程,并含有少量L4-L7内容特征识别过滤能力的“智能”线路卡将成为盒式智能可视交换机;

➤ 盒式智能可视交换机实现了80%前端流量的处理,还有20%前端流量处理,例如用户身份和数据面的关联、 报文会话重组、去重、(合法)解密等,会迁移到通用计算CPU中,以流量预处理NFV的方式实现;

➤ DPI流量分析则会进一步向后端系统迁移,形成混合了L7元数据生成、大数据分析与机器学习的DPI分析私有云。

最后,总结一下。

在Asterfusion的整体解决方案中,通过“智能可视交换机+流量预处理NFV”提供的VaaS(Visibility-as-a-Service,可视即服务)将会成为重要的IT基础设施之⼀;以VaaS为前端的可视化系统私有云,会按照标准私有云的建设方式,用通过SDN交换机互联的、可以大规模横向扩展的服务器集群来进行硬件基础设施的建设。此时,我们更欣喜地看到,无论是VaaS前端,还是可视化系统私有云后端,所有的基础设施都会被简化成智能可视交换机和标准服务器两种硬件。Asterfusion星融正是这样的简洁、归一、标准和优雅的软硬件开放系统的重要方案提供商。Asterfusion的开放软硬件平台将为可视化系统提供极具性能、成本和扩展能力优势的基础设施。

相关文章

对星融元产品感兴趣?

立即联系!

返回顶部

© 星融元数据技术(苏州)有限公司 苏ICP备17070048号-2