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

组播组容量的测试方法和装置、存储介质及电子装置与流程

2021-10-29 23:16:00 来源:中国专利 TAG:装置 容量 组播 通信 测试


1.本技术涉及通信领域,具体而言,涉及一种组播组容量的测试方法和装置、存储介质及电子装置。


背景技术:

2.组播在生活中被广泛运用,组播是交换机支持的基础技术之一,最大组播组容量是衡量交换机组播性能的一个重要指标。目前,已有交换机最大组播组容量测试方法一般是:将待测试的交换机设备连接多个仪表端口,使用仪表提供的软件进行测试。在进行上述测试时,需要手工配置来模拟主机、查询器、组播源,构造igmp(internet group management protocol,网络组播管理协议)查询报文、报告报文、组播数据流等进行测试。
3.然而,使用仪表需要进行手动配置主机、查询器、组播源,构造报文等,操作复杂,上手较难;前期测试环境配置时间长,浪费测试时间;此外,专业仪表造价高,增加测试成本。
4.由此可见,相关技术中交换机组播组容量的测试方式,存在测试环境配置过程复杂、配置时间过长的问题。


技术实现要素:

5.本技术实施例提供了一种组播组容量的测试方法和装置、存储介质及电子装置,以至少解决相关技术中交换机组播组容量的测试方式存在测试环境配置过程复杂、配置时间过长的问题。
6.根据本技术实施例的一个方面,提供了一种组播组容量的测试方法,包括:控制第一网卡经由待测试的交换机发送目标报告报文,其中,所述第一网卡用于模拟组播组成员,所述目标报告报文所属的目标组播组的数量为第一数量;控制第二网卡经由所述交换机向所述第一数量的所述目标组播组发送目标数据报文,其中,所述第二网卡用于模拟组播源;在所述交换机开启了未知组播丢弃、且所述第一网卡接收到的所述目标数据报文所属的所述目标组播组的第二数量小于所述第一数量的情况下,确定所述交换机的最大组播组容量为所述第二数量。
7.在一个示例性实施例中,在控制所述第一网卡经由待测试的所述交换机发送所述目标报告报文之前,所述方法还包括:在所述交换机的组播表为空的情况下,控制所述第二网卡经由所述交换机发送组播数据;在所述第一网卡接收到所述第二网卡发送的组播数据的情况下,确定所述交换机未开启未知组播丢弃;在所述第一网卡未接收到所述第二网卡发送的组播数据的情况下,确定所述交换机开启了未知组播丢弃。
8.在一个示例性实施例中,控制所述第一网卡经由待测试的所述交换机发送所述目标报告报文包括:控制所述第一网卡经由所述交换机循环发送所述第一数量的所述目标报告报文,其中,每次循环之后所述第一数量更新为所述第一数量与目标数量之和。
9.在一个示例性实施例中,在控制第二网卡经由所述交换机向所述第一数量的所述
目标组播组发送所述目标数据报文之后,所述方法还包括:在所述交换机开启了未知组播丢弃、且所述第二数量等于所述第一数量的情况下,在控制所述第一网卡经由所述交换机重新发送所述目标报告报文之前,控制所述第一网卡断开与所述交换机的连接;在所述第一网卡断开与所述交换机的连接的时长达到目标时长的情况下,控制所述第一网卡重新连接到所述交换机上;清空所述交换机上用于记录组播地址的目标组播表。
10.在一个示例性实施例中,在控制所述第一网卡经由待测试的所述交换机发送所述目标报告报文之前,所述方法还包括:控制所述第一网卡按照组播地址递增的方式构造所述第一数量的所述目标报告报文,其中,不同的所述目标报告报文具有不同的组播地址。
11.在一个示例性实施例中,在控制所述第二网卡经由所述交换机向所述第一数量的所述目标组播组发送所述目标数据报文之前,所述方法还包括:控制所述第二网卡按照所述组播地址递增的方式构造所述第一数量的所述目标数据报文,其中,所述第一数量的所述目标报告报文的组播地址与所述第一数量的所述目标数据报文的组播地址一一对应。
12.在一个示例性实施例中,在控制第二网卡经由所述交换机向所述第一数量的所述目标组播组发送所述目标数据报文之后,所述方法还包括:在所述交换机未开启未知组播丢弃、且第三网卡接收到至少一个所述目标数据报文的情况下,确定所述交换机的最大组播组容量为所述第一数量与第三数量的差值,其中,所述第三网卡用于模拟非组播组成员,所述第三数量为所述第三网卡接收到的所述目标数据报文所属的所述目标组播组的数量。
13.根据本技术实施例的另一个方面,还提供了一种组播组容量的测试装置,包括:第一控制单元,用于控制第一网卡经由待测试的交换机发送目标报告报文,其中,所述第一网卡用于模拟组播组成员,所述目标报告报文所属的目标组播组的数量为第一数量;第二控制单元,用于控制所述第二网卡经由所述交换机向所述第一数量的所述目标组播组发送目标数据报文,其中,所述第二网卡用于模拟组播源;第一确定单元,用于在所述交换机开启了未知组播丢弃、且所述第一网卡接收到的所述目标数据报文所属的所述目标组播组的第二数量小于所述第一数量的情况下,确定所述交换机的最大组播组容量为所述第二数量。
14.在一个示例性实施例中,所述装置还包括:第三控制单元,用于在控制所述第一网卡经由待测试的所述交换机发送所述目标报告报文之前,在所述交换机的组播表为空的情况下,控制所述第二网卡经由所述交换机发送组播数据;第二确定单元,用于在所述第一网卡接收到所述第二网卡发送的组播数据的情况下,确定所述交换机未开启未知组播丢弃;第三确定单元,用于在所述第一网卡未接收到所述第二网卡发送的组播数据的情况下,确定所述交换机开启了未知组播丢弃。
15.在一个示例性实施例中,所述第一控制单元包括:控制模块,用于控制所述第一网卡经由所述交换机循环发送所述第一数量的所述目标报告报文,其中,每次循环之后所述第一数量更新为所述第一数量与目标数量之和。
16.在一个示例性实施例中,所述装置还包括:第四控制单元,用于在控制所述第二网卡经由所述交换机向所述第一数量的所述目标组播组发送所述目标数据报文之后,在所述交换机开启了未知组播丢弃、且所述第二数量等于所述第一数量的情况下,在控制所述第一网卡经由所述交换机重新发送所述目标报告报文之前,控制所述第一网卡断开与所述交换机的连接;第五控制单元,用于在所述第一网卡断开与所述交换机的连接的时长达到目标时长的情况下,控制所述第一网卡重新连接到所述交换机上;清空单元,用于清空所述交
换机上用于记录组播地址的目标组播表。
17.在一个示例性实施例中,所述装置还包括:第六控制单元,用于在控制所述第一网卡经由待测试的所述交换机发送所述目标报告报文之前,控制所述第一网卡按照组播地址递增的方式构造所述第一数量的所述目标报告报文,其中,不同的所述目标报告报文具有不同的组播地址。
18.在一个示例性实施例中,所述装置还包括:第七控制单元,用于在控制所述第二网卡经由所述交换机向所述第一数量的所述目标组播组发送所述目标数据报文之前,控制所述第二网卡按照所述组播地址递增的方式构造所述第一数量的所述目标数据报文,其中,所述第一数量的所述目标报告报文的组播地址与所述第一数量的所述目标数据报文的组播地址一一对应。
19.在一个示例性实施例中,所述装置还包括:第四确定单元,用于在控制所述第二网卡经由所述交换机向所述第一数量的所述目标组播组发送所述目标数据报文之后,在所述交换机未开启未知组播丢弃、且第三网卡接收到至少一个所述目标数据报文的情况下,确定所述交换机的最大组播组容量为所述第一数量与第三数量的差值,其中,所述第三网卡用于模拟非组播组成员,所述第三数量为所述第三网卡接收到的所述目标数据报文所属的所述目标组播组的数量。
20.根据本技术实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述组播组容量的测试方法。
21.根据本技术实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述的组播组容量的测试方法。
22.在本技术实施例中,采用使用网卡模拟组播源和组播组成员的方式,通过控制第一网卡经由待测试的交换机发送目标报告报文,其中,第一网卡用于模拟组播组成员,目标报告报文所属的目标组播组的数量为第一数量;控制第二网卡经由交换机向第一数量的目标组播组发送目标数据报文,其中,第二网卡用于模拟组播源;在交换机开启了未知组播丢弃、且第一网卡接收到的目标数据报文所属的目标组播组的第二数量小于第一数量的情况下,确定交换机的最大组播组容量为第二数量,由于使用自动化程序控制网卡模拟组播源和组播组成员之间的报文传输,测试人员只需要按照搭建好测试环境即可通过计算机一键测试,操作简单;相对于仪表进行测试,测试成本低,可以达到简化测试环境配置过程、缩短配置时间、提高测试效率、节省测试成本的技术效果,从而解决了相关技术中交换机组播组容量的测试方式存在测试环境配置过程复杂、配置时间过长的问题。
附图说明
23.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
24.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
25.图1是根据本技术实施例的一种可选的组播组容量的测试方法的硬件环境的示意图;
26.图2是根据本技术实施例的一种可选的组播组容量的测试方法的流程示意图;
27.图3是根据本技术实施例的一种可选的组播组容量的测试方法的示意图;
28.图4是根据本技术实施例的另一种可选的组播组容量的测试方法的流程示意图;
29.图5是根据本技术实施例的又一种可选的组播组容量的测试方法的流程示意图;
30.图6是根据本技术实施例的一种可选的组播组容量的测试装置的结构框图;
31.图7是根据本技术实施例的一种可选的电子装置的结构框图。
具体实施方式
32.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
33.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
34.根据本技术实施例的一个方面,提供了一种组播组容量的测试方法。可选地,在本实施例中,上述组播组容量的测试方法可以应用于如图1所示的由控制设备102和交换机104所构成的硬件环境中,在交换机104上还连接有至少两个网卡。如图1所示,控制设备102通过网络或者其他方式(例如,数据线等)与交换机104进行连接,可用于控制对交换机104的组播组容量进行测试。
35.上述网络可以包括但不限于以下至少之一:有线网络,无线网络。上述有线网络可以包括但不限于以下至少之一:广域网,城域网,局域网,该无线网络可以包括但不限于以下至少之一:wifi(wireless fidelity,无线保真),蓝牙。控制设备102可以并不限定于为pc、手机、平板电脑等。
36.本技术实施例的组播组容量的测试方法可以由控制设备102来执行,也可以是由控制设备102和交换机104共同执行。其中,控制设备102执行本技术实施例的组播组容量的测试方法也可以是由安装在其上的客户端来执行。
37.以由控制设备102来执行本实施例中的组播组容量的测试方法为例,图2是根据本技术实施例的一种可选的组播组容量的测试方法的流程示意图,如图2所示,该方法的流程可以包括以下步骤:
38.步骤s202,控制第一网卡经由待测试的交换机发送目标报告报文,其中,第一网卡用于模拟组播组成员,目标报告报文所属的目标组播组的数量为第一数量。
39.本实施例中的组播组容量的测试方法可以应用在对交换机的最大组播组容量进行测试的场景,例如,进行交换机igmp snooping(窥探)测试的场景。以igmp snooping测试为例,igmp snooping测试拓扑的一种示例可以如图3所示,该测试拓扑可以包含4个设备,即,网卡1、网卡2、网卡3(可选设备)以及交换机(交换机为待测设备,支持igmp snooping功能),网卡1、网卡2、网卡3可以连接被测设备交换机,其中,
40.计算机(前述控制设备的一种示例)可以控制网卡1(第二网卡的一种示例)模拟组播源,发送组播组数据报文(目标数据报文的一种示例);
41.计算机可以控制网卡2(第一网卡的一种示例)模拟组播组成员,发送igmp报告报文(目标报告报文的一种示例),接收网卡1发送的组播组数据报文;
42.计算机可以控制网卡3(第三网卡的一种示例)模拟非组播组成员,接收网卡1发送的组播组数据报文。
43.在进行交换机组播组测试时,控制设备可以首先控制第一网卡构造出目标报告报文,该目标报告报文所属的目标组播组的数量为第一数量,属于不同目标组播组的目标报告报文的目的地址和组地址(例如,igmp组地址)是不同的。属于每个目标组播组的目标报告报文的数量可以为一个或者多个。
44.在构造出目标报告报文之后,控制设备可以控制第一网卡模拟组播组成员进行报告报文发送,即,控制第一网卡经由待测试的交换机发送目标报告报文。由于目标报告报文所属的目标组播组的数量为第一数量,而交换机的组播表的容量有限,那么,在交换机的组播表中可以添加与全部或者部分目标组播组的组播地址。
45.可选地,为了保证交换机的组播表在接收到目标报告报文之前为空,可以在步骤s202之前,清空交换机的组播表,即,清空待测试的交换机的组播表。
46.步骤s204,控制第二网卡经由交换机向第一数量的目标组播组发送目标数据报文,其中,第二网卡用于模拟组播源。
47.在目标报告报文发送完之后,控制设备可以控制第二网卡模拟组播源,发送组播组数据报文。控制设备可以首先控制第二网卡构造出目标数据报文。目标数据报文可以是根据第一数量的目标组播组构造的,例如,按照各个目标组播组的组播地址(例如,目的地址 组地址)构造出目标数据报文。发往每个目标组播组的目标数据报文的数量可以为一个或多个。
48.需要说明的是,第二网卡构造目标数据报文的时机可以是在第一网卡发送目标报告报文之前,也可以是在第一网卡发送目标报告报文之后,只要目标数据报文是在所有的目标报告报文都已经发送到交换机即可。
49.控制设备可以控制第二网卡经由交换机向第一数量的目标组播组发送目标数据报文。交换机接收到目标数据报文之后,可以查询该目标数据报文的组播地址。根据目标数据报文对应的组播地址,交换机可以将其转发到对应的接口上。可选地,如果交换机的组播表中没有该组播地址,且交换机开启了未知组播丢弃,交换机会将目标数据报文丢弃。
50.步骤s206,在交换机开启了未知组播丢弃、且第一网卡接收到的目标数据报文所属的目标组播组的第二数量小于第一数量的情况下,确定交换机的最大组播组容量为第二数量。
51.第一网卡可以接收交换机转发的目标数据报文,其接收到的目标数据报文所属的
目标组播组的数量为第二数量。第二数量可能与第一数量相等,也可能小于第一数量。
52.交换机的组播表中仅记录有其组播组容量上限的组播地址。如果交换机开启了未知组播丢弃,且第一数量达到了交换机的组播组容量上限,那么,虽然第二网卡发送的目标数据报文所属的目标组播组的数量为第一数量,但是交换机仅将查找到组播地址的目标数据报文转发到对应的接口,而将未查找到组播地址的目标数据报文丢弃。因此,第一网卡接收到的目标数据报文所属的目标组播组的数量,即为交换机的组播容量。
53.例如,第一网卡构造了100个igmp报告报文,每个igmp报告报文对应于一个组播组,即,有100个组播地址(目标地址和igmp组地址)。交换机的最大组播组容量为80,那么,100个igmp报告报文经由待测试交换机发送时,交换机仅在其组播表中记录100个组播地址中的80个。每个组播地址对应的记录可以表示:发往该组播地址的报文转到第一网卡对应的接口。
54.在第二网卡侧,第二网卡构造了100个组播组数据报文,每个组播组数据报文对应于一个组播组,即,有100个组播地址(目标地址和igmp组地址),且100个组播地址与igmp报告报文的组播地址一一对应。
55.交换机开启未知组播丢弃。在100个组播组数据报文到达交换机时,只有其中的80个组播组数据报文的组播地址能够在组播表中找到记录,转到第一网卡对应的接口;剩余的20个组播组数据报文的组播地址未找对应的记录,交换机将其丢弃。
56.第一网卡仅接收到80个组播组数据报文,基于此可以确定:该交换机的最大组播组容量为80。
57.通过上述步骤,控制第一网卡经由待测试的交换机发送目标报告报文,其中,第一网卡用于模拟组播组成员,第二网卡用于模拟组播源,目标报告报文所属的目标组播组的数量为第一数量;控制第二网卡经由交换机向第一数量的目标组播组发送目标数据报文;在交换机开启了未知组播丢弃、且第一网卡接收到的目标数据报文所属的目标组播组的第二数量小于第一数量的情况下,确定交换机的最大组播组容量为第二数量,解决了相关技术中交换机组播组容量的测试方式存在测试环境配置过程复杂、配置时间过长的问题,简化了测试环境配置过程,缩短了配置时间,提高了测试效率,节省了测试成本。
58.在一个示例性实施例中,在控制第一网卡经由待测试的交换机发送目标报告报文之前,上述方法还包括:
59.s11,在交换机的组播表为空的情况下,控制第二网卡经由交换机发送组播数据;
60.s12,在第一网卡接收到第二网卡发送的组播数据的情况下,确定交换机未开启未知组播丢弃;
61.s13,在第一网卡未接收到第二网卡发送的组播数据的情况下,确定交换机开启了未知组播丢弃。
62.交换机是否开启未知报文丢弃可以是预先获知的,也可以是采用其他拓扑架构进行测试得到的。在本实施例中,可以采用交换机组播组容量的测试拓扑架构对交换机是否开启了未知组播丢弃进行测试。
63.在交换机的组播表为空的情况下,控制设备可以控制第二网卡经由交换机发送组播数据,该组播组数据可以是发送某一个或者某一些组播地址的数据报文。为保证交换机组播表为空,控制设备可以控制交换机清空其组播表。
64.在接收到该组播数据之后,交换机可以查找其组播表,确定该组播数据转到的接口。由于组播表为空,如果交换机开启了未知组播丢弃,则会将该组播数据丢弃;如果交换机未开启未知组播丢弃,则会将该组播数据以广播的方式转到各个接口。
65.如果第一网卡接收到第二网卡发送的组播数据,控制设备可以确定交换机未开启未知组播丢弃;否则,确定交换机开启了未知组播丢弃。
66.例如,对于如图3所示的测试拓扑,网卡1发送目的地址为224.1.1.1的组播数据流量,查看网卡2是否接收流量。如果网卡2未接收到网卡1发送的组播数据流量,判定交换机开启未知组播丢弃;如果网卡2接收到网卡1发送的组播数据流量,判定交换机未开启未知组播丢弃。
67.通过本实施例,在交换机的组播表为空时,通过网卡经由交换机转发组播数据,根据其他网卡是否接收到组播数据确定交换机是否开启未知组播丢弃,可以兼容组播组容量测试的拓扑架构,减少了测试成本,同时也提高了信息获取的便捷性。
68.在一个示例性实施例中,控制第一网卡经由待测试的交换机发送目标报告报文包括:
69.s21,控制第一网卡经由交换机循环发送第一数量的目标报告报文,其中,每次循环之后第一数量更新为第一数量与目标数量之和。
70.由于交换机的最大组播组容量未知,如果直接发送较大数量的报告报文,容易导致测试异常,降低组播组容量测试的准确性。在本实施例中,可以通过组播组数量递增的方式循环发送目标报告报文,直到满足循环结束条件,例如,循环结束条件可以为:在交换机开启了未知组播丢弃的情况下,第一网卡接收到的目标数据报文所属的目标组播组的第二数量小于第一数量。
71.例如,对于如图3所示的测试拓扑,可以在启动测试程序之前,配置以下信息:网卡2初始发送报文的组播组数量t,每次循环后报告报文增加的组播组数量m,以及循环次数为n,初始值为0,每次循环次数n增加1。
72.在对交换机的组播组容量进行测试的过程中,控制设备可以控制第一网卡经由交换机循环发送目标报告报文,每次循环之后,目标报告报文所属的目标组播组的数量增加目标数量,即,第一数量更新为第一数量与目标数量之和。例如,每轮循环之后,发送报告报文的组播组数量更新为:t n
×
m。
73.通过本实施例,通过循环测试的方式确定交换机的组播组容量,可以提高组播组容量确定的准确性。
74.在一个示例性实施例中,在控制第二网卡经由交换机向第一数量的目标组播组发送目标数据报文之后,上述方法还包括:
75.s31,在交换机开启了未知组播丢弃、且第二数量等于第一数量的情况下,在控制第一网卡经由交换机重新发送目标报告报文之前,控制第一网卡断开与交换机的连接;
76.s32,在第一网卡断开与交换机的连接的时长达到目标时长的情况下,控制第一网卡重新连接到交换机上;
77.s33,清空交换机上用于记录组播地址的目标组播表。
78.在控制第二网卡发送目标数据报文之后,如果在交换机开启了未知组播丢弃、并且第一网卡接收到的目标数据报文所属的目标组播组的第二数量小于第一数量,可以确定
交换机的最大组播组容量大于或者等于第一数量,开启下一轮测试。
79.为了保证组播组容量测试的准确性,在开启下一轮测试前,可以首先控制第一网卡断开与交换机的连接;在断开一段时间(即,断开时长达到目标时长)之后,再控制第一网卡重新连接到交换机上。
80.例如,对于如图3所示的测试拓扑,在一轮测试结束之后,计算机控制网卡2断开连接,等待5s后重新连接,清空交换机组播表。
81.通过本实施例,在开启新一轮测试前,通过控制模拟组播组成员的网卡断开后重连,并清空交换机组播表,可以保证组播组容量测试的准确性。
82.在一个示例性实施例中,在控制第一网卡经由待测试的交换机发送目标报告报文之前,上述方法还包括:
83.s41,控制第一网卡按照组播地址递增的方式构造第一数量的目标报告报文,其中,不同的目标报告报文具有不同的组播地址。
84.在发送目标报告报文时,控制设备可以首先控制第一网卡构造出目标报告报文。为了减少所需发送的报告报文的数量,每个目标组播组可以仅为其构造一个目标报告报文,不同的目标报告报文具有不同的组播地址。对应地,构造的目标报告报文的数量为第一数量。
85.在构造第一数量的目标报告报文时,为了避免报告报文数量过多导致的组播地址不够的问题,可以按照组播地址递增的方式构造第一数量的目标报告报文。
86.通过本实施例,按照组播地址递增的方式构造数量与组播组数量相同的报告报文,可以提高报文构造的便捷性,同时避免由于报告报文数量过多造成组播地址不够。
87.在一个示例性实施例中,在控制第二网卡经由交换机向第一数量的目标组播组发送目标数据报文之前,上述方法还包括:
88.s51,控制第二网卡按照组播地址递增的方式构造第一数量的目标数据报文,其中,第一数量的目标报告报文的组播地址与第一数量的目标数据报文的组播地址一一对应。
89.在发送目标数据报文时,控制设备可以首先控制第二网卡构造出目标数据报文。为了减少所需发送的报告报文的数量,每个目标组播组可以仅为其构造一个目标数据报文,不同的目标数据报文具有不同的组播地址。对应地,构造的目标数据报文的数量为第一数量。
90.在构造第一数量的目标数据报文时,为保证组播组容量测试的准确性,可以按照组播地址递增的方式构造第一数量的目标数据报文,也就是,采用与生成目标报告报文相同的方式构造第一数量的目标数据报文,第一数量的目标报告报文的组播地址与第一数量的目标数据报文的组播地址一一对应。
91.需要说明的是,为了避免数据丢包导致交换机组播组容量测试不准确的问题,每个目标数据报文可以被发送至少两次。
92.通过本实施例,按照组播地址递增的方式构造数量与组播组数量相同的数据报文,可以提高报文构造的便捷性,同时避免由于报告报文数量过多造成组播地址不够。
93.下面结合可选示例对本技术实施例中的组播组容量的测试方法进行解释说明。在本可选示例中,目标数据报文为组播组数据报文,目标报告报文为igmp报告报文,每个组播
组仅构造一个报文(无论是组播组数据报文还是igmp报告报文)。
94.可选示例中提供了一种适用于交换机最大组播组容量的自动化测试方案,如图4所示,对于如图3所示的测试拓扑,本可选示例中的组播组容量的测试方法可以包括以下流程:
95.步骤s402,定义t=网卡2初始发送报文的组播组数量,n=0,m=每次递增的组播组数量,启动程序。
96.步骤s404,网卡1发送目的地址为224.1.1.1的组播数据流量。
97.步骤s406,判断网卡2是否接收到上述组播组数据流量,如果是(有流量接收),执行步骤s408,否则执行步骤s418。
98.步骤s408,网卡2发送igmp报告报文,目的地址组地址递增,数量为t n*m。
99.网卡2构造目的地址和igmp组地址递增的igmpv2版本的报告报文,初始目的ip地址和igmp组地址均为224.1.1.1,依次递增0.0.0.1(每递增一次对应于一个组播组),构造出的报告报文的数量与组播组数量相同,均为t n*m(每个组播组构造一个报告报文)。
100.网卡2报文构造完成后,发送igmpv2版本的报告报文,数量为t n*m。
101.步骤s410,网卡1发送目的地址与上一步相同的组播组数据包,数量为2(t n*m)。
102.网卡1按照初始目的地址为224.1.1.1、以0.0.0.1递进的方式构造数据报文,构造出的报文数量为t n*m(每个组播组构造一个数据报文)。
103.网卡1报文构造完成之后,立即发送构造好的数据报文,每个构造的数据报文发送2次,发送的数据报文数量为2(t n*m)。
104.步骤s412,将网卡2接收的数量与网卡1发送的数量对比,如果等于网卡1发送的数量,执行步骤s414,否则,执行步骤s416。
105.将网卡2接收的组播报文数据(即,前述数据报文)与网卡1发送的组播报文数据进行对比,判定网卡2接收的报文数量是否等于网卡1发送的报文数量,即,等于2(t n*m)。如果是,说明当前的组播组数量(t n*m)未达到交换机的最大组播组容量,执行步骤s414。否则,网卡2接收的报文数量小于网卡1发送的报文数量,说明当前的组播组数量(t n*m)达到(至少相等)交换机的最大组播组容量,执行步骤s416。
106.步骤s414,shuntdown(关闭)网卡2,再重新恢复连接。
107.计算机控制网卡2断开连接,等待5s后重新连接,清空交换机组播表。同时,循环次数n增加1(n=n 1),重新执行步骤s408。
108.步骤s416,输出交换机最大组播组容量为:接收数量/2。
109.如果网卡2接收组播报文数量小于网卡1发送的组播报文数量,交换机最大组播组容量为网卡2接收组播报文数量除以2,输出结果程序结束。
110.步骤s418,使用网卡1、网卡2和网卡3测试交换机的最大组播组容量。
111.通过本可选示例,在交换机最大组播组容量测试中,利用自动化程序,自动化程序测试不占用手工测试时间,提高了测试效率,解决了人工测试时间长、效率低的问题;使用自动化程序判定交换机是否默认开启未知组播丢弃,减少对交换机进行配置;测试数据自动记录,便于保存方便查看。
112.在一个示例性实施例中,在控制第二网卡经由交换机向第一数量的目标组播组发送目标数据报文之后,上述方法还包括:
113.s61,在交换机未开启未知组播丢弃、且第三网卡接收到至少一个目标数据报文的情况下,确定交换机的最大组播组容量为第一数量与第三数量的差值,其中,第三网卡用于模拟非组播组成员,第三数量为第三网卡接收到的目标数据报文所属的目标组播组的数量。
114.在本实施例中,交换机上还可以连接有第三网卡,该第三网卡用于模拟非组播组成员,在交换机的组播表中不包含与该网卡对应的组播地址。在交换机未开启未知组播丢弃的情况下,如果第一数量未超过交换机的最大组播组容量,那么,第三网卡不会接收到组播数据。在此情况下,可以采用与前述类似的方式循环发送目标报告报文,直到第三网卡接收到组播数据。
115.如果第一数量超过交换机的最大组播组容量,则第三网卡会接收到组播数据,即,至少一个目标数据报文。在此情况下,第三网卡接收到的目标数据报文所属的目标组播组的数量(即,第三数量)为第二数量(与第一数量相等)与最大组播组容量的差值。基于此,控制设备可以确定交换机的组播组容量上限为第一数量与第三数量的差值。
116.通过本实施例,在交换机未开启未知组播丢弃的情况下,使用网卡模拟非组播组成员,并基于该网卡的组播数据接收情况确定交换机最大组播组容量,可以提高组播组容量测试的便捷性。
117.下面结合可选示例对本技术实施例中的组播组容量的测试方法进行解释说明。
118.本可选示例中提供了步骤s418的一种可选实现方案,如图5所示,本可选示例中的组播组容量的测试方法的流程可以包括以下步骤:
119.步骤s502,网卡2发送igmp报告报文,目的地址组地址递增,数量为t n*m。
120.网卡2构造目的地址和igmp组地址递增的igmpv2版本的报告报文,初始目的ip地址和igmp组地址均为224.1.1.1,依次递增0.0.0.1(每递增一次对应于一个组播组),构造出的报告报文的数量与组播组数量相同,均为t n*m(每个组播组构造一个报告报文)。
121.网卡2报文构造完成后,发送igmpv2版本的报告报文,数量为t n*m。
122.步骤s504,网卡1发送目的地址与上一步相同的组播组数据包,数量为2(t n*m)。
123.网卡1按照初始目的地址为224.1.1.1、以0.0.0.1递进的方式构造数据报文,构造出的报文数量为t n*m(每个组播组构造一个数据报文)。
124.网卡1报文构造完成之后,立即发送构造好的数据报文,每个构造的数据报文发送2次,发送的数据报文数量为2(t n*m)。
125.步骤s506,判断网卡3是否接收到流量,如果是,执行步骤s508,否则,执行步骤s510。
126.步骤s508,输出交换机最大组播组容量为:t m*n

