对于分组报头采样的长度控制转让专利

申请号 : CN201580084174.3

文献号 : CN108141387B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : J.罗森贝格S.卡恩杨硕D.康

申请人 : 瑞典爱立信有限公司

摘要 :

网络节点(110)对网络业务的数据分组进行采样。对于每个采样数据分组,网络节点(110)将采样数据分组的分组报头与一个或更多分组报头模式的集合相比。取决于该比较,网络节点(110)确定要从采样数据分组中提取的分组报头部分的长度。然后,网络节点(110)从采样数据分组中提取所确定的长度的分组报头部分,并且生成包括采样数据分组的所提取的分组报头部分的数据报。

权利要求 :

1.一种监视网络业务的方法,所述方法包括:网络节点(110;600;900)对网络业务的数据分组(410,420,430)进行采样;

对于每个采样数据分组(410,420,430),所述网络节点(110;600;900)将所述采样数据分组(410,420,430)的分组报头与一个或更多分组报头模式的集合相比,其中每个分组报头模式通过一个或更多协议类型的序列被定义;

取决于所述比较,所述网络节点(110;600;900)从所述集合中确定与所述采样数据分组(410,420,430)的所述分组报头最佳匹配的分组报头模式,并且确定要从所述采样数据分组(410,420,430)提取的分组报头部分的长度;

所述网络节点(110;600;900)以如下这种方式从所述采样数据分组(410,420,430)中提取所确定的长度的所述分组报头部分:要提取的所述分组报头部分包含与定义所述最佳匹配分组报头模式的协议类型之所述序列对应的协议报头;

所述网络节点(110;600;900)生成包括所述采样数据分组(410,420,430)的所提取的分组报头部分的数据报;以及

所述网络节点(110;600;900)将所述数据报传送到用于分析的另外网络节点(120)。

2.根据权利要求1所述的方法,包括:在所述采样数据分组(410,420,430)中,所述网络节点(110;600;900)标识定义所述最佳匹配分组报头模式的协议类型之所述序列的第一个协议报头的第一个字节和定义所述最佳匹配分组报头模式的协议类型之所述序列的最后一个协议报头的最后一个字节;以及所述网络节点(110;600;900)将要提取的所述分组报头部分确定成从定义所述最佳匹配分组报头模式的协议类型之所述序列的所述第一个协议报头的所述第一个字节延伸到定义所述最佳匹配分组报头模式的协议类型之所述序列的所述最后一个协议报头的所述最后一个字节。

3.根据权利要求1所述的方法,包括:响应于标识没有来自所述集合的分组报头模式与所述采样数据分组(410,420,430)的所述分组报头匹配,所述网络节点(110;600;900)将所述长度确定成对应于配置的最大长度。

4.根据前述权利要求1至2中的任一项所述的方法,其中从所述采样数据分组(410,420,430)中提取的所述分组报头部分的所述长度在所述采样数据分组(410,420,430)中的至少一些采样数据分组之间不同。

5.根据前述权利要求1至2中的任一项所述的方法,包括:所述网络节点(110;600;900)从管理节点(130;800;1000)接收指示一个或更多分组报头模式的所述集合的配置信息。

6.根据前述权利要求1至2中的任一项所述的方法,其中所述数据报对应于sFlow数据报。

7.一种对网络业务的监视进行控制的方法,所述方法包括:管理节点(130;800;1000)确定一个或更多分组报头模式的集合;以及所述管理节点(130;800;1000)将指示一个或更多分组报头模式的所述集合的配置信息发送到配置成对网络业务的数据分组(410,420,430)进行采样的至少一个网络节点(110;600;900),

其中,一个或更多分组报头模式的所述集合使所述至少一个网络节点(110;600;900)能够:

‑对于每个采样数据分组(410,420,430),将所述采样数据分组(410,420,430)的分组报头与一个或更多分组报头模式的所述集合相比,其中每个分组报头模式通过一个或更多协议类型的序列被定义;

‑取决于所述比较,从所述集合中确定与所述采样数据分组(410,420,430)的所述分组报头最佳匹配的分组报头模式,并且确定要从所述采样数据分组(410,420,430)中提取的分组报头部分的长度,

‑以如下这种方式从所述采样数据分组(410,420,430)中提取所确定的长度的所述分组报头部分:要提取的所述分组报头部分包含与定义所述最佳匹配分组报头模式的协议类型之所述序列对应的协议报头,

‑生成包括所述采样数据分组(410,420,430)的所提取的分组报头部分的数据报;以及将所述数据报传送到用于分析的另外网络节点。

8.根据权利要求7所述的方法,

其中从所述采样数据分组(410,420,430)中提取的所述分组报头部分的所述长度在所述采样数据分组(410,420,430)中的至少一些采样数据分组之间不同。

9.根据权利要求7所述的方法,

其中所述数据报对应于sFlow数据报。

10.一种网络节点(110;600;900),所述网络节点(110;600;900)配置成:‑对网络业务的数据分组(410,420,430)进行采样;

‑对于每个采样数据分组(410,420,430),将所述采样数据分组(410,420,430)的分组报头与一个或更多分组报头模式的集合相比,其中每个分组报头模式通过一个或更多协议类型的序列被定义;

‑取决于所述比较,从所述集合中确定与所述采样数据分组(410,420,430)的所述分组报头最佳匹配的分组报头模式,并且确定要从所述采样数据分组(410,420,430)中提取的分组报头部分的长度;

‑以如下这种方式从所述采样数据分组(410,420,430)中提取所确定的长度的所述分组报头部分:要提取的所述分组报头部分包含与定义所述最佳匹配分组报头模式的协议类型之序列对应的协议报头;

