互联网实时深度包解析和控制节点设备和方法

文档序号:7707728阅读:985来源:国知局
专利名称:互联网实时深度包解析和控制节点设备和方法
技术领域
本发明涉及互联网的流量管理,更具体地,本发明涉及深度包解析和控制设备和
方法,用于对互联网上的实时分组数据流进行实时流量管理。
背景技术
互联网发展经历了近40年历史,截止08年底仅中国的互联网用户数就已达到 2. 75亿,超过美国,居世界第一。互联网的业务和各类应用已成为中青年人群的工作和生活 必需品。在其网络规模迅速扩大,并对人类社会生活等诸多方面产生深远影响的同时,也暴 露出了许多固有的问题。主要表现为安全性和可信任性不能保证,可控、可管理性差,服务 质量不能保证,可扩展性差等方面。 当前互联网的安全问题和不可信任性表现尤为突出,已经成为已成为其发展的瓶 颈之一。表现在设计、建设和运行维护管理的各个环节,频繁爆发的互联网安全事件是互联 网脆弱性的具体表现,诸如大量的敏感信息泄漏、地址欺骗、垃圾邮件泛滥、网络欺诈等事 件屡见不鲜,而大部分安全事件无法追踪到肇事者。以垃圾邮件泛滥为例,根据安全公司的 统计结果显示,在2008年,全球每天垃圾邮件发送量比2007年增加300亿到500亿封。在 2008年垃圾邮件平均日发送量达到1700亿至1800亿封。而这些安全事件大部分与网络的 不可信任性有关。另据Websense公司统计的数据显示,在2007年下半年,51 %的传播恶意 软件的网站是被黑客攻破的合法网站。互联网不可信任性的后果是国家和社会大众对互联 网的应用前景表现出完全的不放心。 一方面不放心将关键应用完整地搬到互联网上(如电 子政务,电子商务),也不敢使用互联网上涉及的关键应用(如网上理财和支付)。同时,互 联网的安全问题也影响着国民经济的健康发展,甚至威胁到国家安全。
在目前的互联网协议体系结构中,端到端服务质量(QoS)保证是一个难题。互联 网本质上提供的是一种"尽力而为"的无连接服务,它的功能只是尽量将分组发送到目的
端,而不提供任何服务质量保证,比如带宽保证、时延抖动等。在以FTP、Email、Web服务为 主的数据业务场境下,互联网基本可以满足用户需求,但是对网络服务质量要求较高的业 务,如端到端语音、实时流媒体传送等需求,现有的互联网难以提供服务质量保证。再加上 网络流量的剧烈增长,问题更加突显。上个世纪90年代初,绝大部分网民也就发送仅占几 个字节的文本电子邮件,当时美国境内每月的数据传输总量也就几个TB(1TB = 1000G)而 已。现在,全球最大的视频分享网站YouTube—天的数据流量相当于750亿封电子邮件。目 前美国视频网站一个月的流量就等同于2000年全世界范围内互联网的所有流量之和。另 据美国互联网创新联盟预计,互联网流量每12个月就翻一番,比摩尔定律预测的结果还要 快。 现有DPI节点设备感知不同用户和各类应用的能力被淡化,而大大突出安全过滤 等方面的功能。随着互联网的重要性日益突显,通过网络设备感知不同用户和各类应用的 需求日益增多,而且通过这些感知的结果去调控和调度网络流量的呼声越来越高。通过深 度包解析,感知不同用户和应用,从而达到节点级控制和网络级调度的功能是本发明技术
6的特点之一。 以上这些缺陷不仅制约了互联网自身的发展,同时也阻碍了互联网深度包解析、 感知、控制和调度技术的推进,而这些问题绝大多数是互联网体系结构所导致的。如何解决 这些问题,是各国政府正在思考并希望解决的问题。如果对互联网协议体系结构的重大调 整和变革,至少需要解决网络兼容性和原有巨大投资如何保护的问题。另一个办法是平滑 演进,逐渐改良,本发明技术就是以此为基础提出的。 近几年国外互联网设备提供商和安全设备生产商都加紧了这类产品的研制, ARBOR Networks释放了 Arbor Ellacoya E100,提供电信级平台,提供两个10Gbps的DPI 模块,支持20Gbps容量,支持5000用户,以及基于流的分析和报告,带宽管理,业务计划管 理和配额管理等。 Sable Networks在08年1月释放了 S80和S240业务控制器和相关的SableOS R2. 0软件,具有线速七层DPI处理能力,从10Gbps速率可扩展到220Gbps,支持以太网和 SONET接口 。 S0NICWALL在原防火墙产品的基础上增加DPI功能,支持视频流和音频流管 理,按组的带宽管理,应用带宽优先级,P2P流的控制,防病毒,防入侵检测,内容过滤,部分 反垃圾邮件功能等。Blade Networks Technologies以IBM BladeCenter服务器平台为 基础,释放了万兆以太网流量管理解决方案。具有60Gbps处理容量,每秒处理420万个 包,240万个并发流,1200万用户,负载平衡能力,基于用户和应用的带宽管理,七层DPI包 解析能力,具有电信级可靠性和热备份,对实时VOIP业务具有很低的时延抖动等。Allot Communications在2007年4月发布了深入挖掘DPI的白皮书,认为DPI技术可以让业务提 供商改善IP多媒体业务性能,阻止不必要的资源消耗和导致拥塞的流量,同时起到减轻网 络攻击,进行网络流量的行为和启发式分析,解决网络带宽瓶颈,保证服务质量等作用,是 运营商和ISP新的利润发源地。AdvancedIO Systems在2008年6月发布了基于MicroTCA 平台的V3020, Real-time 10GbE Packet Processing ExpertisePowers Intelligent Solutions,以满足DPI的市场需求。Freescale Semiconductor利用其原来已具有的网络 处理器技术,释放了多核通信平台芯片E500,与简单的CPU相比,执行复杂的DPI代码更有 效,具有一定的防病毒和恶意攻击能力。德国OpenPR(Worldwide Public Relations)释放 了PRX-1G和PRX-5G两款流量管理器,可以让网络运营商按每一应用监视和控制网络流量, 用七层深度包解析和行为级流量分析的结合来检测各类应用,支持基于VLAN的带宽管理, P2P,即时通信M, V0IP,隧道和流媒体等,PRX-5G的性能能达到6Mbit/s吞吐量,每秒处理 75万个包,支持1百万用户。PRX-1G的性能能达到3. 4Gbit/s吞吐量,每秒处理55万个包, 支持25万用户。 从以上的现有技术方案看,存在以下共同不足 l.DPI主要针对单向数据流进行操作,在相反的方向上是没有任何动作的。实际 上,对于Email (防垃圾邮件)这类应用,单向DPI是够用的。而对于WEB, V0IP,游戏,搜索 引擎,实时多媒体,即时通信等业务,其操作是双向的,尽管两个方向上操作的流量不对称, 但去和回两个方向是密切关联的,是操作和被操作的关系,也互为因果关系,缺一不可。
2.用户、网络运行维护方(或ISP)、DPI节点三者之间缺乏网络操作的互动、互 连和互通机制。DPI节点是由网络运行维护方(或ISP)增设的,并受网络运行维护方(或 ISP)控制的,DPI用户可以随时对DPI节点进行设置以达到其所需要的对终端用户和各类
7应用的感知和控制能力。这种感知和控制能力,以增殖业务形式体现,是为DPI节点用户服 务的。如果DPI用户并不知道DPI的存在,或者DPI用户不能通过网络对DPI节点服务功 能进行相应的设置,DPI存在的意义和必要性就大打折扣。 3.对于带内方式,控制和管理信息通道在去和回两个方向上有较大缺陷。如果认 为去DPI节点的方向是直达,那么回的方向则需要饶道。这给节点设备的控制和管理造成 不便,而使用带外的方式,又增加了成本。 4.现有DPI节点设备感知不同用户和各类应用的能力被淡化,而大大突出安全过 滤等方面。随着互联网的重要性日益突显,通过网络设备感知不同用户和各类应用的需求 日益增多,而且通过这些感知的结果去调控和调度网络流量的呼声越来越高。通过深度包 解析,感知不同用户和应用,从而达到节点级控制和网络级调度的功能是本专利技术的特
点之一。 5.增设DPI节点的目的之一是解决或部分解决业务的"端到端服务质量(QoS)保 证"问题。具体做法是,(1)特定分组在本DPI节点上排队时给VIP用户以高优先级;(2) 特定分组在本节点上排队时给相关实时业务以高优先级;(3)在分组离开本节点即将送往 下一节点之前,根据业务类型或用户的重要程度,修改IP包头的TOS字段,使其具有高优先 级或更低的优先级;(4)对于特定业务给出特定路由,这需要DPI节点与端到端路径上的其 它路由交换节点协商一致,这需要其它路由交换节点从数据转发和控制信令的角度把DPI 节点也看成类似的路由交换节点,即这类DPI节点也具有路由交换节点的功能,或者在现 有路由交换节点增加DPI功能;(5)对于特定实时业务,为保证时延抖动的一致性,在离开 DPI节点之前的输出队列上给予修正,使得这类分组穿过本DPI节点时时延为一个近似恒 定值。 从以上的现有技术方案看,其体系结构支持(3) 、 (4)和(5)是难以做到的,这是设 计上的不足。

