网络测试方法及装置、存储介质及网元与流程

文档序号:17125543发布日期:2019-03-16 00:22阅读:396来源:国知局
网络测试方法及装置、存储介质及网元与流程

本发明涉及网络测试领域,尤其涉及一种高可用性无缝环(high-availabilityseamlessredundancy,hsr)网络测试方法及装置、存储介质、网元。



背景技术:

高可用性无缝环hsr网络由于安全可靠、实时切换、网架结构简单、成本低等优点,特别适用于电力系统变电站通信。hsr网络存在两个方向的报文传输,目的节点接收报文需要进行抛弃处理,使用第一个帧而丢弃重复的帧。报文的抛弃处理是hsr网络的核心逻辑,直接影响了hsr网络性能。由于网络上存在报文重复、丢包、报文被篡改、报文延迟、报文乱序等异常现象,对hsr网络的正常运行造成很大的影响,但现有的方法中缺少对hsr网络进行相关测试的方法。如何快速、准确的测试hsr节点,是目前急需要解决的问题。



技术实现要素:

本发明提供一种高可用性无缝环hsr网络测试方法及装置、存储介质、网元。

本发明的技术方案是这样实现的:

一方面,提供、一种高可用性无缝环hsr网络测试方法,包括:

将测试设备的第一物理网卡和第二物理网卡虚拟成一个虚拟网卡,其中,所述测试设备通过所述第一物理网卡和所述第二物理网卡与被测设备形成环形网络;

确定所述虚拟网卡的网络地址;

所述第一物理网卡基于所述网络地址在所述环形网络的第一方向上发送测试报文;

所述第二物理网卡基于所述网络地址在所述环形网络的第二方向上发送测试报文,其中,所述第二方向为所述第一方向的反方向;

根据所述被测设备对所述测试报文的接收状况信息,确定所述被测设备的测试结果。

进一步地,所述第一物理网卡基于所述网络地址在所述环形网络的第一方向上发送测试报文,包括:

所述第一物理网卡基于所述网络地址在所述环形网络的第一方向上发送m1份的第一测试报文,其中,m1为正整数;

所述第二物理网卡基于所述网络地址在所述环形网络的第二方向上发送测试报文,包括:

所述第一物理网卡基于所述网络地址在所述环形网络的第一方向上发送m2份所述第二测试报文,其中,m2为正整数,所述第一测试报文与所述第二测试报文的报头的hsr标签不同;

所述根据所述被测设备对所述测试报文的接收状况信息,确定所述被测设备的测试结果,包括:

若所述被测设备接收并缓存1份的所述第一测试报文或1份的所述第二测试报文,确定所述被测设备重复报文的过滤功能通过测试。

进一步地,所述第一物理网卡基于所述网络地址在所述环形网络的第一方向上发送测试报文,包括:

所述第一物理网卡基于所述网络地址在所述环形网络的第一方向上发送第三测试报文;

所述第二物理网卡基于所述网络地址在所述环形网络的第二方向上发送测试报文,包括:

所述第二物理网卡屏蔽在所述第二方向上的与所述第三测试报文的hsr标签不同的第四测试报文的发送;

所述根据所述被测设备对所述测试报文的接收状况信息,确定所述被测设备的测试结果,包括:

若所述被测设备接收到所述第一物理网卡发送的所述第三测试报文,确定所述被测设备在所述第一方向上的接收功能通过测试。

进一步地,所述第一物理网卡基于所述网络地址在所述环形网络的第一方向上发送测试报文,包括:

所述第一物理网卡屏蔽在所述第一方向上的第五测试报文的发送;

所述第二物理网卡基于所述网络地址在所述环形网络的第二方向上发送测试报文,包括:

所述第二物理网卡基于所述网络地址在所述环形网络的第二方向上发送与所述第五测试报文的hsr标签不同第六测试报文;

所述根据所述被测设备对所述测试报文的接收状况信息,确定所述被测设备的测试结果,包括:

若所述被测设备接收到所述第二物理网卡发送的所述第六测试报文,确定所述被测设备在所述第二方向上的接收功能通过测试。

进一步地,所述第一物理网卡基于所述网络地址在所述环形网络的第一方向上发送测试报文,包括:

所述第一物理网卡基于所述网络地址在所述环形网络的第一方向上发送第七测试报文;

所述第二物理网卡基于所述网络地址在所述环形网络的第二方向上发送测试报文,包括:

修改所述第二物理网卡发送的所述第七测试报文的报头得到第八测试报文;

所述第二物理网卡基于所述网络地址在所述环形网络的第二方向上发送所述第八测试报文;

所述根据所述被测设备对所述测试报文的接收状况信息,确定所述被测设备的测试结果,包括:

若所述被测设备接收到修改前的所述第七测试报文和所述第八测试报文,确定所述被测设备的报头检测功能通过测试。

