《使用字节分布的启发式网络流量分类.pdf》由会员分享,可在线阅读,更多相关《使用字节分布的启发式网络流量分类.pdf(28页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 104158750 A (43)申请公布日 2014.11.19 CN 104158750 A (21)申请号 201410201571.1 (22)申请日 2014.05.13 61/822,777 2013.05.13 US 14/275,332 2014.05.12 US H04L 12/801(2013.01) H04L 12/811(2013.01) (71)申请人 马维尔国际贸易有限公司 地址 巴巴多斯圣米加勒 (72)发明人 I萨尼维斯基 T卡尔达肖夫 A普洛特尼科夫 (74)专利代理机构 北京市金杜律师事务所 11256 代理人 酆迅 (54) 发明名。
2、称 使用字节分布的启发式网络流量分类 (57) 摘要 一种网络设备, 具有计数器, 这些计数器被配 置为, 针对数据分组的所指定部分中的多个字节 位置, 生成对指示与规则相对应的字节位置处所 发现的值的对应关系的计数, 从而在该多个字节 位置中的预定字节值的出现可以被计数。分组分 类器被配置为, 从这些计数器接收与这些规则相 对应的字节值的数量, 并且基于该分析来对数据 分组分组。 (30)优先权数据 (51)Int.Cl. 权利要求书 2 页 说明书 11 页 附图 14 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书2页 说明书11页 附图14页 (10)申请公。
3、布号 CN 104158750 A CN 104158750 A 1/2 页 2 1. 一种网络设备, 包括 : 分组入口, 被配置为接收在网络上所传输的数据分组 ; 多个计数器, 所述计数器中的多个被配置为, 针对所述数据分组的所指定部分中的多 个字节位置, 生成对指示所述多个字节位置中的预定字节值的出现的计数 ; 以及 分组分类器, 被配置为从所述计数器接收对所述字节值的出现的所述计数并且基于所 述计数来对数据分组分类。 2. 根据权利要求 1 所述的网络设备, 其中所述分组分类器进一步被配置为, 基于所述 分类来将服务质量应用至所述数据分组。 3. 根据权利要求 1 所述的网络设备, 其。
4、中所述分组分类器进一步被配置为, 基于所述 分类来丢弃分组。 4. 根据权利要求 1 所述的网络设备, 其中所述分组分类器进一步被配置为, 根据对所 述数据分组是否与 OSI 模型层 7 应用相关联的确定, 来对所述数据分组分类。 5. 根据权利要求 1 所述的网络设备, 其中分组分类器进一步被配置为, 在连续且预定 的位置处对所述数据分组分类。 6. 根据权利要求 1 所述的网络设备, 其中所述多个计数器中的每个计数器进一步被配 置为, 基于指定所述数据分组中的感兴趣部分的可重新配置的配置, 在每个数据分组的相 应不同的所指定的部分处对所述数据分组的字节值计数。 7. 根据权利要求 1 所述。
5、的网络设备, 其中所述多个计数器是被配置为对具有相应所述 字节值的字节的出现准确地计数的硬件组件。 8. 一种操作网络设备的方法, 包括 : 在网络设备处, 接收在网络上所传输的数据分组 ; 利用一个或多个计数器, 针对所述数据分组的所指定部分中的多个字节位置, 生成对 指示所述多个字节位置中的预定字节值的出现的计数 ; 在分类器处, 从所述计数器接收对所述字节值的出现的所述计数 ; 以及 基于所述计数对所述数据分组分类。 9. 根据权利要求 8 所述的方法, 进一步包括 : 在所述分类器处, 基于所述分类来将服务 质量应用至字节。 10. 根据权利要求 8 所述的方法, 进一步包括 : 在所。
6、述分类器处, 基于所述分类来丢弃 分组。 11. 根据权利要求 8 所述的方法, 其中所述分组分类器的所述分类确定所述数据分组 是否与 OSI 模型层 7 应用相关联。 12. 根据权利要求 8 所述的方法, 其中所述预定字节位置由所述分类器设置, 使得所述 数据分组的所指定部分是连续的。 13. 根据权利要求 8 所述的方法, 进一步包括 : 由所述一个或多个计数器重新配置将在 所述数据分组之中被计数的所指定部分的字节位置的范围。 14. 根据权利要求 8 所述的方法, 其中硬件组件执行对所述多个字节位置中的预定字 节值的出现的所述计数。 15. 一种网络设备, 包括 : 计数器, 被配置为。
7、生成指示数据分组内的字节值类型的出现的相应计数 ; 以及 权 利 要 求 书 CN 104158750 A 2 2/2 页 3 分组分类器, 被配置为基于所述计数来对所述数据分组分类。 16. 根据权利要求 15 所述的网络设备, 其中所述分组分类器进一步被配置为, 基于所 述分类丢弃所述分组。 17. 根据权利要求 15 所述的网络设备, 其中所述分组分类器的所述分类是确定所述数 据分组是否与 OSI 模型层 7 应用相关联。 18. 根据权利要求 15 所述的网络设备, 其中所述分组分类器进一步被配置为, 基于所 述分类来将服务质量应用至所述数据分组。 19. 根据权利要求 15 所述的网。
8、络设备, 其中所述计数器是被配置为对具有相应所述字 节值的字节的出现准确地计数的硬件组件。 20. 根据权利要求 15 所述的网络设备, 进一步包括 : 分组聚合器, 被配置为聚合包括所 述数据分组的多个数据分组的所述字节值, 其中所述计数器中的一个计数器进一步被配置 为, 针对聚合的所述字节值的所指定部分中的多个字节位置, 生成对指示在所述聚合字节 值的所指定部分中的所述多个字节位置中具有第一预定特性的字节值的出现的相应计数。 权 利 要 求 书 CN 104158750 A 3 1/11 页 4 使用字节分布的启发式网络流量分类 0001 相关申请的交叉引用 0002 本申请要求于 201。
9、3 年 5 月 13 日提交的美国临时专利申请 No.61/822,777 的优先 权和权益, 其公开内容通过引用以其整体并入本文。 技术领域 0003 本公开内容涉及处理分组的网络设备。 背景技术 0004 本文所提供的背景技术描述用于一般性地呈现本公开内容的背景的目的。 当前署 名的发明人的工作以其在背景技术部分中所描述的程度, 以及在提交时在其他方面不够格 作为现有技术的描述的方面, 既不明确地也不隐含地被承认为对当前公开内容不利的现有 技术。 0005 网络流量分类常规地基于内容匹配, 据此, 来自比特流的字节的匹配模式与匹配 比特流内容相关。 然而, 用于分类的常规方法通常需要复杂而。
10、昂贵的分类引擎, 并且对于一 些应用可能过于费时。 发明内容 0006 本公开内容的一个或多个示例实施例一般性地涉及用于网络流量分类的系统和 方法。分组入口被配置为从网络接收数据分组。该分组入口采用多个计数器。这些计数器 中的各种计数器被配置为, 针对这些数据分组的所指定部分中的多个字节位置, 生成指示 在该多个字节位置中预定字节值出现的计数。 分组分类器被配置为从这些计数器接收对这 些字节值的出现的计数, 并且至少部分地基于所接收的计数来分类这些数据分组。 附图说明 0007 图 1 示出了根据示例实施例的网络设备。 0008 图 2 示出了根据示例实施例的数据解析单元, 具有关于图 1 的。
11、数据的配置表格的 配置单元, 以及计数单元。 0009 图 3 示出了根据示例性实施例的根据图 2 的配置表格而操作的计数单元。 0010 图 4 示出了根据示例实施例的根据计数单元的结果而操作的分类单元。 0011 图 5 示出了根据示例实施例的存储器。 0012 图6是根据示例实施例的图1-5的流量分类设备的配置和计数操作的示例方法的 流程图。 0013 图 7 是根据示例实施例的图 1-5 的流量分类设备的分类操作的示例方法的流程 图。 0014 图 8A 是根据示例实施例的图 1-5 的流量分类设备的配置的示例方法的流程图。 0015 图 8B 示出了根据示例实施例的网络设备聚合数据。。
12、 说 明 书 CN 104158750 A 4 2/11 页 5 0016 图 9 示出了根据示例实施例的网络设备和网络。 0017 图 10 示出了根据示例实施例的网络设备。 0018 图11是根据诸如图10中的网络设备的加载和配置的示例实施例的示例方法的流 程图。 0019 图12是根据诸如图10中的网络设备的加载和配置的示例实施例的示例方法的流 程图。 0020 图 13 示出了根据示例实施例的根据计数单元的结果而操作的分类单元。 0021 图 14 示出了根据示例实施例的网络设备和输出单元。 0022 图 15 示出了根据示例实施例的根据计数单元的结果而操作的分类单元。 0023 图 。
13、16 示出了根据示例实施例的数据解析单元, 具有关于图 14 的数据的配置表格 的配置单元, 以及计数单元。 具体实施方式 0024 在下列讨论中, 为了更加清楚和简明, 省略了对公知的功能和构造的描述。 0025 图 1 示出了网络 100、 网络流量 101、 以及流量分类设备 1000。网络流量 101 包括 数据 110。流量分类设备 1000 是网络交换机、 网桥、 路由器等中的任何一种的示例, 并且包 括 : 数据解析单元 200、 配置单元 300、 计数单元 400、 分类单元 500、 处理器核心 600、 以及存 储器 700。在一个实施例中, 计数单元 400 进一步包括。
14、表格 401 和表格 402。流量分类设备 1000 的组件以示例实施例中的图 1 中所见的方式被布置。 0026 在一个实施例中, 数据解析单元 200、 配置单元 300、 计数单元 400、 分类单元 500、 以及存储器 700 中的每一个通信地耦合到处理器核心 600。 0027 根据一个示例实施例, 网络流量 101 涉及单个网络会话, 然而, 根据另一个示例实 施例, 网络流量 101 涉及多个网络会话。 0028 网络流量 101 的数据 110 包含第一字节位置 111、 第二字节位置 112、 中间字节位 置 113、 以及末尾字节位置 119。数据 110 的字节的位置和。
15、对应值由流量分类设备 1000 所 分析以发现要使用正被分析的数据的应用的特性, 因为流量分类设备 1000 是网络与一些 应用之间的中介。 0029 流量分类设备 1000 的数据解析单元 200 连接到来自网络 100 的网络流量 101 的 流。数据解析单元 200 从网络 100 接收网络流量 101 的数据 110。数据解析单元 200 解析 数据110(其在一个示例实施例中是数据分组)以分析数据的性质, 诸如分组内部的多个字 节位置和数据的类型, 并且将所解析的数据发送给配置单元 300。 0030 配置单元 300 沿着数据 110 设置字节位置的间隔, 诸如第一间隔 301、 。
16、第二间隔 302、 和第三间隔303。 每个间隔指的是数据100的一个区域内部的多个连续字节位置, 通过 其计数单元 400 将对数据 100 分析和分类。配置单元 300 还针对每个区域指定各自的分析 指令。 该分析指令更新计数单元400, 并指示计数单元400在字节位置的值匹配指令中所包 含的说明时增加计数器。根据一个非限制性示例实施例, 分析指令引起搜索匹配 ASCII 类 型字符字节, 并且计数单元 400 针对被确定与任意 ASCII 字符相对应的相应区域内的每一 个字节位置增加计数器。 在一个实施例中具体地实施为硬件组件或一组硬件组件的计数单 元 400 做出这样的确定。配置单元 。
17、300 将具有设置间隔和分析指令的数据 110 发送给计数 说 明 书 CN 104158750 A 5 3/11 页 6 单元 400。 0031 虽然配置单元 300 在图 1 被描绘为设置仅三个间隔, 但是这仅仅是一个示例实施 例 ; 这些间隔的图示定向也是一个示例实施例, 并且根据示例实施例对数据之间的间隔的 任意组合和顺序进行分析。在一个实施例中, 配置单元 300 被配置为设置多于或少于三个 与任意数据或多个数据分组有关的间隔。 0032 计数单元 400 包含一个或多个表格, 例如表格 401 和表格 402, 其分别包含与由配 置单元 300 所设置的分析指令有关的信息。在一个。
18、实施例中, 计数单元 400 针对每一个相 应的间隔对具有与这些分析指令相对应的值的字节位置的出现而增加或计数。 0033 在图 1 中所示出的示例实施例中的第一个字节的位置 111 位于第一间隔 301 之 内, 并且计数单元 400 当第一字节位置 111 的内容匹配针对间隔 301 的分析指令的特性时 增加计数器。计数单元 400 针对 ( 在一个示例实施例中 ) 也存储在表格 401 和表格 402 中 的相应分析指令来核对间隔 301 的每一个字节位置。计数单元 400 的操作导致一组会话属 性, 涉及由配置单元 300 所设置的分析指令。 0034 根据一个示例实施例, 计数单元 。
19、400 将计数的结果存储在存储器 700 中。根据一 个示例实施例, 这些结果由计数单元 400 传递给分类单元 500, 然而, 根据另一个示例实施 例, 分类单元 500 从存储器 700 获取结果。 0035 分类单元500基于由计数单元400所收集和所确定的数据属性来执行机器学习操 作, 以将至少一个网络会话分类。根据一个示例实施例, 这些数据属性被存储在存储器 700 中。经分类的网络会话 ( 作为统计分析的结果被分类 ) 基于分类被给予服务质量级别。根 据一个示例实施例, 当网络会话被确定为针对某些应用 ( 诸如开放式系统互联 (OSI) 模型 层 7 的非业务相关的媒体流应用 )。
20、 传输数据时, 针对这样的会话的服务质量被设置为相比 于被确定为针对业务相关应用 ( 诸如股票经纪交易订单 ) 的网络会话的服务质量更低。 0036 图 2 示出了数据 110、 数据解析单元 200、 配置单元 300、 表格信息 115 和计数单元 400。配置单元 300 图示了将数据 110 分布到第一间隔 301、 第二间隔 302 和第三间隔 303 中 ; 这仅是一个示例实施例, 并且根据其他示例实施例包括更多或更少的间隔。 0037 根据一个非限制性示例实施例, 数据 110 包含两百五十六个字节位置, 由下标标 为 0、 64、 95、 127、 240、 以及 255。第一。
21、间隔 301 开始于数据 110 的第一字节位置 ( 标为 0), 并结束于第九十六字节位置 ( 标为 95)。第二间隔 302 开始于数据 110 的第六十五字节位 置 ( 标为 64), 并结束于第一百二十八字节位置 ( 标为 127)。第三间隔 303 开始于数据 110 的第两百四十一字节位置 ( 标为 240), 并结束于末尾字节位置 ( 标为 255)。根据示例实施 例, 这些间隔是可配置的, 并且在数据 110 内的任何位置处的任何数量的字节或字节位置 被分析。 0038 配置单元 300 根据分析指令来填充表格 401 和表格 402。表格 401 和表格 402 被 图示在配。
22、置单元 300 中, 但是这仅是一个示例实施例。表格 401 和表格 402 是由计数单元 400所使用的配置设置, 并且这些配置设置由数据信息115来传递。 根据由图2所图示的示 例实施例, 表格401中包含与标记数据110的三个间隔分别相关的三个规则 ; 然而规则的数 量和类型是可配置的。在表格 401 中的每个规则由一个数字来表示, 为了解释的简单性, 并 且因此该表格可被理解为包括规则 1, 规则 1 和规则 3。每个规则与数据的字节位置的间隔 有关, 并且表格 401 由数字 “1” 图示了规则和区域之间的正关系。 说 明 书 CN 104158750 A 6 4/11 页 7 00。
23、39 配置单元 300 给出了用于针对匹配或对应于 ASCII 字符 “a-z” 和 “A-Z” ( 规则 1) 的任何字节的搜索第一间隔 301 的分析指令。配置单元 300 给出了用于针对匹配或对应 于十六进制值 “0x3F” 到 “0xFF” 的二进制等效 ( 规则 2) 的任何字节的搜索第二间隔 302 的分析指令。配置单元 300 给出了用于针对匹配或对应于特殊字符 “; ” 、“/” 、“*” 、“+” 和 “&” ( 规则 3) 的任何字节的搜索第三间隔 303 的分析指令。上面的搜索是可配置的, 并且 不从定义各种其他分析指令来限制配置单元 300。 0040 配置单元 300。
24、 将表格信息 115 传递给计数单元 400 作为用于分析数据 110 的配置 信息 ; 然而, 根据一个示例实施例, 计数单元 400 包含通过其分析数据 110 的预定配置。 0041 根据由图 2 所图示的示例实施例, 表格 402 包含三个间隔 301、 302、 和 303 的起始 偏移和结束偏移。起始偏移和结束偏移对应于相应间隔的开始和结束字节。 0042 根据一个示例实施例, 配置单元 300 被配置为将填充表格 401 和表格 402 的数据 存储在存储器中。 0043 图 3 示出了包括数据 110、 表格 401、 和表格 402 的指示的计数单元 400。由表格 401 。
25、和表格 402 所包含的配置设置被外部地接收, 如关于图 2 的表格信息 115 所讨论的 ; 然 而, 这仅是一个示例实施例, 并且根据其他示例实施例, 预先确定并预先设置计数单元 400 的配置设置。计数单元 400 还包括计数器 410、 计数器 420、 计数器 430, 结果表格 415、 结果 表格 425、 以及结果表格 435。计数器 410 对根据第一规则 ( 规则 1) 具有对应于第一间隔 301 之内的 ASCII 字符 “a-z” 和 “A-Z” 的任何一个字符的值的字节或字节位置计数。计数 器 420 对根据第二规则 ( 规则 2) 具有对应于第二间隔 302 之内的。
26、十六进制值 “0x3F” 到 “0xFF” 的值的字节或字节位置计数。计数器 430 对根据第三规则 ( 规则 3) 具有对应于第 三间隔 303 之内的特殊字符 “ ; ” 、“/” 、“*” 、“+” 和 “&” 的值的字节或字节位置计数。虽然 每个间隔对应于特定的规则, 但是这仅是一个示例实施例, 并且根据其他示例实施例一个 或多个规则对应于多个间隔。根据一个示例实施例, 计数器 410、 420 和 430 并行操作, 并且 为硬件组件。 0044 结果表格 415、 425 和 435 图示了相应的规则、 每一个位置处的字节信息、 增量、 以 及被发现对应于至少一个相应的规则的字节位。
27、置的增量的总计数。符号 “” 指示该字节 不对应于相应的规则或分析指令。结果表格 415、 425 和 435 是图示操作的概念的示例实施 例。 为了图示的目的, 这些结果表格还省略了间隔的中间位置, 并且如此图示了与由相应的 计数器在中间位置处计数的至少一个相应规则相对应的字节位置的总计数。 0045 结果表格415指示了计数器410对其相应值与相应的规则或分析指令相对应的总 共 2 字节的计数。计数器 410 在第一间隔 301 的位置 1 和 95 两处对类似字节计数, 并且因 此两个字节由计数器 410 计数, 如结果表格 415 的总数 “2” 所图示。第一间隔 301 的剩余 位置。
28、不包含与相应的规则或分析指令类似的字节。 0046 结果表格 425 指示了计数器 420 对与相应的规则或分析指令类似的 15 字节的出 现总数计数。计数器 420 在位置 65 和 127 处的类似字节, 以及在中间位置处的十二个类似 字节处计数。因此, 十五字节由计数器 420 计数, 如结果表格 425 的总数所图示。第二间隔 302 的剩余位置不包含与相应的规则或分析指令类似的字节。 0047 结果表格 435 指示了计数器 430 对于相应的规则或分析指令类似的总共 0 字节的 计数。计数器 430 在第三间隔 303 的任意位置处没有对类似字节计数。因此, 零字节由计 说 明 书。
29、 CN 104158750 A 7 5/11 页 8 数器 430 计数, 如结果表格 435 的总数所图示。 0048 结果表格 415、 425 和 435 仅是示例实施例, 并根据其他示例性实施例各种其他结 果被发现。包含在结果表格 415、 425 和 435 中的数据被存储在存储器中并且对应于数据 110 的配置模式。 0049 图4示出了分类单元500, 分类单元500包括如图示并且从图3的计数单元400所 接收的结果表格 415、 425 和 435。图 4 还图示了表格 515、 525 和 535, 它们每一个分别与对 结果表格 415、 425 和 435 的数据所执行的统。
30、计分析有关。 0050 表格 515、 525 和 535 每一个图示了字节 “# 被计数的” 的数量、 间隔的总大小、 和统 计结果。既在间隔内又匹配至少一个规则的字节数量为相应的结果表格的总增量值。间隔 的总大小为对应的结果表格的间隔横越其上的字节的总数量。 统计结果为相比于间隔的总 大小或字节的总数量而增加的字节数量的百分数。 0051 表格 515 示出了在九十六字节的总间隔大小之上增加了两个字节。相应地, 增加 的字节数量的大小占据总间隔大小的大约 2.08。为了图示的目的, 示出了近似值。 0052 表格 525 示出了在六十四字节的总间隔大小之上增加了既在间隔内又匹配至少 一个规。
31、则的字节的十五次出现。相应地, 增加的字节数量的大小占据总间隔大小的大约 23.44。 0053 表格 535 示出了在十六字节的总间隔大小之上增加了零个字节的出现。相应地, 增加的字节数量的大小占据总间隔大小的 0.00。 0054 表格 515、 525 和 535 仅是示例实施例, 并且根据其他示例实施例各种其他结果被 发现。在表格 515、 525 和 535 中所包含的数据被存储在存储器中, 并且根据示例实施例, 存 储在存储器中的这一数据对应于配置模式。 0055 图 5 示出了存储器 700 和存储在存储器 700 中的表格 540。表格 540 包含数据时 间戳、 配置模式 (。
32、“配置设置” )、 计数器结果、 和指示了在针对数据的字节的位置的间隔之 内出现满足至少一个规则的字节的统计结果。表格 540 还包含数据行 541、 542、 和 543。根 据一个示例实施例, 数据时间戳对应于网络会话被发起时的时间。 根据另一个示例实施例, 数据时间戳对应于多个网络会话被发起时的时间。根据另一个示例实施例, 表格 540 不包 含数据时间戳。配置模式与配置单元的设置有关。 0056 数据行 541 涉及关于图 2-4 所讨论的存储器中所存储的数据, 以及网络会话被发 起时的时间戳。 0057 数据行 542 和 543 涉及针对附加数据 110 的附加结果, 并且单纯地出。
33、于图示的目 的被呈现。根据一个示例实施例, 数据行 542 和 543 涉及在相同时间处获取的相同网络会 话, 如由类似的数据时间戳所指示。行 543 的配置模式图示了相对于行 542 的配置模式的 可替换配置模式, 并且根据示例实施例, 该可替换配置模式得出可替换的结果。 该可替换配 置模式指示了不同的分析指令被配置, 通过这些不同的分析指令, 相同的网络会话在不同 的准则下被分析。根据一个示例实施例, 表格 540 包含的行的数量、 次数、 配置设置以及结 果比所示意的更多或更少。 0058 图 6 是根据示例实施例当数据由流量分类设备所接收时的示例算法和方法的流 程图。图 6 的示例方法。
34、应用至其中利用流量分类设备的多个示例实施例中。当流量分类设 备从至少一个网络会话接收数据时, 处理开始于连接符 A、 S600。处理在 S601 继续。 说 明 书 CN 104158750 A 8 6/11 页 9 0059 在 S601 处, 流量分类设备解析数据。处理继续至 S602。 0060 在 S602 处, 流量分类设备通过例如指定要被分析的数据的区域并且针对每一个 数据的间隔而指定分析指令来设置配置模式。处理然后继续至 S603。 0061 在 S603 处, 流量分类设备对在感兴趣的区域之内的字节位置处与规则相匹配的 字节值的出现计数。处理经由连接符 B、 S700 而继续至。
35、图 7 所示的步骤。 0062 图 7 是根据示例实施例当数据由流量分类设备所接收时的示例算法和方法的流 程图。图 7 的示例方法应用至对网络会话分类的多个示例实施例中。当流量分类设备从至 少一个网络会话接收数据时, 处理开始于连接符 B、 S700。处理在 S701 处继续。 0063 在 S701 处, 流量分类设备将结果计数数据存储在存储器中。处理继续至 S702。 0064 在 S702 处, 流量分类设备基于结果计数数据计算统计结果。统计结果指示了匹配 至少一个规则的间隔期间出现的字节的百分数。处理继续至 S703。 0065 在 S703 处, 流量分类设备将结果统计结果存储在存储。
36、器中。处理经由连接符 A、 S600 继续至图 6 所示出的步骤, 并且接下来的数据以相似的方式处理。 0066 图 8a 是根据示例实施例当数据由流量分类设备所接收时的示例算法和方法的流 程图。图 8a 的示例方法应用至其中利用流量分类设备的多个示例实施例中。当流量分类 设备从至少一个网络会话接收数据时, 处理开始于 S800。处理在 S801 处继续。 0067 在 S801 处, 流量分类设备确定数据是否包括多个分组。 0068 在 S801 处, 如果数据不包括多个分组, 则处理经由连接符 A、 S600 而继续。 0069 在 S801 处, 如果分组包括多个分组, 则处理继续至 S。
37、802。 0070 在 S802 处, 流量分类设备将多个分组聚合到用于单个作业的数据中, 借此多个分 组的数据一起被分析。处理然后经由图 6 的连接符 A、 S600 而继续以利用其他数据来重复 循环。 0071 图 8B 解释了与聚合数据有关的刚提到的示例实施例, 并且示出了流量分类设备 1000, 流量分类设备 1000 与网络 100 对接, 接收网络流量 101, 并且包括数据解析单元 200、 配置单元 300、 计数单元 400、 分类单元 500、 处理器核心 600、 和存储器 700。流量分类设备 1000 的组件基本上与关于图 1 所讨论的相似, 除了下面提到的部分。 0。
38、072 图 8B 示出了包括网络流量 101 的多个分组 102、 103、 109。为了图示, 在分组 103 和分组 109 之间的中间分组被省略。 0073 流量分类设备 1000 接收网络流量 101 的多个分组 102、 103、 109。数据解析单元 200 将多个分组 102、 103、 109 聚合为聚合数据 250。根据一个示例实施例, 流量分类设备 1000 基本上以上面关于至少图 1-5 所讨论的方法类似的方法来处理聚合数据 250。 0074 图 9 示出了网络 100、 数据 110、 流量分类设备 1000、 结果 120、 数据库 130、 和其他 网络 140。。
39、根据一个示例实施例, 数据库 130 连接到多个其他网络 140。 0075 流量分类设备 1000 被配置为以基本上类似于上面关于图 1-5 所讨论的方法来接 收和处理网络 100 的数据。流量分类设备 1000 进一步被配置为, 与数据库 120 并且随后与 多个其他网络 140 共享其处理的结果, 诸如关于针对一个区域的分析指令的增量计数的总 数量, 以及随后的统计结果。根据这一示例实施例, 流量分类设备 1000 通信地与多个其他 网络 140 耦合。 0076 图 10 示出了流量分类设备 1000。流量分类设备 1000 经由网络接口控制器 说 明 书 CN 104158750 A。
40、 9 7/11 页 10 (NIC)1101与网络1100对接, 并且包括分组缓冲器1102、 分组解析器/聚合器1103、 会话缓 冲器 1104、 配置器 1105、 计数器描述符单元 1106、 作业队列 1107、 硬件计数器 1108、 结果队 列 1109、 会话分析器 1110、 会话分类器 1111、 和深度分组检查 (DPI) 引擎 1112。根据一个 示例实施例, 分组缓冲器 1102、 会话缓冲器 1104、 计数器描述符 1106、 作业队列 1107、 硬件 计数器 1108、 和队列结果 1109 均实施为硬件组件。根据示例实施例, 分组解析器 / 聚合器 1103。
41、、 配置器 1105、 会话分析器、 会话分类器 1111 和 DPI 引擎 1112 均实施为可编程处理器 中的软件组件。硬件组件共同地形成硬件元件 1200, 并且软件组件形成软件元件 1300。 0077 分组缓冲器 1102 被配置为保持将由分组解析器 / 聚合器 1103 来聚合的多个分 组。会话缓冲器 1104 保持聚合数据 1103b 直至硬件计数器 1108 准备好基于作业队列 1107 和来自计数器描述符 1106 的计数器配置数据 1106a 两者来处理聚合数据 1103。 0078 网络1100将网络流量1100a发送给NIC1101。 NIC1101将该网络流量或数据1。
42、101a 发送给分组缓冲器 1102。分组缓冲器 1102 将分组数据 1102a 发送给分组解析器 1103。 0079 分组解析器/聚合器1103被配置为基于从DPI引擎1112所发送的控制信号1112a 来聚合分组数据 1102a。 0080 DPI 引擎 1112 被配置为, 基于如由会话分析器 1110 所确定的当前处理的状态, 从 会话分类器 1111 以及会话分析器 1110 两者接收控制信号。DPI 引擎进一步被配置为将作 业写入到作业队列, 其由硬件计数器 1108 并行地实施。 0081 分组解析器/聚合器1103向会话分析器1110发送会话元数据1103a, 并且分组解 。
43、析器 / 聚合器 1103 向会话缓冲器 1104 发送聚合分组数据 1103b。 0082 配置器 1105 被配置为确定计数器配置并且将计数器配置控制信号 1105a 从软件 发送至硬件的计数器描述符单元1106。 配置器1105进一步被配置为向硬件计数器1108发 送用于作业的存储器布局控制信号 1105b 以及将由硬件计数器 1108 执行的结果。 0083 计数器描述符单元 1106 被配置为处理来自配置器 1105 的计数器配置控制信号 1105a, 并且向硬件计数器 1108 发送随后的计数器配置控制信号 1106a。 0084 硬件计数器 1108 被配置为, 当存储器布局控制。
44、信号 1105b、 数据 1104a、 以及计数 器配置控制信号 1106a 分别从配置器 1105、 会话缓冲器 1104、 以及计数器描述符 1106 接收 时, 处理来自作业队列1107的作业1107a。 硬件计数器1108被配置为以基本上与上面关于 图 4 所讨论的方法的并行化版本类似的方法来处理数据 1104a, 其中在图 4 中硬件计数器 1108 处理从作业队列 1107 分别去往来自网络 1100 的多个会话的多个作业 1107a。根据一 个示例实施例, 该多个会话来自多个网络。 0085 硬件计数器1108进一步被配置为将结果110Sa写至结果队列1109, 所述结果队列 1。
45、109 然后将结果数据 1109a 发送给会话分析器 1110。会话分析器 1110 以基本上与上面所 标识的硬件计数器 1108 的并行化类似的方式来处理结果队列。会话分析器 1110 的关于数 据1109a的结果涉及基本上与上面关于图4所讨论的那些结果类似的统计结果, 然而, 这仅 是一个示例实施例, 并且根据其他示例实施例, 采用其他统计分析方法。 0086 会话分析器 1110 的结果被发送给会话分类器 1111 用于分类以及 DPI 引擎 1112 的进一步控制。下面关于图 11 和 12 讨论用于使用图 10 的流量分类设备 1000 的非限制性 示例算法和方法。 0087 上面关。
46、于图10的对流量分类设备1000的描述仅是非限制性的示例实施例并且各 说 明 书 CN 104158750 A 10 8/11 页 11 种修改以及上面的公开内容的排列根据本公开内容的范围内的其他示例实施例而被执行。 根据一个示例实施例, 流量分类设备 1000 仅包括硬件组件。 0088 图 11 是根据一个示例实施例, 当数据由流量分类设备接收时的示例算法和方法 的流程图。图 11 的示例方法应用至多个示例实施例, 其中流量分类设备被利用。当流量分 类设备从至少一个网络会话接收数据时, 处理在连接符 C、 S1100 处开始。处理在 S1101 处 继续。 0089 在 S1101 处, 。
47、用于分析的数据被加载到存储器中。该处理在 S1102 处继续。 0090 在 S1102 处, 软件将配置模式写入到该存储器中, 由此设置用于硬件计数器的参 数。该处理在 S1103 处继续。 0091 在 S1103 处, 软件通过专用寄存器激活硬件引擎, 发起硬件处理。该处理在 S1104 处继续。 0092 在 S1104 处, 硬件从该存储器解析该配置模式。如由图 12 所示出的, 处理经由连 接符 D, S1200 而继续。 0093 在图 12 中, 当流量分类设备的硬件从至少一个网络会话接收数据时, 处理在连接 符 D、 S1200 处开始。处理在 S1201 处继续。 0094。
48、 在 S1201 处, 硬件计数器根据从存储器所解析的配置模式来处理数据。处理在 S1202 处继续。 0095 在 S1202 处, 硬件将经处理的数据的结果、 计数器结果写至存储器。处理在 S1203 处继续。 0096 在 S1203 处, 软件通过读取专用硬件引擎寄存器而从硬件请求该处理的状态。处 理在 S1204 处继续。 0097 在 S1204 处, 软件确定硬件引擎寄存器指示硬件处理完成并且软件从存储器读取 完整的结果。 处理经由连接符C, 在S1100处而继续到图11中所示出的步骤, 并且接下来的 数据以相似的方式被处理。 0098 图 13 示出了分类单元 500, 其包括。
49、如所图示的并且从图 3 的计数单元 400 所接收 的结果表格 415、 425、 以及 435。图 4 还图示了表格 516、 526、 以及 536, 它们每个分别涉及 对结果表格 415、 425、 以及 435 的数据所执行的统计分析。 0099 表格 516、 526、 以及 536 每个图示了多个所增加的字节出现的数量、 间隔的总大 小、 统计结果、 以及数据是否由于统计结果而被过滤的指示。所增加的字节的数量是相应 结果表格的总增加值。间隔的总大小是在其上对应结果表格的间隔所横越的字节的总数 量。在一个实施例中, 统计结果是所增加的字节数量与间隔的总大小或字节总数量相比的 百分数。过滤包括丢弃数据或者数据的一部分, 或者以其他方式不将数据发送给过滤前 (pre-fi ltered) 的目的地中的任何一种。 0100 表格 516 示出了在九十六个字节的总间隔大小之。