发明内容
有鉴于此,本发明的目的在于提供一种SAI THRIFT中ACL命中确认方法、装置、设备及介质,以改善上述问题。
本发明实施例提供了一种SAI THRIFT中ACL命中确认方法,其包括:
确认背景流量报文的长度;
根据所述背景流量报文的长度,修改测试脚本中发出的测试报文的长度,使得所述背景流量报文与所述测试报文不产生冲突;其中,所述测试脚本根据预设的ACL规则发出测试报文,且每个ACL规则绑定有计数器;
执行所述测试脚本,以根据所述ACL规则生成对应长度的测试报文,并发送给被测设备;
获取被测设备的测试结果,并通过测试结果上的计数器确认所述测试报文是否被统计;
当判断所述测试报文被统计,则确认ACL规则命中。
优选地,确认背景流量报文的长度具体包括:
在测试脚本上计数器,并让ACL绑定该计数器;
执行测试脚本,并在被测设备上查看所述计数器的统计信息,确认背景流量报文的长度范围;
完成背景流量报文长度的确认。
优选地,还包括:
对所述测试脚本进行配置,使其在完成ACL创建操作后面加上断点。
优选地,所述测试报文的长度不位于背景流量报文的长度范围内。
本发明实施例还提供了一种SAI THRIFT中ACL命中确认装置,其包括:
长度确认单元,用于确认背景流量报文的长度;
长度修改单元,用于根据所述背景流量报文的长度,修改测试脚本中发出的测试报文的长度,使得所述背景流量报文与所述测试报文不产生冲突;其中,所述测试脚本根据预设的ACL规则发出测试报文,且每个ACL规则绑定有计数器;
脚本执行单元,用于执行所述测试脚本,以根据所述ACL规则生成对应长度的测试报文,并发送给被测设备;
统计单元,用于获取被测设备的测试结果,并通过测试结果上的计数器确认所述测试报文是否被统计;
命中确认单元,用于当判断所述测试报文被统计,则确认ACL规则命中。
优选地,长度确认单元具体用于:
在测试脚本上计数器,并让ACL绑定该计数器;
执行测试脚本,并在被测设备上查看所述计数器的统计信息,确认背景流量报文的长度范围;
完成背景流量报文长度的确认。
优选地,还包括:
断点配置单元,用于对所述测试脚本进行配置,使其在完成ACL创建操作后面加上断点。
优选地,所述测试报文的长度不位于背景流量报文的长度范围内。
本发明实施例还提供了一种SAI THRIFT中ACL命中确认设备,其包括处理器以及存储器,所述存储器内存储有计算机程序,所述计算机程序能够被所述处理器执行,以实现如上述的SAI THRIFT中ACL命中确认方法。
本发明实施例还提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序能够被所述计算机可读存储介质所在设备的处理器执行,以实现如上述的SAITHRIFT中ACL命中确认方法。
本实施例通过确认背景流量报文的长度以及修改测试报文的长度,使得当SAIThrift测试环境中有背景流干扰时,能够快速确认ACL是否命中,保证了测试的准确可靠。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
下面结合附图与具体实施方式对本发明作进一步详细描述:
请一并参阅图2,本发明第一实施例提供了一种SAI THRIFT中ACL命中确认方法,其可由SAI THRIFT中ACL命中确认设备(以下简称确认设备)来执行,特别的,由所述确认设备内的一个或者多个处理器来执行,以实现如下步骤:
S101,确认背景流量报文的长度。
在本实施例中,为了能够排除背景流量报文的影响,需要先确认背景流量报文的长度。
具体地,在本实施例中:
首先,修改相关测试脚本,创建计数器(如命名为distribution counter),并让ACL绑定该计数器。
然后,修改所述测试脚本,在完成ACL创建操作后面加上断点。
其中,断点会触发确认设备暂停测试,如此可以避免在被测设备上的相关配置被删除,从而导致无法获取想要的数据。
接着,执行测试脚本;
再接着,测试脚本被断住后,在被测设备上查看所述计数器的统计信息,确认背景流量报文的长度范围;
再接着,取消测试脚本的暂停状态,恢复测试环境;
最后,完成背景流量报文长度的确认。
在本实施例中,通过上述步骤即可以获得被ACL命中的背景流量报文以及其长度。
S102,根据所述背景流量报文的长度,修改测试脚本中发出的测试报文的长度,使得所述背景流量报文与所述测试报文不产生冲突;其中,所述测试脚本根据预设的ACL规则发出测试报文,且每个ACL规则绑定有计数器。
其中,所述测试报文的长度不位于背景流量报文的长度范围内。
其中,同样的,对所述测试脚本进行配置,使其在完成ACL创建操作后面加上断点。
S103,执行所述测试脚本,以根据所述ACL规则生成对应长度的测试报文,并发送给被测设备。
S104,获取被测设备的测试结果,并通过测试结果上的计数器确认所述测试报文是否被统计。
其中,统计信息如下表所示:
Field |
Description |
bcnt |
total byte count |
fcnt |
total frame count |
fcnt_good_bc |
total frame count of good bcast frames |
fcnt_good_mc |
total frame count of good mcast frames |
fcnt_le_64 |
total frame count of length 64byte |
fcnt_65_127 |
total frame count of length 65~127byte |
fcnt_128_255 |
total frame count of length 128~255byte |
fcnt_256_511 |
total frame count of length 256~511byte |
fcnt_512_1023 |
total frame count of length 512~1023byte |
fcnt_1024_1518 |
total frame count of length 1024~1518byte |
fcnt_1519_2047 |
total frame count of length 1519~2047byte |
fcnt_2048_9216 |
total frame count of length 2048~9216byte |
其中,上述表格是绑定到acl的计数器对命中该acl的测试报文的统计结果。
Bcnt:是所有命中该acl的报文数量的统计;
Fcnt:是所有命中该acl报文字节数的统计;
Fcnt_good_bc:是对广播报文数量的统计;
Fcnt_good_mc:是对组播报文数量的统计
Fcnt_le_64:对长度为64字节报文数量的统计
Fcnt_65_127:对长度为65至127字节范围报文数量的统计:
比如有10个长度为128字节的广播报文命中该acl,则fcnt_128_255的值就是10,而bcnt也是10,fcnt=10*128*8,fcnt_good_mc也是10;接着后面又有5个长度为256字节的单播报文命中该acl,则fcnt_256_511的值就是5,而bcnt是15,fcnt=10*128*8+5*256*8。
在本实施例中,要确认认背景流量报文的长度,就要查看计数器的统计结果,如果fcnt_512_1023有值则表示背景流量报文的长度区间是512~1023,那后面进行测试时,测试报文的长度就有避开该范围,例如可以把测试报文长度选择在128~255的这个范围。
S105,当判断所述测试报文被统计,则确认ACL规则命中。
在本实施例中,在统计信息内,根据报文的长度,就可以获得ACL规则命中的测试报文。
综上所述,本实施例通过确认背景流量报文的长度以及修改测试报文的长度,使得当SAI Thrift测试环境中有背景流干扰时,能够快速确认ACL是否命中,保证了测试的准确可靠。
请参阅图3,本发明第二实施例还提供了一种SAI THRIFT中ACL命中确认装置,其包括:
长度确认单元210,用于确认背景流量报文的长度;
长度修改单元220,用于根据所述背景流量报文的长度,修改测试脚本中发出的测试报文的长度,使得所述背景流量报文与所述测试报文不产生冲突;其中,所述测试脚本根据预设的ACL规则发出测试报文,且每个ACL规则绑定有计数器;
脚本执行单元240,用于执行所述测试脚本,以根据所述ACL规则生成对应长度的测试报文,并发送给被测设备;
统计单元250,用于获取被测设备的测试结果,并通过测试结果上的计数器确认所述测试报文是否被统计;
命中确认单元260,用于当判断所述测试报文被统计,则确认ACL规则命中。
优选地,长度确认单元210具体用于:
在测试脚本上计数器,并让ACL绑定该计数器;
执行测试脚本,并在被测设备上查看所述计数器的统计信息,确认背景流量报文的长度范围;
完成背景流量报文长度的确认。
优选地,还包括:
断点配置单元,用于对所述测试脚本进行配置,使其在完成ACL创建操作后面加上断点。
优选地,所述测试报文的长度不位于背景流量报文的长度范围内。
本发明第三实施例还提供了一种SAI THRIFT中ACL命中确认设备,其包括处理器以及存储器,所述存储器内存储有计算机程序,所述计算机程序能够被所述处理器执行,以实现如上述的SAI THRIFT中ACL命中确认方法。
本发明第四实施例还提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序能够被所述计算机可读存储介质所在设备的处理器执行,以实现如上述的SAI THRIFT中ACL命中确认方法。
在本发明实施例所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,电子设备,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random AcCE节点ss Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。