进一步地,所述第一物理网卡基于所述网络地址在所述环形网络的第一方向上发送测试报文,包括:

所述第一物理网卡基于所述网络地址在所述环形网络的第一方向上发送第九测试报文;

所述第二物理网卡基于所述网络地址在所述环形网络的第二方向上发送测试报文,包括:

修改所述第二物理网卡发送的所述第九测试报文的正文得到第十测试报文;

所述第二物理网卡基于所述网络地址在所述环形网络的第二方向上发送所述第十测试报文;

所述根据所述被测设备对所述测试报文的接收状况信息,确定所述被测设备的测试结果,包括:

若所述被测设备接收到所述第九测试报文或所述第十测试报文,确定所述被测设备的报文内容透明处理功能通过测试,其中,所述透明处理包括:透明转发和/或透明接收。

进一步地,所述第一物理网卡基于所述网络地址在所述环形网络的第一方向上发送测试报文,包括:

在第一时刻,所述第一物理网卡基于所述网络地址在所述环形网络的第一方向上发送第十一测试报文;

所述第二物理网卡基于所述网络地址在所述环形网络的第二方向上发送测试报文,包括:

在第二时刻,所述第二物理网卡基于所述网络地址在所述环形网络的第二方向上延迟发送所述第十二测试报文,其中,第二时刻晚于第一时刻;

所述根据所述被测设备对所述测试报文的接收状况信息,确定所述被测设备的测试结果,包括:

若所述被测设备在接收到所述第十一检测报文未接收所述第十二测试报文,确定所述被测设备的重复报文过滤功能通过测试。

进一步地,所述第一物理网卡基于所述网络地址在所述环形网络的第一方向上发送测试报文,包括:

在第三时刻t1,所述第一物理网卡基于所述网络地址在所述环形网络的第一方向上发送第十三测试报文;

在第四时刻t2,所述第一物理网卡基于所述网络地址在所述环形网络的第一方向上发送第十四测试报文,其中,t2-t1>t,t为预定时长阈值;所述第十三测试报文的报文序号大于所述第十四测试报文的报文序号;

所述根据所述被测设备对所述测试报文的接收状况信息,确定所述被测设备的测试结果,包括:

若所述被测设备接收所述第十三测试报文并抛弃所述第十四测试报文,确定所述被测设备的乱序报文处理功能通过测试。

本发明还提供了一种高可用性无缝环hsr网络测试装置,包括:

虚拟模块,用于被测设备将测试设备的第一物理网卡和第二物理网卡虚拟成一个虚拟网卡,其中,所述测试设备通过所述第一物理网卡和所述第二物理网卡与被测设备形成环形网络;

确定模块,用于确定所述虚拟网卡的网络地址;

发送模块,用于所述第一物理网卡基于所述网络地址在所述环形网络的第一方向上发送测试报文;

还用于所述第二物理网卡基于所述网络地址在所述环形网络的第二方向上发送测试报文,其中,所述第二方向为所述第一方向的反方向;

测试模块,用于根据所述被测设备对所述测试报文的接收状况信息,确定所述被测设备的测试结果。

本发明还提供了一种计算机存储介质,所述计算机存储介质存储有计算机可执行指令;所述计算机可执行指令被执行后,能够实现以上高可用性无缝环hsr网络测试方法。

本发明还提供了一种网元,包括:

收发器、存储器及处理器;

所述存储器,用于存储计算机可执行指令,所述可执行指令能够实现以上高可用性无缝环hsr网络测试方法;

所述处理器,分别与收发器及存储器连接,用于控制所述收发器及所述存储器,执行所述计算机可执行指令。

本发明提供的高可用性无缝环hsr网络测试方法及装置、存储介质、网元,将测试设备的第一物理网卡和第二物理网卡虚拟成一个虚拟网卡,其中,所述测试设备通过所述第一物理网卡和所述第二物理网卡与被测设备形成环形网络;确定所述虚拟网卡的网络地址;所述第一物理网卡基于所述网络地址在所述环形网络的第一方向上发送测试报文;所述第二物理网卡基于所述网络地址在所述环形网络的第二方向上发送测试报文,其中,所述第二方向为所述第一方向的反方向;根据所述被测设备对所述测试报文的接收状况信息,确定所述被测设备的测试结果。本发明将测试设备的第一物理网卡和第二物理网卡虚拟成一个虚拟网卡,将测试设备通过第一物理网卡和第二物理网卡与被测设备形成环形网络,并且第一物理网卡基于虚拟网卡发送测试报文的方向,与第二物理网卡基于虚拟网卡发送测试报文的方向相反。一方面,本发明通过将测试设备的第一物理网卡和第二物理网卡虚拟成一个虚拟网卡,第一物理网卡和第二物理网卡共享一个ip地址,且可通过该ip地址发送数据,节省了网络资源;另一方面,本发明将测试设备通过第一物理网卡和第二物理网卡与被测设备形成环形网络,形成的环形网络中仅包含有测试设备和被测的hsr设备,通过被测设备对测试报文的接收状况信息分析,能够快速、准确地完成对hsr设备的测试。

