首页 >> 安全存储 >> 技术 >> 正文
 
Netronome:深度包检测方案的演进
http://www.cww.net.cn   2010年3月18日 14:36    通信世界网    
作 者:Netronome 窦忠辉

    随着企业和运营商网络上网络流量的不断增长,推动了对于带宽和线路速率需求的增加。基于内容的深度包检测(DPI)、安全处理等应用直接推动了网络基础设施的处理能力呈现指数级增长。在短短的时间内,以太网网络基础设施带宽从以10Gbit/s的规模扩展到40Gbit/s到100Gbit/s。相应的,网络通信设备为了适应高速增长的基于协议、内容、应用的可控制和可视性,必须要有相应的通信处理机制,一个新的多核、异构处理器架构是必需的。在此架构上采用通用多核X86 和网络流处理器,支持L2 - L7的业务处理。 在此基础上设计的架构将允许设备供应商提供高性能的、灵活和现场可编程的系统,能使服务供应商在更长的产品生命周期内创造更多的用户收入。

    以下讨论了一种新的网络流处理架构以及在新的异构多核处理架构上的应用。

    1深度包检测

    深度包检测就是在L2-L7上分析处理网络流量并实现网络安全、服务保证、服务质量和应用限速。相比传统的L2-L4应用处理,DPI在基于流识别基础上对包头和包内容进行分析处理。许多协议都不采用标准的IP,或者采用非标准或者可协商的TCP/UDP端口来建立连接,因此传统的L2-L4包分类机制不能实现基于应用级的识别。多数应用和协议识别特征码都存在单个报文中,或者是跨越几个报文,因此仅仅分析单个报文头意义不大。

    这种对内容的需求识别不仅适用于固定LAN/WAN,也涉及到越来越多的移动网络。随着3GLTE带宽(高达100Mbit/s的下载)的增长,同时融合数据、语音和视频服务,可以预期,用户将利用无线网络支持所有固网业务的弱点来攻击无线网络的漏洞。

      2 DPI及其DPI处理平台面临的挑战

    为了满足DPI的网络运营商的需求,DPI平台必须满足以下几个特点:

    (1)支持传统的通用的L2–L4,包括源和目标IP地址、IP协议、源和目标的TCP/UDP端口号,差分服务代码点(DSCP)和入口/接口/ VLAN;

    (2)支持所有网络协议层和完整的数据包有效载荷;

    (3)支持静态、动态和协商协议端口号的应用识别;

    (4)能够处理多个会话连接报文,扩展标准的TCP握手(SYN、SYN-ACK、SYN);

    (5)支持一个能够识别通用协议的特征码库;

    (6)能够灵活可编程以支持网络协议变化、演进和应用变化;

    (7)支持线速的全业务分析;

    (8)支持主动和被动的工作模式;

    (9)基于报文和流分析,能装支持以下处理结果的组合:

    a. 主动和被动的包丢弃;

    b. 流量标识;

    c. 内容植入;

    d. 排队、策略、流量整形、流速率控制;

    e. 报文重定向;

    f.负载均衡;

    g. 报文和流的计数、测量、统计分析。

    传统的网络和通信处理器不足以应付高速率的L2-L7数据报文分析。其他处理器如多核MIPS架构,虽然有能力执行DPI,但是以性能下降为代价。这些架构要求所有的包处理发生在通用处理器中,但是缺乏集成安全模块和高速数据平面的带宽,同时缺少协处理包处理硬件。随着网络速度的增加,多核MIPS方案能在每一条流中的每一个报文实现DPI的同时还能实现性能的线性增长。另外的处理解决方案还有就是采用固定功能的网络处理器,可以运行在高速数据的处理,但这些网络处理器往往缺乏灵活可编程性,无法处理超越L2-L4层的业务。

    3基于x86/IA+NFP网络流处理器的异构平台

    为了达到真正实现DPI的要求,随着对网络I/O虚拟化,高性能流处理架构是必要的。为了使该系统具有可扩展性,一个很好的做法是使应用处理分开的L2 - L7数据平面处理。一般来说,多核处理器的重点放在应用层业务处理,而报文处理器的重点是数据平面处理。一个高级别规划模型的异构多处理架构是必要的。这需要利用在高级别语言和使用开放源代码的规划工具,同时允许系统设计师定制的PPE最佳功率/性能比。这里介绍的异构处理架构是基于支持虚拟I / O的网络流处理器和通用多核x86 CPU来实现的,其架构如图1所示。其中图1的左半部分描述多核心通用CPU和专用功能芯片架构,在异构模型中,解决方案是使用NFP网络流处理器和通用多核CPU,NFP集成多个可编程报文处理器,安全处理器和优化的I/O和内存接口。

   

    Netronome的高性能网络流处理器(NFP3200系列)是专门为这种架构设计的,NFP网络流处理器高度可编程,40个包处理引擎,紧密耦合通用多核CPU,同时集成强大的安全处理引擎(20GIPsec),集成支持SR-IOV的第二代PCIE接口(如图2)。NFP3200目标定位于20G线速处理能力,作为业界首款为覆盖网络设备和服务器提供统一计算平台的网络流处理器,大幅提升了IntelIXP2800网络处理器的处理性能,并且改进了微引擎技术,同时兼容IXP系列网络处理器(IXP2400/2350/2800)的软件,基于Intel IXP2400/2350/2800网络处理器的系统设计都可以升级过渡到NFP3200,极大的保护了现有IXP网络处理器客户的软件和硬件投入。

    在通用业务处理上,x86/IA架构无论在系统性能、稳定性、以及第三方开源代码的支持上都具有其他多核通用处理器无法比拟的优势,但是IA在通信业务处理上存在局限性。如支持大规模小包处理会导致性能急剧下降,同时延迟加大;另外基于流状态处理,访问控制查找方面IA也存在局限,特别是在10Gbit/s以上的在线网络流量分析和深度包检测。在Netronome的DPI 异构平台中,采用IA+NFP架构,实现L2-L7的深度报文处理。其中NFP网络流处理器实现L2-L4的流分类、协议识别、基于策略和流状态的快速报文分发。对于需要进行深度包检测的报文直接重定向到多核x86/IA, 由其完成深度报文处理,同时定义该数据流的处理策略并下放到NFP网络流处理器,从而由NFP网络处理器完成后续报文的直接处理(基于流状态),大大卸载了x86/IA 的处理负载,从而能够使得x86/IA可以支持更多应用层面的业务。如图3所示。

[1]  [2]  编 辑:石美君
关键字搜索:Netronome  深度包检测  
相关新闻
每日新闻排行
企业黄页
会议活动