发明内容
本发明针对目前互联网中日益增多的各类安全问题和不可信任事件,节点级控制 和网络级调度,以及端到端服务质量(QoS)差难题,提出在互联网原有协议架构不变并与 现有网络设备兼容的前提下,引入具有DPIC(互联网深度包解析和控制)的功能节点设备, 较好地解决互联网主要安全问题和服务质量问题,所实现的策略控制可以针对某一业务, 某一应用,某一用户进行一项具体的操作,包括实现节点级控制和网络级调度功能等类似 的策略处理功能。这种DPIC节点设备可以分为单节点型、电信承载网设备内置板卡型和 路由交换机内置板卡型。这三种设备中每一种又可细分为单向DPIC,双向非关联DPIC,双 向关联DPIC和端到端路径关联四种类型。由于该设备具有第二层到第七层协议的包解析 能力,所以穿过该设备的数据流所包含的用户信息和应用信息是能够检测出来的和可感知 的。该设备也可以在网桥,收发器,宽带接入,电信级以太网承载,电信传输等设备内置该项 功能。其应用主要定位在企业网网关处,接入网出口处,城域网的汇聚层,省网入口,或国家 网入口处等。与现有DPI(深度包解析)技术和产品方案相比较,其不同点和优势在于(l) 现有DPI主要针对单向数据流进行操作,本发明技术可以同时在两个方向上进行深度包解 析和控制(DPIC) ;(2)现有DPI设备布署到互联网后,其用户、网络运行维护方(或ISP)、DPI节点三者之间缺乏互动、互通和互操作能力,本发明技术从架构设计上就考虑到这一需 求;(3)增设DPI节点的目的之一是解决或部分解决业务的"端到端服务质量(QoS)保证" 问题。具体做法是,(a)在分组离开本节点即将送往下一节点之前,根据业务类型或用户的 重要程度,可以选取该项功能修改IP包头的TOS字段,使其具有高优先级或更低的优先级; (b)对于特定业务(路由交换机内置板卡型)可以通过路由选择,将其从优先级高和服务质 量好的特定路由转发;(c)对于特定实时业务,为保证时延抖动的一致性,在离开DPIC节点 之前的输出队列上对时延抖动值进行修正,使得这类分组穿过本DPIC节点时的时延为一 个近似恒定值。 本发明的主要思路是,在第一个层面,即在现有互联网线路上(比如,在企业网网 关处,接入网出口处,城域网的汇聚层,省网入口,或国家网入口处等),增加一个简单的深 度包解析设备,通过对分组L2-L7开销字节和内容的深度解析(即对用户和应用的感知), 可以过滤大量垃圾邮件和病毒信息。 在第二个层面,进行流量分类,性能参数测量,统计信息上报,本地资源管理,接入 身份控制,内容过滤和检测,基于策略的优先级,业务流量阻塞和整形,动态规则建立和修 改等。 在第三个层面,即实现用户、网络运行维护方(或ISP) 、 DPI节点三者之间良性互 动、互连和互通功能。具体来讲,DPIC节点是由网络运行维护方(或ISP)增设的,并受网 络运行维护方(或ISP)控制,DPIC用户可以随时对DPIC节点进行设置以达到其所需要的 对终端用户和各类应用的感知和控制能力。这种感知和控制能力,以增殖业务形式体现,是 为DPIC节点用户服务的。 在第四个层面,为解决或部分解决业务的"端到端服务质量(QoS)保证"问题。可 以做到如下功能(1)特定分组在本节点上排队时给VIP用户以高优先级;(2)特定分组在 本节点上排队时给相关实时业务以高优先级;(3)在分组离开本节点即将送往下一节点之 前,根据业务类型或用户的重要程度,修改IP包头的T0S字段,使其具有高优先级或更低的 优先级;(4)对于特定业务(路由交换机内置板卡型)可以通过路由选择,将其从优先级高 和服务质量好的特定路由转发;(5)对于特定实时业务,为保证时延抖动的一致性,在离开 DPI节点之前的输出队列上对时延抖动值进行修正,使得这类分组穿过本DPIC节点时的时 延为一个近似恒定值。 根据本发明的一个实施例,提供了一种深度包解析和控制设备,用于对互联网上 的实时分组数据流进行实时流量管理,该深度包解析和控制设备包括第一规则表单元,存 储包括第一组规则条目的规则表,所述第一组规则条目是预先定义的;第一扫描单元,接收 来自所述互联网的第一实时分组数据流,并按所述第一组规则条目所定义的扫描窗口来扫 描所述第一实时分组数据流;第一分析单元,在所述第一扫描单元的所述扫描窗口中将所 述第一实时分组数据流与所述第一组规则条目进行匹配,并输出匹配结果;以及第一规则 联动单元,根据所述第一分析单元所输出的匹配结果,对要输出回到所述互联网的所述第 一实时分组数据流进行联动控制。 根据本发明的另一实施例,提供了一种利用深度包解析和控制设备来对互联网上 的实时分组数据流进行实时流量管理的方法,该方法包括通过所述深度包解析和控制设 备中的第一规则表单元,存储包括第一组规则条目的规则表,所述第一组规则条目是预先
9定义的;通过所述深度包解析和控制设备中的第一扫描单元,接收来自所述互联网的第一 实时分组数据流,并按所述第一组规则条目所定义的扫描窗口来扫描所述第一实时分组数 据流;通过所述深度包解析和控制设备中的第一分析单元,在所述第一扫描单元的所述扫 描窗口中将所述第一实时分组数据流与所述第一组规则条目进行匹配,并输出匹配结果; 以及通过所述深度包解析和控制设备中的第一规则联动单元,根据所述第一分析单元所输 出的匹配结果,对要输出回到所述互联网的所述第一实时分组数据流进行联动控制。
在以下对本发明的示范性实施例的详细描述中,将描述本发明的这些特性和其它 特性以及优点,通过以下对本发明的示范性实施例的详细描述,本领域技术人员也将会明 显意识到本发明的这些特性和其它特性以及优点。


