一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

流量监控方法、相关设备及系统与流程

2021-11-03 12:34:00 来源:中国专利 TAG:


1.本技术涉及通信技术领域,特别涉及一种流量监控方法、相关设备及系统。


背景技术:

2.目前为了便于管理大型的网络,将网络划分为不同的自治系统(autonomous system,as)。每个as包括一组转发节点,这些转发节点可以为路由器或交换机等设备,同一as内的各个转发节点由同一个控制器管理。为了便于对as内各个转发节点进行运维管理,通常需要监控as内的流量分布特征。目前传统技术中需要借助除网络节点之外的其他节点采集经过该网络节点的流量统计信息,导致流量监控实施起来复杂。


技术实现要素:

3.本技术提供了一种流量监控方法、相关设备及系统,网络节点可以实现对经过该网络节点的流量进行统计,能够更灵活实现对网络中流量监控。
4.第一方面,提供了一种流量监控方法,该方法应用于网络中的控制节点,该网络中还包括多个网络节点。在该方法中,获取所述多个网络节点中每个网络节点采集的流量统计数据;根据所述每个网络节点采集的流量统计数据,确定所述网络中的流量分布特征。其中,所述多个网络节点中第一网络节点采集的流量统计数据包括从所述第一网络节点到达与所述第一网络节点属于同一个区域的目的网络节点的流量计数结果,所述目的网络节点包括所述第一网络节点在该区域中转发报文的路径上的出口节点,所述流量计数结果包括由所述第一网络节点转发至所述目的网络节点的报文的总计数。
5.在本技术中,为了便于控制节点能够分析通信网络内的流量分布特征,对于网络中的任一网络节点,该网络节点的各个目的网络节点分别对应有一个流量计数结果。其中,对于第一网络节点,由于该第一网络节点的各个目的网络节点包括第一网络节点在同一区域中转发报文的路径上的出口节点,因此,通过与各个目的网络节点对应的流量计数结果,控制节点可以获知从第一网络节点传输至各个出口节点的流量,进而便于控制节点确定该网络中的流量分布特征。也即是,本技术提供了一种网络节点自身来采集本地的汇聚流量状态,然后由控制节点基于各个网络节点采集的本地的汇聚流量状态,确定通信网络中的流量分布特征。避免了需要借助除转发节点之外的其他节点采集的流量统计信息来实现流量监控。
6.基于第一方面提供的流量监控方法,在一种可能的实现方式中,上述流量分布特征包括以所述第一网络节点为源节点转发至第一链路的流量的总计数,所述第一链路为由第二网络节点至第三网络节点的链路,所述第二网络节点和所述第三网络节点为所述多个网络节点中的网络节点。这种场景下,所述根据所述每个网络节点采集的流量统计数据,确定所述网络中的流量分布特征的实现过程可以为:根据所述第一网络节点采集的流量统计数据,确定经过所述第一网络节点传输至所述第一链路的流量的总计数,得到第一计数结果;根据所述第一网络节点的上游节点采集的流量统计数据,确定经过所述第一网络节点
的上游节点传输至所述第一链路的流量的总计数,得到第二计数结果,所述上游节点是指所述多个网络节点中转发报文至所述第一链路的路径上包括所述第一网络节点的节点;计算所述第一计数结果与所述第二计数结果之间的差值,将所述差值作为以所述第一网络节点为源节点转发至所述第一链路的流量的总计数。
7.由于各个网络节点可以由自身来采集本地的汇聚流量状态,因此控制节点可以直接基于各个网络节点采集的流量数据确定各个网络节点到达某个指定链路的流量,进而确定出该指定链路上的流量都是由哪些源节点发送的流量构成,提高了控制节点确定该指定链路上的流量分布特征的效率。
8.基于第一方面提供的流量监控方法,在一种可能的实现方式中,上述所述根据所述第一网络节点采集的流量统计数据,确定经过所述第一网络节点传输至所述第一链路的流量的总计数的实现过程可以为:确定所述第一网络节点到达所述目的网络节点的路径中包括所述第一链路的路径,将确定的路径对应的目的网络节点作为统计节点;从所述第一网络节点采集的流量统计数据中,获取与所述统计节点对应的流量计数结果;根据与所述统计节点对应的流量计数结果,确定经过所述第一网络节点传输至所述第一链路的流量的总计数。
9.由于各个网络节点可以采集经过自身到达各个目的网络节点的流量,因此,各个节点可以基于自身到达各个目的网络节点的路径,确定经过自身到达某个指定链路的流量,以实现本技术提供的流量监控方法。
10.基于第一方面提供的流量监控方法,在一种可能的实现方式中,上述根据所述第一网络节点的上游节点采集的流量统计数据,确定经过所述第一网络节点的上游节点传输至所述第一链路的流量的总计数之前,还可以确定所述多个网络节点中各个网络节点转发报文至所述第一链路的路径;从确定的路径中获取包括所述第一网络节点的路径,将获取的路径对应的网络节点作为所述第一网络节点的上游节点。
11.通过上述实现方式,控制节点可以确定第一网络节点的上游节点,以实现本技术提供的流量监控方法。
12.基于第一方面提供的流量监控方法,在一种可能的实现方式中,在所述第一网络节点转发报文至同一目的地址的路径上的包括多个出口节点时,将由所述第一网络节点转发至所述多个出口节点的报文的总计数作为对应一个虚拟目的网络节点的流量计数结果。
13.对于第一网络节点转发至同一目的地址的报文,虽然出口节点可以为多个,但是如果第一网络节点的下一跳只有一个的,对于第一网络节点而言,只需统计到达下一跳的流量的总计数即可,至于这些流量从哪个出口出去,可以由第一网络节点的下游节点采集的流量统计数据来确定。因此,在本技术中,对于多个出口节点,可以配置一个虚拟目的网络节点来替代这多个出口节点,以提高第一网络节点采集流量数据的效率。
14.基于第一方面提供的流量监控方法,在一种可能的实现方式中,在所述第一网络节点至同一目的网络节点之间的路径上存在多个下一跳节点时,与所述同一目的网络节点对应的计数结果包括分别与所述多个下一跳节点对应的多个计数结果,所述多个计数结果中的每个计数结果包括通过相应下一跳节点转发流量至所述同一目的网络节点的报文的总计数。
15.对于从第一网络节点到达同一目的网络节点的流量,如果第一网络节点处存在多
个下一跳,表明存在多路径到达该同一目的网络节点,此时可以针对多个下一跳分别计数,以进一步得到各个路径上的流量,从而便于对通信网络中的流量进行更加全面且细化的监控。
16.基于第一方面提供的流量监控方法,在一种可能的实现方式中,前述总计数为报文的总数量或报文的总字节数。
17.对流量进行监控,可以是对转发的报文的数量进行统计,也可以是对转发的报文的总字节进行统计,提高了本技术提供的流量监控方法的灵活性。
18.第二方面,提供了一种流量监控方法,该方法应用于网络中的第一网络节点。在该方法中,
19.获得流量统计数据,所述流量统计数据包括从所述第一网络节点到达与所述第一网络节点属于同一个区域的目的网络节点的流量计数结果,其中,所述目的网络节点包括所述第一网络节点在所述区域中转发报文的路径上的出口节点,所述流量计数结果包括由所述第一网络节点转发至所述目的网络节点的报文的总计数;将所述流量统计数据向网络中的控制节点发送。
20.在本技术中,为了便于控制节点能够分析通信网络内的流量分布特征,对于网络中的任一网络节点,该网络节点的各个目的网路节点分别对应一个流量计数结果。其中,由于该网络节点的各个目的网络节点包括该网络节点在同一区域中转发报文的路径上的出口节点,因此,通过与各个目的网络节点对应的流量计数结果,控制节点可以获知从该网络节点传输至各个出口节点的流量,进而便于控制节点确定该网络中的流量分布特征。也即是,本技术提供了一种网络节点自身来采集本地的汇聚流量状态,然后由控制节点基于各个网络节点采集的本地的汇聚流量状态,确定通信网络中的流量分布特征。
21.基于第二方面提供的流量监控方法,在一种可能的实现方式中,在该方法中,获取待转发的第一报文的第一目的地址;根据所述第一目的地址,确定第一目的网络节点,所述第一目的网络节点包括所述第一网络节点在所述区域内转发所述第一报文的路径上的出口节点;更新与所述第一目的网络节点对应的流量计数结果。
22.为了实现对流量的精确监控,网络节点在每次转发报文时,均可以对相应的流量计数结果进行更新。
23.基于第二方面提供的流量监控方法,在一种可能的实现方式中,上述根据所述第一目的地址,确定第一目的网络节点的实现方式可以为:从目的地址与目的网络节点之间的对应关系中,获取与所述第一目的地址对应的目的网络节点,得到所述第一目的网络节点。
24.网络节点可以预先生成上述对应关系,以便在转发报文时能够快速对流量计数结果进行更新。
25.基于第二方面提供的流量监控方法,在一种可能的实现方式中,在所述第一网络节点转发所述第一报文至所述第一目的地址的路径上的出口节点的数量为一个的情况下,所述第一目的网络节点为所述第一网络节点转发所述第一报文至所述第一目的地址的路径上的出口节点。
26.基于第二方面提供的流量监控方法,在另一种可能的实现方式中,在所述第一网络节点转发所述第一报文至所述第一目的地址的路径上的出口节点的数量为多个的情况
下,所述第一目的网络节点为与所述多个出口节点对应的虚拟目的网络节点。
27.对于第一网络节点转发至同一目的地址的报文,虽然出口节点可以为多个,但是如果第一网络节点的下一跳只有一个的,对于第一网络节点而言,只需统计到达下一跳的流量的总计数即可,至于这些流量从哪个出口出去,可以由第一网络节点的下游节点采集的流量统计数据来确定。因此,在本技术中,对于多个出口节点,可以配置一个虚拟目的网络节点来替代这多个出口节点,以提高第一网络节点采集流量数据的效率。
28.基于第二方面提供的流量监控方法,在一种可能的实现方式中,与所述第一目的网络节点对应的流量计数结果包括与各个下一跳节点分别对应的流量计数结果,与任一下一跳节点对应的流量计数结果包括通过相应下一跳节点转发至所述第一目的网络节点的报文的总计数。这种场景下,上述更新与所述第一目的网络节点对应的流量计数结果的实现过程可以为:从路由转发表中获取与所述第一目的地址对应的一个或多个下一跳节点,所述路由转发表中包括与多个目的地址分别对应的下一跳节点;从所述一个或多个下一跳节点中选择转发所述第一报文的下一跳节点,得到目标下一跳节点;更新所述第一目的网络节点对应的流量计数结果中与所述目标下一跳节点对应的流量计数结果。
29.对于从该网络节点到达同一目的网络节点的流量,如果该网络节点处存在多个下一跳,表明存在多路径到达该同一目的网络节点,此时可以针对多个下一跳分别计数,以进一步得到各个路径上的流量,从而便于对通信网络中的流量进行更加全面且细化的监控。
30.基于第二方面提供的流量监控方法,在一种可能的实现方式中,所述第一目的网络节点对应有计数器数组,所述计数器数组中包括与所述第一网络节点转发报文至所述第一目的网络节点的路径上各个下一跳节点分别对应的计数器,所述计数器中包括与相应下一跳节点对应的流量计数结果。这种场景下,上述更新与所述目标下一跳节点对应的流量计数结果的实现过程可以为:查找与所述目标下一跳节点对应的计数器;对查找到的计数器中的流量计数结果进行更新。
31.在本技术中,可以通过硬件计数器的方式来实现对流量计数结果的统计。提高了本技术提供的流量监控方法的灵活性。
32.基于第二方面提供的流量监控方法,在一种可能的实现方式中,所述路由转发表中针对所述第一目的地址还配置有与所述第一目的网络节点对应的计数器数组的首地址。这种场景下,上述查找与所述目标下一跳节点对应的计数器的实现过程可以为:根据所述目标下一跳节点、以及所述路由转发表中针对所述第一目的地址配置的所述第一目的网络节点对应的计数器数组的首地址,确定与所述目标下一跳节点对应的计数器的地址;根据与所述目标下一跳节点对应的计数器的地址,查找与所述目标下一跳节点对应的计数器。
33.在通过部署硬件计数器的方式来实现对流量计数结果的统计时,可以对传统技术中的路由转发表进行扩展,在路由转发表中添加计数器数组的首地址,由于各个下一跳对应的计数器相对于计数器数组的首地址的偏移地址是已知的,因此,确定出下一跳后,便可基于下一跳确定出待更新的计数器的地址,在得到计数器的地址后,便可根据该地址去查找计数器,从而实现对计数器中存储的计数结果的更新。
34.基于第二方面提供的流量监控方法,在一种可能的实现方式中,上述总计数为报文的总数量或报文的总字节数。
35.对流量进行监控,可以是对转发的报文的数量进行统计,也可以是对转发的报文
的总字节进行统计,提高了本技术提供的流量监控方法的灵活性。
36.第三方面,提供了一种控制节点,该控制节点具有实现上述第一方面中流量监控方法行为的功能。该控制节点包括至少一个模块,该至少一个模块用于实现上述第一方面所提供的流量监控方法。
37.第四方面,提供了一种第一网络节点,该第一网络节点具有实现上述第二方面中流量监控方法行为的功能。该网络节点包括至少一个模块,该至少一个模块用于实现上述第二方面所提供的流量监控方法。
38.第五方面,提供了一种控制节点,该控制节点包括存储器和处理器;
39.存储器用于存储计算机程序;
40.处理器用于执行存储器中存储的计算机程序以执行上述第一方面中任一项的方法。
41.第六方面,提供了一种网络节点,该网络节点包括存储器和处理器;
42.存储器用于存储计算机程序;
43.处理器用于执行存储器中存储的计算机程序以执行上述第二方面中任一项的方法。
44.第七方面,提供了一种芯片,该芯片设置在控制节点中,该芯片包括处理器和接口电路;
45.接口电路用于接收指令并传输至处理器;
46.处理器用于执行上述第一方面中任意一项的方法。
47.第八方面,提供了一种芯片,该芯片设置在第一网络节点中,该芯片包括处理器和接口电路;
48.接口电路用于接收指令并传输至处理器;
49.处理器用于执行权上述第二方面中任意一项的方法。
50.第九方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面或第二方面所述的流量监控方法。
51.第十方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面或第二方面所述的流量监控方法。
52.第十一方面,提供了一种流量监控系统,该系统包括控制节点和多个网络节点;
53.这多个网络节点中第一网络节点,用于实现上述第二方面中任意一项所述的方法,所述第一网络节点为所述多个网络节点中任一个;
54.所述控制节点,用于实现上述第一方面中任一项所述的方法。
55.上述第三方面至第十一方面所获得的技术效果与第一方面和第二方面中对应的技术手段获得的技术效果近似,在这里不再赘述。
附图说明
56.图1是本技术实施例提供的一种通信网络的系统示意图;
57.图2是本技术实施例提供的一种传递链路状态信息的示意图;
58.图3是本技术实施例提供的一种生成路由转发表的过程示意图;
59.图4是本技术实施例提供的一种流量监控方法流程图;
60.图5是本技术实施例提供的确定域内目的节点的场景示意图;
61.图6是本技术实施例提供的一种路由转发表的示意图;
62.图7是本技术实施例提供的另一种通信网络的架构示意图;
63.图8是本技术实施例提供的针对图7所述的通信网络中的节点a的流量分布的示意图;
64.图9是本技术实施例提供的针对图7所述的通信网络中的各个节点的最小生成树的示意图;
65.图10是本技术实施例提供的针对图7所述的通信网络中的拓扑优化的示意图;
66.图11是本技术实施例提供的一种网络设备的结构示意图;
67.图12是本技术实施例提供的一种网络设备的结构示意图;
68.图13是本技术实施例提供的一种图12所示网络设备中的接口板的结构示意图;
69.图14是本技术实施例提供的一种通信网络中的控制节点的结构示意图;
70.图15是本技术实施例提供的一种通信网络中的第一网络节点的结构示意图;
71.图16是本技术实施例提供的另一种网络设备的结构示意图。
具体实施方式
72.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
73.图1是本技术实施例提供的一种通信网络的系统示意图。如图1所示,该通信网络100中包括多个网络节点101和控制节点102。任一网络节点101与控制节点102之间可以通信。
74.图1中的各个网络节点101用于转发报文,并基于自身转发的报文采集流量统计数据。控制节点102用于基于各个网络节点101采集的流量统计数据分析该通信网络中的流量分布特征。
75.在一种可能的实现方式中,可以由网络节点101主动向控制节点101上报自身采集的流量统计数据。在另一种可能的实现方式中,可以由控制节点102可以向网络节点101请求网络节点101采集的流量统计数据。本技术实施例并不限定控制节点如何获取网络节点采集的流量统计数据的具体实现方式,在应用本技术实施例中,可以根据需求场景,适应性地选取获取方式。
76.比如,在需要周期性地确定通信网络中的流量分布特征的场景中,此时可以将各个网络节点配置为周期性地主动上报自身采集的流量统计数据。又比如,在网络出现拥堵的场景中,控制节点为了分析拥堵原因需要确定通信网络中的流量分布特征,此时,可以由控制节点向网络节点下发请求消息,以使网络节点被动上报自身采集的流量统计数据。
77.图1所示的通信网络可以为一个as。此时,控制节点为用于管理as内全部网络节点的控制节点。这种场景下,图1所示的各个网络节点执行共同的路由协议,以实现报文在该通信网络中的转发。
78.在本技术实施例中,as内各个网络节点可以基于内部网关协议(interior gateway protocol,igp)交换路由信息,以使每个网络节点均可以获知到通信网络的网络
节点拓扑结构,以使各个网络节点能够自动生成路由转发表。
79.链路状态路由协议是一种类型的内部网关协议,链路状态路由协议包括诸如开放式最短路优先(open shortest path fist,ospf)协议、中间系统到中间系统(intermediate system to intermediate system,isis)协议等等。在链路状态路由协议中,每个网络节点产生关于自己直连网络的链路状态信息(link-state advertisement,lsa),该链路状态信息包括自身的邻接网络节点信息以及自身连接的设备的地址等信息,并将该链路状态信息通过邻接网络节点传向其他网络节点。如此,通信网络中的每个网络节点都保存了该链路状态信息的一份拷贝,但决不改动该链路状态信息。最终每个网络节点都保存有全网内各个网络节点的链路状态信息。通过全网内各个网络节点的链路状态信息,可以获知到通信网络的整个网络拓扑结构,如此每个网络节点都有了一个相同的有关通信网网络的拓扑结构的信息。然后每个网络节点可以使用“最短路径优先”算法计算出各自到达各个目的地址的最佳路由,从而生成路由转发表。该路由转发表中包括到达各个目的地址的路由信息,该路由转发表也可以称为转发表项等。
80.图2是本技术实施例提供的一种传递链路状态信息的示意图。如图2所示,网络节点间相互通报链接状态信息。以节点a为例,节点a将自己的邻接状态(该邻接状态包括自身与b、c相邻的信息,同时还包括直连的设备的地址ip_a_1,该设备的地址ip_a_1即为通信网络中传输的报文的一个目的地址)作为链路状态信息(lsa),然后将该链路状态信息通告给自己的邻居节点b以及节点c。节点b和节点c收到该链路状态信息后将节点a发送的链路状态信息通告给自己的其他邻居,最终实现网络中的其他所有节点均可接收到节点a生成的链路状态信息。类似的节点b、c、d均可以基于上述方式通报自己的链路状态信息。前述过程可以称为“泛洪lsa”,最终每一个网络节点都得到完整的网络状态数据库(link state database,lsdb),该网络状态数据库中包括各个网络节点生成的链路状态信息。
81.如图2所示,通过该lsdb,各个网络节点相当于获取到通信网络中的节点拓扑结构,该节点拓扑结构用于指示各个节点之间的连接关系。此外,各个网络节点在通告链路状态报文信息时,该链路状态信息中还可以包括通告的链路的开销值,因此lsdb中还可以指明各条链路的开销值。如图2所示,链路a