‑生成包括所述采样数据分组(410,420,430)的所提取的分组报头部分的数据报;以及‑将所述数据报传送到用于分析的另外网络节点(120)。

11.根据权利要求10所述的网络节点(110;600;900),其中所述网络节点(110;600;900)配置成:‑在所述采样数据分组(410,420,430)中,标识定义所述最佳匹配分组报头模式的协议类型之序列的第一个协议报头的第一个字节和定义所述最佳匹配分组报头模式的协议类型之序列的最后一个协议报头的最后一个字节;以及‑将要提取的所述分组报头部分确定成从定义所述最佳匹配分组报头模式的协议类型之序列的所述第一个协议报头的所述第一个字节延伸到定义所述最佳匹配分组报头模式的协议类型之序列的所述最后一个协议报头的所述最后一个字节。

12.根据权利要求10所述的网络节点(110;600;900),包括:其中所述网络节点(110;600;900)配置成:‑响应于标识没有来自所述集合的分组报头模式与所述采样数据分组(410,420,430)的所述分组报头匹配,所述网络节点(110;600;900)将所述长度确定成对应于配置的最大长度。

13.根据权利要求10至12中的任一项所述的网络节点(110;600;900),其中从所述采样数据分组(410,420,430)中提取的所述分组报头部分的所述长度在所述采样数据分组(410,420,430)的至少一些采样数据分组之间不同。

14.根据权利要求10所述的网络节点(110;600;900),其中所述网络节点(110;600;900)配置成从管理节点(130;800;1000)接收指示一个或更多分组报头模式的所述集合的配置信息。

15.根据权利要求10所述的网络节点(110;600;900),其中所述数据报对应于sFlow数据报。

16.根据权利要求10所述的网络节点(110;600;900),其中所述网络节点(110;600;900)配置成执行根据权利要求1至6中的任一项的方法的步骤。

17.一种管理节点(130;800;1000),所述管理节点(130;800;1000)配置成:‑确定一个或更多分组报头模式的集合;以及‑将指示一个或更多分组报头模式的集合的配置信息发送到配置成对网络业务的数据分组(410,420,430)进行采样的至少一个网络节点(110;600;900),其中,一个或更多分组报头模式的集合使所述至少一个网络节点(110;600;900)能够:‑对于每个采样数据分组(410,420,430),将所述采样数据分组(410,420,430)的分组报头与一个或更多分组报头模式的所述集合相比,其中每个分组报头模式通过一个或更多协议类型的序列被定义,

‑取决于所述比较,从所述集合中确定与所述采样数据分组(410,420,430)的所述分组报头最佳匹配的分组报头模式,并且确定要从所述采样数据分组(410,420,430)中提取的分组报头部分的长度,

‑以如下这种方式从所述采样数据分组(410,420,430)中提取所确定的长度的所述分组报头部分:要提取的所述分组报头部分包含与定义所述最佳匹配分组报头模式的协议类型之序列对应的协议报头,

‑生成包括所述采样数据分组(410,420,430)的所提取的分组报头部分的数据报;以及‑将所述数据报传送到用于分析的另外网络节点。

18.根据权利要求17所述的管理节点(130;800;1000),其中从所述采样数据分组(410,420,430)中提取的所述分组报头部分的所述长度在至少一些所述采样数据分组(410,420,430)中的至少一些采样数据分组之间不同。

19.根据权利要求17所述的管理节点(130;800;1000),其中所述数据报对应于sFlow数据报。

20.根据权利要求17所述的管理节点(130;800;1000),其中所述管理节点(130;800;1000)配置成执行根据权利要求7至9中的任一项的方法的步骤。

21.一种用于监视网络业务的系统,所述系统包括:多个网络节点(110;600;900),配置成:‑对网络业务的数据分组(410,420,430)进行采样;

‑对于每个采样数据分组(410,420,430),将所述采样数据分组(410,420,430)的分组报头与一个或更多分组报头模式的集合相比,其中每个分组报头模式通过一个或更多协议类型的序列被定义;

‑取决于所述比较,从所述集合中确定与所述采样数据分组(410,420,430)的所述分组报头最佳匹配的分组报头模式,并且确定要从所述采样数据分组(410,420,430)中提取的分组报头部分的长度;

‑以如下这种方式从所述采样数据分组(410,420,430)中提取所确定的长度的所述分组报头部分:要提取的所述分组报头部分包含与定义所述最佳匹配分组报头模式的协议类型之序列对应的协议报头;

‑生成包括所述采样数据分组(410,420,430)的所提取的分组报头部分的数据报;

‑将所述数据报传送到用于分析的另外网络节点;以及其中,所述另外网络节点(120)被配置成:‑从所述多个网络节点(110;600;900)接收所述数据报;以及‑分析接收的数据报。

22.根据权利要求21所述的系统,其中所述系统进一步包括:管理节点(130;800;1000),配置成将指示一个或更多分组报头模式的所述集合的配置信息发送到所述多个网络节点(110;600;900)。

23.根据权利要求22所述的系统,其中所述管理节点(130;800;1000)配置成执行根据权利要求7至9中的任一项的方法的步骤。

24.根据权利要求21至22中的任一项所述的系统,其中所述多个网络节点(110;600;900)中的每个网络节点配置成执行根据权利要求1至6中的任一项的方法的步骤。

25.一种非暂时性存储介质,包括要由网络节点(110;600;900)的至少一个处理器(950)执行的程序代码,其中所述程序代码的执行促使所述网络节点(110;600;900)执行根据权利要求1至6中的任一项的方法的步骤。

