处理分组流的制作方法

文档序号:7939226阅读:133来源:国知局
专利名称:处理分组流的制作方法
技术领域
本发明涉及使用计算机系统800用于分析分组流。根据本发明一个实施例,计算机系统800响应于处理器804执行主存储器806中包含的一个或多个指令的一个或多个序列来处理分组流。这种指令可被从另一个计算机可读介质(例如存储器件810)读入到主存储器806中。执行主存储器806中包含的指令的序列使处理器804执行这里所述的处理步骤。也可以采用多处理布置中的一个或多个处理器来执行主存储器806中包含的指令的序列。在替换实施例中,可以使用硬连线电路来替换软件指令或者与软件指令组合来实现本发明。因此,本发明的实施例不限于硬件电路和软件的任何特定组合。
这里所述的术语"计算机可读介质"指参与向处理器804提供指令来执行的任何介质。这种介质可采用多种形式,包括但不限于非易失性介质、易失性介质和传输介质。非易失性介质包括例如光或磁盘,例如存储器件810。易失性介质包括动态存储器,例如主存储器806。传输介质包括同轴电缆、铜线和光纤,包括包含总线802在内的线路。传输介质还可以采用声波或光波的形式,例如在无线电波和红外数据通信期间产生的那些。
计算机可读介质的常见形式包括例如软盘、柔性盘、硬盘、磁带、或者任何其他磁介质、CD-ROM、任何其他光介质、打孔卡、纸带、具有孔状图案的任何其他物理介质、RAM、PROM和EPROM、闪存、任何其他存储器芯片或者盒带、后面所述的载波、或者计算机可从其读取的任何其他介质。 多种形式的计算机可读介质可用来向处理器804传送一条或多条指令的一个或多个序列以便执行。例如,指令最初可承载在远程计算机的磁盘上。远程计算机可将指令加载到其动态存储器中,并利用调制解调器通过电话线来发送指令。计算机系统800本地的调制解调器可接收电话线上的数据,并使用红外发射器将数据转换成红外信号。耦合到总线802的红外探测器可接收该红外信号中承载的数据,并将数据放置到总线802上。总线802将数据传送到主存储器806,处理器804从主存储器806取得指令并执行指令。主存储器806接收到的指令在被处理器804执行之前或之后可以可选地被存储到存储器件810 。
通信接口 818还提供耦合到网络链路820的双向数据通信,网络链路820被连接到本地网络822。例如,通信接口818可以是综合业务数字网(ISDN)卡或调制解调器,用于提供到相应类型的网络线路的数据通信连接。作为另一个示例,通信接口 818可以是局域网(LAN)卡,用来提供到兼容LAN的数据通信连接。也可以实现无线链路。在任何这种实现方式中,通信接口 818发送和接收承载代表各种类型的信息的数字数据流的电、电磁或光信号。 网络链路820 —般提供通过一个或多个网络到其他数据设备的数据通信。例如,网络链路820可提供通过本地网络822到主机计算机824或者到由因特网服务提供商(ISP)826运营的数据装备的连接。ISP 826又提供通过全球分组数据通信网络828(现在通常称作"因特网")的数据通信服务。本地网络822和因特网828 二者都使用承载数字数据流量的电、电磁或者光信号。承载去往和来自计算机系统800的数字数据的通过各种网络的信号和网络链路820上的并通过通信接口 818的信号是传输信息的载波的示例形式。
计算机系统800可通过网络、网络链路820和通信接口 818发送和接收数据,包括程序代码。在因特网示例中,服务器830可通过因特网828、ISP 826、本地网络822和通信
13接口 818传送所请求的应用程序的代码。根据本发明,一个这样下载的应用用于如这里所述处理分组流。 接收到的代码可在其被接收到时由处理器804执行,并且/或者被存储到存储器
件810或者其他非易失性存储设备中以稍后执行。这样,计算机系统800可获得载波形式
的应用代码。 5.0扩展和替换 在前面的说明书中,已参考本发明的特定实施例描述了本发明。然而,显然在不脱离本发明的宽广精神和范围的情况下可对本发明作出各种修改和改变。因此,说明书和附图
应当看作是说明性的而非限制性的。 总地来说, 一个实施例应用到被桥接或路由的任何IP流(但是如果需要的话可以扩展到基于MAC地址的);在流转发过程期间可以在没有任何软件参与的情况下完全由硬件执行;可以由粒状硬件策略(gramularhardware policy)控制,所述粒状硬件策略可基于每个源(蠕虫遏制策略)或基于每个目的地(例如为了服务器保护)来选择是否执行流速率限制,可以选择每个地址允许的流的数目,以及要实行的(组合的)动作的类型约束流创建、丢弃不符合策略的分组、生成对CPU的中断通知、挑选流采样速率(即,N个流中的一个流被采样)等;通过约束源每秒(或者其他可配置的时间段)可生成的流的数目来保护网络和网络资源;另外,通过限制在预定时间段中可打开的朝向目的地的连接的数目来保护被过度使用的目的地(例如服务器)(该限制可基于受保护设备的最大处理能力和可用存储器来根据经验确定)。 实施例至少部分地出于以下原因是新颖的在转发过程期间,其可以在不要求任何软件参与的情况下由硬件控制被路由或桥接的流的创建速率(并且基于软件的实现方式也可以受益于这里的技术);其可以基于源地址和/或目的地地址限制流的数目;其还可以被扩展来使用MAC地址、协议类型或者甚至L4端口,如果需要的话(L4端口使用示例可以是特定于应用的、基于目的地的流速率限制);其可保护NetFlow实现方式免受目的在于耗尽NetFlow表格的资源从而导致溢出和统计数据丢失的攻击(对于这种应用,该特征也可以用在仅软件的实现方式中)。 —个实施例允许联网设备限制末端主机在预定时间段中可产生的流的数目,以保
护其他端设备免受蠕虫扩散,并且控制对NetFlow表格的利用以避免可能的溢出问题。也
可以使用策略来从被认为不太重要的设备选择性地收集较少的流样本。 —个实施例允许联网设备在流量分析工具可分析流量并应用适当的网络范围对
策之前,迅速地对恶意用户或软件片断可生成的流的数目进行速率限制。因此,实施例可以
与现有方案协作,并且不与它们互斥。 一个实施例具有完全硬件实现的能力、可应用于任何
桥接或路由连接、具有高度的基于策略的粒度并且支持1 : N类型的每用户流采样比率。
1权利要求
一种装置,包括第一逻辑,其被配置来确定与分组相关联的标识符;流计数器,其耦合到所述第一逻辑并被配置来对与所述标识符相关联的流的数目进行计数;第二逻辑,其耦合到所述第一逻辑和所述流计数器,其中所述第二逻辑被配置来分析所述分组以判定所述分组是否是尚未在所述流计数器中被计数的新的流的一部分,并且如果所述分组是新的流的一部分则递增所述流计数器。
2. 如权利要求1所述的装置,其中所述流是特定源和特定目的地之间的分组的流动,并且由 一特定参数集合所表征。
3. 如权利要求2所述的装置,其中所述参数集合包括源因特网协议(IP)地址、目的地IP地址、源传输控制协议(TCP)/用户数据报协议(UDP)端口号、目的地TCP/UDP端口号、IP协议类型、IP服务类型、输入逻辑接口 。
4. 如权利要求1所述的装置,还包括确定与所述标识符相关联的流计数索引。
5. 如权利要求1所述的装置,其中所述标识符是可配置的。
6. 如权利要求1所述的装置,还包括流表格,其耦合到所述第二逻辑并且包括存储的关于分组的统计数据。
7. 如权利要求6所述的装置,其中所述第二逻辑还被配置来判定所述流计数是否超过一阈值;当所述流计数尚未超过所述阈值时,更新所述流表格中的第一分组的统计数据;当所述流计数已超过所述阈值时,触发事件。
8. 如权利要求7所述的装置,其中所述第二逻辑还被配置来重置所述流计数。
9. 如权利要求7所述的装置,其中所述事件包括不更新所述流表格中的所述分组的统计数据并传递所述分组。
10. 如权利要求7所述的装置,其中所述事件包括丢弃所述分组。
11. 如权利要求io所述的装置,还包括丢弃计数器,其被配置来对丢弃的分组的数目进行计数。
12. 如权利要求1所述的装置,其中所述标识符是所述分组的源的因特网协议地址。
13. 如权利要求1所述的装置,其中所述流计数器是所述第一逻辑中的散列表。
14. 一种装置,包括第一逻辑,其被配置来确定与分组相关联的标识符;流表格,其包括存储的关于分组的统计数据;第二逻辑,其耦合到所述第一逻辑和所述流表格,其中所述第二逻辑被配置来在所述流表格中存储关于一个或多个分组的统计数据,其中对分组进行采样来获得所述统计数据的频率是基于所述标识符的。
15. —种方法,包括计算机实现的以下步骤确定与分组相关联的标识符;标识流计数器,该流计数器指示与流计数索引相关联的流的数目;分析所述分组以判定所述分组是否是尚未在所述流计数器中被计数的新的流的一部分;如果所述分组是新的流的一部分则递增所述流计数器。
16. 如权利要求15所述的方法,其中确定与分组相关联的标识符是在一个或多个电子电路中执行的。
17. 如权利要求15所述的方法,还包括计算机实现的以下步骤确定与所述标识符相关联的流计数索引。
18. 如权利要求15所述的方法,其中所述标识符标识所述分组源自的源设备的群组。
19. 如权利要求15所述的方法,还包括计算机实现的以下步骤判定与所述标识符相关联的流的数目是否已超过一阈值;当所述流的数目尚未超过所述阈值时,更新所述分组的统计数据;当所述流的数目已超过所述阈值时,触发事件。
20. 如权利要求19所述的方法,其中所述事件包括丢弃所述分组。
21. 如权利要求20所述的方法,还包括存储丢弃的分组的统计数据。
22. —种方法,包括计算机实现的以下步骤确定与分组相关联的标识符;在流表格中存储关于一个或多个分组的统计数据,其中对分组进行采样来获得所述统计数据的频率是基于所述标识符的。
23. —种系统,包括用于确定与分组相关联的标识符的装置;用于确定与所述标识符相关联的流计数索引的装置;用于标识流计数器的装置,所述流计数器指示与所述流计数索引相关联的流的数目;用于分析所述分组以判定所述分组是否是尚未在所述流计数器中被计数的新的流的一部分的装置;用于当所述分组是新的流的一部分时递增所述流计数器的装置。
24. 如权利要求23所述的系统,其中用于确定与分组相关联的标识符的装置包括一个或多个电子电路。
25. 如权利要求23所述的系统,还包括用于确定与所述标识符相关联的流计数索引的装置。
26. 如权利要求23所述的系统,其中所述标识符标识所述分组源自的源设备的群组。
27. 如权利要求23所述的系统,还包括用于判定与所述标识符相关联的流的数目是否已超过一阈值的装置;用于当所述流的数目尚未超过所述阈值时更新所述分组的统计数据的装置;用于当所述流的数目已超过所述阈值时触发事件的装置。
28. 如权利要求27所述的系统,其中所述事件包括丢弃所述分组。
29. 如权利要求28所述的系统,还包括用于存储丢弃的分组的统计数据的装置。
全文摘要
在一个实施例中,一种装置包括包括第一逻辑,其被配置来确定与分组相关联的标识符,并且确定与该标识符相关联的流计数索引;流计数器,其耦合到第一逻辑并被配置来对与流计数索引相关联的分组流的数目进行计数。该实施例还包括第二逻辑,其耦合到第一逻辑和流计数器,其中第二逻辑被配置来分析分组以判定所述分组是否是尚未在流计数器中被计数的新的流的一部分,并且如果该分组尚未被计数,则递增流计数器。
文档编号H04L29/06GK101779434SQ200880025521
公开日2010年7月14日 申请日期2008年5月21日 优先权日2007年5月22日
发明者马尔科·福斯基亚诺 申请人:思科技术公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1