从下面结合附图对本发明实施例的详细描述中,本发明的这些和/或其它方面和
优点将变得更加清楚并更容易理解,其中 图1示出了根据本发明实施例的DPIC数据流窗口 ; 图2示出了根据本发明实施例的基本的DPIC功能和体系结构; 图3示出了根据本发明实施例的双向DPIC功能和体系结构; 图4示出了根据本发明实施例的实现双向各自独立DPIC时网络处理器(转发引 擎)的体系结构; 图5示出了根据本发明实施例的F-Engine DPIC-1的硬件体系结构; 图6示出了根据本发明实施例的网络处理器内部结构; 图7示出了根据本发明实施例的系统主程序流程; 图8示出了根据本发明实施例的单向DPIC所实现的流程图; 图9示出了根据本发明实施例的实现双向关联DPIC时网络处理器(转发引擎) 的体系结构;以及 图IO示出了根据本发明实施例的在高速路由交换机线卡及网络处理器上实现 DPIC功能的体系结构。
具体实施例方式
为解决或部分解决当前互联网的安全问题,节点级控制和网络级调度,以及端到 端服务质量(QoS)保证是一个难题,本项技术主要以平滑演进、逐渐改良的方式,在不改变 现有互联网协议架构的前提下,在以下几个层面发挥积极作用。 1.在现有互联网线路上,增加一个简单的深度包解析设备,通过分组L2-L7开销 字节和内容的深度解析,可以过滤大量与所设置的L2-L7开销字段信息匹配或与内容中相 关字段匹配的数据包,包括垃圾邮件、带病毒信息的数据包和入侵事件特征有关的数据包。 在这一层面,本发明与现有技术不同之处在于本发明在两个单向的DPIC快通道上都插入 有各自的双向慢通道。 2.进行流量分类,性能参数测量,统计信息上报,本地资源管理,接入身份控制,内 容过滤和检测,基于策略的优先级,业务流量阻塞和整形,动态规则建立和修改等。在这一 层面,本发明与现有技术不同之处在于对于WEB、 VOIP、游戏、搜索引擎、实时多媒体、即时通信等双向应用,通过"对偶规则条目",把两个相反方向的功能关联起来,建立了 "规则表" 的动态关联。 3.用户、网络运行维护方(或ISP)、DPI节点三者之间良性互动、互连和互通。DPI 节点是由网络运行维护方(或ISP)增设的,并受网络运行维护方(或ISP)控制的,这种控 制是为用户服务。用户可以根据服务级别设置DPI节点上对应的功能。在这一层面的功能 属电信级需求,是其它现有技术没有的。 4.对于带内方式,慢通道(即控制和管理信息通道)在去和回两个方向上是同一 双向路径,避免了"去"是直达,"回"是绕行的缺陷。节点设备的控制和管理不需要使用带 外的方式,节约了成本。 5.本发明技术所实现的DPI节点设备通过对数据流中每一个包进行深度包解析, 感知不同用户和各种应用,进而可以实现基于策略的节点级控制和网络级调度的功能,策 略是可以设置的,这是本发明技术的特点之一。 6.为解决或部分解决业务的"端到端服务质量(QoS)保证"问题。可以做到,(1) 特定分组在本节点上排队时给VIP用户以高优先级;(2)特定分组在本节点上排队时给相 关实时业务以高优先级;(3)在分组离开本节点即将送往下一节点之前,根据业务类型或 用户的重要程度,修改IP包头的TOS字段,使其具有高优先级或更低的优先级;(4)对于特 定业务(路由交换机内置板卡型)可以通过路由选择,将其从优先级高和服务质量好的特 定路由转发;(5)对于特定实时业务,为保证时延抖动的一致性,在离开DPI节点之前的输 出队列上对时延抖动值进行修正,使得这类分组穿过本DPIC节点时的时延为一个近似恒 定值。在这一层面的功能属电信级需求,也是其它现有技术没有的。 从以上几个方面,可以部分解决当前互联网的安全问题、节点级控制和网络级调 度,以及端到端服务质量(QoS)保证难题,缓解目前互联网发展中所出现的问题。
本说明书定义下列术语 De印Packet Inspection and Control (DPIC,深度包解析和控制)一种实时的 流量管理处理功能和能力,针对基于包的协议栈L2到L7特定字段和内容进行, 一旦发现与 所设定的规则条目(如,八位组串)匹配,即可按设定的规则进行相关的联动操作,比如过 滤、分类、性能测量、修改、接入控制、流量阻塞和整形、转发等控制手段。
De印Packet Inspection (DPI,深度包解析)一种实时的流量深度解析功能和 能力,针对基于包的协议栈L3到L7特定字段和内容进行,一旦发现与所设定的规则条目 (如,八位组串)匹配,即可按设定的规则进行相关的联动操作,比如过滤、分类、性能测量, 修改、接入控制、流量阻塞和整形、转发等控制手段。DPI与DPIC的主要区别见上文所述。
DPIC节点一种具有DPIC功能的网络节点设备,它可以是路由器,交换机,网桥, 收发器,接入设备,电信级以太网,电信传输设备等。DPIC节点设备可以分为单节点型和 路由交换机内置型。单节点型包括单向DPIC型,双向非关联DPIC型,双向关联DPIC型和端 到端路径关联型,路由交换机内置也有单向DPIC型,双向非关联DPIC型,双向关联DPIC型 和端到端路径关联型。其应用主要定位在企业网网关处,接入网出口出,城域网的汇聚层, 省网入口,或国家网入口等。 DPIC引擎包含有扫描、分析、规则联动和规则表等功能的DPIC处理功能实体。
规则条目一组规则(N-八位组字符串)中的一个,它被预先定义、预置或动态地生成,并用于在实时分组数据流的特定开销或内容八位组中与这组规则进行匹配比较,以 决定是否匹配,它可以是某应用的标识,某用户的标识,也可以是与应用和业务相关联的某 业务的标识,还可以是由某应用的策略,某用户的策略,也可以是与应用和业务相关联的某 业务的策略而产生的标识。 DPIC分析在扫描之后在实时分组数据流的特定开销或内容八位组与这规则执 行比较功能一种功能实现,决定结果是什么。当所设定的规则条目为"与某用户,某应用或 某业务的特征"对应特征八位组串时,"分析功能"会实时地感知出该"用户、应用或业务"。
规则联动在分析单元之后按照相关的规则需求进行必要的联动的一种动作,它 至少包括以下方面 流分类,测量,统计信息上报,管理
资源管理,接入控制,内容过滤和检测
基于策略的优先级,流量阻塞和整形
动态规则表建立和修改 如果与某规则条目匹配,则对这一数据包可产生相关的策略控制(如转发、修改 某字段后再转发,加密、丢弃、计费等),包括发起QoS控制或资源控制等的请求。策略控制 可以针对某一业务,某一应用,某一用户进行一项具体的操作,包括实现节点级控制和网络 级调度功能等类似的策略处理功能。 其中DPIC的重要特征是实时感知终端用户和各类应用,流量管理和处理。 规则表包括多个规则条目的规则库,这些规则事先定义好并按不同等级进行分
类(可以包括L2-L7和内容),在同一层可以有不同的功能,以满足电信级互通要求。 协调单元一种执行双向DPIC功能、并在两个方向的关联应用之间进行协同的协
调功能单元,这个单元连接到两个方向的规则表、分析单元和规则联动单元,以处理端到端
的去方向应用及其相关回方向应用的相关性。 快通道定位在网络层或网络层之上,路由交换机与路由交换机之间,或路由交换 机与DPIC节点之间高速分组传送和处理的双向通道,包括线卡内部,或网络处理器内部, 或交换单元内部分组的线速处理和转发部分。在图4中,从其它网络节点到DPIC节点,从 Al到Cl,从Al到Bl,从Cl到Bl,从A2到C2,从A2到B2,从C2到B2等数据平面信息的传 送通道,都称为快通道。本发明技术中,快通道一般需要由微引擎完成转发功能。
慢通道定位在网络层或网络层之上,路由交换机与路由交换机之间,或路由交换 机与DPIC节点之间传送和处理控制平面和网管平面信息的双向通道,包括嵌入式系统部 分。在图4中,从Dl到Cl,从Cl到Dl,从D2到C2,从C2到D2等控制平面和网管平面的传 送通道,都称为快通道。本发明技术中,慢通道一般需要由StrongARM Core完成计算和处 理功能。 网络处理器定位在网络层或网络层之上,在路由交换机内部完成包头解析,分 类,查找,调度等高速转发功能,或在DPIC节点内部,完成入队列,扫描,分析,规则联动,出 队列,调度等功能的高速处理单元。在本发明技术中,虽然StrongARM Core和6个微引擎 在物理上是合在一起的,但网络处理器更多的是指"微引擎"、SDRAM, SRAM和FLASH接口单 元等协同工作的部分。 对偶规则条目对于WEB, VOIP,游戏,搜索引擎,实时多媒体,即时通信等业务,其操作是双向的,尽管两个方向上操作的流量不对称,但去和回两个方向是密切关联的,是操 作和被操作的关系,也互为因果关系。以WWW应用为例,如果某终端上发出一个上网"点击" 操作请求,其经过图9所示的DPIC节点时为Al到Bl,而WWW服务器回复这一请求的响应数 据流是从A2到B2,对于这种双向应用的情况,如果把这一特定应用定义为DPIC的操作对 象,则可以把两个方向上各自的"规则表"建立动态关联。比如,A2到B2方向的规则条目 (即匹配关键字)可以根据Al到Bl方向的要求,动态地添加到A2到B2方向的"规则表" 中。反之,当需要删除Al到Bl方向的某个规则条目时,其对应于A2到B2方向的规则条目 也应动态删除。本发明技术把这种成对的规则条目称为"对偶规则条目"。对偶规则条目可 以是某应用的标识,某用户的标识,也可以是与应用和业务相关联的某业务的标识,还可以 是由某应用的策略,某用户的策略,也可以是与应用和业务相关联的某业务的策略而产生 的标识。 DPIC体系结构和功能要素 当前IPv4/IPv6/NGN接入网和城域网一般采用分组技术建网。带宽出租时其管道 对三层以上协议是不透明的,同时也缺乏对业务的控制能力。这些路由选择和分组交换技 术可以知道每一个分组的源IP地址,目的IP地址和TCP端口号,但它们很难决定应用、用 户、内容的行为,以及上层协议的其它方面。结果就导致业务提供商租用出去的是一个不透 明的或黑色的廉价管道,里面的安全性、可信任性及服务质量保证都是未知的,这就可能会 导致用户换租其它具有上层增值业务提供能力的内容提供商。 一旦出现这种情况,对运营 商来讲是很难接收的。解决这一问题的一个比较好的方法是想办法把黑管道变成白管道或 透明一些的管道,这就需要通过对分组数据流的开销字节和内容与规则条目(如,八位组 串)进行实时比较,判断其特征是否匹配来不断增加流量、应用和业务的可见性。
字段匹配是应用中的一项重要功能,比如路由器中的IP地址查找。在DPIC节点 中,可以设置一个窗口来动态地察看包头和包内容,图1就是用于匹配规则的DPIA数据流 窗口。如果把一个字符串用作规则条目,系统找到这个相匹配的一个或多个分组(流)是 完全能办到的,匹配成功与否在DPIC分析单元中完成。通过一定的字串匹配算法,可以按 每个时钟给出查询结果。 基本的DPIC功能和体系结构如图2所示。当分组从SDH/S0NET或以太网 (10/100Mbps,GE,10GE)线路成帧器输出后,进入网络层"入队列"缓存器管道,用扫描器对 分组流进行扫描是第一步,窗口宽度按规则条目所定义的实际八位组宽度设定。第二步进 入分析单元,其操作是针对实时分组数据流的特定开销(L2-L7)或内容八位组与这规则执 行比较,看是否匹配,决定结果是什么。当所设定的规则条目为"与某用户,某应用或某业务 的特征"对应特征八位组串时,"分析功能"会实时地感知出该"用户、应用或业务"。对于双 向的DPIC,还要分析去方向和对应回方向的相关性,并报告协调单元。完成后进入"规则联 动",它是在分析单元之后按照相关的规则需求进行必要的联动的一种动作,它至少包括以 下方面 流分类,测量,统计信息上报,管理
资源管理,接入控制,内容过滤和检测
基于策略的优先级,流量阻塞和整形
动态规则表建立和修改
13
如果与某规则条目匹配,则对这一数据包可产生相关的策略控制(如转发、修改 某字段后再转发,加密、丢弃、计费等),包括发起QoS控制或资源控制等的请求。策略控制 可以针对某一业务,某一应用,某一用户进行一项具体的操作,包括实现节点级控制和网络 级调度功能等类似的策略处理功能。 其中DPIC的重要特征是实时感知终端用户和各类应用,流量管理和处理。而规则
表就是由一组规则条目组成的规则库。这些规则事先定义好并按不同等级进行分类(可以
包括L2-L7和内容),在同一层可以有不同的功能,以满足电信级互通要求。最后在DPIC引
擎处理完后的数据包离开内容管道,流进输出队列并重新注入到网络中去。 图3是双向DPIC功能和体系结构。与图2所不同的主要是协调单元。DPIC节
点设备可以分为单节点型和路由交换机内置型。单节点型包括单向DPIC型,双向非关联
DPIC型,双向关联DPIC型和端到端路径关联型,路由交换机内置也有单向DPIC型,双向非
关联DPIC型,双向关联DPIC型和端到端路径关联型。这里的协调单元是指一种执行双向
DPIC功能、并在两个方向的关联应用之间进行协同的协调功能单元,这个单元连接到两个
方向的规则表、分析单元和规则联动单元,以处理端到端的去方向应用及其相关回方向应
用的相关性。这里两个方向上DPIC和协调单元按图3需要完成四个层面的工作。 第一个层面,从单方向DPIC看,在现有互联网线路上(指企业网网关处,接入网出
口出,城域网的汇聚层,省网入口,或国家网入口 ),增加一个简单的深度包解析设备,通过
分组L2-L7开销字节和内容的深度解析,可以过滤大量与所设置的L2-L7开销字段信息匹
配或与内容中相关字段匹配的数据包,包括垃圾邮件、带病毒信息的数据包和入侵事件特
征有关的数据包。还可以通过设置,丢掉某些特征的包,阻止某些不法用户和违规用户接入
互联网。这一层面的功能可以在单节点型和路由交换机内置型上实现。对应于单节点型包
括单向DPIC型,双向非关联DPIC型设备。当然也可以在双向关联DPIC型和端到端路径关
联型上实现。 在第二个层面,进行流量分类,性能参数测量,统计信息上报,本地资源管理,接入 身份控制,内容过滤和检测,基于策略的优先级,业务流量阻塞和整形,动态规则建立和修 改等。与第一层面一样,这一层面的功能也可以在单节点型和路由交换机内置型上实现。对 应于单节点型包括单向DPIC型,双向非关联DPIC型设备。当然也可以在双向关联DPIC型 和端到端路径关联型上实现。第一层面和第二层面属于基本功能,应该在任何类型的DPIC 设备上都可以实现。 在第三个层面,用户、网络运行维护方(或ISP)、 DPI节点三者之间良性互动、互 连和互通机制。DPI节点是由网络运行维护方(或ISP)增设的,并受网络运行维护方(或 ISP)控制的,DPI用户可以随时对DPI节点进行设置以达到其所需要的对终端用户和各类 应用的感知和控制功能。这种感知和控制功能,是增殖业务形式体现,是为DPI节点用户服 务的。用户可以根据服务级别设置DPIC节点上对应的功能。这一功能只有在单节点型和 路由交换机内置型的双向关联DPIC型和端到端路径关联型设备上实现。
对于带内方式,控制和管理信息通道在去和回两个方向上是同一双向路径,避免 了"去"是直达,"回"是绕行的缺陷。节点设备的控制和管理不需要使用带外的方式,节约 了成本。 本发明技术所实现的DPI节点设备通过对数据流中每一个包进行深度包解析,感知不同用户和各种应用,进而可以实现基于策略的节点级控制和网络级调度的功能,策略 是可以设置的,这是本发明技术的特点之一 。 在第四个层面,为解决或部分解决业务的"端到端服务质量(QoS)保证"问题。可 以做到,(1)特定分组在本节点上排队时给VIP用户以高优先级;(2)特定分组在本节点上 排队时给相关实时业务以高优先级;(3)在分组离开本节点即将送往下一节点之前,根据 业务类型或用户的重要程度,修改IP包头的T0S字段,使其具有高优先级或更低的优先级; (4)对于特定业务给出特定路由,(路由交换机内置板卡型)可以通过路由选择,将其从优 先级高和服务质量好的特定路由转发;(5)对于特定实时业务,为保证时延抖动的一致性, 在离开DPI节点之前的输出队列上对时延抖动值进行修正,使得这类分组穿过本DPIC节点 时的时延为一个近似恒定值。(1), (2)和(3)可以在任何DPIC设备类型上。而(4)和(5) 一般只能在双向关联DPIC型和端到端路径关联型设备上实现。 采用网络处理器(或转发引擎)实现单向DPIC型和双向非关联DPIC型设备
由于双向非关联DPIC型设备中包括两个单向DPIC型,所以本节将主要描述双向 非关联DPIC型设备的实现方法。图4是实现双向各自独立DPIC时网络处理器的体系结 构,从图中可以看出,网络处理器(或转发引擎)同时构建了两个方向的DPIC。用户、网络 运行维护方(或ISP) 、 DPI节点三者之间良性互动是通过"去方向"(从左到右)提取双向 慢通道的控制信息和"回方向"(从右到左)插入双向慢通道的控制信息实现的。当分组 从SDH/SONET或以太网(10/100Mbps, GE, 10GE)线路成帧器输出后,进入网络层"入队列" 缓存器管道,依此通过扫描单元,分析单元和规则联动单元(该单元的功能主要指如果与 某规则条目匹配,则对这一数据包可产生相关的策略控制,如转发、修改某字段后再转发, 加密、丢弃、计费等。包括发起QoS控制或资源控制等的请求。策略控制可以针对某一业 务,某一应用,某一用户进行一项具体的操作,包括实现节点级控制和网络级调度功能等类 似的策略处理功能),其它每个单元的作用前文已有描述,规则表库(指由一组规则条目组 成的库)内置在嵌入式系统中。这四个基本功能单元之间的互动和配置,均通过控制总线 完成。为使时延抖动最小,在分组离开本节点即将送往下一节点之前,根据业务类型或用户 的重要程度,网络处理器可以修改IP包头的TOS字段,使其具有高优先级或更低的优先级。 对于特定业务,可以与上下游连接的其它路由交换设备一起,修改相关路由表,为特定业务 给出特定路由。对于特定实时业务,为保证时延抖动的一致性,在离开DPIC节点之前的输 出队列上给予修正,使得这类分组穿过本DPIC节点时时延为一个近似恒定值(即,使得时 延抖动为最小)。最后在DPIC引擎处理完后,数据包离开内容管道流进输出队列,并重新发 送到网络下游中去。 就单向的DPIC而言,图4可以在其规则表库中增加一项本节点的IP地址(如 202. 114. 209. 71等)作为查找和匹配对象,即4个八位组,从Al点到CI点,一旦发现数据 包的IP地址与此匹配,就在规则联动之后的C1点,进入慢通道(CI到D1)的处理(即控制 信令和管理信息处理),再转发到本机的嵌入式系统D1上。当本地嵌入式系统D1有信令或 管理功能需要发送信息时,同样可以先走慢通道发出信息从Dl到Cl,再从规则联动之后的 连接点CI切入快通道,从CI到Bl。同样地,本机的嵌入式系统D1也可以发送分组从慢通 道经由C2点切入到另一个反方向DPI快通道(从C2到B2),或从快通道(A2到C2)再到慢 通道(从C2到D1)接收本地控制信令或网络管理信息,如图4中垂直方向的虚线所示。对于本机与其左侧的其它类型网络节点设备(图4未画出)通信的情况,如果本机接收到来 自左侧节点的路由Hello信息,其路径是从左到右的快通道(Al到CI),经由CI点切入慢 通道(CI到D1),再由本机嵌入式系统接收。响应这一 Hello信息时,可以从D1到C2,再从 C2到B2作为反向回应。这些是本发明技术与其它现有单向DPI在体系结构设计上所不同 的特征。 通过这一特征,很容易实现用户、网络运行维护方(或ISP) 、 DPI节点三者之间互 动和互操作。由于图4中,两个方向的DPIC都是独立运行的,所以两个通道之间没有关联。 对于Email (防垃圾邮件)这类应用,两个单向DPI是够用的。
F-Engine DPIC-1系统介绍 DPIC-1采用多线程并行处理的方法,达到线速深度包解析和控制的目的。它支持 1路0C-12P0S接口和8路自适应10/100M以太网接口 ,提供4Gbps的交换容量,报文转发率 在2. 5Mpps以上,每秒处理30万个包,支持40万用户。 DPIC-1整个系统由电源板,系统主板和显示板构成,其中电源板完成交直流电的 转换,为系统提供3. 3V, 5V和12V的稳压直流电源。显示板提供设备运行指示,包括电源信 号指示,P0S(STM-4)接口信号指示,8个10/100M以太网接口信号指示,也可以换成两个全 双工的GE以太网接口。
F-Engine DPIC-1的硬件体系结构 硬件体系结构如图5所示。主要由网络处理器(转发引擎),IXP1200由l个主频 为232MHz的处理核心StrongARM, 6个RISC (精减指令集)结构的可编程微引擎组成;每个 微引擎又包含4个硬件线程;64位IX Bus( —种IXP1200特有的总线);32位的SRAM(静 态随即存储器)接口单元,工作频率为核心频率的一半;64位的SDRAM(动态随即存储器) 接口单元,工作频率为核心频率的一半;32位PCI总线接口单元,最高66MHz。
—个StrongARM与六个微引擎构成IXP1200的计算架构,包括SRAM, SDRAM, IX Bus,PCI等。StrongARM与微引擎均为RISC处理器,个自独立并行工作。StrongARM负责 协议控制和管理信息(慢通道)的计算和处理。微引擎负责高速分组发送、接收、以规则条 目为单位的快速包查看、分析、规则联动等处理(快通道),通过对六个微引擎/24个硬件 线程分配不同功能的微码程序,可以实现(千兆以太网线速的)可感知多用户和多应用并 发的互联网实时深度包解析和控制。通过独立数据总线和控制总线,实现"实时目标数据" 的并发移动SDRAM/SRAM单元与微引擎或IX BUS单元之间的双向同时读写;SDRAM单元和 PCI单元之间读写;IX BUS单元和微引擎之间读写。 多个IXP1200处理器可以通过IX BUS总线互联,从而有效增加处理系统处理能力 和数据带宽;ATM、 E1/T1、 Ethernet MAC等数据接口可以通过IXBUS总线接入IXP1200 ;微 引擎的微码程序存储空间具有可扩展性。 每个微引擎有4个编程计算器,支持4个硬件线程。每个线程可以执行相同或不 同的微码程序,采用内部线程通信机制实现线程同步,提高系统效率。微码指令采用多级流 水线机制,按每时钟周期执行运算。 每个微引擎独立使用256个32位寄存器。其中128个寄存器是传送寄存器集。每 个微引擎将数据载入自己的传送寄存器集,对传送寄存器集进行操作,然后通过传送寄存 器集写到数据目的地。数据载入传送寄存器集后,微引擎可在单指令周期完成访问。
SDRAM和SRAM支持多个读写队列进行优先级排队以优化带宽。允许StrongARM和 6个微引擎/24个线程同时提交对内存单元的读写请求,内存单元根据特定优化指令对读 写请求硬件优先级排队。 块数据移动每个微引擎分配很大的寄存器集,单个指令就可以实现功能单元之 间64个字节的数据块移动,和功能单元与IX BUS之间128个字节的数据块移动。块数据 移动在充分利用微引擎计算资源的同时,还可以减小微码程序规模。
网络处理器(转发引擎) 这个网络处理器可以支持4Gbps的交换容量,它可以提供多种接口,可以支持POS 接口,10/100M以太网接口以及千兆以太网接口。 网络处理器主要对到达网络层的数据包进行一系列处理和操作动作,其功能分为 三部份扫描,分析,规则联动。网络处理器由六个以上的引擎组成。在包处理的过程中,这 些引擎将按照固定的顺序对包进行单独处理。由于采用了流水线作业,每个引擎在完成自 己的任务后,就可以将该包发送到流水线上的下一个引擎,而可以开始处理新的数据包。每 个引擎不需要等待线程完成对一个包的完整处理,就可以处理下一个新的数据包,从而大 大提高了执行效率。 每个微引擎有128个GPR寄存器,对应两种访问模式 相对地址(Reg),每个线程访问其中的32个 绝对地址(@Reg),每个线程访问全部128个传输寄存器,其中 32个用于SRAM读,(SRAM/FBI总线一引擎) 32个用于SRAM写,(引擎一S廳/FBI总线) 32个用于SDRAM($$)读,(SDRAM—引擎) 32个用于SDRAM ($$)写,(引擎一SDRAM) 也分绝对地址和相对地址,平均看每个线程对于每种寄存器有8个。传输寄存器SRAM可用于对SRAM、 R-FIFO、 T-FIFO、 CSR、 Hash Unit和Scratchpad
Memory的操作;SDRAM传输寄存器只能用于对SDRAM的操作。实际上,相对地址寄存器对应
于每个线程的记录包,某些寄存器只充当临时变量的角色,没有特别的意义;绝对地址寄存
器对应于每个任务进程的全局变量。 关于任务划分 针对微引擎设计来说,在微引擎上的任务划分为1个接收,1个接收调度,1个发送 调度,一个用于线速扫描,一个用于线速分析,一个用于线速的规则联动(即针对应用、用 户和业务的策略控制,QoS控制能力的触发等)。接收任务只包含接收模块,接收调度包含 接收调度、读寄存器、线程到core、 core到线程四个模块,发送调度包含发送调度模块和发 送填充模块。IXP1200的资料中规定接受调度最好独占一个微引擎,因为接受调度不能允许 其他线程阻塞其运行。
关于通信机制 线程到内核(core)的通信机制为
中断+mailbox 其中中断就是写Ireg(Interrupt Reason Register), mailbox位于 Scratchmemory或SRAM中。
17
内核(core)到线程的通信机制为 signal+from core mailbox其中signal就是写signal_done CSR寄存器。 关于内存分配 对应于内核(core)的Memory Map,微码可访问的SRAM空间为0x1000, 0000 0xl07F, FFFF,目前配置为0x1000, 0000 0xl01F, FFFF;微码可访问的SDRAM空间为 0xC000,0000 0xC17F, FFFF ;微码可访问的Scratch空间为0xB004,4000 0xB004,
4FFF。 用于系统启动引导的BootROM地址空间支持最大为8M字节的Flash或EEPROM。 这个地址空间可以由StrongARM核与微引擎来进行访问。当复位后,StrongARM内核开始从 这里取指令。StrongARM核必须从地址OOOOOOOOh进行引导。BootROM地址空间通过配置 可以支持16位或者32位的数据总线。这取决于复位时GPI0[3]管脚的状态(GPI0[3]置 高时为16位总线,GPI0[3]置低时为32位总线)。BootROM地址空间与SSRAM接口共享4 个外部片选信号(CEft[3:0]),这些信号的产生基于一个21位的内部长字地址。通过SRAM CSR对3个CEft进行配置。
FLASH地址空间的划分如下 诊断程序 0x0 0xlFFFF 128KB 实时操作系统0x20000 0x5FFFFF 8M -128K 预留空间 0x600000 0x7DFFFF2M-128K 相关配置 0x7E0000 0x7ElFFF 16K 产品序列号,软件和FPGA版本号以及加密信息
0x7e2000 0x7e3fff 16k 电路板配置信息 0x7e4000 0x7fffff 96k 扫描单元 接收调度线程首先检测接收处理线程的状态,若端口空闲,则继续检查端口状态。 若端口有包到来,接收调度就向接收状态机发送接收请求。硬件检测到接收请求,首先从指 定端口提取包,放到指定的扫描单元中,然后发送一接收开始信号。接收线程接到信号后, 检查内存中是否还有存储空间。若没有,则一直等到有空闲空间,才开始接收包。若有,则从 指定的单元中读取数据存放在SDRAM中,同时根据规则寄存器中所放置的规则字符串值, 对包头和包的内容进行扫描。如果该包是某一队列的第一个包,则向相关寄存器对应该队 列位置l,以通知接收调度线程哪些队列有包。发送调度线程轮询相关寄存器,若该寄存器 的值不为0,向发送线程分配发送任务,有包的队列被轮流处理。每个队列发送一个包,然 后,处理下一个队列。发送线程接收到任务,检查输出端口已准备好,则就从队列中取出包 发送到发送单元中。数据包存放在SDRAM中,而队列则位于SRAM中。 接收调度的调度原则是当端口有包时,接收调度线程向系统发送一接收请求,指
定由哪个接收线程接收。 接收调度算法遵循以下原则 所有的接收线程都被公平的分配任务; *所有的端口只要有包,都被公平的处理,不会出现一个端口被不停的处理而使其
18他端口的包一直等待。
分析和规则联动 在接收调度发送出接受请求之后,入队列的包会从MAC器件端口进入网络处理器 内部的接收单元。当它被填满之后,会向相应的线程发出信号让该线程开始运行。这个线 程是接收线程中的一个。它接到信号以后先读取标识接收状态的寄存器,根据寄存器的值 判断接收的数据是否出错,如果出错则丢弃该数据并进行出错处理;如果数据正确,则保存 接收的状态,准备从接收单元中读取数据到寄存器。在实际读取包头数据之前,会先给该数 据分配一个SRAM空间用来存储该包的各种信息,并根据分配的SRAM空间的地址分配一个 SDRAM空间来存储实际的IP包的值。设置完存储包头的SDRAM地址之后,开始将包头读入 寄存器并进行解析。根据预先设置的规则库(即一条或多条规则条目),分析包头和内容与 目标字段匹配与否,可以采用精确匹配算法和近似匹配算法。 当IP包被接受到以后,要经过解析并提取出规则库中的第一个规则条目字符串 的值。网络处理器要根据这个值在扫描窗口中从前到后一个八位组一个八位组地进行比 较。不管精确匹配算法,还是近似匹配算法,首先要保证有较快的查找速度,同时也要保证 查找的次数有一个上限。几个规则条目字符串的值的比较可以同时进行。 一旦发现与某一 规则条目字符串的值匹配,则需马上记录这一数据包,然后察看规则条目后续操作的规定 动作和要求,进行相应的规则联动处理,如过滤掉,修改,提取到本机,转发到输出线路等。 当所设定的规则条目为"与某用户,某应用或某业务的特征"对应特征八位组串时,"分析功 能"会实时地感知出该"用户、应用或业务"。以此为基础,内置在规则联动单元中的策略控 制可以针对某一业务,某一应用,某一用户进行一项具体的操作,包括实现节点级控制和网 络级调度功能等类似的策略处理功能。
输出排队 IP包在经过扫描、分析和规则联动后,下一步是输出,而且IP包已经存储在SDRAM 的PACKET BUFFER中。排队程序的功能是将IP包放到相应的输出队列中去排队,供发送调 度程序调度输出。入队列排队的不是IP包的本身,而是IP包的一个信息结构,称为包描述 结构。通过这个信息结构可以知道IP包的相关信息,如IP包存放的实际物理地址,包的长 度和其它状态等等。在网络处理器的设计中,最多有128个队列用来存放包描述结构。这 些队列被分配到16个输出端口,每个端口 8个。在SRAM中分配了一个由队列描述符构成 的数组。每个队列描述符由两个32位长字组成,第一个长字的高16位是指向队列中第一 个包描述结构的指针,其低16位是指向队列中最后一个包描述结构的指针。包描述结构在 队列中是以链表形式存放。第二个长字存放了一个计数器,计算在队列中包的个数。如果 队列中没有包,那么,队列的头指针为零,包个数计数器为零。 包描述符是在SRAM中分配的一块空间,由两个32位的长字组成。它的分配是由一 个叫做FreeList的栈结构P0P(弹)出来的,每接受一个新包就要POP出来一个包描述符。 当一个包被成功转发出去之后,它的包描述符就要被释放,也就是要被PUSH进入FreeList 的栈结构。 包描述符内记录的IP包信息包括指向下一个包描述符的指针,包的大小等等。
包描述符在输出队列中排队,供发送调度来安排输出。但包描述符不是实际的IP 包,发送线程发送的却要是实际的包数据。因此必须把包描述符和存放实际包的包缓存区之间建立一种映射的关系。排队算法就是链表的插入问题。
发送 发送部分的主要工作是将存放于SDRAM中的包发送到各自的目的端口中。它要有 两方面的工作第一,决定合适的线程进行发送以及那个端口的包可以发送,即发送调度; 第二,找到包的位置以及它的目的端口 ,然后将数据填充发送单元中,通知发送状态机将数 据送出,即发送填充数据。 发送调度和发送数据是由不同的线程完成的。同时,快速和慢速的处理又有所不 同。所以对发送部分来说,有四种不同类型的线程快速发送调度线程、快速发送填充线程、 慢速发送调度线程与慢速发送填充线程,彼此相互独立的,但是也存在一个同步关系。这两 个调度线程给各自所管的发送填充线程分配任务,实际是一个接一个进行的,如快速调度 线程分配了一个快速端口的发送任务,那么慢速调度线程随后也会分配一个发送任务,然 后又是快速调度线程。它们依靠信号(signal)来维持这个同步机制,以保证对资源使用的 同步。 一个调度线程为它所管的3个发送填充线程按照先后顺序分配任务。当它已经分配 好任务,而且上一个任务已经取走,就给对应线程的一个signal,通知接受任务。 [OH4] SDRAM(动态存储器) SDRAM单元可提供IXP1200与SDRAM的接口,最大可支持256M字节的SDRAM。虽然 SDRAM的访问速度较慢,但存储空间大,价格便宜,因而可用来存储大容量的数据结构(如 数据包和路由表等),并可在系统运行时存储操作系统的代码等。SDRAM运行频率是网络处 理器内核频率的一半。总线周期由来自网络处理器PCI单元的请求产生。SDRAM通过命令
来进行操作,命令放在SDRAM单元的命令队列中。SDRAM单元译码命令,读写数据,删除命令等。 SRAM(静态存储器) SRAM单元可为几类设备提供通用总线接口。这些设备包括最大可达8M字节的 SSRAM、复位后StrongARM Core执行代码所在的FLASH或E-PR0M等、B00TR0M设备和其它 内存(如CAM)、加密设备和MAC或PHY设备的控制状态接口 。 SRAM访问速度较快,但存储 空间小,主要用来存储查找表和缓存描述符等需要快速访问的数据结构。网络处理器可访 问SRAM,外部接口由32位数据总线,19位地址总线,和控制信号组成。其总线工作频率为 网络处理器内核频率的一半。 SRAM提供的内存源比SDRAM接口的访问延迟低,速度快。SRAM主要提供查找表, 以及通过网络处理器移动数据时之用。本项目中SRAM主要用来存放队列描述符和包描述 符等。 FLASH(闪存) FLASH提供32位数据线,时钟工作频率为内核频率的一半。 FLASH是复位后内核开始执行指令的地方,内置的程序被固化,掉电后程序仍在其 中。网络处理器地址空间支持8M FLASH,这个地址空间可由内核访问。FLASH映射到内核 物理地址0,为起始地址。在复位后,内核从这个地址空间取指令。
PCI、以太网口和串口 PCI、以太网口用于操作系统移植时下载操作系统,对本盘进行配置管理、故障管 理、性能管理以及系统测试等,同时还负责业务流管理、特殊信令等服务,串口电路负责对本盘进行在线配置,用于调试和网管。
本地嵌入式系统 本地嵌入式系统的信令和网络管理功能可以由内嵌CPU-StrongARMCore完成。这 样可以大大节省成本。图7是系统主程序流程图。 系统软件开发包括两个方面,一个是StrongArm Core上的系统软件、控制平面软
件、管理平面软件和数据转发平面软件等,这些软件需要嵌入式操作系统Vxworks上开发
和运行。另一个是微码程序,这部分软件针对6个微引擎设计和运营,主要完成包的扫描、
分析、规则联动等快速处理功能。其中每个微引擎提供有2k字节的代码存储空间,每个微
引擎包含4个硬件线程,每个线程都具有自己特定的寄存器组,线程切换的速度较快。图8
是单向DPIC的微码软件流程图。 采用网络处理器实现双向关联DPIC型设备 双向关联DPIC型设备中包括两个单向DPIC型,协调单元和规则表的逻辑功能由 本地嵌入式系统通过控制总线分别连接到扫描单元、分析单元和规则联动单元而实现。图 9是实现双向关联DPIC时网络处理器的功能分解,从图中可以看出,用户、网络运行维护方 (或ISP) 、 DPI节点三者之间良性互动是通过"去方向"(从A1到B 1)提取的双向慢通道 (从C1到D1,以及从D1到C1)禾P"回方向"(从A2到B2)插入的双向慢通道(从C2到D1, 以及从D1到C2)实现的。当分组从SDH/SONET或以太网(10/100Mbps, GE, 10GE)线路成 帧器输出后,进入网络层"入队列"缓存器管道,依此通过扫描单元,分析单元和规则联动单 元,每个单元的作用前文已有描述,规则表库内置在嵌入式系统中。这四个基本功能单元之 间的互动和配置,均通过控制总线完成。网络处理器一方面通过微引擎完成快通道处理功 能,另一方面通过本地内嵌的StrongARM Core完成控制平面和管理平面的功能,StrongARM Core的任务还包括协调单元和规则表的逻辑功能,这样成本最低。最后在DPIC引擎处理完 后的数据包离开内容管道,流进输出队列并重新注入到网络中去。 而对于WEB、 VOIP、游戏、搜索引擎、实时多媒体、即时通信等业务,其操作是双向 的,尽管两个方向上操作的流量不对称,但去和回两个方向是密切关联的,是操作和被操作 的关系,也互为因果关系。以WWW应用为例,如果某终端上发出一个上网"点击"操作请求, 其经过图9所示的DPIC节点时为Al到B1,而WWW服务器回复这一请求的响应数据流是从 A2到B2,对于这种双向应用的情况,如果把这一特定应用定义为DPIC的操作对象,则可以 把两个方向上各自的"规则表"建立动态关联。比如,A2到B2方向的规则条目(即匹配关 键字)可以根据A1到B1方向的要求,动态地添加到A2到B2方向的"规则表"中。反之, 当需要删除Al到Bl方向的某个规则条目时,其对应于A2到B2方向的规则条目也应动态 删除。 本发明技术把这种成对的规则条目称为"对偶规则条目"。"对偶规则条目"不只
是用于过滤掉一些信息,还可以做一些细分业务的工作。比如,当发现有重要的VIP用户使
用某一业务时,可以在其请求后的响应方向上给予高优先级和低时延的策略。 本例中,由于两个"规则表(即规则条目)"都在同一个嵌入式操作系统的范围内
生成、添加、删除和修改,其维护和操作是比较简单的。 关于如何解决或部分解决"端到端服务质量(QoS)保证"问题。通过研究传统的 通信量整形算法中由数据缓存引入的时延抖动问题,提出了一种基于抖动约束的通信量整
21形方法(Jitter-Constrained Sh即ing,JCS)。在整形过程中,时延是由数据缓冲的充满程 度和令牌输出速率决定的。通过在线检测数据缓冲的充满程度和令牌的输出速率,计算出 数据包的时延和时延抖动,然后根据时延抖动约束动态调整整形器的参数,使数据分组在 整形过程中经历的时延抖动保持在约束范围之内。结果表明这一方法相对于前人的工作, 最大时延从7. 2ms降低到3. 6ms,最小时延从0. 85ms提高到2. 27ms,时延方差从271. 4降 低到3. 62,有效的降低了时延抖动。具体内容参见2007年7月武汉烽火网络有限责任公司 郝俊瑞和余少华的另一专利"一种基于抖动约束的数据缓存整形方法"。
所以,通过双向关联DPIC体系结构(图9)、对偶规则条目和两个方向的动态规则 表,可以做到,(1)分组在本节点上排队时给VIP用户以高优先级;(2)分组在本节点上排 队时给相关实时业务以高优先级;(3)在分组离开本节点即将送往下一节点之前,根据业 务类型或用户的重要程度,修改IP包头的TOS字段,使其具有高优先级或更低的优先级; (4)在路由交换节点上DPI功能,对于特定业务给出特定路由,或者在现有路由交换节点增 加DPI功能;(5)对于特定实时业务,其分组穿过本DPI节点时时延为一个近似恒定值(使 时延抖动为最小或无时延抖动)。在这一层面的功能属电信级需求,也是其它现有技术没有 的。 如图IO所示,双向关联DPIC功能也可以通过升级高速路由交换机线卡软件和所 属网络处理器软件来完成。在从Al到Bl的去方向,DPIC的功能主要在包头解析(Header Parsing)上进行扩展实现,如图10中"包头解析+0 10"方块所示,也可以对Al到Bl方向 的"策略(Policing)"方块扩展而实现。策略单元内置在规则联动单元中,在分析单元之 后。按照相关的策略和规则需求进行必要的联动的一种动作,这一快通道功能至少包括以 下方面 流分类,测量,统计信息上报,管理
资源管理,接入控制,内容过滤和检测
基于策略的优先级,流量阻塞和整形
*动态规则表建立和修改 如果与某规则条目匹配,则对这一数据包可产生相关的策略控制(如转发、修改 某字段后再转发,加密、丢弃、计费等),包括发起QoS控制或资源控制等的请求。策略控制 可以针对某一业务,某一应用,某一用户进行一项具体的操作,包括实现节点级控制和网络 级调度功能等类似的策略处理功能。 其中DPIC的重要特征是实时感知终端用户和各类应用,流量管理和处理。通过修 改微引擎中用于"线速的规则联动"线程微码来完成。 在从A2到B2的回方向,DPIC的功能主要在编辑(Editing)上进行扩展而实现, 如图10中"编辑+DPIC"方块所示。这里特别需要注意,增加DPIC功能之前,应对网络处理 器在两个方向上的实时和线速处理能力进行评估,看增加DPIC功能后对网络处理器开销 有多大。如果所占处理开销过大,应作折衷处理。 另外,由于网络处理器、路由交换机等软硬件均属本领域技术人员所公知的成熟 技术和现有技术,武汉烽火网络公司一年推广各类网络设备几万台套,为了简洁起见,本发 明没有对软硬件细节及具体的实现方法加以描述。 虽然上面已经结合附图示出并详细描述了本发明的一些实施例,本领域的技术人员应当理解,在不偏离本发明的原则和精神的情况下,可以对这些实施例做出变化和修改, 而仍然落在所附的权利要求及其等价物的范围内。
权利要求
一种深度包解析和控制设备,用于对互联网上的实时分组数据流进行实时流量管理,该深度包解析和控制设备包括第一规则表单元,存储包括第一组规则条目的规则表,所述第一组规则条目是预先定义或动态生成的;第一扫描单元,接收来自所述互联网的第一实时分组数据流,并按所述第一组规则条目所定义的扫描窗口来扫描所述第一实时分组数据流;第一分析单元,在所述第一扫描单元的所述扫描窗口中将所述第一实时分组数据流与所述第一组规则条目进行匹配,并输出匹配结果;以及第一规则联动单元,根据所述第一分析单元所输出的匹配结果,对要输出回到所述互联网的所述第一实时分组数据流进行联动控制。
2. 如权利要求1所述的深度包解析和控制设备,还包括第二规则表单元,存储包括第二组规则条目的规则表,所述第二组规则条目是预先定 义或动态生成的;第二扫描单元,接收来自所述互联网的第二实时分组数据流,并按所述第二组规则条 目所定义的扫描窗口来扫描所述第二实时分组数据流;第二分析单元,将所述第二实时分组数据流与所述第二组规则条目进行匹配,并输出 匹配结果;以及第二规则联动单元,根据所述第二分析单元所输出的匹配结果,对要输出回到所述互 联网的所述第二实时分组数据流进行联动控制,其中,所述第一实时分组数据流是所述互联网中的去方向上的数据流,所述第二实时 分组数据流是所述互联网中与所述去方向相反的回方向上的数据流。
3. 如权利要求2所述的深度包解析和控制设备,还包括协调单元,连接到所述第一规则表、第二规则表、第一分析单元、第二分析单元、第一规 则联动单元和第二规则联动单元,用于执行双向深度包解析和控制并在所述去方向和所述 回方向的关联应用之间进行协同。
4. 如权利要求3所述的深度包解析和控制设备,其中,所述第一分析单元和第二分析单元还分析所述去方向和对应的所述回方向的相 关性,并向所述协调单元报告相关性结果,以及其中,所述协调单元根据所述第一分析单元或第二分析单元报告的相关性结果,在所 述去方向和所述回方向的关联应用之间进行协同。
5. 如权利要求1-4的任一个所述的深度包解析和控制设备,其中所述第一分析单元或 所述第二分析单元的联动控制包括以下中的至少一个流分类,测量,统计信息上报; 资源管理,接入控制,内容过滤和检测; 基于策略的优先级,流量阻塞和整形; 动态规则表建立和修改;以及如果数据包与特定规则条目匹配,则对所述数据包产生相关的策略控制,所述策略控 制针对特定业务、应用或用户进行具体操作。
6. 如权利要求1所述的深度包解析和控制设备,其中所述深度包解析和控制设备给VIP用户以高优先权。
7. 如权利要求1所述的深度包解析和控制设备,其中所述深度包解析和控制设备给相 关实时业务以高优先权。
8. 如权利要求1所述的深度包解析和控制设备,其中所述深度包解析和控制设备在分 组离开本节点即将送往下一节点之前,根据业务类型或用户的重要程度,修改所述分组的 IP包头的T0S字段,使其具有高优先级或更低的优先级。
9. 如权利要求3所述的深度包解析和控制设备,其中所述深度包解析和控制设备对于 特定业务,通过路由选择,将所述特定业务从优先级高和服务质量好的特定路由转发。
10. 如权利要求3所述的深度包解析和控制设备,其中所述深度包解析和控制设备对 于特定实时业务,在离开所述深度包解析和控制设备之前的输出队列上对时延抖动值进行 修正,使得其分组穿过所述深度包解析和控制设备时的时延为一个近似恒定值。
11. 如权利要求3所述的深度包解析和控制设备,其中用户能够根据服务级别设置所 述深度包解析和控制设备上对应的功能。
12. 如权利要求3所述的深度包解析和控制设备,其中在所述去方向上提取双向慢通 道,并在所述回方向上插入双向慢通道。
13. 如权利要求1所述的深度包解析和控制设备,还包括第一入队列,用于缓存来自所述互联网的第一实时分组数据流中的分组,并将所述分 组输出至所述第一扫描单元;以及第一出队列,用于缓存经过所述第一规则联动单元联动控制的第一实时分组数据流, 并将其输出至所述互联网。
14. 如权利要求2或5所述的深度包解析和控制设备,还包括第二入队列,用于缓存来自所述互联网的第二实时分组数据流中的分组,并将所述分 组输出至所述第二扫描单元;以及第二出队列,用于缓存经过所述第二规则联动单元联动控制的第二实时分组数据流, 并将其输出至所述互联网。
15. 如权利要求1所述的深度包解析和控制设备,其中所述深度包解析和控制设备是 单节点型设备。
16. 如权利要求1所述的深度包解析和控制设备,其中所述深度包解析和控制设备被 内置于路由交换机内。
17. —种利用深度包解析和控制设备来对互联网上的实时分组数据流进行实时流量管 理的方法,该方法包括通过所述深度包解析和控制设备中的第一规则表单元,存储包括第一组规则条目的规 则表,所述第一组规则条目是预先定义或动态生成的;通过所述深度包解析和控制设备中的第一扫描单元,接收来自所述互联网的第一实 时分组数据流,并按所述第一组规则条目所定义的扫描窗口来扫描所述第一实时分组数据 流;通过所述深度包解析和控制设备中的第一分析单元,在所述第一扫描单元的所述扫描 窗口中将所述第一实时分组数据流与所述第一组规则条目进行匹配,并输出匹配结果;以 及通过所述深度包解析和控制设备中的第一规则联动单元,根据所述第一分析单元所输 出的匹配结果,对要输出回到所述互联网的所述第一实时分组数据流进行联动控制。
18. 如权利要求17所述的方法,还包括通过所述深度包解析和控制设备中的第二规则表单元,存储包括第二组规则条目的规 则表,所述第二组规则条目是预先定义或动态生成的;通过所述深度包解析和控制设备中的第二扫描单元,接收来自所述互联网的第二实 时分组数据流,并按所述第二组规则条目所定义的扫描窗口来扫描所述第二实时分组数据 流;通过所述深度包解析和控制设备中的第二分析单元,将所述第二实时分组数据流与所 述第二组规则条目进行匹配,并输出匹配结果;以及通过所述深度包解析和控制设备中的第二规则联动单元,根据所述第二分析单元所输 出的匹配结果,对要输出回到所述互联网的所述第二实时分组数据流进行联动控制,其中,所述第一实时分组数据流是所述互联网中的去方向上的数据流,所述第二实时 分组数据流是所述互联网中与所述去方向相反的回方向上的数据流。
19. 如权利要求18所述的方法,还包括通过所述深度包解析和控制设备中的协调单元,执行双向深度包解析和控制并在所 述去方向和所述回方向的关联应用之间进行协同,其中所述协调单元连接到所述第一规则 表、第二规则表、第一分析单元、第二分析单元、第一规则联动单元和第二规则联动单元。
20. 如权利要求19所述的方法,其中,通过所述第一分析单元和第二分析单元来分析所述去方向和对应的所述回方向 的相关性,并向所述协调单元报告相关性结果,以及其中,通过所述协调单元,根据所述第一分析单元或第二分析单元报告的相关性结果, 在所述去方向和所述回方向的关联应用之间进行协同。
21. 如权利要求17-20的任一个所述的方法,其中所述第一分析单元或所述第二分析 单元的联动控制包括以下中的至少一个流分类,测量,统计信息上报; 资源管理,接入控制,内容过滤和检测; 基于策略的优先级,流量阻塞和整形; 动态规则表建立和修改;以及如果数据包与特定规则条目匹配,则对所述数据包产生相关的策略控制,所述策略控 制针对特定业务、应用或用户进行具体操作。
22. 如权利要求17所述的方法,其中所述联动控制包括给VIP用户以高优先权。
23. 如权利要求17所述的方法,其中所述联动控制包括给相关实时业务以高优先权。
24. 如权利要求17所述的方法,其中所述联动控制包括在分组离开本节点即将送往 下一节点之前,根据业务类型或用户的重要程度,修改所述分组的IP包头的T0S字段,使其 具有高优先级或更低的优先级。
25. 如权利要求19所述的方法,其中所述联动控制包括对于特定业务,通过路由选 择,将所述特定业务从优先级高和服务质量好的特定路由转发。
26. 如权利要求19所述的方法,其中所述联动控制包括对于特定实时业务,在离开所述深度包解析和控制设备之前的输出队列上对时延抖动值进行修正,使得其分组穿过所述 深度包解析和控制设备时时延为一个近似恒定值。
27. 如权利要求19所述的方法,其中用户能够根据服务级别设置所述深度包解析和控 制设备上对应的功能。
28. 如权利要求19所述的方法,其中在所述去方向上提取双向慢通道,并在所述回方 向上插入双向慢通道。
29. 如权利要求17所述的方法,还包括通过所述深度包解析和控制设备中的第一入队列,缓存来自所述互联网的第一实时分 组数据流中的分组,并将所述分组输出至所述第一扫描单元;以及通过所述深度包解析和控制设备中的第一出队列,缓存经过所述第一规则联动单元联 动控制的第一实时分组数据流,并将其输出至所述互联网。
30. 如权利要求18或21所述的深度包解析和控制设备,还包括 通过所述深度包解析和控制设备中的第二入队列,缓存来自所述互联网的第二实时分组数据流中的分组,并将所述分组输出至所述第二扫描单元;以及通过所述深度包解析和控制设备中的第二出队列,缓存经过所述第二规则联动单元联 动控制的第二实时分组数据流,并将其输出至所述互联网。
31. 如权利要求17所述的方法,其中所述深度包解析和控制设备是单节点型设备。
32. 如权利要求17所述的方法,其中所述深度包解析和控制设备被内置于路由交换机内。
33. —种深度包解析和控制设备,在被布署到互联网后,其用户、网络运行维护方和所 述深度包解析和控制设备三者之间具有互动、互通和互操作能力。
34. —种深度包解析和控制设备,用于基于策略控制来保证端到端服务质量。
35. —种深度包解析和控制设备,用于感知穿过该深度包解析和控制设备的数据流所 包含的用户信息和应用信息。
全文摘要
本发明提供了一种深度包解析和控制设备和方法,用于对互联网上的实时分组数据流进行实时流量管理。该深度包解析和控制设备包括第一规则表单元,存储包括第一组规则条目的规则表,所述第一组规则条目是预先定义的;第一扫描单元,接收来自所述互联网的第一实时分组数据流,并按所述第一组规则条目所定义的扫描窗口来扫描所述第一实时分组数据流;第一分析单元,在所述第一扫描单元的所述扫描窗口中将所述第一实时分组数据流与所述第一组规则条目进行匹配,并输出匹配结果;以及第一规则联动单元,根据所述第一分析单元所输出的匹配结果,对要输出回到所述互联网的所述第一实时分组数据流进行联动控制。
文档编号H04L12/18GK101771627SQ200910138528
公开日2010年7月7日 申请日期2009年4月30日 优先权日2009年4月30日
发明者余少华 申请人:武汉烽火网络有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1