附图说明

图1为本发明实施例提供的一种hsr网络测试方法的流程示意图;

图2为本发明实施例提供的一种hsr网络测试装置组成结构示意图;

图3为本发明实施例提供的一种网元组成结构示意图;

图4为本发明实施例提供的一种hsr网络测试系统结构示意图;

图5为本发明实施例提供的一种hsr设备接收报文流程示意图;

图6为本发明实施例提供的一种hsr网络测试方法的数据发送示意图。

具体实施方式

在本发明的各种实施例中,通过将测试设备的第一物理网卡和第二物理网卡虚拟成一个虚拟网卡,将测试设备通过第一物理网卡和第二物理网卡与被测设备形成环形网络,并且第一物理网卡发送测试报文的方向,与第二网卡发送测试报文的方向相反,以使被测设备所在的环形网络中存在两个方向的测试报文传输,进而通过被测设备对所述测试报文的接收状况信息,确定hsr设备的测试结果。为使本发明实施例的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明实施例进行详细说明。

图1为本发明实施例提供的一种hsr网络测试方法的流程示意图,如图1所示,所述hsr网络测试方法包括以下步骤:

步骤101:将测试设备的第一物理网卡和第二物理网卡虚拟成一个虚拟网卡,其中,所述测试设备通过所述第一物理网卡和所述第二物理网卡与被测设备形成环形网络;

步骤102:确定所述虚拟网卡的网络地址;

步骤103:所述第一物理网卡基于所述网络地址在所述环形网络的第一方向上发送测试报文;

步骤104:所述第二物理网卡基于所述网络地址在所述环形网络的第二方向上发送测试报文,其中,所述第二方向为所述第一方向的反方向;

步骤105:根据所述被测设备对所述测试报文的接收状况信息,确定所述被测设备的测试结果。

测试设备是可安装两块物理网卡,并具有信息处理功能和通信功能的电子设备,比如:安装有两块物理网卡的电脑、具有处理器和通信芯片,并可安装两块物理网卡的通讯设备等。

网络驱动接口规范(networkdriverinterfacespecification,ndis)是windows网络协议栈组件间的接口规范。从测试设备发送到网络和从网络发送到测试设备的报文都由可通过ndis封装的代码进行控制。

当测试设备是安装有两块物理网卡的电脑时,电脑可安装windows系统、unix系统或linux系统。当电脑安装有windows系统时,可编写相关程序代码,也可改写ndis封装的代码,用以实现对测试设备发送测试报文的发送逻辑的控制。测试报文的发送逻辑可以用于模拟真实网络中的报文重复、丢包、报文篡改、报文延迟以及报文乱序等异常现象,并根据被测设备在上述不同发送逻辑下,对测试报文的接收状况,确定所述被测设备的测试结果。

被测设备为待测的hsr设备。

通过将测试设备的第一物理网卡和第二物理网卡虚拟成一个虚拟网卡,并通过虚拟网卡的网络地址发送数据。测试设备通过第一物理网卡和第二物理网卡与被测设备形成环形网络。第一方向为第一物理网卡在环形网络中发送测试报文的方向,第二方向为第二网卡在环形网络中发送测试报文的方向,第一方向和第二方向相反,比如:第一方向可为环形网络中的顺时针方向,第二方向可为环形网络中的逆时针方向,使被测设备所在的环形网络中存在两个方向的测试报文传输,测试设备实现了hsr网络中的链路冗余实体(linkredundancyentity,lre)功能。通过改变测试设备发送测试报文的发送逻辑,获取被测设备在不同发送逻辑下,对测试报文的接收状况,进而确定被测设备的测试结果。

进一步地,所述第一物理网卡基于所述网络地址在所述环形网络的第一方向上发送测试报文,包括:

所述第一物理网卡基于所述网络地址在所述环形网络的第一方向上发送m1份的第一测试报文,其中,m1为正整数;

所述第二物理网卡基于所述网络地址在所述环形网络的第二方向上发送测试报文,包括:

所述第一物理网卡基于所述网络地址在所述环形网络的第一方向上发送m2份所述第二测试报文,其中,m2为正整数,所述第一测试报文与所述第二测试报文的报头的hsr标签不同;

所述根据所述被测设备对所述测试报文的接收状况信息,确定所述被测设备的测试结果,包括:

若所述被测设备接收并缓存的所述第一测试报文的份数为1份或1份的所述第二测试报文,确定所述被测设备重复报文的过滤功能通过测试。

