SR6600业务多核分布式处理技术白皮书

SR6600业务多核分布式处理技术白皮书

关键词:多核CPU、多线程

    要:本文就H3C SR6600的业务多核分布式处理技术做了全面的介绍,并通过一个案例对该技术为用户带来的投资成本上的节约进行了分析。

缩略语:

缩略语

英文全名

中文解释

ASIC

Application Specific Integrated Circuits

专用集成电路

NP

Network Processor

网络处理器

NAT

Network Address Translation

网络地址翻译

GRE

Generic Routing Encapsulation

通用路由封装

 

 



SR6600业务多核分布式技术概况

1.1  产生背景

随着计算机和网络技术的发展,人们意识到采用一个处理器的集中式路由器设备受到当前处理器技术水平的限制,只能达到一定的工作频率和处理能力,已经不能够满足日益增长的计算和网络处理的需求。

图1 传统高端分布式路由器的业务是还是集中处理

 

为了提高单节点路由器设备的处理性能,业界通常采用分布式的设计思路,即单台路由器设备支持多块接口板,每块接口板都是一个独立的系统,接口板往往使用NP(网络处理器)或者ASIC(专用集成电路)进行报文转发,多个接口板产生的累加效应可以有效提升整机的转发能力。但是这种设计中采用的NPASIC转发引擎对硬件依赖性较大,通常只能给用户提供高性能的数据转发和简单的业务处理,而目前路由器设备愈发需要的复杂业务处理能力,如防火墙、加密、深层业务解析等等,上述专用处理器几乎是无能为力。为了弥补这个缺陷,传统路由器设备厂商往往通过一个集中式的业务单板来完成分布式路由器对业务的支持,比如为了支持NAT业务开发专用的NAT单板,为了支持GRE隧道业务开发专用的隧道板,为了支持NetStream网流分析业务开发专业的NetStream单板等等。而这种实现方法要求用户不得不追加投资,用以单独购买支持业务的处理板,有时还需要为这些业务板购买槽位数更多的设备。不仅如此,如上图所示,独立业务板的设计使得原本创新的分布式设备优势在业务上又回归到集中式处理的性能尴尬之中。

为了解决集中式路由器转发性能差,分布式路由器业务差且部署成本昂贵的问题,H3C公司提出了路由器采用多核分布式技术处理业务的概念,并且已在其SR6600分布式高端业务汇聚路由器上成功地加以应用。SR6600分布式路由器目前包括SR6604SR6608SR6616共三个款型,接下来以SR6608为例进行描述。

1.2  多核分布式技术优点

1. 业务多核并行处理兼顾性能和灵活性

H3CSR6608路由器采用了业界领先的多核多线程处理器作为接口板的处理引擎,如下图所示,该处理器先进的832线程架构使得业务可以并行处理(每个内核的处理能力大致与H3C的高性能单核路由器设备AR46相当),因此SR6608的接口板业务处理性能相对于传统的单核集中式路由器有大幅度的提升。

图2 处理器内部8个内核可以同时处理业务数据

 

在性能得到有效提升的同时,由于多核多线程处理器环境下采用C语言编程,在数据报文转发过程中能够做到随时判断当前转发的数据报文是否需要进行业务处理并进行分支跳转,及时把这个数据报文交给相应的模块进行业务处理,业务处理可以做得相当灵活。另外使用多核处理器基本不存在指令空间问题,可以很容易地进行功能扩展。

相比之下,传统的ASIC处理器由于采用了固化的硬件芯片技术,无法按照用户的需求灵活的改变数据报文的处理流程,而采用ASIC作为分布式路由器的接口板对复杂业务的支持更是无从谈起,只能求助于非ASIC处理器实现集中式业务板提供业务。而传统的NP处理器一方面由于代码指令空间的限制,业务不能做得很丰富,如果在普通接口板上实现业务,会影响基本功能规格,因此不得不把这部分功能放在专用板卡上集中处理;另一方面由于NP对数据报文处理流程的相对单一,从而使其不得不放弃部分复杂业务的支持。