b的开销值为10。
82.对于通信网络中的任一网络节点,该网络节点在获知到lsdb后,便可以基于该lsdb生成本地路由转发表。如图3所示,以节点a为例,节点a基于lsdb,运行最短路径优先(shortest path first,spf)算法生成从以节点a为根,节点a到各个网络节点的最短路径构成的树型拓扑,即最小生成树(或者也可以称为最短路径树)。节点a根据最小生成树中的信息,即可生成由a去往各目的地址(ip_a_1、ip_b_1等)的路由转发信息。如图3所示,路由转发表中包括去往ip_a_1、ip_b_1、ip_c_1、ip_d_1、ip_d_2、ip_d_3中任一目的地址的下一跳信息以及从当前节点到目的地址的路径总开销。路由转发表用于指示往指定目的地址的下一跳信息以及到该指定目的地址的路径上的链路总开销(cost),该路由转发表也可以包含到达下一跳的出接口。此外,上述spf算法可以为诸如dijkstra算法等最短路径优先算法。
83.可选地,对于在as的网路比较庞大的情况,为控制lsa泛洪规模和spf计算规模。还可以将as划分为多个区域(area),每个区域内的网络节点通过图2生成域内链路状态信息。并通过区域边界网络节点基于内部网络协议引入其他区域内的网络节点的链路状态信息,
从而基于域内的链路状态信息和其他区域内的网络节点的链路状态信息生成本地的路由转发表,此时生成的本地路由转发表和图3所示的路由转发表一致。其中,区域边界网络节点是指同时处于多个区域的网络节点,因此该区域边界网络节点在获取到其中一个区域中某个网络节点的链路状态信息时,便可在另一个区域中继续泛洪该网络节点的链路状态信息。
84.在as划分为多个区域的情况下,图1所示的通信网络可以为as包括的多个区域中的任一区域所对应的网络。这种情况下,控制节点可以为针对各个区域配置的一级控制节点,此时确定的流量状态分布是针对某个区域的流量状态分布。可选地,在这种情况下控制节点也可以为针对整个as配置的二级控制节点,此时,控制节点可以从针对各个区域配置的一级控制节点中获取到全部as内各个网络节点采集的流量统计数据,从而确定针对整个as的流量状态分布。
85.由此可知,本技术实施例所示的通信网络可以为一个as对应的网络,也可以为as内划分的区域对应的网络,本技术实施例对此不作具体限定。
86.此外,图1中的网络节点还可以称为网元、转发节点、或者转发设备等,在此不做具体限定。图1中的控制节点可以为通信网络中的控制器、或者、网络性能集中分析器等设备。可选地,控制器也可以是集成了控制功能的一个网络节点。网络节点可以为路由器、或者、三层交换机等设备,同样在此不做具体限定。
87.接下来对本技术实施例提供的流量监控方法进行解释说明。本技术实施例提供的流量监控方法主要包括两部分内容,一部分内容用于说明网络节点如何采集流量统计数据,另一部分内容用于说明控制节点如何基于网络节点采集的流量统计数据确定通信网络中的流量分布特征。下面实施例用于对上述两部分内容进行解释说明。
88.图4是本技术实施例提供的一种流量监控方法流程图。该方法可以应用于图1所示的通信网络中,如图4所示,该方法包括如下几个步骤:
89.步骤401:第一网络节点获得流量统计数据。
90.步骤401中的第一网络节点为通信网络包括的多个网络节点中任一网络节点。
91.在本技术实施例中,为了便于后续控制节点能够分析通信网络内的流量分布特征,对于通信网络中的任一网络节点,为与该网络节点属于同一区域的各个目的网络节点分别对应有一个流量计数结果。其中,对于第一网络节点,该第一网络节点的目的网络节点包括第一网络节点在该区域中转发报文的路径上的出口节点。需要说明的是,第一网络节点的目的网络节点可以为一个、也可以为多个。与任一目的网络节点对应的流量计数结果包括由第一网络节点转发至相应目的网络节点的报文的总计数。如此,第一网络节点在转发报文之后,便可根据转发报文的路径上的出口节点来更新相应的流量计数结果,以实现由第一网络节点本地对转发的流量进行统计。
92.由于目的网络节点包括第一网络节点在该区域中转发报文的路径上的出口节点,因此,通过针对各个目的网络节点对应的流量计数结果,控制节点可以获知从第一网络节点传输至各个出口节点的流量计数结果,进而便于后续控制节点确定该网络中的流量分布特征。
93.上述报文的总计数可以是指发送的报文的总数量(如:总报文的个数),也可以是指发送的报文的总字节数,本技术实施例对此不作具体限定。
94.关于第一网络节点如何更新相应流量计数结果将在后续内容中进行详细解释说明,为了便于后续说明,下面先对目的网络节点进行解释说明。
95.图1所示的通信网络可以为一个as对应的网络,也可以为一个as内的某个区域对应的网络,因此,步骤401中的区域可以是指一个as,可以为as中的igp区域(area)。不管通信网络是何种网络,第一网络节点的目的网络节点均是指第一网络节点在该自身所在的区域内转发报文的路径上的出口节点,也即是,与第一网络节点属于同一区域的出口节点。由于目的网络节点与第一网络节点位于同一区域内,所以在申请实施例中目的网络节点还可以称为域内目的节点。
96.如果图1所示的通信网络为一个as对应的网络,此时则可直接根据每个网络节点在该通信网络中转发报文的出口节点来确定第一网络节点的目的网络节点。
97.如果图1所示的通信网络为as内某个区域对应的网络,此时,同样可直接根据每个网络节点在该区域内转发报文的出口节点来确定第一网络节点的目的网络节点。
98.示例地,上述确定第一网络节点的目的网络节点的实现方式可以为:第一网络节点基于链路状态协议获取到网络中各个网络节点的链路状态信息,从各个网络节点的链路状态信息中获取网络中各个网络节点连接的设备的地址,从而得到所有的目的地址。该设备可以为一个主机,也可以为一个网络节点。针对任一目的地址,基于图3所示的最小生成树中获取第一网络节点转发报文至该目的地址的路径,从该路径中就可以确定第一网络节点在该通信网络内转发报文的出口节点,根据该出口节点即可确定针对该目的地址的目的网络节点。如此,对于各个目的地址,一个目的地址通常得到对应的目的网络节点,此外,由于同一网络节点可以连接多个主机(比如图3中的节点d),因此,多个目的地址可能对应同一个目的网络节点。
99.为了进一步清楚解释目的网络节点,以图5所示的三种场景分别来解释目的网络节点。
100.如图5所示的场景一,假设第一网络节点为节点a,对于目的地址为x的报文,由于该目的地址x为节点d直连的设备的地址,并且节点d为与节点a位于同一区域(区域0)内的节点,此时,可以直接将节点d确定为节点a的目的网络节点。
101.如图5所示的场景二,假设第一网络节点为节点a,对于目的地址为x的报文,由于该目的地址x为与节点a不在同一区域的节点d直连的设备的地址,而第一网络节点转发该报文需要经过位于同一区域的边界网络节点b才能将该报文转发至节点d,所以此时可以将节点b确定为节点a的目的网络节点。
102.如图5所示的场景三,假设第一网络节点为节点a,对于目的地址为x的报文,由于该目的地址x为与节点a不在同一区域的节点d直连的设备的地址,而第一网络节点转发该报文可以经过边界网络节点b或边界网络节点c才能将该报文转发至节点d,所以此时可以将节点b和节点c确定为节点a的目的网络节点。
103.进一步地,对于图5所示的场景三,在确定节点a转发的目的地址为x的流量时,如果节点a只有一个下一跳的话,对于节点a而言,只需统计到达下一跳的流量的总计数即可,至于这些流量中哪些流量从哪个出口出去,可以由节点a的下游节点统计的流量计数结果来确定,因此,这种场景下,可以针对节点b和节点c配置一个虚拟目的网络节点。后续节点a统计发送至节点b或节点c的流量的总计数均可以认为是发送至该虚拟目的节点的流量的
总计数。
104.也即是,在第一网络节点转发报文至同一目的地址的路径上的出口节点包括多个出口节点的情况下,将由第一网络节点转发至这多个出口节点的报文的总计数作为对应一个虚拟目的网络节点的流量计数结果。这种情况下,对于第一网络节点,一个目的地址将对应一个目的网络节点。
105.在针对第一网络节点确定出目的网络节点之后,对于确定的任一目的网络节点,可能存在第一网络节点到达该目的网络节点的路径上存在不至一个下一跳节点的情况,这种情况下,还可以统计发送至该与目的网络节点的流量分别是从哪个路径上传输的,以便于后续能够分析更加全面且细化的流量分布特征。
106.也即是,对于第一网络节点的各个目的网络节点中的第一目的网络节点,在第一网络节点至第一目的网络节点之间的路径上存在多个下一跳节点的情况下,与第一目的网络节点对应的计数结果包括分别与多个下一跳节点对应的多个计数结果,与任一下一跳节点对应的计数结果包括通过相应下一跳节点转发至第一目的网络节点的报文的总计数。其中,下一跳节点可以是指第一目的网络转发报文路径上的下一个网络节点,也可以是指第一网络节点将报文转发至下一个网路节点的出接口,也即是下一跳出接口。
107.比如,对于图5所示的场景一,针对目的网络节点d的计数结果可以包括与下一跳节点b对应的计数结果,以及与下一跳节点c对应的计数结果。与下一跳节点b对应的计数结果包括从节点a经过节点b发送至节点d的流量的总计数。与下一跳节点c对应的计数结果包括从节点a经过节点c发送至节点d的流量的总计数。
108.此外,在本技术实施例中,可以通过第一网络节点中部署的软件模块来实现对转发的报文的统计,从而得到流量计数结果。也可以通过第一网络节点中部署的硬件计数器来实现对转发的报文的统计。本技术实施例对此不作具体限定。
109.在通过计数器来实现上述流量统计数据的采集时,每个目的网络节点可以对应有一个计数器数组。对于各个目的网络节点中的第一目的网络节点,第一目的网络节点对应的计数器数组中分别包括与第一网络节点转发报文至第一目的网络节点的路径上各个下一跳节点分别对应的计数器,每个计数器用包括与相应下一跳节点对应的流量计数结果。也即是,每个计数器数组中包括的计数器的个数与第一网络节点到达相应目的网络节点的下一跳节点的数量相同。其中,第一目的网络节点为第一网络节点的各个目的网络节点中任一个。同样地,此处的各个下一跳节点可以是指第一目的网络转发报文路径上的下一个网络节点,也可以是指第一网络节点将报文转发至下一个网路节点的出接口,也即是下一跳出接口。
110.比如,对于图5所示的场景一,假设节点a至节点b之间没有其他节点,节点a至节点c之间没有其他节点,那么节点b与节点c分别为节点a转发携带目的地址x的报文的两个下一跳节点。此时,针对节点a的目的网络节点d对应的计数器数组中包括两个计数器,分别为与下一跳节点b对应的计数器,以及与下一跳节点c对应的计数器。与下一跳节点b对应的计数器用于记录从节点a经过节点b转发至节点d的流量的总计数。与下一跳节点c对应的计数器用于记录从节点a经过节点c转发至节点d的流量的总计数。
111.又比如,对于图5所示的场景二,假设节点a至节点b之间没有其他节点,那么节点b为节点a转发携带目的地址x的报文的下一跳节点。此时针对节点a的目的网络节点b对应的
计数器数组中仅包括一个与下一跳节点b对应的计数器。该计数器用于记录从节点a经过节点b转发至另一个区域中的节点d的流量的总计数。
112.又比如,对于图5所示的场景三,假设节点a至节点b或节点c之间没有其他节点,且预先针对节点b和节点c配置虚拟目的网络节点,那么虚拟目的网络节点为节点a转发携带目的地址x的报文的下一跳节点。此时,则针对节点a的虚拟目的网络节点对应的计数器数组中仅包括一个与该虚拟目的网络节点对应的计数器。该计数器用于记录从节点a经过节点b以及节点c转发至另一个区域中的节点d的流量的总计数之和。
113.此外,对于同一计数器数组中的一个计数器,可以通过目的网络节点的标识和下一跳节点标识的组合来标记一个计数器。也即是,在确定了第一网络节点的各个目的网络节点之后,针对任一目的网络节点,可以根据该目的网络节点的标识和下一跳节点的标识为索引创建与该目的网络节点对应的计数器数组中的各个计数器。以便于后续基于索引查找各个计数器。
114.此外,由于流量计数结果中的总计数可以是指发送的报文的总数量,也可以是指发送的报文的总字节数。因此,本技术实施例中的计数器可以是报文个数计数器,任一计数器用于统计通过对应的下一跳节点转发报文的总个数。也可以是报文字节(byte)数计数器,任一计数器用于统计通过对应的下一跳节点转发报文的总字节数,比如,对于任一计数器,如果报文长度为n字节的报文是通过该计数器对应的下一跳节点转发的,则该计数器将流量计数结果加n。
115.上述各个流量计数结果在第一网络节点每次转发报文后即可更新,以使流量计数结果能够代表对应节点最新转发的流量的总计数。因此,在一种可能的实现方式中,对于待转发的第一报文,第一网络节点可以获取该待转发的第一报文的第一目的地址;根据第一目的地址,确定第一目的网络节点,第一目的网络节点包括第一网络节点在该域内转发第一报文的路径上的出口节点;更新与该第一目的网络节点对应的流量计数结果。
116.由于上述目的网络节点是根据各个目的地址确定的,因此,可以在确定出目的网络节点后,可以将针对各个目的地址确定的目的网络节点存储在目的地址与目的网络节点之间的对应关系中,从而生成目的地址与目的网络节点之间的对应关系。在这种场景下,上述根据第一目的地址,确定第一目的网络节点的实现方式可以为:从目的地址与目的网络节点之间的对应关系中,获取与第一目的地址对应的目的网络节点,得到第一目的网络节点。
117.比如,表1是本技术实施例提供的一种目的地址与目的网络节点之间的对应关系。如表1所示,在该对应关系中,目的地址1对应目的网络节点1,目的地址2对应目的网络节点2,目的地址n对应目的网络节点n。假设第一目的地址为目的地址2,则基于表1所示的对应关系,可以确定第一目的网络节点为目的网络节点2。
118.表1
[0119][0120][0121]
需要说明的是,表1是以一个目的地址对应一个目网络节点为例进行说明。可选地,一个目的地址也可以对应多个目的网络节点。比如,对于图5所示的场景三,如果没有针对节点b和节点c配置虚拟目的节点,那么与目的地址x对应的目的网络节点包括节点b和节点c。
[0122]
另外,基于上述确定目的网络节点的过程可知,在一种可能的实现方式中,如果没有配置虚拟目的网络节点,此时将直接将确定的所有出口节点作为目的网络节点。这种情况下,第一目的网络节点为第一网络节点转发第一报文至第一目的地址的路径上的出口节点。
[0123]
在另一种可能的实现方式,如果配置有虚拟目的网络节点。此时,在第一网络节点转发报文至第一目的地址的路径上的出口节点的数量为一个的情况下,第一目的网络节点为第一网络节点转发第一报文至第一目的地址的路径上的出口节点。在第一网络节点转发第一报文至第一目的地址的路径上的出口节点的数量为多个的情况下,第一目的网络节点为与多个出口节点对应的虚拟目的网络节点。
[0124]
进一步,如果第一网络节点到第一目的网络节点的路径上存在多个下一跳节点,这种场景下,为了分别统计从各个下一跳出去的流量的总计数,与第一目的网络节点对应的流量计数结果包括与各个下一跳节点对应的流量计数结果,与各个下一跳节点对应的流量计数结果分别包括通过相应下一跳节点转发至第一目的网络节点的报文的总计数。
[0125]
这种场景下,由于路由转发表中包括与多个目的地址分别对应的下一跳节点,因此,前述更新与第一目标域内目的节点目的网络节点对应的计数结果的实现方式可以为:从路由转发表中获取与第一目的地址对应的一个或多个下一跳节点,从这一个或多个下一跳节点中选择转发第一报文的下一跳节点,得到目标下一跳节点;更新第一目的网络节点对应的流量计数结果中与目标下一跳节点对应的流量计数结果。
[0126]
上述更新与目标下一跳节点对应的流量计数结果的实现方式可以为:查找与目标下一跳节点对应的计数器;对查找到的计数器中的流量计数结果进行更新。
[0127]
在一种可能的实现方式中,如果预先是基于目的网络节点的标识和下一跳节点的标识为索引创建与该目的网络节点对应的计数器数组中的各个计数器,此时,则可以直接基于第一目的网络节点的标识和目标下一跳节点的标识为索引来查找待更新的计数器。
[0128]
在另一种可能的实现方式中,为了便于确定各个计数器的地址,从而快速实现对计数结果的更新,还可以在路由转发表中针对第一目的地址配置有第一目的网络节点对应的计数器数组的首地址。这种场景下,上述查找与目标下一跳节点对应的计数器的实现过程可以为:根据目标下一跳节点、以及路由转发表中针对第一目的地址配置的第一目的网络节点对应的计数器数组的首地址,确定与目标下一跳节点对应的计数器的地址;根据与
目标下一跳节点对应的计数器的地址,查找与目标下一跳节点对应的计数器。
[0129]
需要说明的是,对于存在多个下一跳节点的情况下,通常是基于哈希算法通过等价负载分担的方式来选择下一跳节点。也即是,基于哈希算法对第一报文携带的第一目的地址进行映射,其中,哈希算法中将第一目的地址映射到各个下一跳节点的概率相同。在通过哈希算法确定出下一跳节点之后,由于针对各个下一跳节点对应的计数器的地址相对于计数器数组的首地址的偏移地址是已知的,因此,根据目标下一跳节点、以及路由转发表中针对第一目的地址还配置的第一目的网络节点对应的计数器数组的首地址,便可确定出与目标下一跳节点对应的计数器的地址。
[0130]
图6左边所示的表格是本技术实施例提供的一种路由转发表的示意图。图6所示的路由转发表是在图3所示的节点a路由转发表中添加了计数器数组的首地址之后的路由转发表。如图3所示,对于节点a,路由转发表中包括6个目的地址,分别为ip_a_1、ip_b_1、ip_c_1、ip_d_1、ip_d_2、ip_d_3。其中,由于目的地址ip_a_1为自身直连的设备的地址,所以针对该目的地址ip_a_1的下一跳和开销是不存在的,所以图6中标记为虚线。针对目的地址ip_b_1确定的目的网络节点为节点b,因此,将为目的网络节点b配置的计数器数组的首地址标记为counter-b,并将该首地址counter-b添加在与目的地址ip_b_1对应的表项中,该表项中还包括转发携带目的地址ip_b_1的下一跳节点的信息为b-1以及链路总开销为10。针对目的地址ip_c_1确定的目的网络节点为节点c,将为目的网络节点c配置的计数器数组的首地址标记为counter-c,并将该首地址counter-c添加在与目的地址ip_c_1对应的表项中,该表项中还包括转发携带目的地址ip_c_1的下一跳节点的信息为c-1以及链路总开销为1。针对目的地址ip_d_1、ip_d_2、ip_d_3确定的目的网络节点均为节点d,将为目的网络节点d配置的计数器数组的首地址标记为counter-d,并将该首地址counter-d分别添加在与目的地址ip_d_1、ip_d_2、ip_d_3对应的表项中,这三个表项中包括的下一跳信息均为c-1以及链路总开销均为49。
[0131]
由此可知,在本技术实施例中,相对于图3所示的路由转发表。图6所示的路由转发表在路由转发表中针对目的地址的ip_b_1的表项中添加计数器数组的首地址counter-b。在路由转发表中针对目的地址的ip_c_1的表项中添加计数器数组的首地址counter-c。在路由转发表中针对目的地址的ip_d_1、ip_d_2、ip_d_3的表项中均添加计数器数组的首地址counter-d。
[0132]
此外,由于针对各个下一跳节点对应的计数器的地址相对于计数器数组的首地址的偏移地址是已知的,因此如图6所示,假设针对目的地址ip_b_1对应的目的网络节点对应有三个下一跳节点分别为b-1、b-2、b-3,那么在第一网络节点本地还存储有这三个下一跳节点对应的计数器分别相对于计数器数组首地址counter-b的偏移地址。
[0133]
基于图6所示的路由转发表和偏移地址示意图,节点a在转发携带任一目的地址的报文时,便可基于图6左边所示的表格确定与该目的地址相应的计数器数组的首地址,然后基于图6右边所示的表格通过转发报文时所使用的下一跳节点确定具体的计数器的地址,从而基于确定的计数器地址来更新相应的流量计数结果。
[0134]
图7是本技术实施例提供的另一种通信网络的架构示意图。该通信网络中包括六个网络节点a、b、c、d、e、f。其中,节点a直连的设备的地址分别为(ip_a_1、ip_a_2、

ip_a_n)。节点d直连的设备的地址分别为(ip_d_1、ip_d_2、

ip_d_n)。节点c直连的设备的地址
分别为(ip_c_1、ip_c_2、

ip_c_n)。节点f直连的设备的地址分别为(ip_f_1、ip_f_2、

ip_f_n)。
[0135]
表2是节点的a对应的各个目的网络节点的计数结果示意图。如图表2所示,与目的网络节点c对应的流量计数结果为2g,用于指示与节点a直连的主机(这类主机发送携带源地址包括ip_a_1、ip_a_2、

ip_a_n、目地址包括ip_c_1、ip_c_2、

ip_c_n的报文)去往节点f直连的主机的流量总计数为2g。与目的网络节点f对应的流量计数结果为3g,用于指示与网络节点a直连的主机(这类主机发送携带源地址包括ip_a_1、ip_a_2、

ip_a_n、目地址包括ip_f_1、ip_f_2、

ip_f_n的报文)去往网络节点f直连的主机的流量总计数为3g。与其他目的网络节点对应的计数结果为0,用于指示与节点a直连的主机没有发送到这几个目的网络节点对直连的主机的流量。
[0136]
表2
[0137][0138]
节点a在确定了与各个目的网络节点对应的计数结果后,可以结合节点a的最小生成树,确定各条路径上的流量分布。图8是本技术实施例提供的针对图7所述的通信网络中的节点a的流量分布的示意图。如图8所示,在该最小生成树中,节点a至节点c的路径为:节点a