上述第一测试报文是为测试被测设备重复报文的过滤功能而发送的测试报文。hsr设备的重复报文的过滤功能,为hsr设备接收第一个报文,过滤掉后面接收到的相同报文的功能。在第一物理网卡和第二物理网卡发送的测试报文仅报头中的hsr标签不同,被测设备仍然把第一测试报文和第二测试报文作为相同报文处理,被测设备接收并缓存的所述第一测试报文或所述第二测试报文的份数为1份,则被测设备重复报文的过滤功能通过测试。

进一步地,所述第一物理网卡基于所述网络地址在所述环形网络的第一方向上发送测试报文,包括:

所述第一物理网卡基于所述网络地址在所述环形网络的第一方向上发送第三测试报文;

所述第二物理网卡基于所述网络地址在所述环形网络的第二方向上发送测试报文,包括:

所述第二物理网卡屏蔽在所述第二方向上的与所述第三测试报文的hsr标签不同的第四测试报文的发送;

所述根据所述被测设备对所述测试报文的接收状况信息,确定所述被测设备的测试结果,包括:

若所述被测设备接收到所述第一物理网卡发送的所述第三测试报文,确定所述被测设备在所述第一方向上的接收功能通过测试。

上述第三测试报文和第四测试报文是为测试被测设备在所述第一方向上的接收功能而发送的测试报文。hsr设备可在两个相反方向上接收数据,包括:第一方向和第二方向,其中,测试设备的第一物理网卡在第一方向上发送数据,测试设备的第二物理网卡在第二方向上发送数据。当第一物理网卡在第一方向上发送第三测试报文,而第二物理网卡屏蔽其所发送第四测试报文,即第二物理网卡不发送第四测试报文的情形下,被测设备成功接收到所述第一物理网卡在第一方向上发送的第三测试报文,则确定所述被测设备在所述第一方向上的接收功能通过测试。

进一步地,所述第一物理网卡基于所述网络地址在所述环形网络的第一方向上发送测试报文,包括:

所述第一物理网卡屏蔽在所述第一方向上的第五测试报文的发送;

所述第二物理网卡基于所述网络地址在所述环形网络的第二方向上发送测试报文,包括:

所述第二物理网卡基于所述网络地址在所述环形网络的第二方向上发送与所述第五测试报文的hsr标签不同第六测试报文;

所述根据所述被测设备对所述测试报文的接收状况信息,确定所述被测设备的测试结果,包括:

若所述被测设备接收到所述第二物理网卡发送的所述第六测试报文,确定所述被测设备在所述第二方向上的接收功能通过测试。

上述第五测试报文和第六测试报文是为测试被测设备在所述第二方向上的接收功能而发送的测试报文。hsr设备可在两个相反方向上接收数据,包括:第一方向和第二方向,其中,测试设备的第一物理网卡在第一方向上发送数据,测试设备的第二物理网卡在第二方向上发送数据。当第二物理网卡在第二方向上发送第五测试报文,而第一物理网卡屏蔽其所发送第六测试报文,即第一物理网卡不发送第五测试报文的情形下,被测设备接收到所述第二物理网卡在第二方向上发送的第六测试报文,则确定所述被测设备在所述第二方向上的接收功能通过测试。

进一步地,所述第一物理网卡基于所述网络地址在所述环形网络的第一方向上发送测试报文,包括:

所述第一物理网卡基于所述网络地址在所述环形网络的第一方向上发送第七测试报文;

所述第二物理网卡基于所述网络地址在所述环形网络的第二方向上发送测试报文,包括:

修改所述第二物理网卡发送的所述第七测试报文的报头得到第八测试报文;

所述第二物理网卡基于所述网络地址在所述环形网络的第二方向上发送所述第八测试报文;

所述根据所述被测设备对所述测试报文的接收状况信息,确定所述被测设备的测试结果,包括:

若所述被测设备接收到修改前的所述第七测试报文和所述第八测试报文,确定所述被测设备的报头检测功能通过测试。

上述第七测试报文和第八测试报文是为测试被测设备的报头检测功能而发送的测试报文。

上述报头信息为测试报文的hsr标签中的顺序号和/或媒体访问控制mac地址。由于hsr设备基于hsr标签中的顺序号和媒体访问控制mac地址来判断是否接收过该测试报文,因此,即使修改前的第七测试报文和修改后的第八测试报文的正文一致,由于修改了第七测试报文的hsr标签中的顺序号和/或媒体访问控制mac地址,hsr设备仍然会把修改前的第七测试报文和修改后的第八测试报文作为两个不同的测试报文,进行处理。如果所述被测设备接收到修改前的第七测试报文和修改后的第八测试报文,则确定所述被测设备的报头检测功能通过测试。

可选地,所述方法还包括:基于第八测试报文,生成第八测试报文的校验字段。由于第八测试报文是修改第七测试报文的报头得到的,需要重新生成第八测试报文的校验字段,以使第八测试报文满足相关协议中对校验字段的要求。

进一步地,所述第一物理网卡基于所述网络地址在所述环形网络的第一方向上发送测试报文,包括:

