有限带宽场景下转发流量和镜像流量调度的方法及应用与流程

文档序号:29038907发布日期:2022-02-25 20:00阅读:199来源:国知局
有限带宽场景下转发流量和镜像流量调度的方法及应用与流程

1.本发明是关于通信领域,特别是关于一种有限带宽场景下转发流量和镜像流量调度的方法及应用。


背景技术:

2.镜像是指将镜像端口(源端口)的报文复制一份到观察端口(目的端口)。在网络维护的过程中会遇到需要对报文进行获取和分析的情况,比如怀疑有攻击报文,此时需要在不影响报文转发的情况下,对报文进行获取和分析。镜像可以在不影响报文正常处理流程的情况下,将镜像端口的报文复制一份到观察端口,用户利用数据监控设备来分析复制到观察端口的报文,进行网络监控和故障排除。
3.公开于该背景技术部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。


技术实现要素:

4.本发明的目的在于提供一种有限带宽场景下转发流量和镜像流量调度的方法及应用,解决镜像目的端口在仅转发镜像流量情形下,由于带宽限制导致镜像流量丢包的问题。
5.为实现上述目的,本发明的实施例提供了一种有限带宽场景下转发流量和镜像流量调度的方法。
6.在本发明的一个或多个实施方式中,所述方法包括:获取出方向处理引擎的配置状态,所述配置状态包括:仅镜像流量状态和正常转发状态;以及根据所述出方向处理引擎的配置状态,设置镜像流量缓存区和/或转发流量缓存区的深度,从而调度转发流量和镜像流量。
7.在本发明的一个或多个实施方式中,根据所述出方向处理引擎的配置状态,设置镜像流量缓存区和/或转发流量缓存区的深度,包括:判断出方向处理引擎的配置状态是否为仅镜像流量状态;若是,减小转发流量缓存区的深度,增大镜像流量缓存区的深度;若否,增大转发流量缓存区的深度,减小镜像流量缓存区的深度。
8.在本发明的一个或多个实施方式中,将所述转发流量或所述镜像流量依次从出方向处理引擎转发,包括:在出方向处理引擎的配置状态是仅镜像流量状态时,将转发流量全部丢弃,将镜像流量从镜像流量缓存区依次发送至出方向处理引擎,并从出方向处理引擎转发;或在出方向处理引擎的配置状态是正常转发状态时,将转发流量和镜像流量分别从对应的缓存区依次发送至出方向处理引擎,并从出方向处理引擎转发。
9.在本发明的一个或多个实施方式中,所述方法还包括:在入方向处理引擎配置镜像标记,根据所述镜像标记对转发流量进行复制生成镜像流量。
10.在本发明的另一个方面当中,提供了一种有限带宽场景下转发流量和镜像流量调度的装置,其包括入方向处理引擎、调度模块和出方向处理引擎。
11.调度模块,用于获取出方向处理引擎的配置状态,所述配置状态包括:仅镜像流量状态和正常转发状态;以及
12.出方向处理引擎,用于根据所述出方向处理引擎的配置状态,设置镜像流量缓存区和/或转发流量缓存区的深度,从而调度转发流量和镜像流量。
13.入方向处理引擎,用于在入方向处理引擎配置镜像标记。
14.在本发明的一个或多个实施方式中,所述调度模块还用于:判断出方向处理引擎的配置状态是否为仅镜像流量状态;若是,减小转发流量缓存区的深度,增大镜像流量缓存区的深度;若否,增大转发流量缓存区的深度,减小镜像流量缓存区的深度。
15.在本发明的一个或多个实施方式中,所述出方向处理引擎还用于:在出方向处理引擎的配置状态是仅镜像流量状态时,将转发流量全部丢弃,将镜像流量从镜像流量缓存区依次发送至出方向处理引擎,并从出方向处理引擎转发;或在出方向处理引擎的配置状态是正常转发状态时,将转发流量和镜像流量分别从对应的缓存区依次发送至出方向处理引擎,并从出方向处理引擎转发。
16.在本发明的一个或多个实施方式中,所述调度模块还用于根据所述镜像标记对转发流量进行复制生成镜像流量。
17.在本发明的另一个方面当中,提供了一种电子设备,包括:至少一个处理器;以及存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如上所述的有限带宽场景下转发流量和镜像流量调度的方法。
18.在本发明的另一个方面当中,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如所述的有限带宽场景下转发流量和镜像流量调度的方法的步骤。
19.与现有技术相比,根据本发明实施方式的有限带宽场景下转发流量和镜像流量调度的方法及应用,其能够通过调节转发流量和镜像流量的缓存区深度,从而可以根据实际需求最大限度的将转发流量和镜像流量转发出去,在仅转发镜像流量时,可以避免转发流量进入缓存区占用带宽,提前将转发流量丢弃,避免镜像流量丢包。
附图说明
20.图1是根据本发明一实施方式的有限带宽场景下转发流量和镜像流量调度的方法的流程图;
21.图2是根据本发明一实施方式的有限带宽场景下转发流量和镜像流量调度的方法的具体流程图;
22.图3是根据本发明一实施方式的有限带宽场景下转发流量和镜像流量调度的方法的结构图;
23.图4是根据本发明一实施方式的有限带宽场景下转发流量和镜像流量调度的装置的结构图;
24.图5是根据本发明一实施方式的有限带宽场景下转发流量和镜像流量调度的计算设备的硬件结构图。
具体实施方式
25.下面结合附图,对本发明的具体实施方式进行详细描述,但应当理解本发明的保护范围并不受具体实施方式的限制。
26.除非另有其它明确表示,否则在整个说明书和权利要求书中,术语“包括”或其变换如“包含”或“包括有”等等将被理解为包括所陈述的元件或组成部分,而并未排除其它元件或其它组成部分。
27.以下结合附图,详细说明本发明各实施例提供的技术方案。
28.实施例1
29.如图1所示,介绍本发明的一个实施例中有限带宽场景下转发流量和镜像流量调度的方法,该方法包括如下步骤。
30.在步骤s101中,获取出方向处理引擎的配置状态。
31.出方向处理引擎通常情况下会转发两份流量,一份是本身的转发流量,另一份是镜像复制的流量。在出方向处理引擎配置状态,出方向处理引擎的配置状态包括:仅镜像流量状态和正常转发状态。仅镜像流量状态可以仅将镜像流量转发出去而不转发正常的流量,这样只会有镜像流量转发出来。正常转发状态则是将镜像流量和转发流量按照优先级从高至低的顺序依次从出方向出来引擎转发出去。
32.在步骤s102中,根据出方向处理引擎的配置状态,设置镜像流量缓存区和/或转发流量缓存区的深度。
33.在转发流量和镜像流量进入调度模块后,需要按照流量的优先级从高至低的顺序依次进入对应的队列缓存区,在调度模块的出端口具有总缓存池,总缓存池就是出口总共可以允许多少流量在总队列中排队,而对于具体的队列,转发流量队列和镜像流量队列都有自己的缓存区和实际的缓存数,队列缓存区深度就是最大允许缓存的流量数,实际缓存数就是实际上缓存的流量数。
34.转发流量队列和镜像流量队列实际缓存的流量会消耗总缓存池的资源。当转发流量或镜像流量实际缓存的流量达到其缓冲区上限时,后续流量就会被丢弃,同样地,如果所有队列的实际缓存达到总缓存池上限时,后续流量也会被丢弃,而各个队列对总资源池的占用秉承优先级高的优先占用的原则。
35.在缓存深度调整之前,由于转发流量优先级高,大量的流量进入转发流量缓存区,实际缓存不断增大,占用大部分的缓存资源,随着高优先级的流量进入队列,等到镜像流量可以入队列时,总缓存池的资源大部分被转发流量占用,所以仅有少部分的镜像流量进入队列,而在出方向处理引擎时,转发流量都被丢弃,仅有少部分镜像流量甚至没有镜像流量可以转发。
36.因此根据实际需求调节转发流量和镜像流量对应的缓存区深度,实现在有限带宽场景下灵活控制转发流量和镜像流量的转发。具体的,判断出方向处理引擎是否具有仅镜像流量标记;若否,此时转发流量和镜像流量都需要从出方向处理引擎转发,增大转发流量缓存区的深度,减小镜像流量缓存区的深度。若是,减小转发流量缓存区的深度,增大镜像流量缓存区的深度。由于出方向处理引擎具有仅镜像流量标记,只需要将镜像流量从出方向处理引擎转发出去,转发流量需要全部丢弃,因此在本实施例中,可以将转发流量的缓存区深度设置为0,将总缓存池的全部容量分配给镜像流量,让镜像流量能够最大限度的缓
存,这意味着不允许任何一个转发报文进入队列,即提前丢弃转发流量,也就不会占用总缓存池的资源,于是镜像流量能充分缓存到队列里,从而最终从出口转发出去。
37.在转发报文时,如果出方向处理引擎的配置状态是正常转发状态,则转发流量和镜像流量都会从出方向处理引擎转发出去,如果出方向处理引擎的配置状态是仅镜像流量状态,则只有镜像流量从出方向处理引擎转发出去。
38.具体的,在出方向处理引擎的配置状态是仅镜像流量状态时,此时只有镜像流量从出方向处理引擎转发出去,转发流量需要全部丢弃,在镜像流量的缓存区深度设置为0时,队列中不存在转发流量,只需将镜像流量从镜像流量缓存区依次发送至出方向处理引擎,并从出方向处理引擎转发。
39.在出方向处理引擎的配置状态是正常转发状态时,转发流量和镜像流量都需要从出方向处理引擎转发出去,将转发流量和镜像流量分别从对应的缓存区依次发送至出方向处理引擎,并从出方向处理引擎转发。
40.实施例2
41.如图2至图3所示,介绍本发明的一个实施例中有限带宽场景下转发流量和镜像流量调度的方法,该方法包括如下步骤。
42.在步骤s201中,在入方向处理引擎配置镜像标记,根据镜像标记对转发流量进行复制生成镜像流量。
43.在入方向处理引擎上配置镜像标记,在转发流量进入调度模块时会携带该镜像标记,在调度模块如果发现转发流量具有镜像标记,则对转发流量进行复制生成对应的镜像流量,然后转发流量和镜像流量分别入对应的队列。
44.在步骤s202中,获取出方向处理引擎的配置状态。
45.出方向处理引擎通常情况下会转发两份流量,一份是本身的转发流量,另一份是镜像复制的流量。在出方向处理引擎配置状态,出方向处理引擎的配置状态包括:仅镜像流量状态和正常转发状态。仅镜像流量状态可以仅将镜像流量转发出去而不转发正常的流量,这样只会有镜像流量转发出来。正常转发状态则是将镜像流量和转发流量按照优先级从高至低的顺序依次从出方向出来引擎转发出去。
46.在步骤s203中,根据出方向处理引擎的配置状态,设置镜像流量缓存区和/或转发流量缓存区的深度。
47.在缓存深度调整之前,由于转发流量优先级高,大量的流量进入转发流量缓存区,实际缓存不断增大,占用大部分的缓存资源,随着高优先级的流量进入队列,等到镜像流量可以入队列时,总缓存池的资源大部分被转发流量占用,所以仅有少部分的镜像流量进入队列,而在出方向处理引擎时,转发流量都被丢弃,仅有少部分镜像流量甚至没有镜像流量可以转发。
48.因此根据实际需求调节转发流量和镜像流量对应的缓存区深度,实现在有限带宽场景下灵活控制转发流量和镜像流量的转发。具体的,判断出方向处理引擎是否具有仅镜像流量标记;若否,此时转发流量和镜像流量都需要从出方向处理引擎转发,增大转发流量缓存区的深度,减小镜像流量缓存区的深度。若是,减小转发流量缓存区的深度,增大镜像流量缓存区的深度。由于出方向处理引擎具有仅镜像流量标记,只需要将镜像流量从出方向处理引擎转发出去,转发流量需要全部丢弃,因此在本实施例中,可以将转发流量的缓存
区深度设置为0,将总缓存池的全部容量分配给镜像流量,让镜像流量能够最大限度的缓存,这意味着不允许任何一个转发报文进入队列,即提前丢弃转发流量,也就不会占用总缓存池的资源,于是镜像流量能充分缓存到队列里,从而最终从出口转发出去。
49.在步骤s204中,将转发流量和镜像流量按照优先级顺序放入对应的缓存区,并将转发流量或镜像流量依次从出方向处理引擎转发。
50.在出方向处理引擎具有仅镜像流量标记时,此时只有镜像流量从出方向处理引擎转发出去,转发流量需要全部丢弃,在镜像流量的缓存区深度设置为0时,队列中不存在转发流量,只需将镜像流量从镜像流量缓存区依次发送至出方向处理引擎,并从出方向处理引擎转发。
51.在出方向处理引擎没有仅镜像流量标记时,转发流量和镜像流量都需要从出方向处理引擎转发出去,将转发流量和镜像流量分别从对应的缓存区依次发送至出方向处理引擎,并从出方向处理引擎转发。
52.如图4所示,介绍根据本发明具体实施方式的有限带宽场景下转发流量和镜像流量调度的装置。
53.在本发明的实施方式中,有限带宽场景下转发流量和镜像流量调度的装置包括入方向处理引擎401、调度模块402和出方向处理引擎403。
54.调度模块402,用于获取出方向处理引擎的配置状态,配置状态包括:仅镜像流量状态和正常转发状态。
55.出方向处理引擎403,用于根据出方向处理引擎的配置状态,设置镜像流量缓存区和/或转发流量缓存区的深度,从而调度转发流量和镜像流量。
56.入方向处理引擎401,用于在入方向处理引擎配置镜像标记。
57.调度模块402还用于:判断出方向处理引擎的配置状态是否为仅镜像流量状态;若是,减小转发流量缓存区的深度,增大镜像流量缓存区的深度;若否,增大转发流量缓存区的深度,减小镜像流量缓存区的深度。
58.出方向处理引擎403还用于:在出方向处理引擎的配置状态是仅镜像流量状态时,将转发流量全部丢弃,将镜像流量从镜像流量缓存区依次发送至出方向处理引擎,并从出方向处理引擎转发;或在出方向处理引擎的配置状态是正常转发状态时,将转发流量和镜像流量分别从对应的缓存区依次发送至出方向处理引擎,并从出方向处理引擎转发。
59.调度模块402还用于根据镜像标记对转发流量进行复制生成镜像流量。
60.图5示出了根据本说明书的实施例的用于有限带宽场景下转发流量和镜像流量调度的计算设备50的硬件结构图。如图5所示,计算设备50可以包括至少一个处理器501、存储器502(例如非易失性存储器)、内存503和通信接口504,并且至少一个处理器501、存储器502、内存503和通信接口504经由总线505连接在一起。至少一个处理器501执行在存储器502中存储或编码的至少一个计算机可读指令。
61.应该理解,在存储器502中存储的计算机可执行指令当执行时使得至少一个处理器501进行本说明书的各个实施例中以上结合图1-5描述的各种操作和功能。
62.在本说明书的实施例中,计算设备50可以包括但不限于:个人计算机、服务器计算机、工作站、桌面型计算机、膝上型计算机、笔记本计算机、移动计算设备、智能电话、平板计算机、蜂窝电话、个人数字助理(pda)、手持装置、消息收发设备、可佩戴计算设备、消费电子
设备等等。
63.根据一个实施例,提供了一种比如机器可读介质的程序产品。机器可读介质可以具有指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得机器执行本说明书的各个实施例中以上结合图1-5描述的各种操作和功能。具体地,可以提供配有可读存储介质的系统或者装置,在该可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机或处理器读出并执行存储在该可读存储介质中的指令。
64.根据本发明实施方式的有限带宽场景下转发流量和镜像流量调度的方法及应用,其能够通过调节转发流量和镜像流量的缓存区深度,从而可以根据实际需求最大限度的将转发流量和镜像流量转发出去,在仅转发镜像流量时,可以避免转发流量进入缓存区占用带宽,提前将转发流量丢弃,避免镜像流量丢包。
65.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
66.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
67.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
68.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
69.前述对本发明的具体示例性实施方案的描述是为了说明和例证的目的。这些描述并非想将本发明限定为所公开的精确形式,并且很显然,根据上述教导,可以进行很多改变和变化。对示例性实施例进行选择和描述的目的在于解释本发明的特定原理及其实际应用,从而使得本领域的技术人员能够实现并利用本发明的各种不同的示例性实施方案以及各种不同的选择和改变。本发明的范围意在由权利要求书及其等同形式所限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1