节点b

节点c,节点a至节点f的路径为:节点a

节点b

节点e

节点f。结合表1所示的计数结果,如图8所示,可知路径节点a

节点b

节点c上传输的流量的总计数为2g,路径为节点

节点b

节点e

节点f上传输的流量的总计数为3g。
[0139]
表3和表4分别是节点b采集的流量统计数据和节点e采集的流量统计数据。如表3所示,对于图7所示的节点b而言,与目的网络节点c对应的流量计数结果为2g,用于指示从节点b去往网络节点c直连的主机的流量的总计数为2g。与目的网络节点d对应的流量计数结果为2g,用于指示从节点b去往网络节点d直连的主机的流量的总计数为2g。与目的网络节点f对应的流量计数结果为3g,用于指示从节点b去往网络节点f直连的主机的流量的总计数为3g。与其他目的网络节点对应的流量计数结果为0,用于指示从节点b没有发送到这几个目的网络节点直连的主机的流量。
[0140]
结合图7所示的网络架构以及图9中各个节点的最小生成树,节点b采集的与目的网络节点c对应的流量计数结果2g,用于指示路径节点b

节点c上传输的流量的总计数。同样地,节点b采集的与目的网络节点f对应的计数结果3g,用于指示路径节节点b

节点e

节点f上传输的流量的总计数。节点b采集的与目的网络节点d对应的计数结果为2g,用于指示路径节点b

