一种交换机的风暴流量控制方法、装置、电子设备及介质与流程

未命名 09-29 阅读:76 评论:0


1.本发明属于交换机技术领域,具体涉及一种交换机的风暴流量控制方法、装置、电子设备及介质。


背景技术:

2.随着多业务网络的发展,网络中所承载的数据呈几何倍数增长,而且多业务网络中的业务会占据大量的网络带宽,从而导致带宽成为互联网发展的瓶颈。为了使带宽能够尽量满足业务需求,则需要进行风暴控制。在交换机上,传统的风暴控制是预先在交换机接口配置广播、群播以及单播的最大流量带宽,并将当前流量的速度与预先配置好的阈值作比较,当报文流量的速度达到上限的阈值后,超出的部分会进行丢包处理,直到流量的速度低于阈值后,才会恢复正常。
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.在所述风暴带宽阈值大于所述最小风暴带宽的情况下,以所述增量削减所述风暴带宽阈值。
57.可选地,所述控制模块,包括:
58.确定子模块四,用于基于所述第一风暴带宽阈值和所述第二风暴带宽阈值,确定当前控制周期对应的目标风暴带宽阈值;
59.压制模块,用于对流入所述端口且超出所述目标风暴带宽阈值的风暴流量进行压
制,直至所述风暴流量的带宽小于所述目标风暴带宽阈值。
60.可选地,所述确定子模块四,包括:
61.确定子模块五,用于确定所述第一风暴带宽阈值与所述第二风暴带宽阈值之间的阈值差异;
62.在所述阈值差异小于或等于预设阈值差异的情况下,将所述第一风暴带宽阈值确定为所述目标风暴带宽阈值;其中,所述预设阈值差异用于表征所述第一带宽阈值与所述第二带宽阈值之间的容错率;
63.在所述阈值差异大于所述预设阈值差异的情况下,将所述第二风暴带宽阈值确定为所述目标风暴带宽阈值。
64.可选地,所述压制模块,包括:
65.更新模块,用于基于所述目标风暴带宽阈值,更新所述端口当前对应的风暴抑制级别;其中,不同的所述风暴带宽阈值对应不同的风暴抑制级别;
66.基于所述风暴抑制级别,对流入所述端口的所述风暴流量进行压制。
67.本发明实施例第三方面,提供了一种电子设备,所述电子设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如本发明实施例第一方面所述交换机的风暴流量控制方法。
68.本发明实施例第四方面,提供了一种存储介质,该程序被处理器执行时实现如本发明实施例第一方面所述交换机的风暴流量控制方法。
69.通过本发明提供的一种交换机的风暴流量控制方法,首先在每个控制周期中,获取端口的带宽剩余量,然后通过带宽剩余量,对当前控制周期中多种类型的流量分别对应的风暴带宽阈值进行调整,根据带宽剩余量越大,风暴带宽阈值被调整的越大的规则进行调整,可以根据端口业务流量的状态,自动更新风暴控制配置,合理地进行风暴控制,最后基于当前控制周期的上一控制周期中多种类型的流量分别对应的第一风暴带宽阈值,以及当前控制周期调整后的第二风暴带宽阈值,分别对多种类型的风暴流量进行控制,其中,多种类型包括组播、广播和单播中的至少一种,从而实现对交换机的流量的控制。
70.通过本发明提供的方法,不仅可以利用带宽剩余量和业务流量状态,自动地调整风暴带宽阈值,以实现更为合理的风暴控制,提高交换机网络的可靠性和稳定性,还可以对不同类型的流量(组播、广播和单播),分别进行控制,以确保不同类型的流量在传输过程中的稳定性和可控性,从而提升网络的性能和服务质量。
附图说明
71.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
72.图1是本技术实施例提供的一种交换机的风暴流量控制方法的步骤流程图;
73.图2是本技术实施例提供的一种交换机自动化风暴控制的流程图;
74.图3是本技术实施例提供的一种生成风暴控制配置的流程图;
75.图4是本技术实施例提供的一种交换机的风暴流量控制装置的示意图;
76.图5是本技术实施例提供的一种电子设备的示意图。
具体实施方式
77.下面将结合本技术实施例中的附图更详细地描述本技术的示例性实施例。虽然附图中显示了本技术的示例性实施例,然而应当理解,可以以各种形式实现本技术而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本技术,并且能够将本技术的范围完整的传达给本领域的技术人员。
78.风暴控制所指的风暴一般是bum风暴,即广播(broadcast)、未知单播和未知组播(unknow-unicast、unknow-multicast)、组播(multicast)。风暴控制的本质是对bum类型的报文流量进行控制,防止bum流量占用过多的网络带宽,从而保证交换机的网络性能。
79.现有交换机中的风暴控制方法是单向控制,由人工配置风暴控制策略,然后将风暴控制配置下发至交换芯片,在此过程中没有反馈机制,无法形成闭环控制。这也就导致风暴控制过于死板,不能根据当前交换机业务流量的需求进行合理的风暴控制。然而bum类型的报文并非是无用的流量,其中也可能包含有用的信息,当交换机端口的网络带宽富裕时,还是按照之前人工设置的阈值去限制bum类型的报文,不能进行正常的报文转发,这样反而会影响交换机的网络性能,影响报文的转发质量。
80.因此本技术提供的一种交换机风暴控制方法、装置及电子设备来解决上述问题。
81.实施例一
82.参照图1,图1是本技术实施例提供的一种交换机的风暴流量控制方法的步骤流程图,风暴流量控制方法的步骤包括:
83.步骤s101:在每个控制周期中,获取端口的带宽剩余量。
84.在本实施例中,端口是指交换机上用于接入网络设备(如计算机、服务器、路由器、防火墙等)的物理接口或逻辑接口。交换机通常有多个端口,每个端口都有唯一的标识符(如端口号),用于标识它在交换机中的位置。通过端口,交换机可以识别和管理设备之间的数据流量,实现网络通信和流量控制。首先对端口的业务流量信息进行按照控制周期进行定期采集,控制周期的时间可以自行设定,获取端口的带宽剩余量。
85.示例地,本技术以一个端口的带宽是一个固定值来进行阐述,假设端口的带宽为1000兆比特/秒,流过该端口的流量为600兆比特/秒,那么带宽剩余量为400兆比特/秒。
86.步骤s102:基于所述带宽剩余量,对当前控制周期中多种类型的流量分别对应的风暴带宽阈值进行调整;其中,所述带宽剩余量越大,所述风暴带宽阈值被调整的越大。
87.在本实施例中,交换机的端口会根据不同类型的流量设置阈值带宽,包括正常流量阈值与风暴流量阈值,最开始的风暴流量阈值时一个固定的值,但是流量中的风暴流量是一个不固定的值,因此,在对风暴流量进行转发时,就会根据带宽剩余量对多种类型的风暴流量各自对应的风暴流量阈值来进行调整,调整的规则是根据带宽剩余量的大小,来选择调高或者调低风暴带宽阈值。
88.示例地,假设端口的带宽为1000兆比特/秒,广播类型的正常流量的阈值为20兆比特/秒,小于或等于20兆比特/秒的为正常流量,超过20兆比特/秒的为风暴流量,假设风暴流量阈值为30兆比特/秒,则表示该端口可以让20兆比特/秒~30兆比特/秒之间的广播类型的风暴流量通过,但是风暴流量是不可控的,有可能会存在超过30兆比特/秒,如果端口
的带宽剩余量存在很多,那么就可以对广播类型的风暴流量阈值进行增大,在保证正常流量通过的情况下,可以将广播类型的风暴流量阈值增大为50兆比特/秒,此外如果端口中存在多种类型的风暴流量阈值,就可以根据端口带宽剩余量按照比例分配给不同类型的流量的风暴流量,进而实现调整风暴带宽阈值。
89.步骤s103:基于当前控制周期的上一控制周期中多种类型的流量分别对应的第一风暴带宽阈值,以及当前控制周期调整后的第二风暴带宽阈值,分别对所述多种类型的风暴流量进行控制;其中,所述多种类型包括组播、广播和单播中的至少一种。
90.在本实施例中,单播指一对一的通信模式,每个数据包只发送给一个特定的目标地址;广播指一对多的通信模式,每个数据包发送给同一广播域中的所有主机;组播则介于单播和广播之间,一次发送到一组特定的目标地址,这个组称为组播组,组中的每个成员都能接收到该数据包,由于组播、广播和单播的数据包传输方式不同,它们对网络的影响也不同,因此需要对不同类型的流量分别进行控制。
91.获取调整后的风暴带宽阈值,在获取调整后的风暴带宽阈值以后,就会自动生成对应的配置信息,下发到交换芯片中,交换芯片来对流入端口的流量来进行具体的控制,因此在进行下发之前,就会获取上一周期的风暴带宽阈值,具体可以通过时间标记来对应获取上一周期的风暴带宽阈值,即第一风暴带宽阈值,确定上一周期的各种类型流量的各自对应的第一风暴带宽阈值是否与调整后的多种类型的流量对应的风暴带宽阈值相同,即第二风暴带宽阈值,来确定是否需要将调整后的第二风暴带宽阈值对应的配置信息下发至交换芯片,来对风暴流量进行控制。
92.在一种实施例中,所述在每个控制周期中,获取端口的带宽剩余量,包括:获取通过所述端口的流量;基于所述流量,确定所述端口的带宽使用量;基于所述带宽使用量,获取所述带宽剩余量。
93.在本实施例中,在每个控制周期中,端口带宽时一个固定的量,定时获取流过端口的流量,流量包括正常流量与风暴流量,根据流量的流速,来确定端口带宽使用量,本技术中流过端口流量的流速,可以直接通过传输协议直接获取,因此就可以知道端口的带宽使用率,即端口带宽使用量,根据端口使用量,就可以获取当前端口的带宽剩余量。
94.示例地,本技术以一个端口的带宽是一个固定值来进行阐述,假设端口的带宽为1000兆比特/秒,流过该端口的各种类型的流量为600兆比特/秒,那么带宽剩余量为400兆比特/秒。
95.在一种实施例中,所述基于所述带宽剩余量,对当前控制周期中多种类型的流量分别对应的风暴带宽阈值进行调整,包括:确定所述带宽剩余量相对预设带宽剩余量的增量;其中,所述预设带宽剩余量用于保障多种类型的正常流量通过;在所述增量大于零的情况下,将所述增量分配给所述风暴带宽阈值;在所述增量小于或等于零的情况下,以所述增量削减所述风暴带宽阈值。
96.在本实施例中,为了保证多种类型的正常流量通过,会存在一个预设带宽剩余量来进行保障,因此在获取端口带宽剩余量以后,就会将端口带宽剩余量与预设带宽剩余量进行一个相减,得到端口带宽剩余量与预设带宽剩余量的一个增量,该增量可以是一个正增量,也可以是一个负增量或零增量,因此根据增量的类型来进一步的确定以何种方式来调整风暴带宽阈值。
97.在增量为正增量时,即增量大于零的情况下,将增量分配给多种类型的流量分别对应的风暴带宽阈值,增大风暴带宽阈值,具体的分配方式不做限定,可以按照不同类型的流量在端口的占比进行分配,也可以根据不同类型的数量进行平均分配,还可以只是分配增量的部分来增大风暴带宽阈值,可以根据实际的应用场景来进行合理的分配方式。
98.在增量为负增量或零增量时,即增量小于或等于零的情况下,按照增量的值来削减风暴带宽,在负增量的情况下,可以按照不同类型的流量在端口的占比进行削减,也可以根据不同类型的数量进行平均削减,本技术对削减方式不做限定,只要能保证削减后的带宽剩余量大于或等于预设带宽剩余量即可,可以根据实际的应用场景来选择合适的削减方式对风暴带宽阈值进行削减。
99.在增量为零增量时,就不对风暴带宽阈值进行削减,也可以理解为按照零对风暴带宽阈值进行削减。
100.在一种实施例中,所述在所述增量大于零的情况下,将所述增量分配给所述风暴带宽阈值之后,所述方法还包括:基于所述多种类型的流量在当前周期的实时流量,确定所述多种类型的流量占据所述端口的风暴带宽总量;在所述风暴带宽总量小于或等于风暴带宽阈值总量的情况下,在所述多种类型的流量中,确定超出所述风暴带宽阈值的流量所对应的目标类型;其中,所述风暴带宽阈值总量用于表征所述多种类型的流量分别对应的,所述增量分配后的所述风暴带宽阈值的叠加值;削减除所述目标类型外的其它类型的流量对应的风暴带宽阈值。
101.在本实施例中,在风暴带宽阈值增大以后的情况下,可以知道调整风暴带宽以后的多种类型的风暴带宽的总阈值,还可以根据多种类型的流量在当前周期的实时流量,实时流量中包括多种类型的风暴流量,从而可以确定当前多种类型的流量占据端口的风暴带宽总量,在风暴带宽总量小于或等于风暴带宽阈值总量的情况下,在多种类型的流量中,确定超出风暴带宽阈值的流量所对应的目标类型,风暴带宽阈值总量用于表征多种类型的流量分别对应的,所述增量分配后的风暴带宽阈值的叠加值,削减除目标类型外的其它类型的流量对应的风暴带宽阈值。
102.示例地,流过端口的三种流量a、b、c调整前的风暴带宽阈值分别为20、30、40,调整后的风暴带宽阈值分别为40、50、60,那么调整后的风暴带宽总阈值为150,假设调整以后实时流过端口的三种风暴流量a、b、c占据端口的带宽为50、40、50,此时风暴带宽总量为140,小于调整后的风暴带宽总阈值,进一步的确定多种类型流量中,超过风暴带宽阈值的流量为a,为了保证a通过,就会削减b或c的风暴带宽阈值,或者同时削减b或c的风暴带宽阈值。本技术削减其他类型风暴带宽阈值不做限定,根据实际需要进行削减。
103.在一种实施例中,所述在所述增量小于或等于零的情况下,以所述增量削减所述风暴带宽阈值之前,所述方法还包括:判断所述风暴带宽阈值是否小于最小风暴带宽;其中,所述最小风暴带宽用于防止网络中断;在所述带宽剩余量小于所述预设带宽剩余量的情况下,以所述增量削减所述风暴带宽阈值,包括:在所述风暴带宽阈值大于所述最小风暴带宽的情况下,以所述增量削减所述风暴带宽阈值。
104.在本实施例中,在增量小于或等于零的情况下,对风暴带宽阈值进行削减的情况下,判断风暴带宽阈值是否小于最小风暴带宽,最小风暴带宽用于防止网络中断,保证交换机端口的通信正常,在带宽剩余量小于所述预设带宽剩余量的情况下,以增量削减所述风
暴带宽阈值,包括:在风暴带宽阈值大于所述最小风暴带宽的情况下,以增量削减风暴带宽阈值,在风暴带宽阈值等于最小风暴带宽的情况下,不对风暴带宽阈值进行削减,就是风暴带宽削减至最小的风暴带宽。
105.在一种实施例中,所述基于当前控制周期的上一控制周期中多种类型的流量分别对应的第一风暴带宽阈值,以及当前控制周期调整后的第二风暴带宽阈值,分别对所述多种类型的风暴流量进行控制,包括:基于所述第一风暴带宽阈值和所述第二风暴带宽阈值,确定当前控制周期对应的目标风暴带宽阈值;对流入所述端口且超出所述目标风暴带宽阈值的风暴流量进行压制,直至所述风暴流量的带宽小于所述目标风暴带宽阈值。
106.在本实施例中,需要确定当前控制周期对应的目标风暴带宽阈值,目标风暴带宽阈值是用于下至交换芯片的配置信息,对与风暴流量的压制是以目标风暴流量为准,因此,对流入端口且超出所述目标风暴带宽阈值的风暴流量进行压制,直至所述风暴流量的带宽小于目标风暴带宽阈值时,才会通过该风暴流量。
107.在一种实施例中,所述基于所述第一风暴带宽阈值和所述第二风暴带宽阈值,确定当前控制周期对应的目标风暴带宽阈值,包括:确定所述第一风暴带宽阈值与所述第二风暴带宽阈值之间的阈值差异;在所述阈值差异小于或等于预设阈值差异的情况下,将所述第一风暴带宽阈值确定为所述目标风暴带宽阈值;其中,所述预设阈值差异用于表征所述第一带宽阈值与所述第二带宽阈值之间的容错率;在所述阈值差异大于所述预设阈值差异的情况下,将所述第二风暴带宽阈值确定为所述目标风暴带宽阈值。
108.在本实施例中,确定目标风暴带宽阈值是为了确定,在当前周期下是否需要重新更新交换机芯片的配置,为了避免重复下载更新,降低交换机端口的传输效率,因此就需要确定上一周期的第一风暴带宽阈值与当前控制周期的第二风暴阈值的阈值差异,阈值差异是指第二风暴带宽中多种类型的流量的各个风暴带宽阈值与第一风暴带宽的多种类型的流量的风暴带宽阈值差值
109.如果阈值差异小于或者等于预设阈值差异的情况下,就会将第一风暴带宽阈值确定为目标风暴带宽阈值;在阈值差异大于所述阈值差异的情况下,将第二风暴带宽阈值确定为目标风暴带宽阈值。
110.在一种实施例中,所述对流入所述端口且超出所述目标风暴带宽阈值的风暴流量进行压制,包括:基于所述目标风暴带宽阈值,更新所述端口当前对应的风暴抑制级别;其中,不同的所述风暴带宽阈值对应不同的风暴抑制级别;基于所述风暴抑制级别,对流入所述端口的所述风暴流量进行压制。
111.在本实施例中,根据目标风暴带宽阈值,需要更新端口对应的风暴抑制级别,不同的风暴带宽阈值对应不同的风暴抑制级别,根据风暴抑制级别,对流入该端口的流量中超过目标风暴带宽阈值的风暴流量进行压制,直到进栈流量下降到预定门限值以下。
112.示例地,参照图2,图2是本技术实施例提供的一种交换机自动化风暴控制的流程图,对交换机实现自动化风暴控制进行阐述:
113.步骤s201:对端口的业务流量信息进行定期采集,流量信息包括bum风暴的流量信息(带宽占比及是否到达阈值)、端口带宽使用率、时间标记。
114.步骤s202:根据采集到的端口信息,按照不同类型风暴流量的比例及端口带宽使用率,获取端口的带宽剩余量,计算不同风暴类型的限制阈值,生成对应的风暴控制配置,
即第二风暴带宽阈值。
115.步骤s203:判断控制策略是否更新,检查当前的第二风暴带宽阈值与上一控制周期的第一风暴带宽阈值之间的阈值差异是否小于或等于预设阈值差异,若是,则进行步骤s204,若否,则进入步骤s206。
116.步骤s204:更新风暴控制配置,即目标风暴带宽阈值,并将配置下发至交换芯片。
117.步骤s205:交换芯片根据下发的配置完成风暴控制。
118.步骤s206:判断是否关闭风暴控制,若是,则结束,若否,则进入步骤s201。
119.为了为实现自动化风暴控制,本技术提供的方法应用在sonic系统中,通过设置端口风暴信息采集模块、控制策略自动生成模块、控制配置下发模块及风暴控制执行模块完成sonic系统下的交换机的风暴流量控制。
120.端口风暴信息采集模块:sonic原有的everflow功能定期采集bum风暴的流量信息(带宽占比及是否到达阈值)、端口带宽使用率、时间标记,并带入端口标记。这些信息将写入state_db(状态数据库)中。
121.控制策略自动生成模块:该模块放置在sonic系统的swss(switch state service,交换机状态服务)容器中,当端口风暴信息采集模块将相关信息写入state_db(状态数据库)中,state_db(状态数据库)就会根据信息中内容,确定端口的带宽剩余量,根据带宽剩余量,触发控制策略自动生成模块的运行,并按照控制策略生成规则,计算不同类型流量的风暴带宽阈值,生成风暴控制配置,并将配置写入到config_db(配置数据库)中。
122.参照图3,图3是本技术实施例提供的一种生成风暴控制配置的流程图,对控制策略生成模块可以生成的一种风暴控制配置进行阐述:
123.开始,在每个控制周期中,获取端口的带宽剩余量,获取带宽剩余量以后,进入步骤s301。
124.步骤s301:判断当前端口的带宽剩余量是否有空余,且带宽剩余量大于预设带宽剩余量,若是,进入步骤s302,若否,进入步骤s303。
125.步骤s302:确定带宽剩余量相对预设带宽剩余量的增量,将增量按照不同类型的流量的风暴带宽阈值的比例进行分配,增加bum风暴可以占用的带宽,增加完成以后进入步骤s305。
126.步骤s303:判断当前的不同类型的流量的风暴流量占用的带宽是否小于规定的最小风暴带宽,若否,则进入步骤s304,若是,则进入步骤s305。
127.步骤s304:按比例削减不同类型流量的风暴带宽阈值,使端口的带宽剩余量大于或等于预设带宽剩余量即可,削减完成以后进入步骤s305。
128.步骤s305:生成风暴控制配置,即目标风暴带宽阈值,根据调整后的带宽风暴带宽阈值来进行计算不同类型的风暴流量的速度阈值,并下控制配置下发模块。
129.控制配置下发模块:该模块放置在sonic系统的swss容器中,当风暴控制配置被写入config_db(配置数据库)中,需要注意的是,无论config_db中是否已有风暴控制配置),都会触发该模块。
130.控制配置下发模块首先将config_db中的配置信息,即当前控制周期中的第二风暴带宽阈值,与appl_db(应用数据库)中的上一控制周期的风暴控制配置,即第一风暴带宽阈值,相比较,确定第一风暴带宽阈值与第二风暴带宽阈值之间的阈值差异,如果阈值差异
小于或等于预设阈值差异,则放弃这次配置下发;如果不同,则将config_db中的配置更新到appl_db中,并由sai(switch abstraction interface,交换机抽象接口)将风暴控制配置信息下发到与设备相连的交换芯片。
131.风暴控制执行模块:由交换芯片根据接收到的风暴控制配置的信息进行风暴控制,更新端口当前对应的风暴抑制级别,并根据风暴抑制级别,对流入所述端口的风暴流量进行压制。
132.具体地,由交换芯片不断地监控与风暴控制配置信息对应的端口的进栈流量,并把所获取的当前类型的流量与更新后的风暴抑制级别(具体即为对应的预定门限值)进行对比,对流入该端口的流量中超过目标风暴带宽阈值的风暴流量进行压制,直到进栈流量下降到预定门限值以下。
133.实施例二
134.本技术实施例,参照图4,图4提供了一种交换机的风暴流量控制装置的示意图,所述装置包括:获取模块401、调整模块402、控制模块403。
135.获取模块401,用于在每个控制周期中,获取端口的带宽剩余量;
136.调整模块402,用于基于所述带宽剩余量,对当前控制周期中多种类型的流量分别对应的风暴带宽阈值进行调整;其中,所述带宽剩余量越大,所述风暴带宽阈值被调整的越大;
137.控制模块403,用于基于当前控制周期的上一控制周期中多种类型的流量分别对应的第一风暴带宽阈值,以及当前控制周期调整后的第二风暴带宽阈值,分别对所述多种类型的风暴流量进行控制;
138.其中,所述多种类型包括组播、广播和单播中的至少一种。
139.在一种实施例中,所述获取模块401,包括:获取子模块一,用于获取通过所述端口的流量;基于所述流量,确定所述端口的带宽使用量;基于所述带宽使用量,获取所述带宽剩余量。
140.在一种实施例中,所述调整模块402,包括:确定子模块一,用于确定所述带宽剩余量相对预设带宽剩余量的增量;其中,所述预设带宽剩余量用于保障多种类型的正常流量通过;调整子模块一,用于在所述增量大于零的情况下,将所述增量分配给所述风暴带宽阈值;调整至模块二,用于在所述增量小于或等于零的情况下,以所述增量削减所述风暴带宽阈值。
141.在一种实施例中,所述调整子模块二,还包括:定子模块二,用于基于所述多种类型的流量在当前周期的实时流量,确定所述多种类型的流量占据所述端口的风暴带宽总量;确定子模块三,用于在所述风暴带宽总量小于或等于风暴带宽阈值总量的情况下,在所述多种类型的流量中,确定超出所述风暴带宽阈值的流量所对应的目标类型;其中,所述风暴带宽阈值总量用于表征所述多种类型的流量分别对应的,所述增量分配后的所述风暴带宽阈值的叠加值;削减模块,用于削减除所述目标类型外的其它类型的流量对应的风暴带宽阈值。
142.在一种实施例中,所述在所述增量小于或等于零的情况下,以所述增量削减所述风暴带宽阈值之前,所述调整模块402,还包括:调整子模块四,用于判断所述风暴带宽阈值是否小于最小风暴带宽;其中,所述最小风暴带宽用于防止网络中断;在所述带宽剩余量小
于所述预设带宽剩余量的情况下,以所述增量削减所述风暴带宽阈值,包括:在所述风暴带宽阈值大于所述最小风暴带宽的情况下,以所述增量削减所述风暴带宽阈值。
143.在一种实施例中,所述控制模块403,包括:确定子模块四,用于基于所述第一风暴带宽阈值和所述第二风暴带宽阈值,确定当前控制周期对应的目标风暴带宽阈值;压制模块,用于对流入所述端口且超出所述目标风暴带宽阈值的风暴流量进行压制,直至所述风暴流量的带宽小于所述目标风暴带宽阈值。
144.在一种实施例中,所述确定子模块四,包括:确定子模块五,用于确定所述第一风暴带宽阈值与所述第二风暴带宽阈值之间的阈值差异;在所述阈值差异小于或等于预设阈值差异的情况下,将所述第一风暴带宽阈值确定为所述目标风暴带宽阈值;其中,所述预设阈值差异用于表征所述第一带宽阈值与所述第二带宽阈值之间的容错率;在所述阈值差异大于所述预设阈值差异的情况下,将所述第二风暴带宽阈值确定为所述目标风暴带宽阈值。
145.在一种实施例中,所述压制模块,包括:更新模块,用于基于所述目标风暴带宽阈值,更新所述端口当前对应的风暴抑制级别;其中,不同的所述风暴带宽阈值对应不同的风暴抑制级别;基于所述风暴抑制级别,对流入所述端口的所述风暴流量进行压制。
146.通过本发明提供的装置,应用在交换机的风暴控制上,不仅可以利用带宽剩余量和业务流量状态,自动地调整风暴带宽阈值,以实现更为合理的风暴控制,提高交换机网络的可靠性和稳定性,还可以对不同类型的流量(组播、广播和单播),分别进行控制,以确保网络流量的稳定性和可控性,从而提升网络的性能和服务质量。
147.实施例三
148.本发明实施例,提供了一种电子设备,所述电子设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如本发明实施例的所述交换机的风暴流量控制方法。
149.在本实施例中,参照图5,图5是本发明实施例提供的一种电子设备的示意图;如图5所示,电子设备100包括:存储器110和处理器120,存储器110与处理器120之间通过总线通信连接,存储器110中存储有计算机程序,该计算机程序可在处理器120上运行,进而实现本技术实施例的所述交换机的风暴流量控制方法。
150.实施例四
151.本发明实施例,提供了一种存储介质,该程序被处理器执行时实现如本发明实施例的所述交换机的风暴流量控制方法。
152.本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
153.本发明实施例是参照根据本发明实施例的方法、装置的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
154.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备
以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
155.这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
156.尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
157.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
158.以上对本发明所提供的一种交换机的风暴流量控制方法、装置、电子设备及介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