(网卡3接收到的数据流量/2)。
127.网卡3接收到网卡1发送的组播数据流量,考虑到每个数据报文发送两次,交换机最大组播组容量为t m*n

(网卡3接收到的数据流量/2),输出结果程序结束。
128.步骤s510,shuntdown网卡2,再重新恢复连接。
129.计算机控制网卡2断开连接,等待5s后重新连接,清空交换机组播表,同时循环次数n增加1(n=n 1),重新执行步骤s502。
130.通过本可选示例,在交换机最大组播组容量测试中,利用自动化程序,自动化程序测试不占用手工测试时间,提高了测试效率,解决了人工测试时间长、效率低的问题;使用
自动化程序判定交换机是否默认开启未知组播丢弃,减少对交换机进行配置;测试数据自动记录,便于保存方便查看。
131.需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本技术所必须的。
132.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom(read

only memory,只读存储器)/ram(random access memory,随机存取存储器)、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本技术各个实施例所述的方法。
133.根据本技术实施例的另一个方面,还提供了一种用于实施上述组播组容量的测试方法的组播组容量的测试装置。图6是根据本技术实施例的一种可选的组播组容量的测试装置的结构框图,如图6所示,该装置可以包括:
134.第一控制单元602,用于控制第一网卡经由待测试的交换机发送目标报告报文,其中,第一网卡用于模拟组播组成员,目标报告报文所属的目标组播组的数量为第一数量;
135.第二控制单元604,与第一发送单元602相连,用于控制第二网卡经由交换机向第一数量的目标组播组发送目标数据报文,其中,第二网卡用于模拟组播源;
136.第一确定单元606,与第二发送单元604相连,用于在交换机开启了未知组播丢弃、且第一网卡接收到的目标数据报文所属的目标组播组的第二数量小于第一数量的情况下,确定交换机的最大组播组容量为第二数量。
137.需要说明的是,该实施例中的第一控制单元602可以用于执行上述步骤s202,该实施例中的第二控制单元604可以用于执行上述步骤s204,该实施例中的第一确定单元606可以用于执行上述步骤s206。
138.通过上述模块,控制第一网卡经由待测试的交换机发送目标报告报文,其中,第一网卡用于模拟组播组成员,目标报告报文所属的目标组播组的数量为第一数量;控制第二网卡经由交换机向第一数量的目标组播组发送目标数据报文,其中,第二网卡用于模拟组播源;在交换机开启了未知组播丢弃、且第一网卡接收到的目标数据报文所属的目标组播组的第二数量小于第一数量的情况下,确定交换机的最大组播组容量为第二数量,解决了相关技术中交换机组播组容量的测试方式存在测试环境配置过程复杂、配置时间过长的问题,简化了测试环境配置过程,缩短了配置时间,提高了测试效率,节省了测试成本。
139.在一个示例性实施例中,上述装置还包括:
140.第三控制单元,用于在控制第一网卡经由待测试的交换机发送目标报告报文之前,在交换机的组播表为空的情况下,控制第二网卡经由交换机发送组播数据;
141.第二确定单元,用于在第一网卡接收到第二网卡发送的组播数据的情况下,确定交换机未开启未知组播丢弃;
142.第三确定单元,用于在第一网卡未接收到第二网卡发送的组播数据的情况下,确定交换机开启了未知组播丢弃。
143.在一个示例性实施例中,第一控制单元602包括:
144.控制模块,用于控制第一网卡经由交换机循环发送第一数量的目标报告报文,其中,每次循环之后第一数量更新为第一数量与目标数量之和。
145.在一个示例性实施例中,上述装置还包括:
146.第四控制单元,用于在控制第二网卡经由交换机向第一数量的目标组播组发送目标数据报文之后,在交换机开启了未知组播丢弃、且第二数量等于第一数量的情况下,在控制第一网卡经由交换机重新发送目标报告报文之前,控制第一网卡断开与交换机的连接;
147.第五控制单元,用于在第一网卡断开与交换机的连接的时长达到目标时长的情况下,控制第一网卡重新连接到交换机上;
148.清空单元,用于清空交换机上用于记录组播地址的目标组播表。
149.在一个示例性实施例中,上述装置还包括:
150.第六控制单元,用于在控制第一网卡经由待测试的交换机发送目标报告报文之前,控制第一网卡按照组播地址递增的方式构造第一数量的目标报告报文,其中,不同的目标报告报文具有不同的组播地址。
151.在一个示例性实施例中,上述装置还包括:
152.第七控制单元,用于在控制第二网卡经由交换机向第一数量的目标组播组发送目标数据报文之前,控制第二网卡按照组播地址递增的方式构造第一数量的目标数据报文,其中,第一数量的目标报告报文的组播地址与第一数量的目标数据报文的组播地址一一对应。
153.在一个示例性实施例中,上述装置还包括:
154.第四确定单元,用于在控制第二网卡经由交换机向第一数量的目标组播组发送目标数据报文之后,在交换机未开启未知组播丢弃、且第三网卡接收到至少一个目标数据报文的情况下,确定交换机的最大组播组容量为第一数量与第三数量的差值,其中,第三网卡用于模拟非组播组成员,第三数量为第三网卡接收到的目标数据报文所属的目标组播组的数量。
155.此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。
156.根据本技术实施例的又一个方面,还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行本技术实施例中上述任一项组播组容量的测试方法的程序代码。
157.可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。
158.可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
159.s1,控制第一网卡经由待测试的交换机发送目标报告报文,其中,
160.第一网卡用于模拟组播组成员,目标报告报文所属的目标组播组的数量为第一数
量;
161.s2,控制第二网卡经由交换机向第一数量的目标组播组发送目标数据报文,其中,第二网卡用于模拟组播源;
162.s3,在交换机开启了未知组播丢弃、且第一网卡接收到的目标数据报文所属的目标组播组的第二数量小于第一数量的情况下,确定交换机的最大组播组容量为第二数量。
163.可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例中对此不再赘述。
164.可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、rom、ram、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
165.根据本技术实施例的又一个方面,还提供了一种用于实施上述组播组容量的测试方法的电子装置,该电子装置可以是服务器、终端、或者其组合。
166.图7是根据本技术实施例的一种可选的电子装置的结构框图,如图7所示,包括处理器702、通信接口704、存储器706和通信总线708,其中,处理器702、通信接口704和存储器706通过通信总线708完成相互间的通信,其中,
167.存储器706,用于存储计算机程序;
168.处理器702,用于执行存储器706上所存放的计算机程序时,实现如下步骤:
169.s1,控制第一网卡经由待测试的交换机发送目标报告报文,其中,第一网卡用于模拟组播组成员,目标报告报文所属的目标组播组的数量为第一数量;
170.s2,控制第二网卡经由交换机向第一数量的目标组播组发送目标数据报文,其中,第二网卡用于模拟组播源;
171.s3,在交换机开启了未知组播丢弃、且第一网卡接收到的目标数据报文所属的目标组播组的第二数量小于第一数量的情况下,确定交换机的最大组播组容量为第二数量。
172.可选地,在本实施例中,通信总线可以是pci(peripheral component interconnect,外设部件互连标准)总线、或eisa(extended industry standard architecture,扩展工业标准结构)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口用于上述电子装置与其他设备之间的通信。
173.上述存储器可以包括ram,也可以包括非易失性存储器(non

volatile memory),例如,至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
174.作为一种示例,上述存储器706中可以但不限于包括上述组播组容量的测试装置中的第一控制单元602、第二控制单元604、以及第一确定单元606。此外,还可以包括但不限于上述组播组容量的测试装置中的其他模块单元,本示例中不再赘述。
175.上述处理器可以是通用处理器,可以包含但不限于:cpu(central processing unit,中央处理器)、np(network processor,网络处理器)等;还可以是dsp(digital signal processing,数字信号处理器)、asic(application specific integrated circuit,专用集成电路)、fpga(field-programmable gate array,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
176.可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例
在此不再赘述。
177.本领域普通技术人员可以理解,图7所示的结构仅为示意,实施上述组播组容量的测试方法的设备可以是终端设备,该终端设备可以是智能手机(如android手机、ios手机等)、平板电脑、掌上电脑以及移动互联网设备(mobile internet devices,mid)、pad等终端设备。图7其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图7中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图7所示的不同的配置。
178.本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、rom、ram、磁盘或光盘等。
179.上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
180.上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。
181.在本技术的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
182.在本技术所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
183.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例中所提供的方案的目的。
184.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
185.以上所述仅是本技术的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