节点e

节点d上传输的流量的总计数为2g。
[0141]
表3
[0142][0143][0144]
如表4所示,对于图7所示的节点e而言,与目的网络节点d对应的流量计数结果为2g,用于指示从节点e去往网络节点d直连的主机的流量的总计数为2g。与目的网络节点f对应的流量计数结果为3g,用于指示从节点e去往网络节点f直连的主机的流量的总计数为3g。与其他目的网络节点对应的流量计数结果为0,用于指示从节点e没有发送到这几个目的网络节点对直连的主机的流量。
[0145]
结合图9所示的节点e所示的最小生成树,可知路径节点e

节点d上传输的流量的总计数为2g,路径节点e

节点f上传输的流量的总计数为3g。
[0146]
表4
[0147][0148]
另外,上述根据各个网络节点采集的各个目的网络节点的流量统计数据,分析各个网络节点本地的流量分布可以由各个网络节点自身来完成。可选地,也可以由控制节点来完成,本技术实施例对此不作具体限定。
[0149]
步骤402:第一网络节点将采集的流量统计数据向网络中的控制节点发送。
[0150]
基于图1所示的系统架构,第一网络节点可以主动上报自身采集的流量统计数据,也可以响应于控制节点的请求被动地发送该流量统计数据。在此就不再重复说明。
[0151]
上述步骤401至步骤402是以第一网络节点为例来解释说明各个网络节点如何实现本地采集流量统计数据。其他任一网络节点采集流量统计数据的实现方式均可以参考上述步骤401至步骤402。
[0152]
在网络中的各个网络节点将集的流量统计数据向网络中的控制节点发送之后,控制节点便可基于下述步骤403至步骤404对该通信网络中的流量分布特征进行分析。
[0153]
步骤403:控制节点获取该网络中各个网络节点采集的流量统计数据。
[0154]
关于控制节点如何获取通信网络中的多个网络节点中各个网络节点采集的流量统计数据的实现方式,可以参考步骤402中的解释说明,在此就不再重复说明。
[0155]
步骤404:控制节点根据每个网络节点采集的流量统计数据,确定该网络中的流量分布特征。
[0156]
在本技术实施例中,如果某条链路出现过载情况,此时则需要分析该链路上的流量来源,以便于对流量来源进行控制,从而实现对该链路上的流量的控制。因此,在一种可能的实现方式中,通信网络中的流量分布特征可以包括通信网路中任一链路上的流量由哪些源节点发送的流量组成,也即是,流量的来源。因此,在一种可能的实现方式中,对于通信网络中的任一的第一链路,控制节点确定该通信网路中的流量分布特征,也即是确定各个源节点转发至第一链路的流量的总计数。下面以确定以第一网络节点为源节点转发至第一链路的流量的总计数为例来说明,在得到各个源节点转发至第一链路的流量的总计数之后,也就确定了该链路的流量的来源。
[0157]
上述第一链路是指由第二网络节点至第三网络节点的链路,第二网络节点和第三网络节点为多个网络节点中的两个网络节点,也即是,第一链路为任一链路。这种场景下,步骤404的实现方式可以为:根据第一网络节点采集的流量统计数据,确定经过第一网络节点传输至第一链路的流量的总计数,得到第一计数结果;根据第一网络节点的上游节点采集的流量统计数据,确定经过第一网络节点的上游节点传输至第一链路的流量的总计数,得到第二计数结果。将第一计数结果与第二计数结果之间的差值确定为以第一网络节点为源节点转发至第一链路的流量的总计数。其中,上游节点为多个网络节点中转发报文至第一链路的路径上包括第一网络节点的网络节点。
[0158]
由于第一网络节点转发至第一链路的流量也可能包括第一网络节点的上游节点转发至第一链路的流量,因此,在确定以第一网络节点为源节点转发至第一链路的流量计数结果时,只需确定经过第一网络节点传输至第一链路的流量的总计数,以及经过第一网络节点的上游节点传输至第一链路的流量的总计数,两者之间的差值即为以第一网络节点为源节点转发至第一链路的流量的总计数。
[0159]
上述第一网络节点的上游节点指转发报文至第一链路的路径上包括第一网络节点的网络节点。其中,第一网络节点的上游节点可以由控制节点预先确定出。在一种可能的实现方式中,控制节点确定第一网络节点的上游节点的实现过程可以为:控制节点可以确定多个网络节点中除第一网络节点之外的各个网络节点转发报文至第一链路的路径;从确定的路径中获取包括第一网络节点的路径,将获取的路径对应的网络节点作为第一网络节
点的上游节点。
[0160]
上述控制节点可以基于除第一网络节点的其他网络节点的最小生成树,确定除第一网络节点之外的各个网络节点转发报文至第一链路的路径。
[0161]
比如,对于图7所示的通信网络,假设第一链路为节点b

