新闻中心
  FortiGate 解决方案
  卡巴斯基网络版(反病毒)解决方案
  深圳福义轩信息技术服务级别及优势
  WatchGuard防火墙系列解决方案
  SonicWALL防火墙解决方案
  Sophos UTM 防火墙安全解决方案
  BlueCoat网络安全解决方案
  CheckPoint 解决方案
  网康上网行为管理解决方案
  安全咨询
  云安全技术公共服务平台
  风险评估工作管理
  安全及运维
  山石网科的专业培训2017年时间安排
  安全技术服务
  桌面云解决方案
  山石网科产品的2017年度保修说明
  智慧城市信息安全运营保障系统
  新华三H3C解决方案
 
首页 > 解决方案 >网康上网行为管理解决方案 >网康性能提升技术
 
网康性能提升技术
[ 2011-4-29 19:19:11

网康性能提升技术

1.1 多核并行优化技术

CPU和软件协议栈是网络设备中的重要组件,其两者之间能否很好的配合,极大程度上决定了系统的整体处理能力。随着技术的进步,CPU的开发和使用已经步入了多核时代,然而以往的网络应用控制设备的软件协议栈,大多仍然延续了单核CPU时代的设计模式,使系统性能很难得到提升。可以设想,如果在一块网卡上传输的网络流量只能局限在一颗CPU上进行处理,这颗CPU必然会不堪重负,而其它CPU即使处于闲置状态,也无法参与进来,因此造成系统可用资源的严重浪费。随着硬件技术的飞速发展,出现了多核处理技术。多个处理核心共享缓存、存储空间、总线等资源,使得多个处理核心并行计算成为可能;也为提高网络数据包处理性能提供了新的解决方案。以往,对于网络业务流的处理都由多核处理器中的一个处理核心来执行,无法有效调节各处理核心的负载,以达到硬件使用平衡和充分利用硬件资源。近来,出现了把网络业务流分配到多个处理核心的技术。但是,这些技术一般是把网络业务流随机或静态地绑定到多个处理核心,在一定程度上利用了多核处理能力。但是在网络业务流量不断涌变情况下,将业务流随机或静态绑定到多个处理核心的策略无法实时均衡多个处理核心的负载,不能高效地利用多个处理核心处理网络业务。

我公司通过对CPU及协议栈底层交互机制的深入研究,对协议栈的逻辑功能进行了重新的划分、组合以及封装,并与多核CPU的逻辑特性进行绑定,从而实现了协议栈的多核并行优化功能,使其能够与多核CPU更好地协同工作。多核并行优化技术包含多核并行的网络业务流处理方法及网络业务流处理设备。多核并行的网络业务流处理方法包括从网络中捕获数据包,将数据包匹配成多组业务流并生成业务流分配列表,以便多核处理器根据所述业务流分配列表对业务流进行处理,其特征在于在生成业务流分配列表之后还包括获取各个处理核心的负载情况、确定各组业务流的活跃级别、根据所述负载情况和所述活跃级别对所述业务流分配列表进行更改,从而对业务流进行动态分配。多核并行的网络业务流处理设备包括数据包捕获模块、业务流匹配模块。其中数据包捕获模块用于从网络中捕获数据包,业务流匹配模块用于将数据包匹配成多组业务流并生成业务流分配列表,以便多核处理器根据所述业务流分配列表对业务流进行处理,其特征在于还包括处理核心负载获取模块,获取各个处理核心的负载情况、业务流活跃级别确定模块,用于确定各组业务流的活跃级别、业务流动态分配模块,用于根据所述负载情况和所述活跃级别对所述业务流分配列表进行更改,从而对业务流进行动态分配。

多核并行优化技术动态地将网络业务流分配到多个处理核心,有效地调节了各处理核心的负载,充分利用了多核处理器的处理性能。此技术保证CPU各核能够各司其职,接收、处理、分析、控制、整型、发送环环相扣,紧密配合,极大地加快了数据包的处理速度,并且能充分合理地利用硬件资源,使系统整体性能发挥到最高。

1.2 无效链接动态清洗技术

当前P2P类应用已经占据了网络流量中相当大的部分,由于不具备智能选路能力,因此P2P在建立网络连接时会毫无目的地发送大量的试探性连接。这些试探性连接通常只包含数量极少的数据包,却在全部网络连接中占据了相当大的比例。对于这些连接,以往的连接表维护技术会不加区分地为其分配新的表项,造成大量无意义的连接在连接表中存在,在增大连接表规模的同时,造成了更多进行连接查找操作的性能开销,使系统资源无法得到有效应用。

任何网络连接,都离不开协议栈的作用。一个连接就是至少一个数据包从发送端到目的端的传送这中间首先要在连接表中创建便于跟踪维护的表项,使数据包和连接关联起来,然后通过协议栈的转化。

任何网络管理设备,如果要支持基于连接的控制,就需要维护连接信息,即对数据包进行连接跟踪,以便把数据包跟所属连接关联起来,从而在连接的层次对数据包进行控制。

基于传统技术的网络连接跟踪结构图

我们知道,在数据包进入协议栈之前,也即协议栈对数据包的后继处理之前,要进行数据包与连接的关联。一旦有新的数据包传送过来,就会产生新的连接。随着网络软件发展,尤其是以P2P软件为代表,经常会发出大量的试探性连接,而这些连接通常只包含12个数据包,却占据了全部连接数量的相当大一部分。对于这样的连接,目前的连接跟踪模块不加区分的为其分配新的表项,并且与正常连接一样,需要经过较长时间才会被清除。

目前网络连接跟踪存在的主要问题是:首先,很多无意义连接占据了连接跟踪表;其次,由于连接跟踪表的规模变大了,对于正常的数据包,查找相应连接表项的操作代价增大了;再者,在总连接数一定的约束下,新连接找不到可用新表项的概率增大了。

因此,需要一种新的网络连接跟踪机制,即在数据包入协议栈之前,减少无意义或无效的连接,并减小连接跟踪表的规模,在总连接数一定的条件下,增大新连接可用概率。有鉴于此,网康公司通过自主创新,把原有的单级连接跟踪表分成两级,提供了一种全新的基于两级连接跟踪逻辑的网络连接跟踪方法及其系统,如下图所示:

网康“无效连接动态清洗技术”的网络连接跟踪结构图

网康无效连接动态清洗技术包括连接跟踪逻辑的网络连接跟踪方法和网络连接跟踪系统两个方面。

连接跟踪逻辑包含处理未确认连接的表和处理已确认连接的表,网络连接跟踪方法包括以下步骤:

步骤1:对于未确认连接,判断是否满足确认条件;

步骤2:满足确认条件的话,迁移到处理已确认连接的表中;

步骤3: 把处理已确认连接的表中的连接依次进行协议栈后继处理

对数据包,先在处理已确认连接的表T2中进行查找与该数据包相关的连接,如果该连接已在处理已确认连接的表T2,则直接执行步骤3;对不属于已确认连接的数据包,在处理未确认连接的表T1中进行查找与该数据包相关的连接,如果没有相关表项,确认其属于新建连接,则在处理未确认连接的表T1创建对应的连接表项。

网络连接跟踪系统,包括处理未确认连接的表(T1)和处理已确认连接的表(T2),以及连接迁移模块。未确认连接的表T1将周期性清理其中不活跃、时间超过时间阈值的未确认连接。而周期性清理操作的周期由处理未确认连接的表T1的若干次更新操作确定,或者用定时器触发控制。

网康公司的“无效连接动态清洗技术”在数据包入协议栈之前,把单级连接跟踪表改进为两级连接跟踪表,减少每一级连接跟踪表的规模,并使无效连接或无意义连接占用有限的网络资源降到最低,同时提前对数据包加以区别以便跟踪其连接状态。

网康公司“无效连接动态清洗技术”很好地解决了大量无效连接占用大量系统资源的问题。它提供了一种全新的网络连接处理机制,能够根据连接的有效性进行二级分类,并对无效连接实现高效动态清理,从而极大地提高了连接跟踪表的可用性,有效降低了系统开销。

1.3 多维非线性策略引擎技术

策略引擎是网络应用控制设备用于处理和执行各种应用策略的核心组件,以往的网络应用控制设备所采用的策略引擎采用线性架构进行设计,因此在需要建立较多策略的复杂场景下,往往会出现性能随策略数的增多而逐渐下降的问题,从而影响了设备的实际使用效果。

我公司在策略引擎的设计上,采用了多维、非线性的数据包分类架构,当数据包到达引擎时,将使用时间复杂度为log(n)的优化算法来加速流控规则的查找,显著提高策略匹配的效率与灵活性。同时,此技术能够智能选择有效策略并进行执行,因此即使在海量规则数的条件下,系统性能依然能保持高效(如下图)。