您好,欢迎访问三七文档
当前位置:首页 > 金融/证券 > 金融资料 > 2-2多核技术在金融骨干网中的应用-刘晖
杭州华三通信技术有限公司多核技术在金融骨干网中的应用文/刘晖随着银行信息系统整合逐渐深化,越来越多的新型业务和管理系统以大集中的方式部署,使得业务种类和流量模型日益丰富,金融骨干网中核心与汇聚设备之间的界限趋于模糊,传统的层次化组网模型开始向扁平化组网迁移。这些变化对骨干网络设备提出了更高的要求,如大容量精细化QoS业务保障、大型扁平化组网的高可靠性、MSTP组网端到端的安全、金融数据中心的深层安全防护等等,都已经成为设备商必须面对的现实需求。传统高端设备在金融骨干网中面临的挑战以金融骨干网中最常见的路由器设备为例,二十余年来经历了数代的技术革新:第一代:CPU集中式转发,共享总线,固定接口第二代:CPU集中式转发,共享总线,模块化接口卡第三代:CPU分布式转发,共享总线,模块化接口卡第四代:ASIC分布式转发,交换矩阵,模块化接口卡第五代:网络处理器NP分布式转发,交换矩阵,模块化接口卡图1路由器中常见的微处理器从第一代到第五代路由器,转发性能从几十M软件转发提升到几十G硬件转发,内部互连架构从冲突严重的共享总线升级到无阻塞的全分布式Crossbar交换矩阵,接口类型从窄带固定接口一举跨入万兆。可以说路由器应对传统的路由转发业务完全没有问题。但即使是先进的第五代路由器,在金融骨干网新业务面前也仍然面临着严峻的挑战。杭州华三通信技术有限公司回顾路由器的发展历史,使用过的微处理器一共有四种:通用CPU、嵌入式CPU、ASIC芯片以及网络处理器(NP),如图1所示。从处理器的报文转发能力上看,通用CPU嵌入式CPU网络处理器ASIC,而从四到七层业务处理能力上来看,ASIC嵌入式CPU网络处理器通用CPU。1.通用CPU通用CPU一般指X86系列CPU,主要提供厂家是Intel和AMD。通用CPU的主频一般都很高,适合于图像处理、科学运算、数据库处理等对运算尤其是浮点运算性能要求很高的上层复杂业务。通用CPU具有良好的编程灵活性、极佳的复杂业务适应能力和简单易用的开发环境。不过通用CPU毕竟不是网络处理器,虽然早期的路由器曾经采用过奔腾通用CPU,但终因其功耗大、对加密等复杂应用无硬件加速、网络专用总线类型匮乏、指令系统复杂且效率低、更新换代频繁等劣势而被各网络设备厂家抛弃,现在只能在网络设备的控制系统,如主控板上偶尔看到它们的身影。2.嵌入式CPU目前嵌入式CPU使用非常广泛,从ARM、MIPS到PPC架构,都有大量的选择。嵌入式CPU是第一代至第三代路由器的主要处理器平台。一般来说,嵌入式CPU的主频不是特别高,从几百M到1个G不等,功耗相对通用CPU要低很多,但对系统架构进行了专门优化设计,在数据包转发性能上较通用CPU要高很多。另外,嵌入式CPU一般也可以完成一定性能的L3-L4层应用业务的处理,甚至也可以完成对L4-L7层业务的处理。但由于受限于编程环境,以及缺少专门的硬件加速部件,会出现随着业务复杂性的增加和叠加业务的增多,性能急剧下降的问题。因此,嵌入式CPU通常使用在中低端路由器上。3.专用ASIC芯片专用ASIC芯片是为了满足网络带宽需求爆炸式增长而出现的高性能处理器。它将IP转发、MAC转发以硬件的方式固化下来,轻松达到几十个G的包转发性能,这是通用CPU和嵌入式CPU根本无法企及的。因此,专用ASIC芯片在二、三层以太网交换机以及某些强调转发性能的高端路由器上得到了广泛应用。但有些尴尬的是,在得到了高转发性能的同时,对复杂业务的处理能力却没有改观,甚至仍需借用其他设备。以GRE隧道业务为例,目前普通的以太网交换机不能单独提供,必须搭配路由器或者VPN网关。至于IPSec加密、语音等复杂的网络应用,ASIC更是无能为力。并且由于ASIC芯片均为固化设计,很多时候为了支持新业务只能等待新型号的ASIC推出,周期漫长,不利于保护投资。4.网络处理器为了满足高性能业务的需求,设备商在高端路由器中引入了网络处理器(NP)。可以认为,NP是一种可编程的ASIC。NP在报文转发性能上比ASIC稍弱,但是由于可编程,它可以完成ASIC不能胜任的L3-L4层复杂业务,如NAT、GRE隧道等功能,且业务性能相对传统的嵌入式CPU也有了质的提升。但是NP采用微码进行开发,提供新功能的周期相对较长。另外NP的代码空间有限,无法支持很丰富的业务类型,并且受硬件架构所限,隧道加密、多业务的灵活叠加等仍然很难实现。由上面的分析可以看出,传统的微处理器各有特色。在应用日趋复杂的大型骨干网络中,上述处理器很难在性能和复杂业务适应性方面实现很好的平衡,因而采用上述处理器为处理核心的网络设备也会面临越来越严峻的挑战。杭州华三通信技术有限公司因此,在网络应用蓬勃发展的今天,众所期待的理想处理器可以概括为:具备高转发性能、易编程、良好L4-L7层业务应用灵活性的网络微处理器。而多核处理器,正是朝着这一方向迈进的新一代网络处理器,它的出现,给网络设备的复杂业务高性能处理带来了无限的可能性。多核技术在网络设备中的使用首先,在目前芯片功耗及技术、工艺能力限制下,采用多核处理器设计架构可以说是最好的提升芯片性能的方法。简单说来,多核处理器,是在同一个硅晶片上集成了多个独立物理核心(所谓核心,就是处理器内部负责计算、接受/存储命令、处理数据的执行中心,可以理解成一个传统的单核通用CPU),每个核心都具有独立的逻辑结构,包括缓存、执行单元、指令级单元和总线接口等逻辑单元,通过高速总线、内存共享进行通信。实际工作时,每个核心可以在相对节能的方式下运行,以牺牲单个核心的运算速度,达到多颗核心协同处理任务使性能倍增的目的。上述工作原理,对于网络专用和民用的多核处理器(如Intel或AMD)而言都适用。表1微处理器关键规格对比一览关键规格嵌入CPUNP民用多核处理器网络多核处理器可编程能力/易用性操作系统支持不支持支持支持C语言编程,标准指令集支持,精简指令集不支持支持,复杂指令集支持,精简指令集指令空间无限制支持不支持支持支持数据转发性能优化的报文转发指令不支持支持不支持支持高速内存子系统不支持支持支持支持优化的报文重组、转发、缓存调度机制不支持支持不支持支持网络专用总线与接口高速SPI通信总线不支持支持不支持支持内置高速通信接口少量FE、GE不支持不支持多个GE、10GE复杂业务处理加速能力浮点运算加速单元无无支持无硬件加密部分支持,性能有限不支持不支持普遍支持正则表达式模式适配不支持不支持不支持部分支持TCP硬件加速不支持不支持不支持部分支持硬件压缩与解压缩不支持不支持不支持部分支持由上表可以看出,网络多核处理器保持了传统CPU软件转发的灵活性,其多个内核并行工作的机制也提供了几乎等同NP的硬件高转发性能;同时在网络常见复杂业务的硬件加速方面也做了充分考虑,使得多种复杂业务叠加时,转发性能几乎不受影响。0所示的一款网络多核处理器,它不仅提供了各种高速网络端口(从GE到100GE),还可以完成普通转发和直达7层的复杂业务,可以说,网络多核处理器是一个真正的全能型选手。杭州华三通信技术有限公司一款网络多核处理器的功能需要指出的是,网络多核处理器和民用多核处理器虽然同为多核架构,但前者侧重于网络报文高速转发并兼顾复杂业务,而后者则侧重于高速运算,适用于七层复杂应用,这使得目前两者还无法互相替代。后续篇幅中涉及的多核处理器如无特殊说明,都是指网络多核处理器。多核处理器的出现使网络设备商找到了一条融合复杂业务和高转发性能的新路,但多核处理器特有的并发互锁难题、多核处理器在分布式网络设备中的无缝集成、复杂业务多核并行架构设计等等,也同时成为各个设备厂家必须攻克的技术难题。H3C从2004年初开始便涉足多核处理器领域,在多核技术方面的探索和积累走在业界前列。截至2009年9月份,H3C一共有超过50项的多核相关软硬件技术获得专利,另外还有20多项的多核专利技术已经被国家专利局受理。H3C的多款高端网络设备,如SR88/SR66系列核心路由器,引入了业界领先的多核技术并成功商用,结合H3C多年来服务于金融行业的经验以及对金融业务应用模型的深入理解,已经为金融骨干网的各种新课题提供了完美的解决方案。金融骨干网中的多核技术应用1.大容量精细化QoS业务保障金融网络的扁平化发展,在大幅度降低IT运维成本的同时,也对骨干网设备也提出了更高的要求。原先通过多个汇聚设备终结的流量转由一两个骨干设备直接承载,每台骨干设备需要接入的通道大大增加,突发流量导致的链路拥塞会引起实时交易失败、视频会议马赛克、VoIP语音无法听清等恶劣后果。这就需要在骨干网链路上部署精细化的QoS拥塞管理策略,即为每条链路上按照承载的业务重要性分配带宽并保证相应的传输时延和抖动指标。同时为了避免不同业务之间的互相干扰,还需要在一条链路上为不同的业务配置不同的QoS队列。目前有的银行已经明确规定单链路要提供超过10个以上的QoS队列。这对传统的网络设备是极为严峻的挑战:数百条广域链路上部署精细化的拥塞管理策略;QoS队列总数可能多达数千个;所有QoS队列出现拥塞时还需保证线速的转发性能……业界通常采用高端NP网络处理器结合TM(TrafficManager,流量管理器)的设计方案来应对上述QoS需求,性能指标上是可以满足的,但成本很昂贵,导致客户部署时投入偏高。业界也有少数厂商为上述难题找到了具备较高性价比的解决方案。下面以H3C的汇聚路由器SR6600系列为例进行说明。SR6600系列路由器采用业界领先的网络多核处理器作为分布式接口板的业务处理核心,创新性地实现了分布式多核QoS功能。单处理器内部由32个微核组成,每个微核的处理性能都与一台中端路由器相当,所有的微核并行工作,再加上分布式多线卡的设计,那么一台SR6600的整机性能就相当于数百台中端路由器。因此,无论是广域端口密度还是大容量QoS队列调度的要求,都能轻松满足。另外,SR6600线卡采用杭州华三通信技术有限公司个,结合处理器内置的200ms大容量QoS缓存以及高精度硬件调度单元,完全满足大容量多业务精细化拥塞管理的需求。2.大型扁平化组网高可靠性金融业务的特殊性,要求为所有链路提供秒级甚至亚秒级的可靠性方案。而路由协议传统的慢速Hello检测机制是无法满足这一指标的。目前业界较为常见的做法是在设备之间部署BFD(双向路径检测)快速检测,结合路由协议快速收敛或者FRR(FastRe-Routing,快速重路由)技术,将业务倒换恢复速度控制在秒级。需要说明的是,BFD通常是由网络设备主控板的控制CPU完成的,很容易导致以下状况:当主控CPU不忙的时候,可以应付BFD实时处理,一旦CPU负载很重,则很可能使得BFD报文收发间隔超过10ms(BFD的最小检测间隔)。这种情况持续一段时间后,BFD会话双方收发检测报文不及时,产生误检测,最终导致业务在主备链路之间反复切换,流量频繁中断。这使得BFD技术通常只能部署在会话数不会很多(一般不超过20个),并且收发包间隔较长(300ms以上)的场景。但这样的规格显然无法满足金融高可靠性要求。早期的高端设备设计时大多没有考虑到检测精度如此苛刻的可靠性需求,只好将其软件故障检测指标压低并且局限于小范围使用。近年来,部分网络设备开始逐渐实现此需求,比较常见的做法是在主控板上放置一个专门的、负责高精度的故障检测的OAMCPU,但这种做法受限于OAMCPU的能力,故障检测的容量不能很大,并且发生故障后,还存在从主控板到接口板的通知延迟,影响业务切换速度,另外,增加OAMCPU还会提高设计成本。还是以H3C的SR6600为例,说明如何在故障检测精度、容量以及设计成本三者之间取得平衡。SR6600充分利用多核处理器的硬件架构,实现了高性价比的多核分布式OAM平面,使BFD会话的容量和检测性能大幅度提升,满足了大型可靠性组网的需求。图3为SR
本文标题:2-2多核技术在金融骨干网中的应用-刘晖
链接地址:https://www.777doc.com/doc-220434 .html