节点e的链路。假设第一网络节点为节点b,则其他的网络节点包括节点a、节点c、节点d、节点e、节点f。从图9所示的各个网络节点的最小生成树中可知,节点a、节点b和节点c的最小生成树中包括第一链路节点b

节点e。且节点a传输报文至第一链路的路径为节点a至节点b,节点c传输报文至第一链路的路径为节点c至节点b。这两个路径上均包括节点b,因此,节点a和节点c即为节点b传输报文至第一链路的路径的上游节点。
[0162]
此外,上述根据第一网络节点采集的流量统计数据,确定经过第一网络节点传输至第一链路的流量的总计数的实现方式可以为:确定第一网络节点到达各个目的网络节点的路径中包括第一链路的路径,将确定的路径对应的目的网络节点作为统计节点;从第一网络节点采集的流量统计数据中,获取与统计节点对应的计数结果;根据与统计节点对应的流量计数结果,确定经过第一网络节点传输至第一链路的流量的总计数。
[0163]
上述确定的统计节点的数量只有一个的情况下,可以直接将第一网络节点采集的与该统计节点对应的流量计数结果作为经过第一网络节点传输至第一链路的流量的总计数。相应地,在确定的目的节点的数量有多个的情况下,可以将第一网络节点采集的与这多个统计节点分别一一对应的多个流量计数结果进行相加,并将加和作为经过第一网络节点传输至第一链路的流量的总计数。
[0164]
上述确定第一网络节点到达各个目的网络节点的路径中包括第一链路的路径同样可以根据第一网络节点的最小生成树来确定,在此就不再详细说明。
[0165]
由此可知,在本技术实施例中,以给定设备n为源去往指定链路的流量总计数可以为:设备n到其他设备(该其他设备为目的网络节点)的路径中包含该指定链路的设备集合对应的流量计数结果统计之和,即为设备n去往该链路的流量的总计数。比如,在图9中所示的节点a的最小生成树,由于节点a到节点e的路径上包括链路b