所述第一物理网卡基于所述网络地址在所述环形网络的第一方向上发送第九测试报文;

所述第二物理网卡基于所述网络地址在所述环形网络的第二方向上发送测试报文,包括:

修改所述第二物理网卡发送的所述第九测试报文的正文得到第十测试报文;

所述第二物理网卡基于所述网络地址在所述环形网络的第二方向上发送所述第十测试报文;

所述根据所述被测设备对所述测试报文的接收状况信息,确定所述被测设备的测试结果,包括:

若所述被测设备接收到所述第九测试报文或所述第十测试报文,确定所述被测设备的报文内容透明处理功能通过测试,其中,所述透明处理包括:透明转发和/或透明接收。

报文内容透明处理功能为报文发送端发送的报文内容相对于报文接收端是透明的,不管所传报文内容是什么样的比特组合,都应当能够在链路上转发和/或接收。

上述第九测试报文好第十测试报文是为测试被测设备的报文内容透明处理功能而发送的测试报文。上述第十测试报文是修改第九测试报文的正文得到的,因此,第九测试报文和第十测试报文的报头信息是一致的。

由于hsr设备是基于hsr标签中的顺序号和媒体访问控制mac地址来判断是否接收过该测试报文,因此,即使第九测试报文和第十测试报文的报文的正文不一致,但由于二者的报头信息是一致的,hsr设备仍然会把第九测试报文和第十测试报文作为相同的测试报文,进行处理,即接收先收到的报文,而抛弃后接收到的报文。综上,如果所述被测设备接收到所述第九测试报文或所述第十测试报文,则确定所述被测设备的报文内容透明处理功能通过测试。

可选地,所述方法还包括:基于第十测试报文,生成第十测试报文的校验字段。由于第十测试报文是修改第九测试报文的正文得到的,需要重新生成第十测试报文的校验字段,以使第十测试报文满足相关协议中对校验字段的要求。

进一步地,所述第一物理网卡基于所述网络地址在所述环形网络的第一方向上发送测试报文,包括:

在第一时刻,所述第一物理网卡基于所述网络地址在所述环形网络的第一方向上发送第十一测试报文;

所述第二物理网卡基于所述网络地址在所述环形网络的第二方向上发送测试报文,包括:

在第二时刻,所述第二物理网卡基于所述网络地址在所述环形网络的第二方向上延迟发送所述第十二测试报文,其中,第二时刻晚于第一时刻;

所述根据所述被测设备对所述测试报文的接收状况信息,确定所述被测设备的测试结果,包括:

若所述被测设备在接收到所述第十一检测报文未接收所述第十二测试报文,确定所述被测设备的重复报文过滤功能通过测试。

上述第十一测试报文和第十二测试报文是为测试被测设备重复报文的过滤功能而发送的测试报文。hsr设备的重复报文的过滤功能,为hsr设备接收第一个报文,过滤掉后面接收到的相同报文的功能。在第一物理网卡正常发送第十一测试报文,而第二物理网卡延迟发送第十二测试报文的情形下,被测设备接收并缓存的所述第十一测试报文未接收所述第十二测试报文,则被测设备重复报文的过滤功能通过测试。

进一步地,所述第一物理网卡基于所述网络地址在所述环形网络的第一方向上发送测试报文,包括:

在第三时刻t1,所述第一物理网卡基于所述网络地址在所述环形网络的第一方向上发送第十三测试报文;

在第四时刻t2,所述第一物理网卡基于所述网络地址在所述环形网络的第一方向上发送第十四测试报文,其中,t2-t1>t,t为预定时长阈值;所述第十三测试报文的报文序号大于所述第十四测试报文的报文序号;

所述根据所述被测设备对所述测试报文的接收状况信息,确定所述被测设备的测试结果,包括:

若所述被测设备接收所述第十三测试报文并抛弃所述第十四测试报文,确定所述被测设备的乱序报文处理功能通过测试。

上述第十三测试报文和第十四测试报文是为测试被测设备的乱序报文处理功能而发送的测试报文。hsr设备的乱序报文处理功能,为hsr设备接收到的报文顺序是混乱的情形下,hsr设备对接收到的乱序报文的处理功能。具体地,设定t为预定时长阀值,t的取值可根据环形网络中的网络协议确定,也可根据网络对报文延迟处理的具体要求确定。例如,所述t为一个时间窗口的时长;以tcp协议为例,所述时间窗口可为tcp窗口。在第十三测试报文的报文序号大于第十四测试报文的报文序号,且第十三测试报文的发送时间早于第十四测试报文的发送时间超过t时,如果被测设备接收第十三测试报文并抛弃第十四测试报文,则确定所述被测设备的乱序报文处理功能通过测试。

图2为本发明实施例提供的一种hsr网络测试装置组成结构示意图,包括:

虚拟模块201,用于被测设备将测试设备的第一物理网卡和第二物理网卡虚拟成一个虚拟网卡,其中,所述测试设备通过所述第一物理网卡和所述第二物理网卡与被测设备形成环形网络;

确定模块202,用于确定所述虚拟网卡的网络地址;

发送模块203,用于所述第一物理网卡基于所述网络地址在所述环形网络的第一方向上发送测试报文;

还用于所述第二物理网卡基于所述网络地址在所述环形网络的第二方向上发送测试报文,其中,所述第二方向为所述第一方向的反方向;

测试模块204,用于根据所述被测设备对所述测试报文的接收状况信息,确定所述被测设备的测试结果。

进一步地,所述发送模块203,还用于:

所述第一物理网卡基于所述网络地址在所述环形网络的第一方向上发送第三测试报文;

所述第二物理网卡屏蔽在所述第二方向上的与所述第三测试报文的hsr标签不同的第四测试报文的发送;

所述测试模块204,还用于:

若所述被测设备接收到所述第一物理网卡发送的所述第三测试报文,确定所述被测设备在所述第一方向上的接收功能通过测试。

进一步地,所述发送模块203,还用于:

所述第一物理网卡屏蔽在所述第一方向上的第五测试报文的发送;

所述第二物理网卡基于所述网络地址在所述环形网络的第二方向上发送与所述第五测试报文的hsr标签不同第六测试报文;

所述测试模块204,还用于:

若所述被测设备接收到所述第二物理网卡发送的所述第六测试报文,确定所述被测设备在所述第二方向上的接收功能通过测试。

进一步地,所述发送模块203,还用于:

所述第一物理网卡基于所述网络地址在所述环形网络的第一方向上发送第七测试报文;

修改所述第二物理网卡发送的所述第七测试报文的报头得到第八测试报文;

所述第二物理网卡基于所述网络地址在所述环形网络的第二方向上发送所述第八测试报文;

所述测试模块204,还用于:

若所述被测设备接收到修改前的所述第七测试报文和所述第八测试报文,确定所述被测设备的报头检测功能通过测试。

进一步地,所述发送模块203,还用于:

所述第一物理网卡基于所述网络地址在所述环形网络的第一方向上发送第九测试报文;

修改所述第二物理网卡发送的所述第九测试报文的正文得到第十测试报文;

所述第二物理网卡基于所述网络地址在所述环形网络的第二方向上发送所述第十测试报文;

所述测试模块204,还用于:

若所述被测设备接收到所述第九测试报文或所述第十测试报文,确定所述被测设备的报文内容透明处理功能通过测试,其中,所述透明处理包括:透明转发和/或透明接收。

进一步地,所述发送模块203,还用于:

在第一时刻,所述第一物理网卡基于所述网络地址在所述环形网络的第一方向上发送第十一测试报文;

在第二时刻,所述第二物理网卡基于所述网络地址在所述环形网络的第二方向上延迟发送所述第十二测试报文,其中,第二时刻晚于第一时刻;

所述测试模块204,还用于:

若所述被测设备在接收到所述第十一检测报文未接收所述第十二测试报文,确定所述被测设备的重复报文过滤功能通过测试。

进一步地,所述发送模块203,还用于:

在第三时刻t1,所述第一物理网卡基于所述网络地址在所述环形网络的第一方向上发送第十三测试报文;

在第四时刻t2,所述第一物理网卡基于所述网络地址在所述环形网络的第一方向上发送第十四测试报文,其中,t2-t1>t,t为预定时长阈值;所述第十三测试报文的报文序号大于所述第十四测试报文的报文序号;

所述测试模块204,还用于:

若所述被测设备接收所述第十三测试报文并抛弃所述第十四测试报文,确定所述被测设备的乱序报文处理功能通过测试。

本发明实施例还提供了一种计算机存储介质,所述计算机存储介质存储有计算机可执行指令;所述计算机可执行指令被执行后,能够实现以上高可用性无缝环hsr网络测试方法。

图3为本发明实施例提供的一种网元组成结构示意图,所述网元包括:

收发器301、存储器302及处理器303;

所述存储器302,用于存储计算机可执行指令,所述可执行指令能够实现以上高可用性无缝环hsr网络测试方法;

所述处理器303,分别与收发器及存储器连接,用于控制所述收发器及所述存储器,执行所述计算机可执行指令。

图4为本发明实施例提供的一种hsr网络测试系统结构示意图。hsr网络测试系统共分为外部网络层、内核层和应用层。外部网络层包括被测设备(dut);内核层包括端口接口层、hsr驱动、协议驱动层,端口接口层包括网卡a(nica)驱动和网卡b(nicb)驱动,协议驱动层包括测试数据输入协议、传输控制协议(transmissioncontrolprotocol,tcp)、网络之间互连的协议(internetprotocol,ip)等。