技术特征:
1.一种交换机的风暴流量控制方法,其特征在于,所述方法包括:在每个控制周期中,获取端口的带宽剩余量;基于所述带宽剩余量,对当前控制周期中多种类型的流量分别对应的风暴带宽阈值进行调整;其中,所述带宽剩余量越大,所述风暴带宽阈值被调整的越大;基于当前控制周期的上一控制周期中多种类型的流量分别对应的第一风暴带宽阈值,以及当前控制周期调整后的第二风暴带宽阈值,分别对所述多种类型的风暴流量进行控制;其中,所述多种类型包括组播、广播和单播中的至少一种。2.根据权利要求1所述的方法,其特征在于,所述在每个控制周期中,获取端口的带宽剩余量,包括:获取通过所述端口的流量;基于所述流量,确定所述端口的带宽使用量;基于所述带宽使用量,获取所述带宽剩余量。3.根据权利要求1所述的方法,其特征在于,所述基于所述带宽剩余量,对当前控制周期中多种类型的流量分别对应的风暴带宽阈值进行调整,包括:确定所述带宽剩余量相对预设带宽剩余量的增量;其中,所述预设带宽剩余量用于保障多种类型的正常流量通过;在所述增量大于零的情况下,将所述增量分配给所述风暴带宽阈值;在所述增量小于或等于零的情况下,以所述增量削减所述风暴带宽阈值。4.根据权利要求3所述的方法,其特征在于,所述在所述增量大于零的情况下,将所述增量分配给所述风暴带宽阈值之后,所述方法还包括:基于所述多种类型的流量在当前周期的实时流量,确定所述多种类型的流量占据所述端口的风暴带宽总量;在所述风暴带宽总量小于或等于风暴带宽阈值总量的情况下,在所述多种类型的流量中,确定超出所述风暴带宽阈值的流量所对应的目标类型;其中,所述风暴带宽阈值总量用于表征所述多种类型的流量分别对应的,所述增量分配后的所述风暴带宽阈值的叠加值;削减除所述目标类型外的其它类型的流量对应的风暴带宽阈值。5.根据权利要求3所述的方法,其特征在于,所述在所述增量小于或等于零的情况下,以所述增量削减所述风暴带宽阈值之前,所述方法还包括:判断所述风暴带宽阈值是否小于最小风暴带宽;其中,所述最小风暴带宽用于防止网络中断;在所述带宽剩余量小于所述预设带宽剩余量的情况下,以所述增量削减所述风暴带宽阈值,包括:在所述风暴带宽阈值大于所述最小风暴带宽的情况下,以所述增量削减所述风暴带宽阈值。6.根据权利要求1所述的方法,其特征在于,所述基于当前控制周期的上一控制周期中多种类型的流量分别对应的第一风暴带宽阈值,以及当前控制周期调整后的第二风暴带宽阈值,分别对所述多种类型的风暴流量进行控制,包括:基于所述第一风暴带宽阈值和所述第二风暴带宽阈值,确定当前控制周期对应的目标
风暴带宽阈值;对流入所述端口且超出所述目标风暴带宽阈值的风暴流量进行压制,直至所述风暴流量的带宽小于所述目标风暴带宽阈值。7.根据权利要求6所述的方法,其特征在于,所述基于所述第一风暴带宽阈值和所述第二风暴带宽阈值,确定当前控制周期对应的目标风暴带宽阈值,包括:确定所述第一风暴带宽阈值与所述第二风暴带宽阈值之间的阈值差异;在所述阈值差异小于或等于预设阈值差异的情况下,将所述第一风暴带宽阈值确定为所述目标风暴带宽阈值;其中,所述预设阈值差异用于表征所述第一带宽阈值与所述第二带宽阈值之间的容错率;在所述阈值差异大于所述预设阈值差异的情况下,将所述第二风暴带宽阈值确定为所述目标风暴带宽阈值。8.根据权利要求6所述的方法,其特征在于,所述对流入所述端口且超出所述目标风暴带宽阈值的风暴流量进行压制,包括:基于所述目标风暴带宽阈值,更新所述端口当前对应的风暴抑制级别;其中,不同的所述风暴带宽阈值对应不同的风暴抑制级别;基于所述风暴抑制级别,对流入所述端口的所述风暴流量进行压制。9.一种交换机的风暴流量控制装置,其特征在于,所述装置包括:获取模块,用于在每个控制周期中,获取端口的带宽剩余量;调整模块,用于基于所述带宽剩余量,对当前控制周期中多种类型的流量分别对应的风暴带宽阈值进行调整;其中,所述带宽剩余量越大,所述风暴带宽阈值被调整的越大;控制模块,用于基于当前控制周期的上一控制周期中多种类型的流量分别对应的第一风暴带宽阈值,以及当前控制周期调整后的第二风暴带宽阈值,分别对所述多种类型的风暴流量进行控制;其中,所述多种类型包括组播、广播和单播中的至少一种。10.一种电子设备,所述电子设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-8任一所述交换机的风暴流量控制方法。11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-8任一所述交换机的风暴流量控制方法。

技术总结
本发明提供了一种交换机的风暴流量控制方法、装置、电子设备及介质,属于交换机技术领域,所述方法包括:在每个控制周期中,获取端口的带宽剩余量;基于所述带宽剩余量,对当前控制周期中多种类型的流量分别对应的风暴带宽阈值进行调整;其中,所述带宽剩余量越大,所述风暴带宽阈值被调整的越大;基于当前控制周期的上一控制周期中多种类型的流量分别对应的第一风暴带宽阈值,以及当前控制周期调整后的第二风暴带宽阈值,分别对所述多种类型的风暴流量进行控制;其中,所述多种类型包括组播、广播和单播中的至少一种。通过本发明所提供的方法,可以自动地调整风暴带宽阈值,以实现更为合理的风暴控制,提高交换机网络的可靠性和稳定性。定性。定性。


技术研发人员:张斌 郭巍松
受保护的技术使用者:苏州浪潮智能科技有限公司
技术研发日:2023.05.26
技术公布日:2023/9/23
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

航空商城 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

评论

相关推荐