e,节点a到节点f的路径上也包括链路b

e,因此,经过节点a去往链路b

e的流量的总计数即为节点a采集的与节点e对应的流量计数结果、以及与节点f对应的流量计数结果之和。
[0166]
在确定出经过第一网络节点传输至第一链路的流量总计数,以及第一网络节点的上游节点传输至第一链路的流量的总计数之后,便可将两者之间的差值确定为以第一网络节点为源传输至第一链路的流量的总计数。
[0167]
比如,对于图7所示的通信网络以及图9所示的各个网络节点的最小生成树,假设第一网络节点为节点a,由于其他节点到达链路b

e的路径上均不包括节点a,也即是,对于链路b

e,节点a没有上游节点。因此,通过步骤403可以确定出以节点a为源去往b

e的流量的总计数为节点a最小生成树中e、f对应的流量计数结果之和。
[0168]
又比如,对于图7所示的通信网络以及图9所示的各个网络节点的最小生成树,假设第一网络节点为节点c,由于其他节点到达链路b

e的路径上均不包括节点c,也即是,对于链路b

e,节点c没有上游节点。因此,通过步骤403可以确定出以节点c为源去往链路b

e的流量的总计数为节点c最小生成树中e、d对应的流量计数结果记录之和。
[0169]
又比如,对于图7所示的通信网络以及图9所示的各个网络节点的最小生成树,假
设第一网络节点为节点b,由于其他节点a和c到达链路b

e的路径上均包括节点b,也即是,对于链路b

e,节点b存在上游节点a和c。因此,在步骤403中,可以先根据节点b的最小生成树中d、e、f对应流量计数结果之和,得到第一计数结果,然后确定节点b的上游节点a、c传输至链路b

e的流量计数结果之和,得到第二计数结果,然后将第一计数结果与第二计数结果之间的差值即为节点b为源传输至链路b

e的流量的总计数。
[0170]
上述没有上游节点的节点还可以称为根上游节点或者根上游设备,存在上游节点的节点还可以称为非根上游节点或者非根上游设备,本技术实施例对此不作具体限定。
[0171]
此外,上述通过步骤404确定第一链路上的流量组成时,由于只有第一链路的上游节点才会传输报文至第一链路,所以在步骤404中,可以只确定第一链路的各个上游节点为源传输至第一链路的流量计数结果。此时,步骤404中,第一网络节点为第一链路的上游节点中的一个节点。
[0172]
第一链路的上游节点是指能够传输报文至第一链路的节点。具体地,在节点的最小生成树中,如果最小生成树中包括该第一链路,则将该节点作为第一链路的上游节点。
[0173]
因此,在一种可能的实现方式中,控制节点可以预先确定各个链路的上游节点,从而得到各个链路的上游节点集合。对于任一链路然后在通过步骤404确定相应上游节点集合中各个上游节点为源传输至该链路的流量的总计数。
[0174]
比如,以链路b

e为例,在图中,节点a、b、c的最小生成树中均包含该链路,因此链路b

c的上游节点集合为{a、b、c}。也即是,节点a、b、c为链路b

c的上游节点。通过上述实现方式分别确定以节点a、b、c为源传输至链路b

c流量的总计数,即为该链路上的流量分布特征。
[0175]
综上所述,基于上述步骤401,通信网络中的各个网络节点可以实现流量统计数据的采集。在网络节点的芯片上增加了基于节点的汇聚流计数能力的功能。该功能能够实现每个网络节点统计经过自己到达各个目的网络节点的流量计数结果。以实现采集本地的汇聚流量状态。比如,对于图7所示的通信网络,网络节点b基于步骤401可以采集到经过b去往d的流量的总计数为2g,经过b去往f的流量的总计数为3g,经过b去往c的流量的总计数为3g。
[0176]
然后通信网络中的控制节点可以通过上述步骤403至步骤404实现全网流量状态获取。也即是,控制节点可以基于各个网络节点采集的流量统计数据进行全网的汇聚流拼接,生成全网流量模型,该全网流量模型也即是得到通信网络的流量状态分布特征。比如,对于图7所示的通信网络,控制节点收集a~f节点各自本地采集的流量统计数据,基于步骤404中的实现方式,获取到如下的流量分布特征:1)以a节点为源节点去往c节点的流量的总计数为2g、以a节点为源节点去往f节点流量的总计数为3g、以c节点为源节点去往d节点的流量的总计数为2g。
[0177]
在本技术实施例中,控制节点在确定通信网络中的流量分布特征之后,还可以根据全网流量分布特征进行各条链路进行利用率评估,对超限过载进行告警。比如,对于图7所示的通信网络,控制节点上述步骤404,获得链路b

e链路的流量总计数,并且发现该链路的流量总计数明显高于其他链路的流量总计数,此时可以生成告警信息,以提示管理人员进行适当调整,从而降低该链路上的负载。
[0178]
此外,控制节点确定出某条链路过载后,为了缓解出现的过载,可以针对过载位置
增加用于负载分担的逻辑链路(shortcut),该逻辑链路还可以称为隧道。并根据流量分布特征为该隧道设置合理的开销值下发网络节点,以使网络节点能够基于该开销值将部分流量分流至该隧道。
[0179]
比如,对于图7所示的通信网络,如图10所示,控制节点基于拓扑优化算法判断可以通过将由c去往d的流量由b

e

d绕行b

a

d到达目的节点d。因此在控制节点为b节点添加一条隧道b

a

d,并设置隧道的开销值小于链路b

e和e

d的开销值之和。
[0180]
节点b收到新下发的隧道的相关信息后,基于当前拓扑进行路径重新计算。由于控制节点下发的隧道的开销值小于b

e、e

d的开销之和,节点b将执行最短路径算法生成去往d的最短路径为b经过该隧道直接到达d。也即是,由节点c去往d的流量的新的转发路径为c

b

a