本发明实施例还提供了一种hsr网络测试方法,该方法首先设计windows操作系统中ndis网络驱动的相关接口,将两块物理网卡的虚拟成一块虚拟网卡,以实现hsr节点的lre功能,用于与外部hsr网络通信。在此基础上,通过改变通过ndis驱动接口的报文过滤方式,控制虚拟网卡lre的发送逻辑,实现hsr网络的正常与异常逻辑测试。

正常情况下,驱动程序绑定的物理网卡收到报文后,取出报文的hsr标签,根据标签里的顺序号seqnum、ab网标识lanid以及帧头的源mac地址,根据丢弃算法决定此帧报文是否继续转发给另一网卡,决定是否向上转给虚拟网卡上层协议栈及应用。上层应用下发给虚拟网卡的报文,虚拟网卡先将其复制成2份,并分别补上hsr标签,填上当前的seqnum等标签信息,分别通过驱动绑定的底层物理网卡转发给被测设备。

测试设备的异常处理逻辑前,测试控制程序通过驱动应用接口,将ndis驱动设置成各种不同报文过滤模式,分别进行帧重复、丢帧、帧篡改、延迟、乱序、等各种报文处理逻辑测试。

测试帧重复处理逻辑时,应用层报文到达虚拟网卡协议层增加hsr标签后,转发至底层a、b网前,驱动随机选取a网或b网数据,复制一份相同的报文,并连同原始报文,通过对应网卡发送给被测设备,察看被测设备网络工作是否正常

测试丢帧处理逻辑时,应用层报文到达虚拟网卡协议层增加hsr标签后,转发底层至a、b网前,随机丢弃a网或b网数据,即不再转发至对应网卡,察看被测设备网络工作是否正常

测试帧篡改逻辑时,应用层报文到达虚拟网卡协议层增加hsr标签后,转发至a、b网前,将a网或b网的报文,随机更改某些字段数据,发送给被测设备,察看被测设备网络工作是否正常

测试帧延迟逻辑时,a、b网分别设置报文缓存队列,并启动定时器。应用层报文到达虚拟网卡协议层增加hsr标签后,转发至a、b网前,直接存入缓存队列中不立即发送。在定时器定时任务中,分析缓存队列的报文,将到达延迟时限的报文依次通过底层网卡发送给被测设备,察看被测设备网络工作是否正常。

测试帧乱序逻辑时,a、b网分别设置报文缓存队列,并启动定时器。应用层报文到达虚拟网卡协议层增加hsr标签后,转发至a、b网前,直接存入缓存队列中不立即发送。在定时器定时任务中,分析缓存队列的报文,将缓存区的报文重新排序,并通过底层网卡发送给被测设备,察看被测设备网络工作是否正常

本发明的有益效果是:通过系统的ndis驱动实现hsr协议的lre,直接处理链路层报文,实现冗余发送与接收抛弃处理。测试异常逻辑时通过改变lre实际发送a、b网络上的报文内容,实现各种异常报文发送给被测设备,达到测试目的。本发明的测试系统与方法能很好的测试hsr网络各种正常功能与异常功能,能提高变电站hsr网络通信的可靠性。

图5为本发明实施例提供的一种hsr网络测试方法的数据发送示意图,如图5所示,首先,虚拟网卡发送数据,线性化数据至缓冲区、复制扩充为2分hsr数据,然后分别进行正常模式、帧重复模式、丢帧模式、帧篡改模式、帧延迟模式及帧乱序模式的测试。具体地,该测试方法可包括:驱动初始化、接收报文、发送报文、重复帧测试、丢帧测试、帧篡改测试、帧延迟测试和帧乱序测试几个步骤。

驱动初始化:本发明的ndis驱动安装初始化时,注册提供两套回调函数集,一套处理虚网卡相关的上层协议请求ndis_miniport_driver_characteristics,另一套处理绑定下层物理网卡请求ndis_protocol_driver_characteristics。初始化回调函数集后通过函数ndisregisterprotocoldriver驱动绑定到预先确定的2块物理网卡(a、b网卡)上。同时通过ndismregisterminiportdriver函数初始化虚拟网卡,设置虚拟网卡相关信息,如网速、mtu等。同时设置两缓存队列,分别用于帧乱序测试时a网与b网报文的临时存储。通过ndissettimerobject初始化一定时器,用于两缓存队列报文的发送。同时设置一随机数据发生器,可以产生包括0、1、2以及3的4种随即状态,分别代表本次无异常处理、a网异常处理、b网异常处理、ab网均异常处理。