因此可以说,H3C SR6608采用多核多线程处理器作为业务处理引擎,一方面克服了单核处理器的性能瓶颈,另一方面也摆脱了ASICNP在业务处理中的尴尬境地,高性能和业务的灵活性得到了完美的兼顾。

2. 业务分布式处理提升性能并且降低部署成本

图3 业务在接口板直接处理

 

接口板采用了高性能的多核多线程处理器,再配合H3C公司自主知识产权的多核Comware V5操作系统,SR6608不仅实现了报文在接口板上的分布式独立转发,而且把把传统分布式路由器需要集中处理的NATGRENetStreamL2tpIPSec等复杂业务特性都放到了各个槽位的接口板上,可以说,H3CSR6608实现了业务的全分布式处理。

如上图所示,业务在SR6608的接口板上可以直接得到处理,这样用户不仅不再需要购买单独的业务模块并为这些模块预留单独的槽位,部署成本降低的同时也消除了业务集中式处理而产生的性能瓶颈。

另外,由于H3CSR6608实现了业务的全分布式,不同的接口板可以并行运行各种业务,从而极大提升了设备的整机业务处理性能。我们可以把一台插满4个接口板的SR6608分布式路由器设备看作32 台(4×8H3CAR46路由器在同时处理业务,这样就完全满足了用户对单点路由器设备业务处理能力的需求。

SR6608业务多核分布式技术实现

图4 多核分布式软件架构



上图所示为H3C SR6608的业务多核分布式软件架构。概括起来有三个重要特征:

l              路由与业务引擎分离

l              控制与数据平面分离

l              多核并行进行业务处理

下面对这三个特征逐一进行介绍。

2.1  路由与业务引擎分离

H3C SR6608分布式路由器实现了路由和业务引擎的分离:主控板称之为路由引擎,它负责路由计算、转发表下发同步以及系统配置管理等全局性的核心控制工作,可以称之为整个系统的指挥官;而接口板称之为业务引擎,在主控板下发指令之后,独立完成数据包的转发以及相关的业务处理。

以上这种分离式的设计能够最大程度地保证设备最核心的控制功能不受业务处理干扰:即使接口板全速处理业务甚至负荷已经很重的时候,主控板的核心控制功能还能正常运行,从而极大地提升了整机的可靠性。

2.2  控制与数据平面分离

无论是集中式的路由器,还是分布式路由器的接口板,从逻辑上都可以将其软件系统的功能划分成控制和业务两大部分。控制部分包括命令行配置、网管配置、网络协议状态机等模块,是业务的触发者和监督者;而业务部分包括报文转发、加密解密、NAT地址转换、防火墙报文过滤等模块,是系统业务的真正执行者,会占用系统绝大部分资源。控制和业务两者关系协调不好,或者会给业务处理带来抖动和延迟,或者会使控制模块得不到及时的处理,严重时甚至可能导致相关业务完全中断!

4所示:H3C SR6608分布式路由器将控制和业务这两部分功能从软件架构上划分为控制与数据平面,在多核处理器作为业务引擎的的接口板上,这两个平面分别运行在不同的CPU内核上,一个CPU内核运行控制平面软件,其余内核运行数据平面软件。这种凭借不同处理器内核实现软件功能平面硬件分离的实现方式,有效保证了系统在处理控制平面业务的时候,报文转发等数据平面业务还能由其他内核继续进行处理,彼此不受影响,完全消除了控制、数据业务的互相干扰。使得系统可靠性得到了极大的提升。

当然,两个平面的分离也不是绝对的。SR6608还采用了处理器内核的硬件消息机制,高速无阻塞地完成两个软件平面之间的通信,充分保证了数据平面及时响应控制平面的指令进行工作,并且控制平面对数据平面的工作状态也能随时做到了如指掌。

2.3  多核并行进行业务处理

传统的分布式路由器在支持复杂业务时受NP或者ASIC硬件架构限制,灵活性不够。或者求助于集中式业务板或者就直接不支持。

H3CSR6608采用多核多线程处理器作为接口板的处理引擎,在复杂业务处理上有着无与伦比的优势。

图5 多核并行处理业务示意图

 

如上图所示,各种类型的业务报文在进入多核接口板后,先经过一个负载均衡引擎完成预处理(该处理为硬件均衡结合软件均衡,兼顾了快速和灵活),之后流量将均匀散布到不同的业务处理内核进行下一步处理,每一个内核所作的工作可以一致也可以不同,如控制核做路由报文处理,业务核1做加密,业务核23GRE隧道处理,业务核4NAT处理。这样各种业务都能灵活有效地得到处理。也正因为业务能做到灵活性和高性能的兼顾,在SR6608上实现复杂业务的全分布式才有了意义和可能。

业务多核分布式有效节省用户投资

H3C SR6608路由器在业界率先实现了业务的多核分布式并行处理,从投资角度来考虑,我们会发现采用SR6608进行实际组网在无形之中将为用户减少50%以上的成本。

下面我们可以通过一个案例来进行对比分析:

例如,现在有一个客户需要买一台高性能的路由器作为企业网的核心设备,同时他希望这台设备不仅仅能够简单处理数据报文转发,还要能够实现NAT功能用以把企业内网通过一个高速的广域网口连接到Internet,另外由于公司需要远程办公接入,所以还需要支持采用GRE隧道的方式。

传统分布式高端路由器配置方案:

l              购买一台4槽位的路由器

l              购买一块NAT业务的处理板

l              购买一个GRE隧道板

l              购买WAN接口模块用于Internet连接

l              购买LAN模块接入本地局域网

客户会发现按照这样的配置,设备的4个槽位将被全部占用。万一以后需要升级的话,如需要使用IPSec功能增加一块加密业务单板,原先这台设备就面临无槽位可用的尴尬境地!而且该方案用户为了满足组网要求,购买了 4 块不同功能的接口模块,价格不菲。

如果用户选用了H3C SR6608,情况会发生怎样的变化呢?

H3C SR6608的配置方案:

l              购买一台SR6608

l              购买一块高性能的FIP-200接口板,直接提供 2 Combo GE解决LAN接入

l              为这块FIP-200配一个WAN接口模块

通过这个配置方案,客户会惊喜的发现:只需要购买一个FIP-200的接口板外加一个WAN接口模块即可搞定一切!

l              SR6608路由器虽然只提供4个类似传统分布式路由器设备的槽位,但实际上每个槽位可以支持2个高速模块接口插槽,整机槽位资源可以和一个传统的8槽位分布式设备相当!本案例的配置方案只使用了1/8的槽位资源,以后扩容时槽位将绰绰有余!

l              H3C SR6608的所有NATGRE等业务都是在接口板上进行分布式多核并行处理,性能远远超过传统分布式路由器的业务集中处理单板,因此在SR6608的配置中,客户根本就不需要再单独购买相关的业务板(本配置案例中无需购买GRE业务板和NAT业务板),从而为其节省下大笔购买业务板卡的费用。而且SR6608所有接口板都内置强大的硬件加密引擎,在客户后续决定升级网络部署IPSec安全业务时,也无需为此追加任何投资!

综合以上,客户采用SR6608实现同样的功能以及更高的业务性能,购买的板卡减少一半,投入也减少了50%甚至更多!

小结

H3C在业界率先将多核多线程技术与分布式业务处理架构在SR6600分布式路由器上实现了完美的融合:在提供强悍转发性能的同时,各种复杂的业务也做到了多核并行处理、分布式并行处理,极大的提高了单块接口板以及整机的业务处理性能,真正为用户着想:无需追加额外的业务单板投资即可满足用户对业务功能以及性能日益增长的需求。

 

 

 

 

 

Copyright ©2007-2010 杭州华三通信技术有限公司 版权所有,保留一切权利。

非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。

本文档中的信息可能变动,恕不另行通知。

联系我们