d。
[0181]
由此可知,如图10所示,基于数据转发平面采集的流量统计数据,控制平面可以基于各个网络节点采集的流量统计数据实现全网流量的汇聚与拼接,以得到全网的流量分布特征。此时,还可以基于得到的全网的流量分布特征实现链路利用率评估与告警、还可以基于得到的全网的流量分布特征实现转发报文的拓扑的优化。
[0182]
需要说明的是,上述三个方面仅仅是本技术实施例提供的流量监控方法的三个应用,本技术实施例提供的流量监控方法还可以应用在其他场景,在此就不再一一举例说明。
[0183]
接下来对本技术实施例提供的通信网络中的各个节点的结构进行解释说明。
[0184]
图11是本技术实施例提供的一种网络设备的结构示意图,该网络设备可以为上述任一实施例中通信网络中包括的多个网络节点中的任一网络节点。该网络设备1100可以为交换机,路由器或者其他转发报文的网路设备。在该实施例中,该网络设备1100包括:主控板1110、接口板1130和接口板1140。多个接口板的情况下可以包括交换网板(图中未示出),该交换网板用于完成各接口板(接口板也称为线卡或业务板)之间的数据交换。
[0185]
主控板1110用于完成系统管理、设备维护、协议处理等功能。接口板1130和1140用于提供各种业务接口(例如,pos接口、ge接口、atm接口等),并实现报文的转发。主控板1110上主要有3类功能单元:系统管理控制单元、系统时钟单元和系统维护单元。主控板1110、接口板1130以及接口板1140之间通过系统总线与系统背板相连实现互通。接口板1130上包括一个或多个处理器1131。处理器1131用于对接口板进行控制管理并与主控板上的中央处理器进行通信,以及用于报文的转发处理。接口板1130上的存储器1132用于存储转发表项或路由转发表,处理器1131通过查找存储器1132中存储的转发表项或路由转发表进行报文的转发。
[0186]
接口板1130包括一个或多个网络接口1133用于接收上一跳节点发送的报文,并根据处理器1131的指示向下一跳节点发送处理后的报文。具体实现过程这里不再逐一赘述。此外,在本技术实施例中,这一个或多个网络接口1133还用于向控制节点发送上述步骤401中涉及的流量统计数据,以使得控制节点能够通过图4中的步骤403至步骤404确定通信网络中的流量计数结果分布特征。处理器1131可以用于确定步骤401中涉及的计数结果,处理器1131的具体功能这里就不再逐一赘述。
[0187]
可以理解,如图11所示,本实施例中包括多个接口板,采用分布式的转发机制,这种机制下,接口板1140上的操作与接口板1130的操作基本相似,为了简洁,不再赘述。此外,可以理解的是,图11中的接口板中的处理器1131和/或1141可以是专用硬件或芯片,如网络
处理器或者专用集成电路(application specific integrated circuit)来实现上述功能,这种实现方式即为通常所说的转发面采用专用硬件或芯片处理的方式。采用网络处理器这一专用硬件或芯片的具体实现方式可以参考下面图11所示的实施例。在另外的实施方式中,处理器1131和/或1141也可以采用通用的处理器,如通用的cpu来实现以上描述的功能。
[0188]
此外,需要说明的是,主控板可能有一块或多块,有多块的时候可以包括主用主控板和备用主控板。接口板可能有一块或多块,该设备的数据处理能力越强,提供的接口板越多。多块接口板的情况下,该多块接口板之间可以通过一块或多块交换网板通信,有多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,该设备可以不需要交换网板,接口板承担整个系统的业务数据的处理功能。在分布式转发架构下,该设备包括多块接口板,可以通过交换网板实现多块接口板之间的数据交换,提供大容量的数据交换和处理能力。所以,分布式架构的网络设备的数据接入和处理能力要大于集中式架构的设备。具体采用哪种架构,取决于具体的组网部署场景,此处不做任何限定。
[0189]
具体的实施例中,存储器1132可以是只读存储器(read-only memory,rom)或可存储静态信息和指令的其它类型的静态存储设备,随机存取存储器(random access memory,ram)或者可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read only memory,eeprom)、只读光盘(compact disc read-only memory,cd-rom)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘或者其它磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器1132可以是独立存在,通过通信总线与处理器1131相连接。存储器1132也可以和处理器1131集成在一起。
[0190]
其中,存储器1132用于存储程序代码,并由处理器1131来控制执行,以执行上述实施例所提供的转发报文的方法。处理器1131用于执行存储器1132中存储的程序代码。程序代码中可以包括一个或多个软件模块。这一个或多个软件模块可以为下面图15中实施例中提供的软件模块。
[0191]
具体实施例中,网络接口1133,可以是使用任何收发器一类的装置,用于与其它设备或通信网络通信,如以太网,无线接入网(radio access network,ran),无线局域网(wireless local area networks,wlan)等。
[0192]
图12是本技术实施例提供的另一种网络设备的结构示意图,该网络设备可以为上述图任一实施例提供的通信网络中的多个网络节点中的第一网络节点。该网络设备1200可以为交换机,路由器或者其他转发报文的网路设备。在该实施例中,该网络设备1200包括:主控板1210、接口板1230、交换网板1220和接口板1240。主控板1210用于完成系统管理、设备维护、协议处理等功能。交换网板1220用于完成各接口板(接口板也称为线卡或业务板)之间的数据交换。接口板1230和1240用于提供各种业务接口(例如,pos接口、ge接口、atm接口等),并实现数据包的转发。控制平面由主控板1210的各管控单元及接口板1230和1240上的管控单元等构成。主控板1210上主要有3类功能单元:系统管理控制单元、系统时钟单元和系统维护单元。主控板1210、接口板1230和1240,以及交换网板1220之间通过系统总线与系统背板相连实现互通。接口板1230上的中央处理器1231用于对接口板进行控制管理并与
主控板上的中央处理器进行通信。存储器1234用于存储接口板1230上的转发表项或路由转发表,网络处理器1232通过查找存储器1234中存储的转发表项或路由转发表进行报文的转发。
[0193]
所述网络处理器1232用于确定步骤401中涉及的计数结果,以得到流量统计数据,网络处理器1232的具体功能这里不再逐一赘述。
[0194]
所述物理接口卡1233还用于向控制节点发送步骤401中采集的流量统计数据,以使得控制节点能够通过图4中的步骤403至步骤404确定通信网络中的流量计数结果分布特征,具体实现过程这里不再逐一赘述。
[0195]
可以理解,如图12所示,本实施例中包括多个接口板,采用分布式的转发机制,这种机制下,接口板1240上的操作与所述接口板1230的操作基本相似,为了简洁,不再赘述。此外,如上所述,图12中的网络处理器1232以及1242的功能可以用专用集成电路(application specific integrated circuit)替换来实现。
[0196]
此外,需要说明的是,主控板可能有一块或多块,有多块的时候可以包括主用主控板和备用主控板。接口板可能有一块或多块,该设备的数据处理能力越强,提供的接口板越多。接口板上的物理接口卡也可以有一块或多块。交换网板可能没有,也可能有一块或多块,有多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,该设备可以不需要交换网板,接口板承担整个系统的业务数据的处理功能。在分布式转发架构下,该设备可以有至少一块交换网板,通过交换网板实现多块接口板之间的数据交换,提供大容量的数据交换和处理能力。所以,分布式架构的网络设备的数据接入和处理能力要大于集中式架构的设备。具体采用哪种架构,取决于具体的组网部署场景,此处不做任何限定。
[0197]
图13是本技术实施例提供的一种上述图12所示网络设备中的接口板1300的结构示意图,该接口板1300所在的网络设备可以为上述任一实施例中的通信网络包括的多个网络节点中的第一网络节点。该接口板1300可以包括物理接口卡(physical interface card,pic)1330,网络处理器(network processor,np)1310,以及流量计数结果管理模块(traffic management)1320。
[0198]
其中,pic:物理接口卡(physical interface card),用于实现物理层的对接功能,原始的流量计数结果由此进入网络设备的接口板,以及处理后的报文从该pic卡发出。
[0199]
网络处理器np1310用于实现报文的转发处理。具体而言,上行报文的处理包括:报文入接口的处理,时间戳的获取,上行流分类,转发表查找,测量信息封装,报文复制处理;下行报文的处理:转发表查找,下行流分类,时间戳获取,测量信息封装,出接口处理等等。
[0200]
流量计数结果管理tm1320,用于实现qos、线速转发、大容量缓存,队列管理等功能。具体而言,上行流量计数结果管理包括:上行qos处理(如拥塞管理和队列调度等)以及切片处理;下行流量计数结果管理包括:组包处理,多播复制,以及下行qos处理(如拥塞管理和队列调度等)。
[0201]
可以理解的是,若网络设备有多个接口板1300的情况下,多个接口板1300之间可以通过交换网1340通信。
[0202]
需要说明的是,图13仅示出了np内部的示意性处理流程或模块,具体实现中各模块的处理顺序不限于此,而且实际应用中可以根据需要部署其他模块或者处理流程。本技术实施例对比不做限制。
[0203]
图14是本技术实施例提供的一种网络中的控制节点的结构示意图。该网络中还包括多个网络节点。如图14所示,该控制节点1400包括:
[0204]
获取模块1401,用于获取多个网络节点中每个网络节点采集的流量统计数据。具体实现方式可以参考图4实施例中的步骤403。
[0205]
其中,多个网络节点中第一网络节点采集的流量统计数据包括从第一网络节点到达与第一网络节点属于同一个区域的目的网络节点的流量计数结果,目的网络节点包括第一网络节点在区域中转发报文的路径上的出口节点,流量计数结果包括由第一网络节点转发至目的网络节点的报文的总计数;
[0206]
确定模块1402,用于根据每个网络节点采集的流量统计数据,确定网络中的流量分布特征。具体实现方式可以参考图4实施例中的步骤404。
[0207]
可选地,流量分布特征包括以第一网络节点为源节点转发至第一链路的流量的总计数,第一链路为由第二网络节点至第三网络节点的链路,第二网络节点和第三网络节点为多个网络节点中的网络节点;
[0208]
确定模块用于:
[0209]
根据第一网络节点采集的流量统计数据,确定经过第一网络节点传输至第一链路的流量的总计数,得到第一计数结果;
[0210]
根据第一网络节点的上游节点采集的流量统计数据,确定经过第一网络节点的上游节点传输至第一链路的流量的总计数,得到第二计数结果,上游节点是指多个网络节点中转发报文至第一链路的路径上包括第一网络节点的节点;
[0211]
计算第一计数结果与第二计数结果之间的差值,将该差值作为以第一网络节点为源节点转发至第一链路的流量的总计数。
[0212]
可选地,确定模块用于:
[0213]
确定第一网络节点到达目的网络节点的路径中包括第一链路的路径,将确定的路径对应的目的网络节点作为统计节点;
[0214]
从第一网络节点采集的流量统计数据中,获取与统计节点对应的流量计数结果;
[0215]
根据与统计节点对应的流量计数结果,确定经过第一网络节点传输至第一链路的流量的总计数。
[0216]
可选地,确定模块还用于:
[0217]
确定多个网络节点中各个网络节点转发报文至第一链路的路径;
[0218]
从确定的路径中获取包括第一网络节点的路径,将获取的路径对应的网络节点作为第一网络节点的上游节点。
[0219]
可选地,在第一网络节点转发报文至同一目的地址的路径上的包括多个出口节点时,将由第一网络节点转发至多个出口节点的报文的总计数作为对应一个虚拟目的网络节点的流量计数结果。
[0220]
可选地,在第一网络节点至同一目的网络节点之间的路径上存在多个下一跳节点时,与同一目的网络节点对应的计数结果包括分别与多个下一跳节点对应的多个计数结果,多个计数结果中的每个计数结果包括通过相应下一跳节点转发流量至同一目的网络节点的报文的总计数。
[0221]
可选地,总计数为报文的总数量或报文的总字节数。
[0222]
在本技术实施例中,为了便于控制节点能够分析通信网络内的流量分布特征,对于网络中的任一网络节点,该网络节点的各个目的网络节点分别对应一个流量计数结果。其中,对于第一网络节点,由于该第一网络节点的各个目的网络节点包括第一网络节点在同一区域中转发报文的路径上的出口节点,因此,通过针对各个目的网络节点对应的流量计数结果,控制节点可以获知从第一网络节点传输至各个出口节点的流量,进而便于控制节点确定该网络中的流量分布特征。也即是,本技术提供了一种网络节点自身来采集本地的汇聚流量状态,然后由控制节点基于各个网络节点采集的本地的汇聚流量状态,确定通信网络中的流量分布特征。避免了需要借助除转发节点之外的其他节点采集的流量统计信息来实现流量监控。
[0223]
需要说明的是:上述实施例提供的控制节点在进行流量监控时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的控制节点与流量监控方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0224]
图15是本技术实施例提供的一种网络中的第一网络节点的结构示意图。如图15所示,该第一网络节点1500包括:
[0225]
采集模块1501,用于获得流量统计数据,流量统计数据包括从第一网络节点到达与第一网络节点属于同一个区域的目的网络节点的流量计数结果,其中,目的网络节点包括第一网络节点在该区域中转发报文的路径上的出口节点,流量计数结果包括由第一网络节点转发至目的网络节点的报文的总计数。具体实现方式可以参考图4实施例中的步骤401。
[0226]
发送模块1502,用于将流量统计数据向网络中的控制节点发送。具体实现方式可以参考图4实施例中的步骤402。
[0227]
可选地,网络节点还包括:
[0228]
获取模块,用于获取待转发的第一报文的第一目的地址;
[0229]
确定模块,还用于根据第一目的地址,确定第一目的网络节点,第一目的网络节点包括第一网络节点在该区域内转发第一报文的路径上的出口节点;
[0230]
更新模块,用于更新与第一目的网络节点对应的流量计数结果。
[0231]
可选地,确定模块用于:
[0232]
从目的地址与目的网络节点之间的对应关系中,获取与第一目的地址对应的目的网络节点,得到第一目的网络节点。
[0233]
可选地,在第一网络节点转发第一报文至第一目的地址的路径上的出口节点的数量为一个的情况下,第一目的网络节点为第一网络节点转发第一报文至第一目的地址的路径上的出口节点。
[0234]
可选地,在第一网络节点转发第一报文至第一目的地址的路径上的出口节点的数量为多个的情况下,第一目的网络节点为与多个出口节点对应的虚拟目的网络节点。
[0235]
可选地,与第一目的网络节点对应的流量计数结果包括与各个下一跳节点分别对应的流量计数结果,与任一下一跳节点对应的流量计数结果包括通过相应下一跳节点转发至第一目的网络节点的报文的总计数;
[0236]
更新模块用于:
[0237]
从路由表中获取与第一目的地址对应的一个或多个下一跳节点,路由表中包括与多个目的地址分别对应的下一跳节点;
[0238]
从一个或多个下一跳节点中选择转发第一报文的下一跳节点,得到目标下一跳节点;
[0239]
更新第一目的网络节点对应的流量计数结果中与目标下一跳节点对应的流量计数结果。
[0240]
可选地,对于第一目的网络节点配置有计数器数组,计数器数组中包括与第一网络节点转发报文至第一目的网络节点的路径上各个下一跳节点分别对应的计数器,计数器中包括与相应下一跳节点对应的流量计数结果;
[0241]
更新模块用于:
[0242]
查找与目标下一跳节点对应的计数器;
[0243]
对查找到的计数器中的流量计数结果进行更新。
[0244]
可选地,路由表中针对第一目的地址还配置有与第一目的网络节点对应的计数器数组的首地址;
[0245]
更新模块用于:
[0246]
根据目标下一跳节点、以及路由表中针对第一目的地址配置的第一目的网络节点对应的计数器数组的首地址,确定与目标下一跳节点对应的计数器的地址;
[0247]
根据与目标下一跳节点对应的计数器的地址,查找与目标下一跳节点对应的计数器。
[0248]
可选地,总计数为报文的总数量或报文的总字节数。
[0249]
在本技术实施例中,在本技术实施例中,为了便于控制节点能够分析通信网络内的流量分布特征,对于网络中的任一网络节点,该网络节点的各个目的网络节点分别对应一个流量计数结果。其中,对于第一网络节点,由于该第一网络节点的各个目的网络节点包括第一网络节点在同一区域中转发报文的路径上的出口节点,因此,通过与各个目的网络节点对应的流量计数结果,控制节点可以获知从第一网络节点传输至各个出口节点的流量,进而便于控制节点确定该网络中的流量分布特征。也即是,本技术提供了一种网络节点自身来采集本地的汇聚流量状态,然后由控制节点基于各个网络节点采集的本地的汇聚流量状态,确定通信网络中的流量分布特征。避免了需要借助除转发节点之外的其他节点采集的流量统计信息来实现流量监控。
[0250]
需要说明的是:上述实施例提供的第一网络节点采集流量统计数据时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的第一网络节点与流量监控的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0251]
图16是本技术实施例提供的一种网络设备的结构示意图。该网络设备可以为上述网络中的网络节点,也可以为控制节点。当该网络设备为上述网络节点时,此时,该网络设备1600可以为交换机,路由器或者其他转发报文的网路设备,此时该网络设备1600的具体功能可以参考前述图4实施例中的第一网络节点的具体实现方式,具体详见步骤401和步骤
402,在此不再赘述。当该网络设备为控制节点时,此时该网络设备1600的具体功能可以参考前述图4实施例中的控制节点的具体实现方式,具体详见步骤403和步骤404,在此不再赘述。参见图16,该网络设备包括至少一个处理器1601,通信总线1602、存储器1603以及至少一个通信接口1604。
[0252]
处理器1601可以是一个通用中央处理器(central processing unit,cpu)、特定应用集成电路(application-specific integrated circuit,asic)或一个或多个用于控制本技术方案程序执行的集成电路。当该网络设备作为通信网络多个的网络节点中的任一网络节点时,处理器1601用于确定流量统计数据。当该网络设备作为通信网络中的控制节点时,处理器1601用于基于转发节点确定的流量统计数据对通信网络的流量分布特征进行分析。具体功能在此不再赘述。
[0253]
通信总线1602可包括一通路,在上述组件之间传送信息。
[0254]
存储器1603可以是只读存储器(read-only memory,rom)或可存储静态信息和指令的其它类型的静态存储设备,随机存取存储器(random access memory,ram)或者可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、只读光盘(compact disc read-only memory,cd-rom)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘或者其它磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器1603可以是独立存在,通过通信总线1602与处理器1601相连接。存储器1603也可以和处理器1601集成在一起。
[0255]
其中,存储器1603用于存储执行本技术方案的程序代码,并由处理器1601来控制执行。处理器1601用于执行存储器1603中存储的程序代码。程序代码中可以包括一个或多个软件模块。上述实施例中的控制节点或多个转发节点中任一转发节点均可以通过处理器1601以及存储器1603中的程序代码中的一个或多个软件模块,来确定用于开发应用的数据。这一个或多个软件模块可以为图14或图15任一实施例中提供的软件模块。
[0256]
通信接口1604,使用任何收发器一类的装置,用于与其它设备或通信网络通信,如以太网,无线接入网(radio access network,ran),无线局域网(wireless local area networks,wlan)等。当该网络设备作为通信网络多个的网络节点中的任一网络节点时,通信接口1604可以用于向控制节点上报流量统计数据,具体实现方式可以参考图4实施例中的步骤402。当该网络设备作为通信网络中的控制节点时,通信接口1604用于接收网络节点上报的流量统计数据,具体实现方式可以参考图4实施例中的步骤403。
[0257]
在具体实现中,作为一种实施例,网络设备可以包括多个处理器,例如图16中所示的处理器1601和处理器1605。这些处理器中的每一个可以是一个单核(single-cpu)处理器,也可以是一个多核(multi-cpu)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
[0258]
上述的网络设备可以是一个通用网络设备或者是一个专用网络设备。在具体实现中,网络设备可以是台式机、便携式电脑、网络服务器、掌上电脑(personal digital assistant,pda)、移动手机、平板电脑、无线终端设备、通信设备或者嵌入式设备。本技术实施例不限定网络设备的类型。
[0259]
可以理解的是,在图16所示网络设备为上述方法实施例中的任一的网络节点时,本实施例也可以基于通用的物理服务器结合网络功能虚拟化nfv技术实现的虚拟第一网络节点,所述虚拟第一网络节点为虚拟路由器,而且可以虚拟出第二,三,n个网络节点(根据实际需要)。所述虚拟第一网络节点可以是运行有用于提供发送消息功能的程序的虚拟机(英文:virtual machine,vm),所述虚拟机部署在硬件设备上(例如,物理服务器)。虚拟机指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。本领域技术人员通过阅读本技术即可结合nfv技术在通用物理服务器上虚拟出具有上述功能的多个第一网络节点。此处不再赘述。
[0260]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如:同轴电缆、光纤、数据用户线(digital subscriber line,dsl))或无线(例如:红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如:软盘、硬盘、磁带)、光介质(例如:数字通用光盘(digital versatile disc,dvd))、或者半导体介质(例如:固态硬盘(solid state disk,ssd))等。
[0261]
本领域技术人员应该可以意识到,在上述一个或多个示例中,本技术所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
[0262]
以上所述的具体实施方式,对本技术的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本技术的具体实施方式而已,并不用于限定本技术的保护范围,凡在本技术的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献