接收报文:图6为本发明实施例提供的一种hsr设备接收报文流程示意图,如图6所示,物理网卡收到的报文到达驱动后,首先通过函数getnetbufferdata线性化报文nbl到缓冲区,从缓冲区获取hsr标签数据,判断hsr标签确为hsr帧后,从标签中取出顺序号seqnum、ab网标识lanid以及帧头的源mac。通过源mac查找全局的节点表,若未查到,则添加新节点node_dat至节点表。然后根据seqnum、lanid调用抛弃函数判断此帧报文是否已经接受过。若此帧报文接受过,则直接通过另一网卡转发出去。若此帧报文未接受,先通过另一网卡转发出去,同时则在原报文数据基础上通过函数stripnbl函数去掉hsr标签构建新的报文帧,并传递给虚拟网卡,通过函数ndismindicatereceivenetbufferlists通知上层协议新报文到达,而原始帧nbl直接通过ndisreturnnetbufferlists函数返回给物理网卡。

发送报文:正常测试时,虚拟网卡需要发送报文时,驱动也首先通过函数getnetbufferdata线性化nbl报文数据到缓冲区,然后通过函数expandnbl在缓冲区数据中间插入6字节作为hsr标签。插入后复制为2份,并在hsr标签上分别填充对应的lanid、seqnum等字节,并通过ndismsendnetbufferlistscomplete丢弃原始报文。然后以此为基础创建2新的报文帧,最后通过驱动绑定的从底层物理网卡通过ndissendnetbufferlists分别将新报文发送给被测设备。

接收报文和发送报文对应图5中的对被测设备正常模式的测试。

重复帧测试:对应图5中的帧重复模式,在测试前,测试控制程序通过驱动接口deviceiocontrol设置lre过滤报文方式为重复帧模式。设置此模式后,发送报文时虚拟网卡lre首先按照上述发送报文的规则,将上层协议下发的报文生成2份带hsr标签的报文,并根据随机状态发生器产生的决定这2份hsr报文是否需要复制发送。0代表不复制数据、1代表复制a网数据、2代表复制b网数据,3代表复制ab双网数据。复制完报文数据后,连同原始hsr报文数据,通过ndissendnetbufferlists分别将新报文发送给被测设备。

丢帧测试:对应图5中的丢帧模式,在测试前,测试控制程序通过驱动接口deviceiocontrol设置lre过滤报文方式为丢帧模式。设置此模式后,发送报文时虚拟网卡lre首先按照上述发送报文的规则,将上层协议下发的报文生成2份带hsr标签的报文,并根据随机状态发生器产生的决定这2份hsr报文是否需要抛弃不发送。0代表都发送、1代表抛弃a网数据、2代表抛弃b网数据,3代表抛弃ab双网数据。若某网hsr报文需要抛弃,则将此报文nbl直接删除,不转发给被测设备。

帧篡改测试:对应图5中的帧篡改模式,在测试前,测试控制程序通过驱动接口deviceiocontrol设置lre过滤报文方式为帧篡改模式。设置此模式后,发送报文时虚拟网卡lre首先按照上述发送报文的规则,将上层协议下发的报文生成2份带hsr标签的报文,并根据随机状态发生器产生的决定这2份hsr报文是否需要更改后发送。0代表不更改数据、1代表仅更改a网数据、2代表仅更改b网数据,3代表更改ab双网数据。若需更改某网数据,则随机改变4字节报文,并根据协议类型重新计算ip与tcp等字段校验和,通过ndissendnetbufferlists分别将新报文发送给被测设备。

帧延迟测试:对应图5中的帧延迟模式,在测试前,测试控制程序通过驱动接口deviceiocontrol设置lre过滤报文方式为帧乱序模式。设置此模式后,发送报文时虚拟网卡lre首先按照上述发送报文的规则,将上层协议下发的报文生成2份带hsr标签的报文,记录此时时标为报文发生时标t0,并将报文分别存入对应的报文缓冲区中,不立即发送。在定时器定时任务中,首先获取当前时标t1,再扫描两缓冲区所有缓存报文,对比时标t0与t1,若缓存报文发生时标t0与当前时标t1差大于某一定值ts,则取出满足此条件的缓存报文,最后通过ndissendnetbufferlists依次将这些报文通过底层网卡发送给被测设备。

帧乱序测试:对应图5中的帧乱序模式,在测试前,测试控制程序通过驱动接口deviceiocontrol设置lre过滤报文方式为帧乱序模式。设置此模式后,发送报文时虚拟网卡lre首先按照上述发送报文的规则,将上层协议下发的报文生成2份带hsr标签的报文,并将报文分别存入对应的报文缓冲区中,不立即发送。在定时器定时任务中,首先获再扫描两缓冲区所有缓存报文,并随机排序,最后通过ndissendnetbufferlists依次将这些报文通过底层网卡发送给被测设备。

本发明通过windowsndis网络驱动了实现了hsr协议的lre模块,绑定到2物理网卡上,与被测设备通信,,在此基础上,通过改变经过网络驱动的发送报文的转发方式与处理方法,实现各种hsr协议下异常报文的发送。本发明的hsr方法能快速、准确的测试hsr网络报文处理逻辑,,确认其网络系统的完整性、可靠性,能极大地提高变电站中hsr网络装置的通信质量。

以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1