26.一种非暂时性存储介质,包括要由管理节点(130;800;1000)的至少一个处理器(950)执行的程序代码,其中所述程序代码的执行促使所述管理节点(130;800;1000)执行根据权利要求7至9中的任一项的方法的步骤。

说明书 :

对于分组报头采样的长度控制

技术领域

[0001] 本发明涉及用于监视网络业务的方法以及对应装置和系统。

背景技术

[0002] 在通信网络中,已知的是,监视通过通信网络传送的业务的数据分组,业务基于因特网协议(IP)。例如,称为“sFlow”的技术(例如在RFC 3176(2001年9月)或者sFlow版本5备
忘录(由InMon Corp,Marc Lavine,Foundry Network所作,在http://www.sFlow.org下可
得到(2004年7月)中规定的)可被嵌入在网络节点(尤其是,交换机和路由器)内。sFlow技术
允许连续监视应用级业务流。这可以线速(wire speed)并同时在相应网络节点的所有接口
上被完成。
[0003] 在sFlow技术中,sFlow代理作为网络节点内的网络管理软件的一部分运行。sFlow代理将接口计数器和流样本组合进sFlow数据报中。网络节点将sFlow数据报发送到sFlow
收集器,其负责从运行sFlow代理的多个网络节点收集sFlow数据报。在sFlow收集器,可分
析sFlow数据报以产生业务流的丰富、实时的、网络范围的视图。
[0004] 在典型情形下,监视的数据分组的分组报头中携带的信息可被用作对于流分析的基础。在此情况下,sFlow代理可从监视的数据分组中提取分组报头,并将它包含进sFlow数
据报中。为了控制分组报头部分的提取,配置了称为MaximumHeaderLength的参数,并且从
每个监视的数据分组中提取具有与这个参数对应的长度的字符串。MaximumHeaderLength
通常被设置得足够长使得分组报头中的所有相关信息被覆盖,而不管分组报头的结构或内
容中的可能变形。
[0005] 例如,分组报头的结构或内容中的此类变形可发生在利用分段路由(SR)(例如,如因特网草案“Segment Routing Architecture”,draft‑ietf‑spring‑segment‑routing‑06
(2015年10月14日)中所描述的)的传输网络中。在SR的情况下,路由器计算用于数据分组的
转发路径(分段的列表),并将此信息嵌入到分组报头中的分段ID栈中。随着所计算的转发
路径的复杂性增大,分段ID栈的深度也增大,并且可因此从一个流到另一个流而不同。另
外,分段ID栈在数据分组的转发期间也改变。(典型地,当分组从转发路径的一个分段被转
发到下个分段时,分段ID栈的深度减小一。)
[0006] 为了确保提取来自分组报头的所有相关信息,MaximumHeaderLength参数需要例如使用对于分段ID栈的最大深度和一些附加裕度的合理估计来被配置得足够高。然而,如
果给定的数据分组含有较低深度的分段ID栈,则所提取的分组报头部分将还包含不必要的
字节,这些字节然后被包含进sFlow数据报中。这可导致传送带宽和/或处理资源的低效使
用。例如,在IP/SR分组报头的情况下,当目的在于完全提取其中分段ID栈的深度是12(即,
包含12个分段ID)的数据分组的分组报头时,可需要对应于82个字节的
MaximumHeaderLength。另一方面,其中分段ID栈的深度仅是1的数据分组的分组报头的长
度可以仅是38个字节,这意味着,44个字节的不必要信息将被包含进sFlow数据报中。
[0007] 因此,存在对于允许从监视的数据分组中高效地提取报头信息的技术的需要。

发明内容

[0008] 根据本发明的实施例,提供了一种监视网络业务的方法。根据该方法,网络节点对网络业务的数据分组进行采样。对于每个采样数据分组,网络节点将采样数据分组的分组
报头与一个或更多分组报头模式的集合相比。取决于该比较,网络节点确定要从采样数据
分组中提取的分组报头部分的长度。然后,网络节点从采样数据分组中提取所确定的长度
的分组报头部分,并且生成包括采样数据分组的所提取的分组报头部分的数据报。
[0009] 根据本发明的另外实施例,提供了一种对网络业务的监视进行控制的方法。根据该方法,管理节点确定一个或更多分组报头模式的集合。管理节点然后将指示一个或更多
分组报头模式的集合的配置信息发送到配置成对网络业务的数据分组进行采样的至少一
个网络节点。一个或更多分组报头模式的集合使所述至少一个网络节点能够:对于每个采
样数据分组,将采样数据分组的分组报头与一个或更多分组报头模式的集合相比;取决于
该比较,确定要从采样数据分组中提取的分组报头部分的长度;从采样数据分组中提取所
确定的长度的分组报头部分;以及生成包括采样数据分组的所提取的分组报头部分的数据
报。
[0010] 根据本发明的另外实施例,提供了一种网络节点。网络节点配置成对网络业务的数据分组进行采样。另外,网络节点配置成,对于每个采样数据分组,将采样数据分组的分
组报头与一个或更多分组报头模式的集合相比。另外,网络节点配置成,取决于该比较,确
定要从采样数据分组中提取的分组报头部分的长度。另外,网络节点配置成,从采样数据分
组中提取所确定的长度的分组报头部分,并且生成包括采样数据分组的所提取的分组报头
部分的数据报。
[0011] 根据本发明的另外实施例,提供了一种管理节点。管理节点配置成确定一个或更多分组报头模式的集合。另外,管理节点配置成将指示一个或更多分组报头模式的集合的
配置信息发送到配置成对网络业务的数据分组进行采样的至少一个网络节点。一个或更多
分组报头模式的集合使所述至少一个网络节点能够:对于每个采样数据分组,将采样数据
分组的分组报头与一个或更多分组报头模式的集合相比;取决于该比较,确定要从采样数
据分组中提取的分组报头部分的长度;从采样数据分组提取中所确定的长度的分组报头部
分;以及生成包括采样数据分组的所提取的分组报头部分的数据报。
[0012] 根据本发明的另外实施例,提供了一种系统。该系统包括多个网络节点和另外网络节点。所述多个网络节点配置成:对网络业务的数据分组进行采样;对于每个采样数据分
组,将采样数据分组的分组报头与一个或更多分组报头模式的集合相比;取决于该比较,确
定要从采样数据分组中提取的分组报头部分的长度;从采样数据分组中提取所确定的长度
的分组报头部分;以及生成包括采样数据分组的所提取的分组报头部分的数据报。所述另
外网络节点配置成从所述多个网络节点接收数据报;并且分析所接收的数据报。根据一实
施例,该系统可进一步包括:管理节点,配置成确定一个或多个分组报头模式的集合,并将
指示一个或更多分组报头模式的集合的配置信息发送到所述多个网络节点。
[0013] 根据本发明的另外实施例,提供了一种计算机程序或计算机程序产品(例如以非暂态存储介质的形式),其包括要由网络节点的至少一个处理器执行的程序代码。程序代码
的执行促使网络节点对网络业务的数据分组进行采样。另外,程序代码的执行促使网络节
点:对于每个采样数据分组,将采样数据分组的分组报头与一个或更多分组报头模式的集
合相比。另外,程序代码的执行促使网络节点:取决于该比较,确定要从采样数据分组中提
取的分组报头部分的长度。另外,程序代码的执行促使网络节点:从采样数据分组中提取所
确定的长度的分组报头部分,并且生成包括采样数据分组的所提取的分组报头部分的数据
报。
[0014] 根据本发明的另外实施例,提供了一种计算机程序或计算机程序产品(例如以非暂态存储介质的形式),其包括要由管理节点的至少一个处理器执行的程序代码。程序代码
的执行促使管理节点确定一个或更多分组报头模式的集合。另外,程序代码的执行促使管
理节点将指示一个或更多分组报头模式的集合的配置信息发送到配置成对网络业务的数
据分组进行采样的至少一个网络节点。一个或更多分组报头模式的集合使所述至少一个网
络节点能够:对于每个采样数据分组,将采样数据分组的分组报头与一个或更多分组报头
模式的集合相比;取决于该比较,确定要从采样数据分组中提取的分组报头部分的长度;从
采样数据分组中提取所确定的长度的分组报头部分;以及生成包括采样数据分组的所提取
的分组报头部分的数据报。
[0015] 此类实施例和另外实施例的细节从实施例的如下详细描述中将是显而易见的。

附图说明

[0016] 图1示意性示出根据本发明的实施例的业务监视架构的示例。
[0017] 图2示意性示出根据本发明的实施例的业务监视节点。
[0018] 图3示出如本发明的实施例中所利用的分组报头模式的集合的示例。
[0019] 图4A、4B和4C示出根据本发明的实施例的从其中提取不同长度的分组报头部分的数据分组的示例。
[0020] 图5示出用于示意性示出根据本发明的实施例的监视网络业务的方法的流程图。
[0021] 图6示出用于示出根据本发明的实施例的网络节点的功能性的框图。
[0022] 图7示出用于示意性示出根据本发明的实施例的对网络业务的监视进行控制的方法的流程图。
[0023] 图8示出用于示出根据本发明的实施例的管理节点的功能性的框图。
[0024] 图9示意性示出根据本发明的实施例的网络节点的结构。
[0025] 图10示意性示出根据本发明的实施例的管理节点的结构。

具体实施方式

[0026] 在下文中,将参考附图并更详细地说明按照本发明的示范性实施例的概念。所示出的实施例涉及通信网络中的业务的监视。通信网络可例如是移动通信网络的传输网络
(例如,如由3GPP(第3代合作伙伴项目)所规定的)。然而,要理解到,所示出的概念也可被应
用在其它种类的通信网络(例如局域网(LAN)、或者广域网(WAN))中,并且此类通信网络可
基于各种种类的连网技术,包含基于以太网的有线连网技术、数字订户线(DSL)技术、光纤
技术和/或同轴电缆技术。另外,此类通信网络可基于各种种类的通信协议。另外,通信网络
可应用各种种类的技术以获得通过通信网络的数据分组的高效传输,诸如因特网草案
“Segment Routing Architecture”,draft‑ietf‑spring‑segment‑routing‑06(2015年10
月14日)中所描述的SR技术或者如IETF RFC 3031(2001年1月)中所规定的MPLS(多协议标
签交换)技术。
[0027] 在所示出的概念中,通过通信网络传送的数据分组(在下文中也称为网络业务的数据分组)可由通信网络的某些节点(在下文中也称为网络节点)来进行采样。此类网络节
点可负责将数据分组转发向它们的目的地,例如对应于路由器或交换机。网络业务可包含
用户业务,即,往或来于最终用户的业务。然而,在一些情况下,网络业务可也包含控制业
务,即,由通信网络内的控制节点生成的业务。从每个采样数据分组,分组报头部分被提取
进数据报中。此类数据报然后可形成分析网络业务的基础,例如,以便形象化或者以别的方
式评估通过通信网络的数据分组的流。数据报可例如对应于sFlow数据报(sFlow数据报如
RFC 3176(2001年9月)或者sFlow版本5备忘录(由InMon Corp,Marc Lavine,Foundry 
Network所作,在http://www.sFlow.org下可得到)(2004年7月)中所规定)。在所示出的概
念中,对于每个采样数据分组,可单独设置从采样数据分组中提取的分组报头部分的长度。
为了这个目的,采样数据分组的分组报头可被与一个或更多分组报头模式的集合相比,并
且要被所提取的分组报头部分的长度取决于该比较被确定。因此,可采用如下这种方式准
确地控制所提取的分组报头部分:覆盖感兴趣的分组报头信息,同时避免提取不必要的信
息,即使采样数据分组包含相对于内容和/或结构而改变的分组报头。通过管理规程,分组
报头模式的此类集合可被配置在参与网络业务的监视的每个网络节点中。
[0028] 图1示意性示出通信网络的示范性架构,其可用于实现所示出的概念。如图1中所示出的,通信网络100包含多个装置10,其通过通信网络100进行通信。此类装置10可对应于
用户终端,诸如计算机、智能电话、平板计算机、或诸如此类。然而,其它种类的装置也可生
成和/或接收网络业务,诸如服务器或机器类型通信(MTC)装置。作为负责监视网络业务的
网络节点的示例,图1示出示出业务监视节点110。如上面所提到的,此类业务监视节点110
可例如对应于例如通信网络的传输网络部分内的路由器或交换机。
[0029] 另外,图1示出业务分析节点120和管理节点130。业务分析节点120负责收集由业务监视节点110生成的数据报,并基于所收集的数据报分析网络业务。管理节点130负责配
置业务监视节点110和/或业务分析节点120。确切地说,此配置可包含将一个或更多分组报
头模式的集合提供给业务监视节点110。另外,此配置可还包含相对于基于所提取的分组报
头信息要被执行的分析的类型来配置业务分析节点120。
[0030] 如上面所提到的,数据报可对应于sFlow数据报。在此类情形下,每个业务监视节点110可实现sFlow代理,其生成sFlow数据报,而业务分析节点120可实现sFlow收集器,其
从sFlow代理收集sFlow数据报。图2中示出了业务监视节点110的对应实现的进一步细节。
[0031] 如图2中所示出的,业务监视节点110包含转发引擎210,其负责接收网络业务的数据分组并将所接收的网络业务的数据分组转发向它们的目的地。为了这个目的,转发引擎
210可应用常规交换算法和/或路由选择算法。另外,转发引擎可还应用更先进的传输技术,
诸如上面提到的SR技术。
[0032] 如进一步所示出的,给业务监视节点110提供流采样器220,其负责对所转发的数据分组中的至少一些数据分组进行采样,并从每个采样数据分组中提取分组报头部分。所
述采样可例如基于从数据源(例如装置10中的一个)随机选择一小部分数据分组。随机选择
可包含根据配置的采样概率(例如1/10000的采样概率)选择数据分组。提取分组报头部分
的过程可包含以给定的长度截取采样数据分组。
[0033] 另外,可还给业务监视节点110提供计数器采样器230,其负责与数据源(例如装置10中的一个)关联的计数器的周期性采样或轮询。此类计数器可例如对转移的数据分组的
数量和/或转移的字节的数量计数。另外,给业务监视节点110提供sFlow代理240。sFlow代
理240可充当用于监视过程的控制逻辑。sFlow代理240的责任可包含某一端口上、某一接口
上或者某一数据源上的采样的控制。另外,sFlow代理240的责任被设想成包含从流采样器
220接收所提取的分组报头部分、和从计数器采样器230接收所采样的计数器值、以及从中
生成sFlow数据报。此类sFlow数据报典型包含多个所提取的分组报头部分。sFlow数据报中
的所提取的分组报头部分的数量可取决于sFlow数据报的最大大小、取决于所提取的分组
报头部分的长度、和/或取决于配置的最大延迟(在发送sFlow数据报之前)。
[0034] 为了提供上面所提到的所提取的分组报头部分长度的灵活确定,流采样器220可利用定义一个或更多分组报头模式的集合的可配置表。在下文中,此类分组报头模式也被
称为报头封装模式(HEP),并且一个或更多分组报头模式的集合也被称为HEP列表。图3中示
出了此类HEP的示例。
[0035] 在图3的示例中,HEP列表包含三个HEP,每个HEP由对应的标识符(ID)来标识。第一HEP(具有ID 1)被定义为“<802.1Q,MPLS,IPv4,UDP>”。这意味着,对应的协议报头由利用根
据IEEE 802.1Q的封装上的MPLS(多协议标签交换)封装上的IPv4(因特网协议版本4)封装
上的UDP(用户数据报协议)封装产生。第二HEP(具有ID 2)被定义为“<802.1Q,MPLS,IPv4
>”。这意味着,对应的协议报头由利用根据IEEE 802.1Q的封装上的MPLS封装上的IPv4封装
产生。第三HEP(具有ID 3)被定义为“<802.1Q,MPLS,IPv6>”。这意味着,对应的协议报头由
利用根据IEEE 802.1Q的封装上的MPLS(多协议标签交换)封装上的IPv6(因特网协议版本
6)封装产生。如能看到的,每个HEP对应于可出现在采样数据分组的分组报头中的协议报头
的序列。
[0036] 流采样器220可利用各种方法来确定和标识分组报头中的协议报头类型。例如,流采样器220可利用接口配置信息来确定外部协议报头。另外,流采样器220可处理采样数据
分组的报头信息,以标识分组报头中存在的协议报头类型。流采样器220然后将分组报头与
HEP列表的HEP相比,并标识与采样数据分组的分组报头最佳匹配的HEP。然后采用如下这种
方式确定所提取的分组报头部分的长度:覆盖最佳匹配HEP中包含的协议报头,而不提取对
应于另外(内部)封装层的协议报头。这按采样数据分组被完成。在其中HEP列表中未发现匹
配的HEP的情况中,流采样器220可将分组报头部分的长度设置成对应于配置的最大长度,
例如,如通过sFlow技术的MaximumHeaderLength参数所定义的。例如,如果采样数据分组基
于根据IEEE 802.1Q的封装上的MPLS封装上的IPv4封装上的UDP封装,则来自图3的HEP列表
的最佳匹配HEP将是第一HEP(具有ID 1)。流采样器220然后可将所提取的分组报头部分确
定成从L2(2层)协议报头(例如以太网报头或其它最外协议报头)的标头字节延伸直到UDP
协议报头的最后字节,不管MPLS协议报头中包含的MPLS标签的数量如何,并且不管IPv4协
议报头中包含的选项字段的数量如何。
[0037] 图4A、4B、和4C示出基于图3的HEP列表可如何确定所提取的分组报头部分的长度的示例。
[0038] 根据第一示例,采样数据分组410包含根据NTP(网络时间协议)、UDP、IPv4、MPLS和IEEE 802.1Q的按这种次序封装在以太网帧中的有效载荷部分。MPLS协议报头包含三个
MPLS标签(MPLS标签0、MPLS标签1、MPLS标签2)。在此示例中,图3的HEP列表中的匹配HEP是
第一HEP(具有ID 1)和第二HEP(具有ID 2)。因为第一HEP比第二HEP(其不包含UDP协议报
头)包含更多匹配协议报头,因此它被视为最佳匹配。因此,流采样器220将采用如下这种方
式确定从数据分组410中提取的分组报头部分的长度:它延伸成包含UDP协议报头,但不包
含NTP协议报头。
[0039] 根据第二示例,采样数据分组420包含根据NTP(网络时间协议)、UDP、IPv4、MPLS和IEEE 802.1Q的按这种次序封装在以太网帧中的有效载荷部分。MPLS协议报头包含两个
MPLS标签(MPLS标签0、MPLS标签1)。同样,在此示例中,图3的HEP列表中的匹配HEP是第一
HEP(具有ID 1)和第二HEP(具有ID 2),并且第一HEP是最佳匹配。因此,流采样器220将采用
如下这种方式确定从数据分组410中提取的分组报头部分的长度:它延伸成包含UDP协议报
头,但不包含NTP协议报头。如能看到的,由于数据分组420比数据分组410具有更低数量的
MPLS标签,因此从数据分组420中提取的分组报头部分比从数据分组410中提取的分组报头
部分更短。
[0040] 根据第三示例,采样数据分组430包含根据TCP(传输控制协议)、IPv4、MPLS和IEEE 802.1Q的按这种次序封装在以太网帧中的有效载荷部分。MPLS协议报头包含三个MPLS标签
(MPLS标签0、MPLS标签1、MPLS标签2)。在此示例中,图3的HEP列表中的唯一匹配HEP是第一
HEP(具有ID 1)。因此,流采样器220将采用如下这种方式确定从数据分组430中提取的分组
报头部分的长度:它延伸成包含IPv4协议报头,但不包含TCP协议报头。如能看到的,尽管数
据分组430与数据分组410具有相同数量的MPLS标签,但从数据分组430中提取的分组报头
部分比从数据分组410中提取的分组报头部分更短,因为数据分组430的分组报头具有与数
据分组410的分组报头不同的结构。
[0041] 图5示出用于示出可被利用于在网络节点中(例如业务监视节点110中的一个中)实现所示出的概念的方法的流程图。网络节点可例如对应于路由器或交换机。如果使用网
络节点的处理器基于的实现,则方法的步骤可由网络节点的一个或更多处理器执行。在此
类情况下,网络节点可进一步包括其中存储用于实现下面描述的功能性的程序代码的存储
器。
[0042] 在可选步骤510,网络节点可接收配置信息。网络节点可从管理节点(例如管理节点130)接收配置信息。配置信息可指示一个或更多分组报头模式的集合。
[0043] 在步骤520,网络节点对网络业务的数据分组进行采样。这可包含从由网络节点转发的网络业务中随机选择数据分组。
[0044] 在步骤530,网络节点将采样数据分组的分组报头与一个或更多分组报头模式的集合相比。每个分组报头模式可通过一个或更多协议类型的序列被定义。在图3中示出了此
类分组报头模式的示例。分组报头模式的集合可例如通过在步骤510可选地接收的配置信
息来指示。
[0045] 在步骤540,网络节点确定要从采样数据分组中提取的分组报头部分的长度。这取决于步骤520的比较来完成。例如,基于该比较,网络节点可从集合中确定与所述采样数据
分组的分组报头最佳匹配的分组报头模式。网络节点然后可采用如下这种方式确定所述长
度:要提取的分组报头部分包含与定义最佳匹配分组报头模式的协议类型的序列对应的协
议报头。对应确定的示例结合图4A、4B和4C被说明。
[0046] 在一些情形下,网络节点可在采样数据分组中标识定义最佳匹配分组报头模式的协议类型之序列的第一个协议报头的第一个字节和定义最佳匹配分组报头模式的协议类
型之序列的最后一个协议报头的最后一个字节。网络节点然后可将要提取的分组报头部分
确定成从定义最佳匹配分组报头模式的协议类型之序列的第一个协议报头的第一个字节
延伸到定义最佳匹配分组报头模式的协议类型之序列的最后一个协议报头的最后一个字
节。用这种方式,所提取的分组报头部分可在两端被截取以仅覆盖感兴趣的报头信息。在其
它情形下,所提取的分组报头部分可仅在一端被截取(向着采样数据分组的有效载荷部分,
在对应于较高级协议的那端),诸如结合图4A、4B、和4C的示例所说明的。
[0047] 响应于标识没有来自该集合的分组报头模式与采样数据分组的分组报头匹配,网络节点可将长度确定成对应于配置的最大长度(例如通过sFlow技术的
MaximumHeaderLength参数所定义的)。
[0048] 在步骤550,网络节点从采样数据分组中提取所确定的长度的分组报头部分。
[0049] 对于每个采样数据分组执行步骤530到550。
[0050] 在步骤560,网络节点生成包括采样数据分组的所提取的分组报头部分的数据报。从采样数据分组中提取的分组报头部分的长度可在采样数据分组中的至少一些采样数据
分组之间不同。
[0051] 网络节点然后可将数据报传送到用于分析的另外网络节点(例如到业务分析节点120)。在一些情形下,数据报可对应于sFlow数据报。另外网络节点则可包含sFlow收集器。
然而,要理解到,也能利用其它数据报格式。
[0052] 图6示出用于示出根据图5的方法操作的网络节点600的功能性的框图。如所示出的,可给网络节点600提供配置成对网络业务的数据分组进行采样(诸如结合步骤520说明
的)的模块610。另外,可给网络节点600提供配置成对于每个采样数据分组将采样数据分组
的分组报头与一个或更多分组报头模式的集合相比(诸如结合步骤530说明的)的模块620。
另外,可给网络节点600提供配置成取决于该比较确定要从采样数据分组中提取的分组报
头部分的长度(诸如结合步骤540说明的)的模块630。另外,可给网络节点600提供配置成从
采样数据分组中提取所确定的长度的分组报头部分(诸如结合步骤550说明的)的模块640。
另外,可给网络节点600提供配置成生成包括采样数据分组的所提取的分组报头部分的数
据报(诸如结合步骤560说明的)的模块650。另外,可给网络节点600提供配置成从管理节点
接收指示一个或更多分组报头模式的集合的配置信息(诸如结合步骤510说明的)的模块
660。
[0053] 要指出的是,网络节点600可还包含用于实现如上面所描述的其它功能性(诸如用于将数据报发送到另外网络节点的功能性)的另外模块。另外,应该理解,网络节点600的模
块不一定表示网络节点600的硬件结构,而是也可对应于例如由硬件、软件或它们的组合实
现的功能元件。
[0054] 图7示出用于示出可被利用于在管理节点中(例如在管理节点130中)实现所示出的概念的方法的流程图。如果使用管理节点的处理器基于的实现,则方法的步骤可由管理
节点的一个或更多处理器来执行。在此类情况下,管理节点可进一步包括其中存储用于实
现下面描述的功能性的程序代码的存储器。
[0055] 在可选步骤710,管理节点可接收运营商输入。此类运营商输入可例如定义感兴趣的协议类型或者感兴趣的某些业务类型,它们进而与对应协议类型的利用关联。运营商输
入可被人工地提供给管理节点,或者可从外部源被接收。
[0056] 在步骤720,管理节点确定一个或更多分组报头模式的集合。这可基于在步骤710可选地接收的运营商输入和/或基于管理节点中配置的规则被完成。每个分组报头模式可
通过一个或更多协议类型的序列被定义。在图3中示出了此类分组报头模式的示例。
[0057] 在步骤730,管理节点将配置信息发送到配置成对网络业务的数据分组进行采样的至少一个网络节点(例如到业务监视节点110)。一个或更多分组报头模式的集合使所述
至少一个网络节点能够:对于每个采样数据分组,将采样数据分组的分组报头与一个或更
多分组报头模式的集合相比;取决于该比较,确定要从采样数据分组中提取的分组报头部
分的长度;从采样数据分组中提取所确定的长度的分组报头部分;以及生成包括采样数据
分组的所提取的分组报头部分的数据报,例如结合图5的步骤520至560说明的。
[0058] 从采样数据分组中提取的分组报头部分的长度可在采样数据分组中的至少一些采样数据分组之间不同。数据报可对应于sFlow数据报。然而,要理解到,也能利用其它数据
报格式。
[0059] 图8示出用于示出根据图7的方法操作的管理节点800的功能性的框图。如所示出的,可给管理节点800提供配置成确定一个或更多分组报头模式的集合(诸如结合步骤720
说明的)的模块810。另外,可给管理节点800提供配置成将指示一个或更多分组报头模式的
集合的配置信息发送到配置成对网络业务的数据分组进行采样的至少一个网络节点(诸如
结合730说明的)的模块820。另外,可给管理节点800提供配置成接收运营商输入(诸如结合
步骤710说明的)的模块830。
[0060] 要指出的是,管理节点800可还包含用于实现如上面描述的其它功能性(负责收集和分析由多个网络节点生成的数据报的另外网络节点的此类控制操作)的另外模块。另外,
应该理解,管理节点800的模块不一定表示管理节点800的硬件结构,而是也可对应于例如
由硬件、软件或它们的组合实现的功能元件。
[0061] 要理解到,图5和图7的方法可被组合在包含根据图5的方法操作的多个网络节点和根据图7的方法操作并且将指示一个或更多分组报头模式的集合的配置信息发送到网络
节点的管理节点的系统中。另外或作为管理节点的备选,此类系统可还包含配置成从网络
节点接收数据报并且分析所接收的数据报的另外网络节点。
[0062] 图9示出可用于在网络节点900中实现上面的概念的示范性结构。网络节点900可例如对应于业务监视节点110中的一个。
[0063] 如所示出的,网络节点900可包含用于接收和转发网络业务的业务接口910、920。业务接口910、920可基于各种协议类型和各种传送介质。
[0064] 另外,网络节点900可包含耦合到接口910、920的一个或更多处理器950,以及耦合到处理器950的存储器960。存储器960可包含只读存储器(ROM)(例如闪速ROM)、随机存取存
储器(RAM)(例如动态RAM(DRAM)或静态RAM(SRAM))、海量存储装置(例如硬盘或固态盘)、或
诸如此类。存储器960包含要由处理器950执行以便实现网络节点的上面所描述的功能性的
适当配置的程序代码。具体地,存储器960可包含用于促使节点900执行如上面所描述的过
程(例如对应于图5的方法步骤)的各种程序代码模块。
[0065] 如所示出的,存储器960可包含用于实现对网络业务的数据分组进行采样的上面所描述的功能性(例如,如结合图5的步骤520说明的)的采样模块970。另外,存储器960可还
包含用于实现从采样数据分组中提取所确定的长度的分组报头部分的上面所描述的功能
性(诸如结合图5的步骤530至550所说明的)的报头提取模块980。另外,存储器960可包含用
于实现生成包含所提取的分组报头部分的数据报的上面所描述的功能性的数据报生成模
块990。
[0066] 要理解到,如图9中所示出的结构只是示意性的,并且网络节点900实际上可包含另外组件(为了简洁起见,它们未被示出),例如另外的接口或处理器。还要理解,存储器960
可包含另外类型的程序代码模块(它们未被示出),例如用于实现路由器或交换机的已知功
能性的程序代码模块。在此,还要指出,与网络业务的监视关联的所示出的功能性(具体地,
用于处理分组报头)可与网络节点的主要功能性(诸如路由器或交换机操作)分离地被实
现。确切地说,为了这个目的,可提供分离的硬件模块和/或软件模块,以避免损害相对于主
要功能性的网络节点的性能。根据一些实施例,还可例如以存储要存储在存储器960中的程
序代码和/或其它数据的物理介质的形式、或者通过使程序代码可供下载或通过流传送,来
提供用于实现网络节点900功能性的计算机程序。
[0067] 图10示出了可被用于在管理节点1000中实现上面的概念的示范性结构。管理节点1000可例如对应于管理节点130。
[0068] 如所示出的,管理节点1000可包含管理接口1010,其用于将配置信息发送到例如负责对数据分组进行采样的多个网络节点。管理接口1010可基于各种协议类型和各种传送
介质。
[0069] 另外,管理节点1000可包含耦合到接口1010的一个或更多处理器1050,以及耦合到处理器1050的存储器1060。存储器1060可包含ROM(例如,闪速ROM)、RAM(例如,DRAM或
SRAM)、海量存储装置(例如硬盘或固态盘)、或诸如此类。存储器1060包含要由处理器1050
执行以便实现管理节点的上面所描述的功能性的适当配置的程序代码。具体地,存储器
1060可包含用于促使节点1000执行如上面所描述的过程(例如对应于图7的方法步骤)的各
种程序代码模块。
[0070] 如所示出的,存储器1060可包含用于实现确定一个或更多分组报头模式的集合的上面所描述的功能性(例如结合图7的步骤720说明的)的分组报头模式确定模块1070。另
外,存储器1060可也包含用于实现生成指示分组报头模式的确定集合的控制信息或者与网
络业务的监视相关的其它控制信息的上面所描述的功能性的监视控制模块1080。
[0071] 要理解到,如图10中所示出的结构只是示意性的,并且管理节点1000实际上可包含另外组件(为了简洁起见,它们未被示出),例如另外的接口或处理器。还要理解到,存储
器1060可包含另外类型的程序代码模块(它们未被示出),例如用于实现管理节点的已知功
能性的程序代码模块。根据一些实施例,还可例如以存储要存储在存储器1060中的程序代
码和/或其它数据的物理介质的形式,或者通过使程序代码可供下载或通过流传送,来提供
用于实现管理节点1000的功能性的计算机程序。
[0072] 如能看到的,如上面描述的概念可用于从采样数据分组中高效地提取分组报头部分。因此,包含所提取的分组报头部分的sFlow数据报或类似数据报可以高效的方式被生
成,例如,具有与数据报的传送关联的优化的网络使用和与常规sFlow数据报相比减少的等
待时间。由于不需要对sFlow数据报格式的改变,因此可采用与现有sFlow技术兼容的方式
实现这些概念,而不需要修改sFlow收集器。另外,所述概念可被应用于各种协议层,例如包
含OSI(开放系统互联)层2至7。与常规sFlow技术或类似技术相比,能获得改进的缩放特性,
因为数据报的接收方(例如sFlow收集器)需要处置更少和/或更小的数据报。
[0073] 要理解到,如上面所说明的示例和实施例仅仅是示出性的,并且易受影响于各种修改。例如,所示出的概念可结合各种通信网络技术被应用。另外,所示出的概念可结合各
种种类的监视技术和数据报格式被应用。而且,要理解到,上面的概念可通过使用要由现有
装置的一个或更多处理器执行的对应设计的软件或者通过使用专用装置硬件被实现。另
外,应该指出,在一些情形下,管理节点和接收数据报的网络节点可被集成在同一装置中,
例如在OSS(操作支持系统)节点中。